ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

RNNとLSTMの基礎を聞いてきた!

4月22日
「ディープラーニング」入門6時間集中講義/自然言語処理とニューラルネットワーク
に行ってきた!のつづき。、第二部をメモメモ




6時間集中講義 自然言語とニューラルネットワーク
第二部 RNNとLSTMの基礎

・共通の土台のRNN
 Bot:ああいえばこういう
   パターンマッチング→W3Cのドラフトが貧弱:割り切り方
   →人間がシナリオを書くところに本質

 知識の表現:エンティティモデル
  →自然言語の豊かさと比べると・・

・RNNの驚くべき能力について
 機械が文法を理解できている?兆候
  画像認識:明確
 →超えたもの
   文の意味、分法構造の理解
 Hochrelter
 Karpathy論文の学習:RNN

 RNNの能力について LSTM
  Hpchreiterら 90年代の論文
  REBER GRAMMAR
   人間は人工的な文法を理解できる
   →機械も学習できる
  LSTMはこの文法を学習できる

  掛け算の練習
  TEMPORAL ORDER

  パターンを機械が学習する

・RNNによる文の構成
 文章を作る
  5億文字
 Wikipedia風の文章を作る→なにしているの?

 かるぱしー
  でたらめだけど、数学の論文
 →LaTeXの文法を理解している

 Linuxのソースコードを入れたら、Cの文法を理解できる
 赤ん坊の名前
 →ハナモゲラ語もできる?

・マシンは簡単な文法は理解できる
 形式的に記述された文法はできる?

・RNNとは何か
 RNNはどう作られるか
  いままで:縦に並べる
  RNN:横に並べる:中間層を横に結びつける
   →たんによこにならべるのではなく、
    同じ形のユニットを並べる
    バイアスを共通に

  Uをかけて
  Bをたし
  ふぁいをかける

 データの塊が流れる:テンソルフロー

 単純な表記法にする

 RNN:重みも一緒・パラメータW共有
    横に並べる


 再帰
 再帰のループを繰り返しに

 ループが回る(再帰系)
 展開系

・シーケンスtoシーケンス
 RNN:いろいろパターンある
  同じパターンの繰り返しとか

・基本式φ(WX+B)
 入力Xのとき
  h = φh(Ux+bh)
 H
  o=φo(Vh+Bo)
 O

 RNNを式で表す
  Hにwがかかる
  ht=φh(Uxt+Wht-1+bh)
 隣の隠れ層Wht-1:新たに追加された層

・いったん失敗する
 シーケンシャルなデータ:たくさんある
  20年前の失敗:勾配が計算できなくなる
   Bengioの論文
 →状態が毎回書き換えある:不安定になる

・復活する
 Bengio,Hochreiterがもう一回引き上げる

LSTM
・標準的スタイルになる
 RNN:重みが一緒
 RNN:3つの段階
  入力から隠れ層へ
  前の隠れ層から現在の隠れ層へ
  隠れ層から出力へ

 隠れそうh:内部状態
  毎回書き換えられるのでうまくいかない
  LSTMもうひとつの状態はあまり変わらない:メモリー
   メモリーはあまり変わらない
 LSTM
  O

 →C

  H

  X


 再帰形で表すと
  Cのループ
  hのループ
→記憶を持つ
 Ctのループの重みを1に固定する:カルーセル:同じ状態を保持する
 記憶を忘れるゲートがある:重みを0にする
→コンスタントカルーセルとフォアゲットゲートが大事
 メモリーを操作しているのと同じ

・LSTMの振る舞いを理解する
 シーケンスで入ってきた文字列をシーケンスで返すとき
 →マークダウンの内部にいると興奮するニューロン
 末尾に興奮
 改行
  :
 →でも、大部分はわからない・・・

LSTM→忘却ゲートをもつRNN
  Sigmoid関数:S字状 0と1の間
 ゲートをシグモイド関数に任せる

  LSTM
                ht(上位層へいく)

 Ct-1 → 記憶→  状態 → Ct-1

      ↑

 ht-1→入力        ht(隣に行く)
      ↑
      X

・LSTMの中身を詳しく見る
 のは、書いてあるから自分の家でゆっくりみてね!