首页>罗辑思维推荐的40本书 > 附录2 循环神经网络RNN和长短时记忆网络LSTM

附录2 循环神经网络RNN和长短时记忆网络LSTM

目录

一秒记住【xiaoyanwenxue】精彩无弹窗免费!

“罗辑思维荐书集锦(套装共24册)(.shg.tw)”

附录2:循环神经网络RNN和长-短时记忆网络LSTM

循环神经网络RNN

CNN比较适合处理图像,因为每幅图像之间都没有太多相关性,所以可以一幅一幅地输入CNN里。

但许多非图像信息例如语音、天气预报、股市等是一个连续的数值序列,不仅无法截成一段一段地输入,前后之间还有很强的相关性。

例如我们在下面句子里猜词填空:“我是上海人,会讲————话。”

在这里如果我们没有看到第一句“我是上海人”

就很难填空。

处理这一类问题最有效的神经元网络叫循环神经网络。

图附2.1是一个最简单的RNN。

图附2.1最简单的RNN

这里X是t时刻的输入向量,A是神经元网络,h是t时刻的输出。

注意到方框A有一个自我反馈的箭头,网络A下一时刻的状态依赖于上一时刻的状态,这是RNN和CNN及全连接网络的最大的区别。

为了更清楚地理解图附2.1,我们可以把每个离散时间网络的状态都画出来生成图附2.2。

图附2.2把RNN从时间上展开看

这个链状结构展现出RNN与列表、数据流等序列化数据的密切关系,而这类数据的处理也确实在使用RNN这样的神经网络。

在过去几年中,将RNN应用于很多问题后,已经取得了难以想象的成功,例如语音识别、语言建模、翻译、图像抓取等,而它所涉及的领域还在不断地增加。

现在我们已经知道了RNN是什么,以及基本的工作原理。

下面我们通过一个有趣的例子来加深对RNN的理解:训练一个基于字符的RNN语言模型。

我们的做法是,给RNN“喂”

大段的文字,要求它基于前一段字符建立下一个字母的概率分布,这样我们就可以通过前一个字母预测下一个字母,这样可以一个字母一个字母地生成新的文字。

举一个简单的例子,假设我们的字母库里只有4个字母可选:“h”

“e”

“l”

“o”

,我们想训练出一个能产生“hello”

顺序的RNN,这个训练过程事实上是4个独立训练的组合。

(1)给出字母“h”

后,后面大概率是字母“e”

(2)给出字符“he”

后,后面大概率是字母“l”

(3)给出字符“hel”

后,后面大概率还是字母“l”

本章未完,点击下一页继续阅读



返回顶部