七月算法深度学习 第三期 学习笔记-第七节 循环神经网络与自然语言处理

来源:互联网 发布:c语言 _inline 编辑:程序博客网 时间:2024/06/05 16:05
一. 循环神经网络 

1.场景与多种应用 

模仿论文

模仿linux内核代码“写程序”

模仿郭小四的写作

机器翻译


Image to text/看图说话

2.层级结构 

先了解神经网络,为什么有BP神经网络,CNN,还要RNN?

答:传统神经网络(包括CNN),输入和输出都是互相独立的。图像上的识别物体是分隔开的,但有些任务,后续的输出和之前的内容是相关的。
RNN引入了“记忆”的概念:
1)循环2字来源于其每个元素都执行相同的任务。
2)但是输出依赖于 输入 和 “记忆”。



3.多种RNN 

双向RNN


深层双向RNN:深层+双向


4.BPTT算法 





5.生成模型与图像描述 

生成模型:image to text


图片描述数据集:Microsoft COCO数据集:http://mscoco.org



二. LSTM 

1.长时依赖问题 :

1)看电影的时候,某些情节的推断需要依赖很久以前的一些细节。
2)很多其他的任务也一样。
3)很可惜随着时间间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。
4)也就是说,记忆容量有限,一本书从头到尾一字不漏的去记,肯定离得越远的东西忘得越多。

2.“记忆细胞”与状态

细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。

LTSM如何控制“记忆细胞”?

1)通过“门”让信息选择性通过,来去除或者增加信息到细胞状态
2)包含一个sigmoid神经网络层 和 一个pointwise乘法操作
3)Sigmoid 层输出0到1之间的概率值,描述每个部分有多少量可以通过。0代表“不许任何量通过”,1就指“允许任意量通过”


LSTM的几个关键“门”与操作





LTSM变体:



3.GRU 


阅读全文
1 0
原创粉丝点击