基于GAN的特征抽取 Feature Extraction by GAN
InfoGAN
期望的是 input 的每一个维度都能表示输出数据的某种特征。但实际改变输入的一个特定维度取值,很难发现输出数据随之改变的规律。

InfoGAN 就是想解决这个问题。在 GAN 结构以外,把输入 z 分成两个部分 c 和 z' ,然后根据 generated data x 来预测给到 generator 的 c 是什么,这里的ae 做的事情是 code-x-code。同时还需要 discriminator 来配合,x 还必须要足够像目标数据(要不 generator 直接把 c 复制过来就最容易让 classifer 预测对)。

为了要让 classifer 可以成功从 x 中预测原来的 c(能反推回去),那 generator 就要让 c 的每一个维度都对 output 有一个明确的影响。就让 z' 去表示那些无法解释的特征。

VAE-GAN
可以看作用 GAN 来强化 VAE(让VAE生成的数据更加realistic),也可以看作用 VAE 来强化 GAN(原本的 GAN 是随机从 z 到 x,现在训练的时候 generator 还要尽可能好地重构 z 原本的 x,从一开始就知道一个 z 它对应的 x 应该是什么样,所以 VAE-GAN 训练会稳定一些)

训练流程。其中,原本的真实数据 x 、VAE 从 x 经过 encoder 得到 z~ 再经过 decoder 生成的 x~ (重构)、从 P_z 中采样出来的 z 经过 generator 生成的 x^ (生成)。训练 VAE 的目标是,encoder 让后验分布P_ z~ | x 尽可能服从高斯并且重构误差越小越好;decoder 让重构误差越小越好并且生成数据越像真实数据越好;discriminator 给真实数据 x 高分给生成和重构低分。

BiGAN (ALI)
encoder 和 decoder 不直接相连,而是通过共同骗过 discriminator 来实现互逆映射。和ae比起来,理想上最佳的结果可能是一样的,但是 BiGAN 的 ae 更能够抓住语义上的信息(比如可以从一只鸟重构到另一只不同的鸟,但仍然还是鸟)

训练过程:

Domain-adversarial Training
需要用 generator 从不同的 domain 抽出特征,可以同分布。

实现方法就是,两个分类器既要让 label 分类正确,也要让 domain-label 分类正确;而特征抽取要让 label 正确但 domain 分不出来

基于GAN的特征抽取 Feature Extraction by GAN的更多相关文章
- A Survey of Shape Feature Extraction Techniques中文翻译
Yang, Mingqiang, Kidiyo Kpalma, and Joseph Ronsin. "A survey of shape feature extraction techni ...
- Feature extraction - sklearn文本特征提取
http://blog.csdn.net/pipisorry/article/details/41957763 文本特征提取 词袋(Bag of Words)表征 文本分析是机器学习算法的主要应用领域 ...
- 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记
论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...
- Software: MPEG-7 Feature Extraction Library
Software MPEG-7 Feature Extraction Library : This library is adapted from MPEG-7 XM Reference Softwa ...
- Feature Engineering versus Feature Extraction: Game On!
Feature Engineering versus Feature Extraction: Game On! "Feature engineering" is a fancy t ...
- ufldl学习笔记和编程作业:Feature Extraction Using Convolution,Pooling(卷积和汇集特征提取)
ufldl学习笔记与编程作业:Feature Extraction Using Convolution,Pooling(卷积和池化抽取特征) ufldl出了新教程,感觉比之前的好,从基础讲起.系统清晰 ...
- scikit-learn:4.2. Feature extraction(特征提取,不是特征选择)
http://scikit-learn.org/stable/modules/feature_extraction.html 带病在网吧里. ..... 写.求支持. .. 1.首先澄清两个概念:特征 ...
- tflearn kears GAN官方demo代码——本质上GAN是先训练判别模型让你能够识别噪声,然后生成模型基于噪声生成数据,目标是让判别模型出错。GAN的过程就是训练这个生成模型参数!!!
GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 ...
- scikit-learn:4.2.3. Text feature extraction
http://scikit-learn.org/stable/modules/feature_extraction.html 4.2节内容太多,因此将文本特征提取单独作为一块. 1.the bag o ...
随机推荐
- “计数质数”问题的常规思路和Sieve of Eratosthenes算法分析
题目描述 题目来源于 LeetCode 204.计数质数,简单来讲就是求"不超过整数 n 的所有素数个数". 常规思路 一般来讲,我们会先写一个判断 a 是否为素数的 isPrim ...
- 02.RDB持久化配置与工作流程
一.如何配置RDB持久化机制 配置文件redis.conf save 60 1000 表示每隔60s,检查如果有超过1000个key发生了变更,那么就生成一个新的dump.rdb文件,就是当前redi ...
- 力扣Leetcode 98. 验证二叉搜索树
验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和右子树自身 ...
- android开发之动画的详解 整理资料 Android开发程序小冰整理
/** * 作者:David Zheng on 2015/11/7 15:38 * * 网站:http://www.93sec.cc * * 微博:http://weibo.com/mcxiaob ...
- Android Studio相关目录
Android Studio的Android SDK的安装路径 /Users/XXX/Library/Android/sdk/ nox_adb.exe connect 127.0.0.1:62001 ...
- Unity坑之 传递默认枚举类型参数
今天在编写一个通用模块的时候,遇到一个奇怪的问题,vs编译时没有任何问题,但是轮到unity编译时,却报错: error CS0103: The name `PrintInt' does not ex ...
- Sqli-labs 1-10
Less 1-4(基础注入) 基础知识: table_schema:数据库的名称 table_name:表的名称 column_name:列的名称 information_schema:表示所有信息, ...
- 牛顿迭代法解非线性方程组(MATLAB版)
牛顿迭代法,又名切线法,这里不详细介绍,简单说明每一次牛顿迭代的运算:首先将各个方程式在一个根的估计值处线性化(泰勒展开式忽略高阶余项),然后求解线性化后的方程组,最后再更新根的估计值.下面以求解最简 ...
- 【Oracle/Sql】清除重复而带出的性能问题
笔者使用的环境: # 类别 版本 1 操作系统 Win10 2 数据库 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bi ...
- python基础:日志模块logging,nnlog
python里面用来打印日志的模块,就是logging模块,logging模块可以在控制台打印日志,也可以写入文件中.也可以两个操作都执行 1.控制台输入 import logging#导入模块 lo ...