hulu机器学习问题与解答系列|第九弹:循环神经网络

peizhe123 peizhe123     2022-10-21     148

关键词:

大噶好,今天是有关RNN问题的解答。记得多多思考和转发,公式供应充足的Hulu机器学习系列,怎么能只自己知 (shou)道 (nue) 技术分享图片 ~

 

 

今天的内容是

【循环神经网络】

 

场景描述

循环神经网络(Recurrent Neural Network)是一种主流的深度学习模型,最早在20世纪80年代被提出 ,目的是建模序列化的数据。我们知道,传统的前馈神经网络一般的输入都是一个定长的向量,无法处理变长的序列信息,即使通过一些方法把序列处理成定长的向量,模型也很难捕捉序列中的长距离依赖关系。而RNN通过将神经元串行起来处理序列化的数据,比如文本的词序列、音频流和视频流序列等。由于每个神经元能用它的内部变量保存之前输入的序列信息,使得整个序列可以被浓缩成抽象的表示,并可以据此进行分类或生成新的序列。近年来,得益于计算能力的大幅提升和网络设计的改进(LSTM、GRU、Attention机制等),RNN在很多领域取得了突破性的进展。比如机器翻译、序列标注、图像描述、视频推荐、智能聊天机器人、自动作词作曲等,给我们的日常生活带来了不少便利和乐趣。

 

问题描述

  1. 什么是循环神经网络?如何用它产生文本表示?

  2. RNN为什么会出现梯度的消失或爆炸?有什么样的改进方案?

 

解答与分析

1. 什么是循环神经网络?如何用它产生文本表示?

传统的前馈神经网络,包括卷积神经网络(Convolutional Neural Network, CNN)在内,一般都是接受一个定长的向量作为输入。比如在做文本分类时,我们可以将一篇文章所对应的TF-IDF(Term Frequency-Inverse Document Frequency)向量作为前馈神经网络的输入,其中TF-IDF向量的维度是词汇表的大小。显而易见,这样的表示实际上丢失了输入的文本序列中每个单词的顺序。在用卷积神经网络对文本进行建模时,我们可以输入变长的字符串或者单词串,然后通过滑动窗口+Pooling的方式将原先的输入转换成一个固定长度的向量表示;这样做可以捕捉到原文本中的一些局部特征,但是两个单词之间的长距离依赖关系还是很难被学习到。

 

RNN(Recurrent Neural Network,循环神经网络)的目的便是处理像文本这样变长并且有序的输入序列。它模拟了人阅读一篇文章的顺序,从前到后阅读文章中的每一个单词,并且将前面阅读到的有用信息编码到状态变量中去,从而拥有了一定的记忆能力,可以更好地理解之后的文本。下图展示了一个典型RNN的网络结构[1]:

技术分享图片技术分享图片技术分享图片

其中f和g为激活函数,U为输入层到隐含层的权重矩阵,W为隐含层从上一时刻到下一时刻状态转移的权重矩阵,在文本分类任务中(如上图),f可以选取Tanh或者ReLU函数,g可以采用Softmax函数,更多关于激活函数的细节可以参见[2]。

 

2. RNN为什么会出现梯度的消失或爆炸?有什么样的改进方案?

RNN模型的求解可以采用BPTT(Back Propagation Through Time)算法实现 ,实际上是反向传播(Back Propagation)算法的简单变种;如果将RNN按时间展开成T层的前馈神经网络来理解,就和普通的反向传播算法没有什么区别了。RNN的设计初衷之一就是能够捕获长距离输入之间的依赖。从结构上来看,RNN也绝对能够做到这一点。然而实践发现,使用BPTT算法学习的RNN并不能成功捕捉到长距离的依赖关系,这一现象可以用梯度消失来解释。传统的RNN梯度可以表示成连乘的形式:

技术分享图片

其中

技术分享图片技术分享图片

由于预测的误差是沿着神经网络的每一层反向传播的,因此当Jacobian矩阵的最大特征值大于1时,随着离输出越来越远,每层的梯度大小会呈指数增长,导致梯度爆炸(gradient explosion);反之,若Jacobian矩阵的最大特征值小于1,梯度的大小会呈指数缩小,即产生了梯度消失(gradient vanishing)。对于普通的前馈网络来说,梯度消失导致无法通过加深网络层次来改善神经网络的预测效果,因为无论如何加深网络,只有靠近输出的若干层才真正起到的学习的作用。对于RNN来说,这导致模型很难学习到输入序列中的长距离依赖关系。

 

