首页 / 行业
循环神经网络是如何工作的
2019-07-05 14:44:00
基于图展开和参数共享的思想,我们可以设计各种循环神经网络。
计算循环网络(将 x值的输入序列映射到输出值 o 的对应序列) 训练损失的计算图。损失L 衡量每个 o与相应的训练目标 v 的距离。当使用 softmax 输出时,我们假设 o 是未归一化的对数概率。损失 L 内部计算,并将其与目标 y 比较。RNN输入到隐藏的连接由权重矩阵 U参数化,隐藏到隐藏的循环连接由权重矩阵 W参数化以及隐藏到输出的连接由权矩阵 V 参数化。(左) 使用循环连接绘制的RNN和它的损失。(右) 同一网络被视为展开的计算图,其中每个节点现在与一个特定的时间实例相关联。
循环神经网络中一些重要的设计模式包括以下几种:
1. 每个时间步都有输出,并且隐藏单元之间有循环连接的循环网络,如上图所示。
2. 每个时间步都产生一个输出,只有当前时刻的输出到下个时刻的隐藏单元之间
有循环连接的循环网络。
3. 隐藏单元之间存在循环连接,但读取整个序列后产生单个输出的循环网络。
任何图灵可计算的函数都可以通过这样一个有限维的循环网络计算,在这个意义上上图的循环神经网络是万能的。RNN经过若干时间步后读取输出,这与由图灵机所用的时间步是渐近线性的,与输入长度也是渐近线性的 (Siegelmann and Sontag, 1991; Siegelmann, 1995; Siegelmann and Sontag, 1995;Hyotyniemi, 1996)。由图灵机计算的函数是离散的,所以这些结果都是函数的具体实现,而不是近似。RNN作为图灵机使用时,需要一个二进制序列作为输入,其输出必须离散化后提供二进制输出。利用单个有限大小的特定RNN计算在此设置下的所有函数是可能的(Siegelmann and Sontag (1995) 用了 886 个单元)。图灵机的 ‘‘输入’’ 是要计算函数的详细说明 (specification),所以模拟此图灵机的相同网络足以应付所有问题。用于证明的理论RNN可以通过激活和权重(由无限精度的有理数表示)来模拟无限堆栈。
现在我们研究上图中RNN的前向传播公式。这个图没有指定隐藏单元的激活函数。我们假设使用双曲正切激活函数。此外,图中没有明确指定何种形式的输出和损失函数。我们假定输出是离散的,如用于预测词或字符的RNN。一种代表离散变量的自然方式是把输出 o作为每个离散变量可能值的非标准化对数概率。然后,我们可以应用softmax 函数后续处理后,获得标准化后概率的输出向量 。RNN从特定的初始状态 h(0) 开始前向传播。从 t = 1 到 t = τ 的每个时间步,我们应用以下更新方程:
其中的参数的偏置向量 b和 c 连同权重矩阵 U、V 和 W,分别对应于输入到隐藏、隐藏到输出和隐藏到隐藏的连接。这个循环网络将一个输入序列映射到相同长度的输出序列。与 x序列配对的 y 的总损失就是所有时间步的损失之和。例如,L(t) 为给定的的负对数似然,则
其中, 需要读取模型输出向量的项。
关于各个参数计算这个损失函数的梯度是昂贵的操作。梯度计算涉及执行一次前向传播(如在上图展开图中从左到右的传播),接着是由右到左的反向传播。运行时间是 O(τ ),并且不能通过并行化来降低,因为前向传播图是固有循序的; 每个时间步只能一前一后地计算。前向传播中的各个状态必须保存,直到它们反向传播中被再次使用,因此内存代价也是 O(τ )。应用于展开图且代价为 O(τ ) 的反向传播算法称为通过时间反向传播 (back-propagation through time, BPTT)。
此类RNN的唯一循环是从输出到隐藏层的反馈连接。在每个时间步 t,输入为,隐藏层激活为。(左) 回路原理图。(右) 展开的计算图。这样的RNN没有前面介绍的 RNN 那样强大(只能表示更小的函数集合)。上图中的RNN可以选择将其想要的关于过去的任何信息放入隐藏表示 ? 中并且将 ? 传播到未来。该图中RNN被训练为将特定输出值放入 o中,并且 o是允许传播到未来的唯一信息。此处没有从 h 前向传播的直接连接。之前的 h仅通过产生的预测间接地连接到当前。o通常缺乏过去的重要息,除非它非常高维且内容丰富。这使得该图中的RNN不那么强大,但是它更容易训练,因为每个时间步可以与其他时间步分离训练,允许训练期间更多的并行化。
关于时间展开的循环神经网络,在序列结束时具有单个输出。这样的网络可以用于概括序列并产生用于进一步处理的固定大小的表示。在结束处可能存在目标(如此处所示),或者通过更下游模块的反向传播来获得输出上的梯度。
最新内容
手机 |
相关内容
微软Ignite 2023技术大会:人工智能
微软Ignite 2023技术大会:人工智能转型,技术驱动变革,人工智能,趋势,智能,数据隐私,企业,解决方案,人工智能(Artificial Intelligence,A什么是带阻三极管,带阻三极管的基本
什么是带阻三极管,带阻三极管的基本结构、工作原理、电阻比率、常用型号、应用、检测、操作规程及发展历程,三极管,检测,工作原理,什么是射流继电器,射流继电器的基本
什么是射流继电器,射流继电器的基本结构、技术参数、工作原理、负载分类、如何选用、操作规程及发展历程,继电器,工作原理,分类,负什么是电机启动器,电机启动器的基本
什么是电机启动器,电机启动器的基本结构、优缺点、工作原理、类型、检测、操作规程及发展历程,工作原理,类型,检测,结构,启动,断开,什么是真空接触器,真空接触器的基本
什么是真空接触器,真空接触器的基本结构、优缺点、工作原理、应用、安装、检测、故障原因及发展历程,原因,故障,检测,安装,结构,工位移传感器结构类型及工作原理与应
位移传感器结构类型及工作原理与应用,工作原理,类型,结构,位移传感器,常见,效应,FDV302P位移传感器是一种用于测量物体位移或位置的FPGA学习笔记:逻辑单元的基本结构
FPGA学习笔记:逻辑单元的基本结构,结构,单元,逻辑运算,数字,信号,结构单元,FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件STC15W芯片A/D、D/A转换的简单使用
STC15W芯片A/D、D/A转换的简单使用,简单使用,转换,芯片,模拟,输入,输出,STC15W系列芯片是一种高性能的单片机芯片,具有丰富的外设资