赞
踩
经验是智慧之父,记忆是智慧之母。
FNN(FCNN、MLP)的弊端:在FNN中,信息的传递是单向的,虽然使网络更容易学习,但在一定程度上减弱了神经网络模型的能力。FNN可以看成是一个复杂的函数,网络的输出只依赖于当前的输入,但是在现实的任务当中,网络的输出不仅和当前时刻的输入有关,还和过去时刻的输出有关,FNN很难处理这样的时序数据(比如视频、文本、语音等),时序数据的长度是不固定的,而FNN要求输入和输出的维度是固定的,所以当处理和时序数据有关的问题时,就需要一种能力更强的模型:循环神经网络。
循环神经网络具有短期记忆能力,简单的循环神经网络只有一个隐藏层,以简单循环网络为例来表达RNN:设时刻t网络的输入为,为隐藏层神经元的活性值,隐藏层神经元净输入的计算公式为:,,其中函数f是一个非线性激活函数,通常为Sigmoid型函数。循环神经网络可以看作是在时间维度上权值共享的神经网络。
一个完全连接的循环神经网络,其输入为,输出为,则,
RNN应用到机器学习中一般会处理以下三种模式的问题:序列到类别模式、同步的序列到序列模式、异步的序列到序列模式。
序列到类别模式:输入为序列、输出为类别,比如文本分类任务:输入为一个序列
,得到不同时刻的隐藏状态,其中看作整个序列的最终表示,并输入分类器函数g,则输出。
同步的序列到序列模式:输入为序列、输出为序列,且长度相等,比如序列标注任务(词性标注):样本按不同时刻输入到RNN中,并得到不同时刻的隐状态,每个隐状态代表了当前时刻和历史的信息,并输入给了分类器g,得到当前时刻的标签y。
异步的序列到序列模式(也称为编码器-解码器模型,encoder-decoder):输入和输出序列不需要有严格的对应关系,比如机器翻译任务,一般先将输入序列输入到编码器(RNN),得到其编码,然后送入解码器得到输出序列,为了建立输出序列之间的依赖关系,一般解码器使用自回归模型。另f1,f2分别是编码器和解码器的RNN,则编码器-解码器模型可以表示为:
循环神经网络学习的方法还是梯度下降法,但是计算梯度的方法是随时间反向传播(BPTT)。并且循环神经网络会产生一种长程依赖问题。(这块不好理解,但理解了就大彻大悟了)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。