本文共 978 字,大约阅读时间需要 3 分钟。
基础知识
1. 文字的编码格式
(1)onehot
单词可以用 onehot编码格式,如下:
此种方式,占据大量的空间,实际中不推荐.
(2)word2vec
(3)glove
2.时间序列中的batch位置
RNN
上面这种方式,给每个单词都有一个的w 和 b,这样会很难处理单词数特别多的句子.为了减少参数量,可以用下面
权重共享模式,
用上面的方式,虽然可以减少权重数,但是每个单词是独立的,无法从整体去理解语境,为此创造了下面这种具有
记忆功能的模式:
https://www.bilibili.com/video/BV1Lx411j7ws?p=30
莫烦python视频
RNN是可以一直记忆,lstm是长短期记忆,也就是记忆的长短是可以自己控制的.
CNN中每个batch之间是没关系的, RNN中是有关系的
RNN类似于语音识别模型HMM
RNN可以处理不同时长的数据
RNN 和 HMM的区别(如下图):
- HMM 和 RNN箭头方向不同
- HMM中隐藏层是onehot编码的,每个时刻只有一个位置是激活的,RNN不是onehot编码,每个位置都是激活的
此图是LSTM的5种不同的变形,不同的输入和输出可以完成不同的功能:
4.Bi-directional LSTM(双向)
模型结构:
5.RNN / LSTM / BI区别:
6. GRU (实际中使用更多)
- 只有2个门,LSTM有3个门, 效果同LSTM一样
7.Seq2Seq Model
流程: - 中文 经过lstm映射到 中间的 Mean rector
- 英文 经过lstm映射到 中间的 Mean rector
- 只要 中文 英文 对应的 Mean rector 相近, 代表翻译成功.
9.Attention(注意力机制)
1. Attention for Image Captaining
- 原来流程:
- 加了注意力机制后的流程: 说明: Features: 注意力机制得到的多维向量(eg: 3 * 3 *10)的向量 z1 Z2是通过注意力机制和a1 a2 得到的
和没有注意力机制的流程区别是, 原来直接用CNN得到的多维向量,现在用的是注意力机制和a1 a2 得到的结果.
2.Attention for Machine Translation
3. Self-Attention
转载地址:http://hdhof.baihongyu.com/