机器学习 李宏毅 L36L37-RNN

news/2024/11/25 13:28:05/

RNN介绍

这里介绍slot fillng,可以使用Feedforward network。对于输入的词汇,可以采用1 of N编码或者其他方式,输入后,进行归类操作。但是,由于网络没有记忆力,所以对于前后语句有关联的问题,很难解决。需要采用recurrent neural network。每一次hidden layer的输出会被存储,然后作为共同输入进行网络操作。也就是说,输入的顺序会影响输出的结果。

L36_1

当然,RNN可以采用deep structure的形式。RNN可以采用hidden layer的值进行存储而后续使用,称为Elman network,当然也可以采用Output layer输出值进行存储,称为Jordan Network。RNN可以采用双向的形式,如下图所示,其好处是RNN能够接触到的数据范围既包括正向的信息,也包括反向的信息,因此其信息利用率较高。

L36_2

一个较为广泛的例子是LSTM,long short-term memory,其memory形式较为常用。包含三个部分,首先是input gate,如果网络的一部分想要写入memory,则需要通过input gate,该gate由signal control(scalar)进行控制,这个控制信号同样由网络的一部分进行控制,这些都是通过训练数据学习得到。对于memory数据读取,同样也存在一个output gate,决定其他网络是否可以从中读取数据。第三个部分是forget gate,可以决定memory cell什么时候檫除内部数据,进行format操作,这也是有网络其他部分决定的。因此,如下图所示,可以认为LSTM有四个输入,一个输出。

L36_3

更详细的LSTM如下图所示,包含了输入信号z,输入控制信号zi,forget gate控制信号zf,输出控制信号zg。一般的三个控制信号多采用sigmoid function,值范围为0~1,代表gate打开的程度。

L36_4

与神经网络的原形有所差异,LSTM需要四个输入,因此需要将输入乘以不同的权重,作为各个输入的情况,然后将LSTM作为神经元进行训练操作。
与RNN的关系是,可以将memroy cell里面数据表示成一个vector,表示为 ct1 c t − 1 ;而对于输入数据,可以通过矩阵乘法转换为四个向量, z,zi,zo,zf z , z i , z o , z f

L36_5

2018年2月8日


同样可以采用GD进行训练,对于RNN可以采用BPTT进行参数更新。但是很多情况下,RNN的误差曲线可能会出现不收敛的情况,其可能原因是程序出现bug或者是由于RNN的误差曲线存在问题。如下图所示,RNN的error surface很崎岖,要么非常平坦,要么非常陡峭。这种特性来自于memory效应,由于具有记忆效应,因此对于输入的一点变化,可能会造成 gradient explode或者gradient vanishing。

L37_1

采用LSTM进行训练,可以解决gradient vanishing。LSTM存在一个forget gate,可以在适当时候将memory进行清空。

一个较为有趣的模型为Attention-based Model,对于能够操作reading head controller和writing head controller的情况,最终形成了neural turing machine。使用的场景包括reading comprehension。

L37_2

Deep and structured learning的区别

Deep learning能够实现较好的功能。

L37_3

二者可以结合,可以通过RNN进行预处理,然后进行structured learning。例如,语音处理可以如下图处理,将二者进行结合。还可以进行semantic tagging,
L37_4

2018年2月9日


http://www.ppmy.cn/news/287865.html

相关文章

L36.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- locate和updatedb

5.11 locate:快速定位文件路径 5.11.1 命令详解 ​ 【命令星级】 ★★★★☆ ​ 【功能说明】 ​ 在Linux系统里有一个名为mlocate.db的数据库文件,这个文件包含系统文件的文件名及对应的路径信息。故而,locate命令查找文件时不用遍历磁盘…

ssm+java计算机毕业设计动漫播放系统9l36q(程序+lw+源码+远程部署)

项目运行 项目含有源码(见文末)、文档、程序、数据库、配套开发软件、软件安装教程 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

L36. 有效的数独

有效的数独 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。…

android4.1 l36h,索尼 L36h跌破3K 升Android 4.3机型推荐(6)-搜狐数码

第1页:可升Android 4.3机型大猜想 第2页:升级理由:Nexus家族四核旗舰 第3页:升级理由:首款Android 4.2官升机型 第4页:升级理由:谷歌首推原生旗舰机型 第5页:升级理由:官方爆料越级官升 第6页:升级理由:巨屏旗舰官升An…

android4.1 l36h,索尼 L36h跌破3K 升Android 4.3机型推荐(8)-搜狐数码

第1页:可升Android 4.3机型大猜想 第2页:升级理由:Nexus家族四核旗舰 第3页:升级理由:首款Android 4.2官升机型 第4页:升级理由:谷歌首推原生旗舰机型 第5页:升级理由:官方爆料越级官升 第6页:升级理由:巨屏旗舰官升An…

AB控制器 L36ERM_2个处理器之间的通讯

1、分别设置2个PLC处理器L36ERM的IP地址; (1)方法1:使用USB电缆连接电脑和处理器,分别设置2个PLC处理器L36ERM的IP地址:192.168.1.11和192.168.1.12; (2)方法2:如果PLC处理器第一次…

l36h android os,Sony Xperia Z(L36h)怎么刷魅族Flyme OS

Sony Xperia Z(L36h)终于可以刷魅族Flyme OS了,用户体验非常不错的Flyme OS非常值得广大Xperia Z的用户尝试!下面就随小编来看看Sony Xperia Z(L36h)怎么刷魅族的Flyme OS吧! Sony Xperia Z刷Flyme OS教程 注意: 刷机前请对个人资料进行备份(建议云端备份) 刷机步骤: 1.解…

10年计算机速度慢加固态硬盘行不行,给超过十年的老笔记本电脑换固态值不值?试过发现还不错...

给超过十年的老笔记本电脑换固态值不值?试过发现还不错 2019-03-05 16:17:19 8点赞 3收藏 0评论 对于许多80后来说,相信一定有不少人家里还珍藏着当年买的第一台笔记本电脑。2005年左右是笔记本电脑市场开始迅速崛起的时刻,同时也是许多80后开…