梯度爆炸的问题可以通过梯度裁剪(Gradient Clipping)来缓解,也就是当梯度的范式大于某个给定值时,对梯度进行等比收缩;而梯度消失问题相对比较棘手,需要对模型本身进行改进。 ResNet[3]是对前馈神经网络的改进,通过残差学习的方式缓解了梯度消失的现象,从而使得我们能够学习到更深层的网络表示;而对于RNN来说,LSTM(Long short-term memory)[4]及其变种GRU(Gated recurrent unit)[5]等模型通过加入门控机制(Gate),很大程度上改善了梯度消失所带来的损失。关于ResNet和LSTM的细节会在其他章节介绍,敬请期待。

 

参考文献:

[1] Liu, Pengfei, Xipeng Qiu, and Xuanjing Huang. "Recurrent neural network for text classification with multi-task learning." arXiv preprint arXiv:1605.05101 (2016).

[2] https://en.wikipedia.org/wiki/Activation_function

[3] He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

[4] Hochreiter, Sepp, and Jürgen Schmidhuber. "Long short-term memory." Neural computation 9.8 (1997): 1735-1780.

[5] Chung, Junyoung, et al. "Empirical evaluation of gated recurrent neural networks on sequence modeling." arXiv preprint arXiv:1412.3555 (2014).

 


 

下一题预告

【LSTM】

 

场景描述

俗话说,前事不忘,后事之师,各种带有记忆功能的网络是近来深度学习研究和实践的一个重要领域。由于RNN有着梯度弥散(vanishing gradient)和梯度爆炸(explosion gradient)等问题,难以学习长期的依赖,在遇到重要的信息时,又难以清空之前的记忆,因此在实际任务中的效果往往并不理想。LSTM是Long Short-Term Memory(长短期记忆网络)的简称。作为RNN的最知名和成功的扩展,LSTM可以对有价值的信息进行长期记忆,并在遇到新的重要信息时,及时遗忘过去的记忆,减小了RNN的学习难度。它在语音识别,语言建模,机器翻译,图像描述生成,命名实体识别等各类问题中,取得了巨大的成功。

 

问题描述

LSTM是如何实现长短期记忆功能的?它的各模块分别使用了什么激活函数,可以使用别的激活函数么?

hulu机器学习问题与解答系列|十五:多层感知机与布尔函数

今天没有别的话,好好学习,多多转发!  本期内容是【多层感知机与布尔函数】 场景描述神经网络概念的诞生很大程度上受到了神经科学的启发。生物学研究表明,大脑皮层的感知与计算功能是通过分多层实现的,... 查看详情

hulu机器学习问题与解答系列|第七弹:非监督学习算法与评估

听说,Hulu机器学习与冬日的周末更配噢~ 你可以点击菜单栏的“机器学习”,回顾本系列前几期的全部内容,并留言发表你的感悟与想法。同时,为使大家更好地了解Hulu,菜单“关于Hulu”也做了相应调整,好奇宝宝们,牌... 查看详情

hulu机器学习问题与解答系列|第六弹:pca算法

好久不见,Hulu机器学习问题与解答系列又又又更新啦! 你可以点击菜单栏的“机器学习”,回顾本系列前几期的全部内容,并留言发表你的感悟与想法,说不定会在接下来的文章中看到你的感言噢~  今天的主题是... 查看详情

hulu机器学习问题与解答系列|第八弹:强化学习

...的要素,例如环境:游戏本身的状态,动作:用户操作,机器人:程序,回馈:得分、输赢等。通过输入原始像素来玩视频游戏,是人工智能成熟的标志之一。雅达利(Atari)是20世纪七八十年代红极一时的电脑游戏,类似于国... 查看详情

hulu机器学习问题与解答系列|十七:随机梯度下降算法之经典变种

这是本周第二篇机器学习,也是Hulu面试题系列的第十七篇了~之前的所有内容都可以在菜单栏的“机器学习”中找到,愿你温故,知新。 今天的内容是【随机梯度下降算法之经典变种】 场景描述提到DeepLearning中的优化方... 查看详情

hulu机器学习问题与解答系列|第一弹:模型评估

