前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【深度学习研究系列】之漫谈RNN(一)

【深度学习研究系列】之漫谈RNN(一)

作者头像
量化投资与机器学习微信公众号
发布2018-01-29 16:34:33
1.6K0
发布2018-01-29 16:34:33
举报
文章被收录于专栏:量化投资与机器学习

从今天起,量化投资与机器学习公众号将为大家带来一个系列的 Deep Learning 原创研究。本次深度学习系列的撰稿人为 张泽旺 。希望大家有所收获,共同进步!

漫谈RNN之基本概念

RNN是一个图灵完全的模型,便意味着只要设计好RNN的外部存储机制,RNN模型的应用之广泛将远超我们的想象。为了更好地了解时序模型,从这期开始谈谈以RNN为核心的可扩展时序模型的研究状况及应用。

在神经网络模型中,一般分为非时序模型和时序模型,对于非时序模型而言,其应用场景有单一手写字识别、图像物体分类等等,最基本的模型是前馈式神经网络(FNN);而对于时序模型而言,其应用场景十分广泛,如连续手写字识别、语音识别、语义理解、机器翻译、看图说话、自动生成、数据压缩等等,最基础的模型是循环神经网络(RNN)。今天我们着重谈论的是RNN的基础概念。

图1 左:FNN,右:RNN
图1 左:FNN,右:RNN

RNN最初也是受人类的生物神经模型启发而来,因为所有的生物神经系统都是一个动态的系统,神经元与神经元之间不是孤立的而是互相产生动态影响的,这就促发了RNN的诞生。RNN相比普通的FNN的主要区别有:

  • FNN的神经元是静态的,而RNN是一个动态的网络,其神经元的状态时刻处于动态变化之中
  • 如果说FNN可以进行任意的非线性映射,那么RNN则可以拟合任意的动态系统
  • FNN的训练一般采用后向传播(BP)算法,而RNN一般采用随时间的后向传播(BPTT)算法
  • FNN在拟合非线性系统上取得了很大的成功,但是RNN在处理长时间时序问题上还存在着很大不足

RNN的数学公式也很简单,每个神经元的状态不仅与连接到它的输入有关,而且与前一时刻神经元的状态有关。即:

其中x是输入序列,h是状态序列,最后的输出是y。

RNN既可以处理有监督学习问题,也可以处理无监督学习问题,今天我们着重谈论RNN在有监督学习中的应用。对于有监督学习而言,一般的应用情景是:给定包含输入和标准输出的训练集,构建一个RNN模型学习到这个训练集输入与输出之间的映射关系,然后用测试集去验证这个模型的输出与标准输出的差异。

下面看一个运用RNN进行时序建模的例子,考虑这样一个定时问题,输入分为两部分,u1是作为触发脉冲,而u2是作为输出的duration。当u1为1时,u2便立即产生一个随机数,而此时的输出0.5,并且duration为10×u2;其他时刻,输出均为0。

那么用RNN去建模这样一个时序问题,RNN需要内部存储着duration的记忆,以及对触发具有响应的能力。下图是运用RNN对这个定时问题建模的测试结果:

在最下方图里,实线是标准的输出,而散点则是RNN模型的预测值,可以看到,预测值基本上与标准输出相吻合。这是一个简单的RNN运用的例子,后续将探讨更多更复杂的RNN建模问题。

近期文章预告:

《漫谈RNN之训练方法》

《漫谈RNN之梯度消失及梯度爆炸》

《漫谈RNN之长短期记忆模型LSTM》

《漫谈RNN之序列建模(机器翻译篇)》

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档