博客
关于我
循环神经网络RNN
阅读量:357 次
发布时间: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/

    你可能感兴趣的文章
    海思Hi3531DV100开发环境搭建
    查看>>
    Xilinx Zynq pl353-nand使用
    查看>>
    JavaScript上传下载文件
    查看>>
    QWaitCondition把异步调用封装成同步调用
    查看>>
    windows驱动开发-编译错误集合
    查看>>
    嵌入式linux系统应用开发
    查看>>
    Linux驱动开发之PCIe Host驱动
    查看>>
    Vue.js Element Basic组件使用
    查看>>
    android MVP模式
    查看>>
    基本vi命令使用
    查看>>
    android 头像选择,裁剪全套解决方案,你值得拥有!
    查看>>
    MapReduce
    查看>>
    springboot swagger2
    查看>>
    shell(十)case的几个典型应用
    查看>>
    Linux环境变量配置错误导致命令不能使用(杂谈)
    查看>>
    openstack安装(六)镜像glance服务安装
    查看>>
    openstack安装(九)网络服务的安装--控制节点
    查看>>
    shell编程(六)语言编码规范之(变量)
    查看>>
    linux杂谈之特殊字符的打印和在各种软件如何打出
    查看>>
    vim杂谈(三)之配色方案
    查看>>