...这是科学家门捷列夫的名言。在计算机科学中,特别是在机器学习的领域,对模型的测量和评估同样至关重要。只有选择与问题相匹配的评估方法,我们才能够快速的发现在模型选择和训练过程中可能出现的问题,迭代地对模型... 查看详情

hulu机器学习问题与解答系列|二十四:随机梯度下降法

...量的爆炸式增长。如下图所示,随着数据量的增长,传统机器学习算法的性能会进入平台期,而深度学习算法因其强大的表示能力,性能得以持续增长,甚至在一些任务上超越人类。因此有人戏称,“得 查看详情

hulu机器学习问题与解答系列|十九:主题模型

今天的内容是【主题模型】 场景描述基于Bag-Of-Words(或N-gram)的文本表示模型有一个明显的缺陷,就是无法识别出不同的词(或词组)具有相同主题的情况。我们需要一种技术能够将具有相同主题的词(或词组)映射到同一... 查看详情

hulu机器学习问题与解答系列|十八:svm–核函数与松弛变量

嗨,又见面了~你可以进入公众号,点击菜单栏的“机器学习”回顾本系列的全部内容,并留言与作者交流。 今天的内容是【SVM–核函数与松弛变量】 场景描述当我们在SVM中处理线性不可分的数据时,核函数可以对数据... 查看详情

hulu机器学习问题与解答系列|二十一:分类排序回归模型的评估

本期问题的解答结合了具体的Hulu业务案例,可以说是很有趣又好懂了。快快学起来吧!  今天的内容是【分类、排序、回归模型的评估】 场景描述在模型评估过程中,分类问题、排序问题、回归问题往往需要使用不... 查看详情

hulu机器学习问题与解答系列|第四弹:不均衡样本集的处理

Hulu机器学习系列按时来报到~快搬好小板凳,一起来学习吧 今天的主题是【采样】 引言古人有云:“知秋一叶,尝鼎一脔”,其中蕴含的就是采样思想。采样,就是根据特定的概率分布产生对应的样本点。对于一些简... 查看详情

hulu机器学习问题与解答系列|十六:经典优化算法

HappyNewYear! 新年伊始,我们都会在祝福他人之余,为自己暗暗定下几个小目标。那就从现在开始努力吧,跑得更快一点,才会让时间显得慢一些~ 今天的内容是【经典优化算法】 场景描述针对我们遇到的各类优化问题... 查看详情

hulu机器学习问题与解答系列|十二:注意力机制

几天不见想死你们啦~今儿的课题很好玩,跟上队伍一起来读! 今天的内容是【注意力机制】 场景描述作为生物体,我们的视觉和听觉会不断地获得带有序列的声音和图像信号,并交由大脑理解;同时我们在说话、打字... 查看详情

hulu机器学习问题与解答系列|二十二:特征工程—结构化数据

...问题寻找有效的特征并进行处理成适合模型的输入形式。机器学习中有句经典的话叫做“Garbagein,garbageout”,意思是如果输入的数据是垃圾,那么得到的结果 查看详情

hulu机器学习问题与解答系列|十四:如何对高斯分布进行采样

欢迎回到“采样”系列~ 今天的内容是【如何对高斯分布进行采样】 场景描述高斯分布,又称正态分布,是一个在数学、物理及工程领域都非常重要的概率分布。在实际应用中,我们经常需要对高斯分布进行采样。虽然... 查看详情

hulu机器学习问题与解答系列|十一:seq2seq

你可以点击菜单栏的“机器学习”,回顾本系列前几期的全部内容,并留言发表你的感悟与想法。 今天的内容是【Seq2Seq】 场景描述作为生物体,我们的视觉和听觉会不断地获得带有序列的声音和图像信号,并交由大脑... 查看详情

机器学习问题与解答系列(17-24)

老朋友了,还用多说什么吗?点击下面的链接复习咯: 17. 随机梯度下降算法之经典变种18. SVM—核函数与松弛变量19. 主题模型20. PCA最小平方误差理论21. 分类、排序、回归模型的评估22. 特征工程—结构... 查看详情

第九弹:hog

...     我们研究了视觉目标检测的特征集问题,并用线性SVM方法进行人体检测来测试,通过与当前的基于边缘和梯度的描述子进行实验对比,得出方向梯度直方图(HistogramsofOrientedGradient,HOG)描述子 查看详情