机器不学习,人工不智能NLP专栏

TextRNN学习之路

2018-11-28  本文已影响0人  A李旭辉

以下为个人学习TextRNN的学习历程(仅作为本人学习使用,如有侵权请私信)

未学习前的知识储备

  • 传统机器学习的算法;
  • 使用过ML的算法进行项目实战;
  • 对深度学习有一定的了解;
  • 用tensorflow框架实现过深度学习的任务;

学习路程总结

  1. 图解RNN、RNN变体Seq2Seq、Attention机制
  2. [译] 理解 LSTM 网络
    2.1. LSTM模型与前向反向传播算法
  3. 双向 LSTM
  4. TensorFlow中RNN实现的正确打开方式
  5. 针对实现框架中的问题
    5.1. LSTM的units
  6. TensorFlow的双向lstm的几种情况
  7. 实战代码
    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. 针对实现框架中的问题

LSTM的units

6. TensorFlow的双向lstm的几种情况
7.实战代码

(理解篇)基于tensorflow+RNN的新浪新闻文本分类
(真正使用)结构化的TextRNN
知乎看山杯第一名总结
知乎看山杯第二名总结
知乎看山杯第六名总结

上一篇下一篇

猜你喜欢

热点阅读