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