LSTMは、ネットワーク--Understanding LSTMネットワーク(colahのブログの翻訳を)理解して

colahは良い記事のLSTMは、一緒に勉強するために元のアドレス変換について説明します。http://colah.github.io/posts/2015-08-Understanding-LSTMs/  。、ONを2015年8月27日に投稿されました。

リカレントニューラルネットワーク

人間の思考は、一貫性を持っています。あなたがこの記事を見てみると、前の単語のご理解に基づいて、あなたは現在の単語の意味を理解することができます。すなわち、それは思考の連続性を反映して、内容を理解することができ、その後のコンテンツが先行しています。

人間の心は、その主な問題の一つとなった同じ継続性を、行うことができないとして、タスクを解決するための伝統的ニューラルネットワーク(RNN前に、ネットワーク)。あなたは伝統的なニューラルネットワークを使用することはできませんたとえば、あなたは話がイベントの分類の異なる時間に場所を取る映画にしたい、瞬間の前で話をもとに映画は、プロットの推論を追跡するために起こります。RNNは連続に関連付けられているこのような問題を解決することができ、それらは情報が持続することができるネットワークループ構造を有しています。

RNNは、環状構造を有しています

ニューラルネットワーク構造A上の図は、入力X-受信、出力H Tを  。情報は、時間ステップ(時間ステップ、t)から、次の時間ステップ(T + 1)に渡すことができるように環状構造を有します。ループ構造は、図循環ネットワークの展開構成から、比較的明確な展開される後に矢印の付いたループネットワークは、通常のネットワークとの違いは、のように大きくない表示することがあり、複雑なように見えます。リカレントニューラルネットワークRNNは、いくつかのコピーを持つネットワークとみなし、その後、次のネットワークへの入力としてそのので、ちょうどネットワーク出力の前に、並んで、いくつかのためにこのネットワークをコピーすることができます。

 

RNNは、概略的な拡大しました

 このような性質は同様の鎖の配列データとRNN自然なリンクリストデータを示し、この配置は、ニューラル・ネットワーク・データ・シーケンス天然構造の使用です。これは本当です。その上の画像にキャプションを追加し、音声認識、言語モデル(機械)翻訳、および:過去数年間、RNNが正常に様々な問題に適用されます。:アンドレイKarpathyさんのブログは、RNNの様々な魔法の効果について説明しリカレントニューラルネットワークの不合理な効果ではLSTM:リカレントニューラルネットワークアーキテクチャの特別な種類の使用の成功にRNNのおかげ。リカレントニューラルネットワークの使用の分野では、ほぼすべてのエキサイティングな結果のは、はるかに優れている標準RNN構造よりも、それで作られたLSTMに基づいています。この記事で次のステップでは、これらのLSTM構造を議論することです。

