機械学習:lstm代替案

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
機械学習:lstm代替案 [2016/03/10 19:57]
sakaimiho 作成
機械学習:lstm代替案 [2016/03/11 11:51]
sakaimiho
行 1: 行 1:
-LSTMは、リカレントニューラルネットワークのアーキテクチャーをもとに、1997年に Sepp Hochreiter and Jürgen Schmidhuberによって提唱されたモデルです。リカレントニューラルネットワークと同様に、ニューラルネットワークでは扱いが難しかった時系列データ(文章、音声、映像)に対して有効な手法です。 +====== LSTMとは ====== 
- +===== 概要 ===== 
-[[再帰型ニューラルネットワーク|リカレントネットワーク]]モデルと比べ短期記憶の影響を長期に渡って保持する能力を持つことで長期的な依存関係を学習出来ない問題を回避しました。このため未知のサイズで時間的な遅れがある場合には、リカレントニューラルネットワークよりも経験からより良く学ぶ傾向があります。+LSTMは、リカレントニューラルネットワークのアーキテクチャーをもとに、1997年に Sepp Hochreiter and Jürgen Schmidhuberによって提唱されたモデルです。リカレントニューラルネットワークと同様に、ニューラルネットワークでは扱いが難しかった時系列データ(文章、音声、映像)に対して有効な手法です。[[再帰型ニューラルネットワーク|リカレントネットワーク]]では、長期的な依存関係を学習できない問題を回避しています。
  
 +==== LSTMの適用領域 ====
 +  * 音声認識
 +  * 文章生成
 +  * 音楽生成
 +  * 映像解析
 +==== LSTMアーキテクチャー ====
 {{ :機械学習:2015greff_lstm_ja.png?300 |}} {{ :機械学習:2015greff_lstm_ja.png?300 |}}
 +図で情報は下から上へと流れます。中央にセルと書いてある部分にリカレント結合(再帰結合)があります
  
 +LSTM はメモリセルと呼ばれる記憶素子と3つのゲート(門)から構成されています。3つもゲートには名前がついていて,入力ゲート,出力ゲート,忘却ゲートと言います。図では忘却ゲートは左から,入力ゲートと出力ゲートは右から中央に流れ込んできます。 ゲートに2種類の記号が使われていることを確認してください。一つはギリシャアルファベットのシグマσ,もう一種類は英語のアルファベットのgとhです。
  
-参考記事して、概要としては[[http://colah.github.io/posts/2015-08-Understanding-LSTMs/|Christopher Olah氏ブログ事]]、全脳アーキテクチャー若手の会の八木氏の資料[[http://qiita.com/t_Signull/items/21b82be280b46f467d1b|「わかるLSTM~ 最近の動向共に」]] +さらに,ゲートの流れ合流する点に2種類あるこも確認してください。 マルで囲まれた+の記,マルで囲れた・の記号です。マルで囲+は全部を足し合わせるこを,マルで囲まれた・は掛け算を表してます。
-により分かりやすい説明内容が書いてあります。また、LSTMのパラメタ評価として[[http://arxiv.org/pdf/1503.04069v1.pdf|Greff(2015)]]が参考になります。+
  
 +青で書かれたピープホールの説明は後回しにして,説明を続けます。
  
 +セルへの入力は通常のニューラルネットワークの入力です。この他に3つのゲートにも入力が加わります。ですから入力と結びついている結合係数が通常のネットワークの4倍必要になります。セルへの入力+3つのゲートへの入力で4倍です。3つのゲートへの入力はゲートの開平のために使われます。
 +
 +3つのゲートは情報をどの程度通すのかの制御に使われます。ゲートが閉じていれば,すなわち 0 に近づくので,情報は通りにくくなります。一方,ゲートが開いている状態は正の状態,シグモイド関数が1に近い場合です。 忘却ゲートが開いていると,1時刻前のセル自身の状態が自分の状態に影響を及ぼすことになります。すなわち忘却ゲートの役割は,直前の影響をどの程度考慮するかを定めることになります。通常のリカレントネットにはゲートがありません。ですからゲートに積極的な役割を与えることが,ゲート自身が結合係数を学習することで,情報の流れを制御します。
 +
 +もう一つの注意点として実線と点線の区別に注目してください。実線は即時的に働く流れです。一方点線は時間遅延を表します。次の時刻に影響を及ぼすことを示しています。
 +
 +最後に後回しにした青線で描かれたピープホールですが,セルの内容が直接ゲートを制御するために導入されました。セル自身がゲートを制御することで,より積極的にゲートの開平の効率向上を目指しています。
 +
 +図では1つの LSTMブロックだけが描かれています。LSTMブロックが複数集まってLSTM層を構成します。LSTM層を多層化するとディープLSTMになります。多層のLSTMでは,時間的空間的に異なる抽象化が表象されると考えられます。
 +
 +==== 学習方法 ====
 +
 +
 +==== LSTMのライブラリ ====
 + * Chainer
 +
 + * Karpathy
 +
 +==== LSTMの参考文献 ====
 +参考記事として、概要としては[[http://colah.github.io/posts/2015-08-Understanding-LSTMs/|Christopher Olah氏のブログ記事]]、全脳アーキテクチャー若手の会の八木氏の資料[[http://qiita.com/t_Signull/items/21b82be280b46f467d1b|「わかるLSTM~ 最近の動向と共に」]]
 +により分かりやすい説明内容が書いてあります。また、LSTMのパラメタ評価として[[http://arxiv.org/pdf/1503.04069v1.pdf|Greff(2015)]]が参考になります。
  • 機械学習/lstm代替案.txt
  • 最終更新: 2016/03/22 13:37
  • by n.arakawa