以下为个人学习TextRNN的学习历程(仅作为本人学习使用,如有侵权请私信)
未学习前的知识储备
- 传统机器学习的算法;
- 使用过ML的算法进行项目实战;
- 对深度学习有一定的了解;
- 用tensorflow框架实现过深度学习的任务;
学习路程总结
- 图解RNN、RNN变体Seq2Seq、Attention机制
- [译] 理解 LSTM 网络
2.1. LSTM模型与前向反向传播算法- 双向 LSTM
- TensorFlow中RNN实现的正确打开方式
- 针对实现框架中的问题
5.1. LSTM的units- TensorFlow的双向lstm的几种情况
- 实战代码
7.1. (理解篇)基于tensorflow+RNN的新浪新闻文本分类
7.2. (真正使用)结构化的TextRNN
7.3. 知乎看山杯第一名总结
7.4. 知乎看山杯第二名总结
7.5. 知乎看山杯第六名总结
各篇文章的总结以及收获
1.图解RNN、RNN变体Seq2Seq、Attention机制
总结:
文章的结构非常清晰,并配有大量的图片,再配上少许文字让意思表达的更加清楚。有基础的朋友基本上一遍看下来不会有很多的疑问,而基础薄弱的朋友看完这篇也会有很大的收获,文章中没写大量的公式,是用最通俗易懂的方式让大家理解。
首先从单层的网络谈起-->经典的RNN结构(N vs N)--> N VS 1结构--> 1 VS N结构 -->N vs M结构 --> Attention机制
主要讲了N vs N,N vs 1、1 vs N、N vs M四种经典的RNN模型,以及如何使用Attention结构。
收获:
RNN的参数是共享的,参数共享本质上就是说明该模块功能完全相同,在任何一个时间步上,细胞的功能是相同的
在Encoder-Decoder结构中,Encoder把所有的输入序列都编码成一个统一的语义特征c再解码,因此, c中必须包含原始序列中的所有信息,它的长度就成了限制模型性能的瓶颈
Attention机制通过在每个时间输入不同的c来解决这个问题,每一个c会自动去选取与当前所要输出的y最合适的上下文信息
对RNN结构有了很强的认知,明白了RNN结构的运算机制,不同数据的输入是什么
- 自然语言处理问题。x1可以看做是第一个单词,x2可以看做是第二个单词,依次类推。
- 语音处理。此时,x1、x2、x3……是每帧的声音信号。
- 时间序列问题。例如每天的股票价格等等针对不同任务情况应该使用的RNN网络结构
针对不同任务情况应该使用的RNN网络结构(从RNN变体而来的算法)
- N vs N结构,给一些列输入得到相同系列输出,计算视频中每一帧的分类标签;输入为字符,输出为下一个字符的概率
[站外图片上传中...(image-78420a-1543478503835)]- N VS 1结构,给一系列输入得到一个输出,输入一段文字判别它所属的类别;输入一个句子判断其情感倾向;输入一段视频并判断它的类别
- 1 VS N结构,给一个输入得到一系列输出,从图像生成文字描述,此时输入的X就是图像的特征,而输出的y序列就是一段句子;从类别生成语音或音乐等
- N vs M 结构,给一些列输入得到不同系列输出
机器翻译:Encoder-Decoder的最经典应用,事实上这一结构就是在机器翻译 领域最先提出的
文本摘要:输入是一段文本序列,输出是这段文本序列的摘要序列。
阅读理解:将输入的文章和问题分别编码,再对其进行解码得到问题的答案。
语音识别:输入是语音信号序列,输出是文字序列。
2. [译] 理解 LSTM 网络
总结:
x
收获:
x
2.1LSTM模型与前向反向传播算法
总结:
x
收获:
x
3. 双向 LSTM
总结:
文章质量不高,有时间寻找新的
收获:
x
4. TensorFlow中RNN实现的正确打开方式
总结:
x
收获:
x
5. 针对实现框架中的问题
6. TensorFlow的双向lstm的几种情况
7.实战代码
(理解篇)基于tensorflow+RNN的新浪新闻文本分类
(真正使用)结构化的TextRNN
知乎看山杯第一名总结
知乎看山杯第二名总结
知乎看山杯第六名总结
网友评论