C. 深度学习 — 基础组件概述(三) — 编码器
概述
- 概述
- 其独特之处是输入层和输出层的单元数目相等;
- 在功能上,自编码器的目的不是根据输入来预测输出,而是重建网络输入
- 组成结构
- 编码映射
- 解码映射
- 自编码器类型
- 欠完备(undercomplete)的自编码器
- 过度完备的自编码器
- 栈式自编码器
- 步骤
- 无监督预训练
- 有监督微调
- 步骤
- 稀疏自编码器
- 去噪编码器
- 收缩自编码器
- 变分自编码器
基本模型
- X数据 -> nn -> hidden layer -> nn -> Y数据hidden layer:就是 code(bottle)其中 X数据 和 Y数据,尽可能的相近
实现方式
- 文本/图像
- 算法
- DNN
- Pre-training DNN
- Greedy Layer-wise Pre-training again
- 优化手段
- De-noising auto-encoder
- Contractive auto-encoder
- Pre-training DNN
- CNN
- Unpooling
- Deconvolution:实际上就是 Convolution
- Seq2Seq2Seq auto-encoder
- document -> seq2seq -> word sequence -> seq2seq -> document
- DNN
- 应用场景
- 文本检索
- 文本向量:Bag of word
- 图片相似性搜索
- 文本检索
- 算法
- 时序数据
- 算法
- Skip thought
- Quick Thought
- CPC(Contrastive Predictive Coding)
- 注意
- 正样本数据
- 负样本数据,可能需要自己生成
- 算法
- 音频:特征分离(Feature Disentangle)
- 概述
- 语音信息包括:语音内容、语者特征、环境噪音等
- 思想
- 一个Encoder:前100维度,是语者特征,后100维度是语音内容
- 两个Encoder:一个是语者特征,一个是语音内容
- 应用场景
- 变音器
- 算法
- Adversarial Training
- 重新设计网络结构
- IN:instance normalization(Remove global information)
- AdaIN:adaptive instance normalization(only influence global information)
- 概述
如何评估编码器的好坏
- 步骤
- 训练一个二分类模型
- 给定一堆的数据,每一条数据都是一对的,标记这对数据是匹配的还是不匹配
- 通过这个二分类模型,评估encoder的好坏
- 输入
- 图片
- 通过 encoder 计算出的编码
- 辨别器
- 通过编码,decoder的图片
- 判断输入的图片,以及decode出来的图片,是不是一组的,或者score的分数
- 输入
- 训练一个二分类模型
编码器的可解释性(离线表示/One-hot/Binary-hot)
- VQVAE(Vector Quantized Variational Auto-encoder)
- 步骤
- Codebook(a set of vectors)Learn from data
- 通过Encoder获取code,计算跟vector的相似度
- 获取相似度最好的vector,输入Decoder
- 步骤
- 应用场景
- 语音辨识
- 保留语音内容,过滤掉噪音、语者特征等信息
- 语音辨识