首页 > 编程知识 正文

machin公式,数据结构dijkstra算法

时间:2023-05-05 08:36:29 阅读:22321 作者:972

在此期间,我试图通过阅读关于LSTM的论文来记录学习过程。 因为其他事情,一直拖到现在。 记忆好像又要模糊了。 立即添加,本文的组织安排首先介绍了rnn的BPTT存在的问题,然后介绍了第一个LSTM结构,介绍了添加遗忘控制门,然后按照实际提交的时间顺序编写了添加了peephole connections结构的LSTM 本论文相当于简要总结各论文核心部分做成的笔记,提供了迅速的理解。

一. rnn结构的BPTT学习算法存在的问题,首先来看比较典型的BPTT的一个展开的结构。 如下图所示,这里只考虑了部分图。 因为其他部分不是这里要讨论的内容。

相对于时刻t的误差信号计算如下。

这种权重的更新方法如下。

上式在BPTT中非常常见。 那么,这个误差信号一直传到过去怎么样? 假设任意两个节点u、v的关系如下。

那么,误差传递信号的关系可以写成以下递归式。

n表示图中一层神经元的个数,这个递归式的大致意思很容易理解。 求出t-q时刻误差信号相对于t时刻误差信号的偏导数,首先求出t-q 1时刻对t时刻,其结果被传递给t-q时刻。 递归停止条件为q=1时,是刚开始写的计算公式。 进行上述递归部署,可以获得:

论文中说的是可以通过归纳来证明,我没有仔细推敲这里。 联合展开里面很容易理解。

整个结果式合计t的次数为n^(q-1 ),也就是说t有n^ ) q-1 )项。 那么,让我们看看问题出在哪里。

|T| 1时,随着q的增大,误差呈指数级增加,网络的参数更新会引起非常大的振动。

|T| 1时,误差消失,学习无效。 典型的激活函数使用simoid函数。 其倒数的最大值为0.25,保证权重的最大值必须小于4才能小于1。

误差呈指数增长的现象比较少,误差消失在BPTT中是常见的。 虽然原论文有更详细的数学分析,但了解这种个人感觉是充分理解问题的。

二.最初的LSTM结构为了克服误差消失的问题,需要做一些限制。 首先,假设只有一个神经元连接到自己。 概略图如下。

根据上面的、时刻t的误差信号计算如下。

为了防止误差发生变化,可以将以下公式强制为1 :

根据这个公式,可以得到以下内容。

这表明激活函数是线性的,常常取FJ(x )=x,wjj )=1.0,从而得到常数误差流,也称为CEC。

但是,还远远不够,因为存在输入输出目标权重更新的冲突(这里不太清楚原论文中的说明),为了解决这个矛盾,添加了输入门、输出门这两个控制门。 图如下。

在图中添加了两个控制门。 控件是指在计算cec输入之前,将input gate的输出相乘。 计算cec的输出时,将其结果乘以输出网关的输出。 整个框称为block。 中间的小圆圈是cec,其中有一条y=x的直线,神经元的激活函数为线性,表示自耦权重为1.0

增加框架门

最初lstm结构的缺点之一是cec的状态值可能会一直变大。 增加forget gate可以控制cec的状态。 其结构如下图所示。

这里的相当于自连接的权重不是1.0,而是forget gate的输出值,控制cec的状态值,根据需要设为0,即忘记作用,设为1时与原来的结构相同。

四.添加Peephole的LSTM结构

上面添加遗忘门的缺点之一是当前的CEC状态不影响输入门,而forget gate是下一个时间点的输出,因此添加了Peephole connections。 结构如下。

此处的gate输入部分添加了另一个源。 forget gate,input gate的输入源添加了cec当前时间的输出,而output gate的输入源添加了cec当前时间的输出。 另外,计算的顺序也必须如下。 输入门,格式门的输入输出cell的输入输出oll

五.我记得某个LSTM的全BPTT推导(用误差信号)当时看论文公式推导时有很多难以理解的地方。 最后,我几次咕噜,发现了一个类似课件的PDF,上面写了好东西,但我已经不知道它的来源了,所以很容易就知道了LSTM的向前计算,误差反而更新了。 其中,若记载与LSTM相关的部分,首先网络的完整结构图如下:

此结构也是rwthlm源包中LSTM的结构。 看看公式的符号吧。 wij表示神经元I到j的连接权重。 (请注意,这与许多论文的显示相反。 (神经元的输入表示a,输出表示b,下标,和分别表示输入门、forget gate、输出门下标表示cell。 从cell到input、forget和output gate的peephole权重分别为wc,wc and wcSc为cell c的状态控制门的激活函数,f、g、h分别为cell的输入输出激活函数I为输入层的神经元数,k

错误的反向传播:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。