博客
关于我
循环神经网络RNN
阅读量:358 次
发布时间:2019-03-04

本文共 1759 字,大约阅读时间需要 5 分钟。

计算图与循环神经网络

一、计算图概述

计算图是描述计算结构的一种图,主要用于理解复杂系统的输入、输出及内部关系。它由节点和边组成,节点代表变量,边代表操作(函数)。计算图能够清晰地展示单变量、多变量及复杂函数的关系,为后续的求导和优化提供了可视化工具。

连式法则

在计算图中,连式法则是通过图结构计算导数的方法。具体分为两种情况:

  • 单一路径:如果两个节点之间只有一条路径,则导数为该路径上每两个相邻节点的导数的乘积。
  • 多路径:如果两个节点之间有多条路径,则导数为所有路径导数乘积的总和。
  • 导数示例

    通过具体示例可以看出,计算图的导数计算方式遵循上述规律。例如,若变量通过多个函数依次映射,最终的导数是各路径导数的累积。

    参数共享

    在计算图中,各节点之间的参数通常是共享的。通过分层计算,可以有效减少计算复杂度,避免重复计算。

    二、循环神经网络(RNN)

    为什么需要RNN

    传统CNN在处理序列数据时,相互独立的数据处理方式存在局限。序列数据往往具有上下文关系,例如语言句子中的词语关系。RNN通过捕捉时序关系,能够更好地处理这种数据。

    RNN结构

    RNN的核心是隐藏层状态,通过门控机制(如GRU、LSTM)实现长期记忆。RNN的基本结构包括输入、状态、输出和连接权重。

    RNN的训练算法(BPTT)

    RNN采用误差反向传播算法(BPTT)进行训练。通过计算损失函数对权重的梯度,沿着误差路径反向更新参数。BPTT算法在处理时序数据时需要考虑参数共享和梯度消失问题。

    三、长短时记忆网络(LSTM)

    LSTM的提出

    由于RNN在处理长期依赖时存在梯度消失问题,LSTM通过引入门控机制解决这一问题。LSTM的核心是细胞状态,通过输入门、遗忘门和输出门控制信息流入和流出。

    LSTM结构

    LSTM由三个门控机制——输入门、遗忘门、输出门——以及一个线性单元(细胞)组成。细胞状态承载多时刻信息,门控机制控制信息传递量。

    Peephole LSTM

    Peephole LSTM在标准LSTM的基础上增加了窥孔连接,使门控机制也接受细胞状态的输入,进一步提高了模型性能。

    双向RNN(Bidirectional RNN)

    双向RNN通过同时前向和后向传播,捕捉上下文信息。它在需要同时利用前后上下文的任务中表现优异,例如文本摘要和机器翻译。

    四、RNN的主要应用

    语言模型

    语言模型通过预测下一个单词或字母的概率,生成连贯的文本。它广泛应用于问答系统、对话生成等场景。

    语音识别

    语音识别将口语转换为文本,RNN通过捕捉语音特征生成相应的文字。该技术在手机语音助手和智能音箱中应用广泛。

    自动作曲

    基于RNN的音乐生成系统可以根据音乐规律生成旋律,应用于电子音乐创作和音乐改编。

    机器翻译

    神经机器翻译通过建立词向量映射,利用RNN捕捉语言上下文,实现高效的机器翻译。

    自动摘要

    自动摘要通过RNN分析文本结构,提取关键信息生成摘要。它在新闻自动摘要和学术论文摘要生成中表现良好。

    自动写作

    基于RNN的写作系统可以根据训练数据生成文本,应用于新闻写作、诗歌创作等。

    图像描述

    结合CNN提取图像特征,RNN生成图像描述,应用于图片搜索和内容标注。

    五、中英文术语对照

    • 计算图:Computational graph
    • 循环神经网络:Recurrent Neural Network(RNN)
    • 随时间反向传播算法:Backpropagation Through Time(BPTT)
    • 长短时记忆网络:Long Short-Term Memory(LSTM)
    • 遗忘门:Forget gate
    • 输入门:Input gate
    • 输出门:Output gate
    • 双向RNN:Bidirectional Recurrent Neural Network(BRNN)
    • 门控循环单元:Gated Recurrent Unit(GRU)
    • 窥孔LSTM:Peephole LSTM
    • 语言模型:Language model
    • 神经机器翻译:Neural Machine Translation(NMT)
    • 图像描述:Image captioning
    • 自动摘要:Automatic summarization
    • 自动写作:Automatic writing

    转载地址:http://ojkg.baihongyu.com/

    你可能感兴趣的文章
    MySQL_安全管理、表单传值、php操作
    查看>>
    Idiot 的间谍网络
    查看>>
    MySql索引及使用、实现的数据结构
    查看>>
    初探SSRF漏洞
    查看>>
    pythonBug入门——从零开始学python
    查看>>
    js-禁止右键菜单代码、禁止复制粘贴代码
    查看>>
    SpringBoot中使用Mybatis访问MySQL数据库(使用xml方式)
    查看>>
    数组--Go语言学习笔记
    查看>>
    Redis (三)——Linux 上安装 Redis
    查看>>
    java 重写(override)和重载(overload)区别
    查看>>
    java 多态类型转换
    查看>>
    常用正则表达式
    查看>>
    XML:采用XHTML和CSS设计可重用可换肤的WEB站点
    查看>>
    Tomcat6中web项目部署路径webapps和wtpwebapps的区别
    查看>>
    Java判断字符串是否为金额
    查看>>
    软件架构-zookeeper快速入门
    查看>>
    angr学习笔记(7)(malloc地址单元符号化)
    查看>>
    「CF149D」括号涂色 区间DP好题
    查看>>
    树状数组 模板总结
    查看>>
    「NOI2015」程序自动分析 并查集题解
    查看>>