(長期依存性の問題依存関係の長期の問題で

 RNNの興味深いのアイデアは、彼らがそのような映画の前のフレームの内容の一部のコンテンツの背後にある映画を理解するのに役立つことができるかもしれの使用など、以前の情報にリンクされている現在の問題にできる可能性がありますということです。RNNの情報は、特定の状況に応じて、この長期的な依存性の問題を解決することができます。

時々 、私たちは単語の前にいくつかの単語を予測するため、このような言語ベースのモデルとして、現在の問題を解決するために、最新の情報についての情報を必要とする、我々は、最終的なワードの文章を予測したい「雲のでであるスカイ 」だけでは、空の単語の前に、他の追加情報は予測しないように空を、この場合に近い予測位置との距離関連情報が、RNNは前にそのような情報を使用することを学ぶことができます。

 

しかし、扱うことができないRNNのいくつかの他の場合もあります。たとえば、大規模なセグメントを予測することは、最後の言葉は「私はFLUENT話す....フランスで育った  フランス人を。」。最後の言葉は言語かもしれませんが、あなたが決定する場合、ことを示唆しているより最近の情報がある  フランス人が これまで必要としたフランスのこの文脈で情報を。この場合は、フランスフランスの距離がより遠く、RNNは情報を関連付けることを学ぶことができないかもしれません。

 

 RNNは、この「長期依存性」の問題に対処することは理論的には可能である、1は手動で慎重に小さな問題を解決するためのパラメータRNNを選択することができますが、実際にはRNNはまだ解決策、「に依存する」学ぶことができない  [Hochreiter(1991)ドイツ]  と  Bengio、ら(1994)は、  深さRNNは動作しない主な理由のいくつかを検討しました。LSTMありませんこのような問題。

 

 LSTM

 LSTM(ロング短期記憶)特別なネットワークRNNのネットワークである、「長期依存性」(長アジサシの依存関係を)解決することができることで問題Hochreiter&シュミット(1997)は多くの問題でパフォーマンスの結果であることを提案しましたまあ、今も広く使用されています。

LSTMが明示的に「長期依存性」の問題を解決するために設計され、長期的な情報は、デフォルトの属性であることを覚えていることが可能です。

 

RNNは、標準的な構成では、循環モジュールのネットワーク構造は、一層のみのTANHとして、比較的簡単です。


RNNネットワークモジュールの単純な層を循環させます

 

LSTM也有与RNN相似的循环结构,但是循环模块中不再是简单的网络,而是比较复杂的网络单元。LSTM的循环模块主要有4个单元,以比较复杂的方式进行连接。


LSTM的循环模块中包含4个网络层

 

先提前熟悉一下将要用到的标记,下面会一步一步的讲解LSTM。

 

LSTM的主要思想(The Core Idea Behind LSTMs)

每个LSTM的重复结构称之为一个细胞(cell),在LSTM中最关键的就是细胞的状态,下图中贯穿的那条横线所表示的就是细胞状态。

 

LSTM能够给细胞状态增加或者删除信息,是由一种叫做“门”的结构来控制的,门主要起到开关的作用,它可以选择性的让信息通过,门是由一个sigmoid层与一个点乘操作组成的。

门的组成结构

sigmoid层输出的是0-1之间的数字,表示着每个成分能够通过门的比例,对应位数字为0表示不通过,数字1表示全通过。比如一个信息表示为向量[1, 2, 3, 4],sigmoid层的输出为[0.3, 0.5, 0.2, 0.4],那么信息通过此门后执行点乘操作,结果为[1, 2, 3, 4] .* [0.3, 0.5, 0.2, 0.4] = [0.3, 1.0, 0.6, 1.6]。

LSTM共有3种门,通过这3种门控制与保护细胞状态。

 

逐步详解LSTM(Step-by-Step LSTM Walk Through)

 第一步是LSTM决定哪些信息需要从细胞状态中丢弃,由“遗忘门”(sigmoid层)来决定丢弃哪些信息。遗忘门接收上一时刻的输出ht-1 与这一时刻的输入xt,然后输出遗忘矩阵f,决定上一时刻的细胞状态Ct-1 的信息通过情况。

遗忘门

 

 

 第二步是决定从新的信息中存储哪些信息到细胞状态中去。首先输入门(也是sigmoid层)接收ht-1 xt,产生决定我们要更新哪些数字。接下来一个tanh层产生候选状态值 \tilde{C}_t 。再联合待更新的数值与候选状态值,对旧的状态Ct-1 进行更新。如下图,

接着是更新旧的状态,如下图,ft 是遗忘矩阵, Ct-1是上一时刻的状态(旧状态),it 是决定要更新哪些数字,~C是候选状态。

 

最后一步是决定输出哪些信息。首先利用输出门(sigmoid层)产生一个输出矩阵Ot,决定输出当前状态Ct的哪些部分。接着状态Ct通过tanh层之后与Ot相乘,成为输出的内容ht 。如下图。

 

LSTM的变种

目前讨论的都是普通的LSTM,并非所有的LSTM网络结构都是这样的。

Gers & Schmidhuber (2000) 提出了一个比较流行的LSTM模型,加入了“peephole connections”,也就是增加了细胞状态与3个控制门的直接连接。如下图,

 

另一个LSTM变种模型是利用耦合的遗忘门与输入门。遗忘门决定哪些状态需要遗忘,输入门决定哪些输入信息加入新的状态,将这个两个分离的过程联合起来,共同做决定。只在要输入新状态的部分对旧的状态进行丢弃,或者只在被遗忘的状态部分输入新的状态。见下图,

 

另一个更加动态的LST是由 Cho, et al. (2014) 提出的GRU(Gated Recurrent Unit),GRU将遗忘门与输入门整合成一个单独的更新门,还整合了细胞状态与隐藏状态等,结果是GRU比标准的LSTM模型更加的简单。

 

还有其他的一些变种如Yao, et al. (2015) 提出的Depth Gated RNNs。还有采用其他方法解决长期依赖问题的方案如 Koutnik, et al. (2014) 提出的 Clockwork RNNs。

Greff, et al. (2015) 对比了这些变种发现它们都是一样的,其中的差别并没有太多的影响。 Jozefowicz, et al. (2015) 测试了测试了成千上万的RNN结果,发现有些RNN在某些特定任务上表现比LSTM要好。

 

结论

LSTM在绝大多数任务上的表现确实比RNN要好。LSTM是一个很大的进步,但是另外一个大的进步是什么呢?研究人员的一个共识就是注意力机制(Attention),注意力机制就是让RNN在每一步的训练都从大的信息集合中挑选需要的信息,类似于注意力集中在某一部分的信息上面。使用注意力机制有很多令人兴奋的成果出来,还有更多的成果即将出现。

注意力机制不是RNN领域唯一的,还有Kalchbrenner, et al. (2015) 的Grid LSTMs,还有 Gregor, et al. (2015)Chung, et al. (2015), or Bayer & Osendorfer (2015) 等人在生成式模型方面利用RNN。

致谢

省略...

おすすめ

転載: www.cnblogs.com/banluxinshou/p/11656381.html