SlideShare a Scribd company logo
1 of 42
Download to read offline
Recurrent Neural Networks 
2014/10/30 PFIセミナー 
Seiya Tokui, Preferred Networks
⾃自⼰己紹介 
l 得居 誠也 (Seiya Tokui) 
l アカウント:beam2d (Twitter, GitHub, etc.) 
l 東⼤大情報理理⼯工で修⼠士を取ってから PFI ⼊入社 
– 最初は⾃自然⾔言語処理理やってた(潜在変数を⼊入れた系列列ラベリング学習) 
– 次に画像・⾔言語対象に近傍探索索やった(ハッシュ関数の学習) 
– ⼊入社後は Jubatus のアルゴリズム開発 
– 今は PFN で Deep Learning とか映像解析とかとか 
l 前回スキップしたせいで PFI セミナーは 16 ヶ⽉月ぶり 
l 今⽇日話す RNN は⾳音声認識識でもよくやられていて⾼高い精度度も出てますが 
僕が⾳音声に不不慣れなので今⽇日は話しません(すみません) 
2
もくじ 
l 問題設定 
l Recurrent Neural Networks 
l Backpropagation through Time 
l Long Short-‐‑‒Term Memory 
l Deep RNN 
l 応⽤用:機械翻訳 
l 応⽤用:⾔言語処理理系の学習 
l 応⽤用:アルゴリズムの学習 
l 応⽤用:Visual Attention 
3
問題設定 
⼊入⼒力力データ and/or 予測対象が可変⻑⾧長の系列列 
課題⼊入⼒力力予測 
⾳音声認識識周波数空間の 
ベクトル列列 
4 
⾳音素列列、単語列列 
など 
機械翻訳翻訳元⾔言語の⽂文 
(単語/⽂文字列列) 
翻訳先⾔言語の⽂文 
(単語/⽂文字列列)
Feedforward Neural Networks 
l 固定⻑⾧長⼊入⼒力力・出⼒力力の場合に⼀一般的に使われるニューラルネット 
l 可変⻑⾧長の場合には使いにくい 
– 何かしらの⽅方法で⼊入⼒力力を固定⻑⾧長に直さないといけない (e.g. BoW, 
N-‐‑‒gram) 
– 多くの場合、固定⻑⾧長への変換で順序の情報が失われるか、順序の情 
報をすべて保存しようとすると次元が⾼高くなりすぎる 
5
Recurrent Neural Networks(Elman 型) 
l 状態を持ったニューラルネット 
 
 
l ⼊入⼒力力→隠れ、隠れ→隠れ、隠れ→出⼒力力 
の3種類の結合を持つ 
6 
⼊入⼒力力 
隠れユニット 
出⼒力力
RNNを時間⽅方向に展開すると静的に⾒見見ることができる 
t = 1 t = 2 t = 3 t = T 
7
勾配計算:Backpropagation through Time (BPTT) 
l 時間⽅方向に展開した計算グラフ上で、単純に誤差逆伝播する 
l これで勾配を計算して、勾配ベースの⼿手法を使ってパラメータを最適化する 
l 系列列全体でBPTTを実⾏行行する以外に、系列列を適当な⻑⾧長さでぶった切切ってBPTTす 
ることもある(最適化の効率率率を上げるため、実装を簡単にするため etc.) 
– ぶった切切った場合でも初期状態は正しく計算する必要がある 
8
BPTTは勾配が消えたり爆発したりする 
l エラーが⻑⾧長い系列列をたどる場合、重みがたくさん掛け算される 
l 重みが何度度も掛けられることで、勾配が系列列⻑⾧長に対して指数的に消失したり爆 
発したりする 
l 爆発に対しては、max-‐‑‒normや勾配の正規化などで対処 
l 消失する場合、これは⻑⾧長期依存 (long-‐‑‒term dependency) を学習できなくなる 
(短いパスの勾配だけが効いてしまうので) 
9
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l エラーが重みをかけずに伝搬するようにする 
10
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l エラーが重みをかけずに伝搬するようにする 
Constant Error Carousel (CEC) 
ct = ct1 + int 
@ct = @ct1 + @int 
エラーが減衰せずにとどまり続ける 
11 
tanh
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l ⼊入⼒力力を選択的に記憶する 
ct = ct1 + int 
CEC は過去の⼊入⼒力力を溜溜め込む、 
揮発性の記憶素⼦子のようなもの。 
でもこれだけだと記憶対照を選べず、 
ノイズを溜溜め込んでしまう。 
12 
tanh
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l ⼊入⼒力力を選択的に記憶する 
Input gate が 1 のときは⼊入⼒力力をすべて 
CECに溜溜め込み、0 のときは無視する 
(実際はその間の値が連続的に現れる) 
13 
Input gate 
sigmoid 
tanh 
掛け算
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l エラーを選択的に取り込む 
14 
Input gate 
sigmoid 
tanh 
どのタイミングでもエラーが流流れ込むよ 
うになっている。ある CEC が記憶して 
いる事柄が今の予測と関係ないとき、こ 
れはノイズになってしまう。
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l エラーを選択的に取り込む 
15 
Input gate 
sigmoid 
tanh 
Output gate 
sigmoid 
CEC の出⼒力力を使うタイミングを制御す 
ることで、必要ないときにはエラーが流流 
れ込まないようにする
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l ここまでが [HochreiterSchmidhuber, ʻ‘97] で提案された 
Long Short-‐‑‒Term Memory ユニット 
sigmoid 
※ もともとは CEC の後ろにもう⼀一回 sigmoid 等をかませていたが、最近 
は省省くことが多い 
16 
Input gate 
tanh 
Output gate 
sigmoid
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l 記憶の明⽰示的な消去 
ct = ct1 + int 
17 
Input gate 
sigmoid 
tanh 
Output gate 
sigmoid 
今の定義だと、CEC を上書きするには 
⼤大きな⼊入⼒力力を繰り返し与えるしかない。 
短期間に⼤大きく記憶を更更新したい場合に 
対処できない。
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l 記憶の明⽰示的な消去 
18 
Input gate 
sigmoid 
tanh 
Output gate 
sigmoid 
Forget gate 
sigmoid 
Forget gate が 0 に近い値を取ると 
CEC は直前の状態を忘れて、新しい⼊入 
⼒力力で置き換わる。
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l CEC の記憶(つまり隠れ状態)そのものを gate の制御に使う 
19 
Input gate 
sigmoid 
tanh 
Output gate 
sigmoid 
Forget gate 
sigmoid 
各 gate への⼊入⼒力力は⼊入⼒力力系列列の今の値と、 
直前の時刻における各 LSTM ユニットの出⼒力力。 
後者は output gate で制御されてしまい、 
本当の隠れ状態が⾒見見えない。
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l CEC の記憶(つまり隠れ状態)そのものを gate の制御に使う 
20 
Input gate 
sigmoid 
tanh 
Output gate 
sigmoid 
Forget gate 
sigmoid 
Peephole Connection
⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory 
l これが [Gers, ʻ‘01] などでまとめられている拡張された LSTM ユニッ 
ト 
 
sigmoid 
Forget gate 
l 現在よく⽤用いられているものは、このバージョンや peephole 
connection を省省いたもの 
l 学習は BPTT で⾏行行うのが主流流 
21 
Input gate 
tanh 
Output gate 
sigmoid 
sigmoid
RNN を Deep にする⽅方法 
l 現在よく使われているのは Stacked RNN 
l 各層ごとに異異なる時間スケール・抽象度度でのダイナミクスを捉えられる 
l ただ、課題によっては次スライドで述べる別の⽅方法を使った⽅方が良良いこ 
ともある 
22
RNN を Deep にする⽅方法 [Pascanu+, ICLR ʻ‘14] 
l RNN ⾃自体を stack する以外に、RNN の遷移層、出⼒力力層をそれぞれ 
deep にすることもできる(下図の⽩白い層は何段あってもよい) 
l 上の (b*) のように、遷移層を deep にする場合は backprop のパスが 
さらに⻑⾧長くなってしまうので、ショートカットを⼊入れると良良い 
– 短い時間で予測に⾮非線形な影響をあたえるような⼊入⼒力力をとらえるのに deep な接続を 
使い、⻑⾧長期のラグを経て予測に影響を与えるような現象をとらえるのにショートカッ 
トを使う 
23
応⽤用:機械翻訳 [Sutskever+, NIPS ʻ‘14] 
l “Sequence to Sequence Learning with Neural Networks” 
– RNN を機械翻訳に使う研究は最近とても多いが、この論論⽂文は RNN のみで機械翻訳を 
⾏行行うところが特徴 
l 英語の単語列列を⼊入⼒力力として、フランス語の単語列列を出⼒力力する 
l まず英語の⽂文章 ABC を⼊入れて、EOS(⽂文末)に到達したらフランス語 
の⽂文章 WXYZ を出⼒力力する 
24
応⽤用:機械翻訳 [Sutskever+, NIPS ʻ‘14] 
⼯工夫 
l 英語を読むときとフランス語を出⼒力力するときで異異なるパラメータを使う 
l 英語(⼊入⼒力力)は前後を反転させて読ませる 
– 英語とフランス語は語順が近いため、対応する単語ペアで近い位置 
にあるものが多い⽅方が学習の初期時に⾜足がかりにしやすい 
– このテクニックはおそらく、出⼒力力の最初の⽅方を予測するのに⼊入⼒力力の 
最初の⽅方が強く効くような問題で有効 
25
応⽤用:機械翻訳 [Sutskever+, NIPS ʻ‘14] 
26
応⽤用:⾔言語処理理系の学習 [ZarembaSutskever, ʻ‘14] 
l “Learning to Execute” 
l 簡単な Python コードが⼊入⼒力力 
l print 結果を出⼒力力させる 
– 結果は必ずドットで終わる 
l データはランダムに⽣生成。 
以下のパラメータを持つ: 
– 現れる数値の桁数 
– 構⽂文⽊木の深さ 
27
応⽤用:⾔言語処理理系の学習 [ZarembaSutskever, ʻ‘14] 
l (Peepholeのない)Stacked LSTM RNN で学習 
l ⼯工夫:Curriculum Learning [Bengio+, ICMLʼ’09] 
– 簡単な問題を先に解かせることで難しい問題の最適化を容易易にする 
(去年年のPFIセミナー後半を参照 
http://www.slideshare.net/beam2d/deep-‐‑‒learning-‐‑‒22544096) 
– ここではデータを⽣生成するときのパラメータ(桁数、構⽂文⽊木の深 
さ)について、⼩小さな値を⽤用いて⽣生成したデータからまず学習させ、 
段々⽣生成パラメータを⼤大きくしていく 
– ただし、ナイーブにやるとダメ 
u ⼩小さなパラメータのデータに特化した RNN が学習されてしまう 
u 序盤から少量量の難しい問題を混ぜておくことでこれを回避 
28
応⽤用:⾔言語処理理系の学習 [ZarembaSutskever, ʻ‘14] 
l 出⼒力力例例 
29
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l “Neural Turing Machines” 
l メモリのくっついた (R)NN を考案している(下は模式図) 
コントローラ 
⼊入⼒力力出⼒力力 
30 
読み取り 
ヘッド 
書き込み 
ヘッド 
書き込み 
内容 
メモリ⾏行行列列
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l メモリ⾏行行列列から読んだり書いたりできる 
l 読み書きにはヘッドを使う 
l ヘッドは確率率率ベクトル 
メモリ⾏行行列列 
ヘッド:確率率率ベクトル 
(⾮非負値で和が1) 
– One-‐‑‒hot だとチューリ 
ングマシンのように⼀一 
箇所だけから読むことに 
なる 
– これを backprop できるように 
連続値に拡張している 
l 書く時は書き込む内容(⾏行行ベクトル)も⼀一緒に 
出⼒力力して、⾏行行ごとに書き込む強度度をヘッドで指定する 
31 
× 
wt 
Mt
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l ヘッドの指定は2つのアドレッシング⽅方法を組合せる 
l まずはコンテンツベースのアドレッシング 
– コントローラが出⼒力力した⾏行行ベクトル とのコサイン距離離 の 
softmax で確率率率を割当てる 
wc 
t (i) / exp(tK(kt,Mt(i)) 
– これを前回のヘッドと混ぜたものを次のロケーションベースのアド 
レッシングへの⼊入⼒力力にする(混合係数 はコントローラが指定す 
る) 
– 混合係数が 0 ならコンテンツベースアドレッシングは無視される 
32 
kt K 
gt
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l 次にロケーションベースのアドレッシング 
– 指定した数だけヘッドを右か左にシフトさせたい 
– だが同時に backprop もできるようにしたいので、代わりにコント 
ローラが指定したベクトルとの畳み込み演算で補う(添字が端を越 
えるところでは循環させる) 
– このときベクトル が one-‐‑‒hot なら完全なシフトになる 
– Softmax などで指定する場合、なだらかな値を取り値がボケてしま 
うので、シャープにする( もコントローラが指定) 
 
33 
st 
t  1 
wt(i) / ˜ wt(i)t
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l ⼊入⼒力力系列列を読んだあとに出⼒力力系列列を予測する課題(機械翻訳と同じ) 
l 処理理の順序 
– コントローラが読み取りヘッドを出⼒力力 
– 読み取りヘッド(⾏行行ベクトル)とメモリ⾏行行列列の積によってメモリ内容を読み出す 
– ⼊入⼒力力、メモリの読み出し結果、コントローラの直前の状態(コントローラが RNN の 
場合)をもとにコントローラの状態を更更新 
– コントローラが書き込みヘッドと書き込み内容を出⼒力力 
u 書き込みは「消してから⾜足す」というやりかたをしている(詳細は論論⽂文参照) 
– 書き込みヘッド(⾏行行ベクトル)と書き込み内容(列列ベクトル)の outer product を 
取ってメモリ⾏行行列列を更更新 
– コントローラが予測を出⼒力力 
l すべての処理理は微分可能なので、ヘッドの位置(確率率率ベクトル)や書き 
込み内容を含めてシステム全体を BPTT で学習できる 
34
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l コピー課題(上) 
– ⼊入⼒力力と同じものを出⼒力力する 
l 繰り返しコピー課題(下) 
– ⼊入⼒力力はコピー対象系列列の末尾に 
コピー回数を書いたもの。これを 
読んで、コピー回数だけ対象系列列 
を繰り返し出⼒力力する課題 
– つまり For ループができるかを 
確かめる実験 
l どちらも LSTM RNN より速く 
学習している 
– 下のほうが LSTM でも良良いのは 
上の実験より系列列を短くしてるから 
35
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l 繰り返しコピー課題でのヘッドの内容 
 
l 毎コピー後に繰り返し回数をチェックしに⾏行行ってるのがわかる 
36
応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] 
l Neural Turing Machines でコントローラに LSTM を使う場合、LSTM 
はレジスタのように使われる 
– 先ほどのコピー課題ではおそらく、現在の繰り返し回数が LSTM の 
中に保持されていると予想される 
u 繰り返し中にはメモリへの書き込みがないため 
l コピー回数やコピー内容のように、⻑⾧長期にわたって覚えておく必要があ 
る内容をメモリに書いている 
l 論論⽂文ではもっと複雑なタスクも解かせているので、実験のところだけで 
も読むと⾯面⽩白いです 
– 系列列を任意の場所から思い出す、N-‐‑‒gram モデルの学習アルゴリズム⾃自体を 
学習する、インデックス順に並び替えるタスク(Priority Sort) 
37
応⽤用:Visual Attention [Mnih+, ICML ʻ‘14] 
l “Recurrent Models of Visual Attention” 
l 画像認識識(分類や検出)において、画像全体を⾒見見たくない 
l ⼩小さな矩形を⼊入⼒力力として⾒見見て、次に⾒見見る位置を出⼒力力。これを繰り返しな 
がら予測やアクションを改善していく 
38
応⽤用:Visual Attention [Mnih+, ICML ʻ‘14] 
l ⼿手法の名前は Recurrent Attention Model (RAM) 
l ⼊入⼒力力は静⽌止画でも動画(系列列)でも良良い 
– 論論⽂文では静⽌止画(MNIST をランダムに平⾏行行移動したもの)と簡単なゲームで実験 
– 動画(ゲーム)の場合には LSTM を使うと良良い 
l ⾒見見る位置から画像を取ってくる部分は微分できない 
l そこで強化学習を⾏行行う 
– 分類の場合、毎フレーム予測が当たったら報酬がもらえる 
– 学習には REINFORCE 法 [Williams, ʻ‘92] と呼ばれる勾配のサンプリング法を使って 
いる(NNの強化学習で昔からある⼿手法) 
l 強化学習なので分類以外の⽬目的にも使える 
– 論論⽂文では簡単なゲームプレイを試している 
39
応⽤用:Visual Attention [Mnih+, NIPS ʻ‘14] 
l RAM が視線をどう動かすかの可視化 
 
l 論論⽂文にもっといろいろ載ってます 
l ゲームプレイの動画: 
http://www.cs.toronto.edu/~∼vmnih/docs/attention.mov  
l Attention に関する研究(特に NN と絡めた話)はここ最近増えている 
ように思う 
40
まとめ 
l 今どきの Recurrent Neural Networks は 
– LSTM を使う(もう 17 年年前だけど……) 
– BPTT で勾配計算する 
– いろんな⽅方法で Deep にする 
– ⼊入⼒力力系列列は反転したりする 
– Curriculum Learning が効く 
– メモリをくっつけると複雑な課題が解けるようになる 
l ところで後半で紹介した応⽤用例例はすべて Google(後半2つは 
DeepMind) 
41
References 
Bengio, Y., Louradour, J., Collobert, R. and Weston, J. Curriculum Learning. ICML 2009. 
Gers, F. Long Short-Term Memory in Recurrent Neural Networks. Ph.D thesis, 2001. 
Graves, A., Wayne, G. and Danihelka, I. Neural Turing Machines. arXiv:1410.5401v1, 2014. 
Hochreiter, S. and Schmidhuber, J. LONG SHORT-TERM MEMORY. Neural Computation, 9(8): 
1735-1780, 1997. 
Mnih, V., Heess, N., Graves, A. and Kavukcuglu, K. Recurrent Models of Visual Attention. ICML, 2014. 
Pascanu, R., Gulcehre, C., Cho, K. and Bengio, Y. How to Construct Deep Recurrent Neural Networks. 
ICLR, 2014. 
Sutskever, I., Vinyals, O. and Le, Q. V. Sequence to Sequence Learning with Neural Networks. NIPS 
2014. 
Williams, R. J. Simple statistical gradient-following algorithms for connectionist reinforcement learning. 
Machine Learning, 8(e):229-256, 1992. 
Zaremba, W. and Sutskever, I. Learning to Execute. arXiv:1410.4615v1, 2014. 
 
42

More Related Content

What's hot

ベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づけるベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づけるitoyan110
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised LearningまとめDeep Learning JP
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient DescentDeep Learning JP
 
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)Tomoyuki Hioki
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験克海 納谷
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展Deep Learning JP
 
情報検索とゼロショット学習
情報検索とゼロショット学習情報検索とゼロショット学習
情報検索とゼロショット学習kt.mako
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門Yasunori Nihei
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object DetectionDeep Learning JP
 
【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法Deep Learning JP
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State SpacesDeep Learning JP
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまでharmonylab
 
KDD Cup 2021 時系列異常検知コンペ 参加報告
KDD Cup 2021 時系列異常検知コンペ 参加報告KDD Cup 2021 時系列異常検知コンペ 参加報告
KDD Cup 2021 時系列異常検知コンペ 参加報告GentaYoshimura
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論Deep Learning JP
 

What's hot (20)

ベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づけるベルヌーイ分布からベータ分布までを関係づける
ベルヌーイ分布からベータ分布までを関係づける
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
 
情報検索とゼロショット学習
情報検索とゼロショット学習情報検索とゼロショット学習
情報検索とゼロショット学習
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection
 
【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
 
KDD Cup 2021 時系列異常検知コンペ 参加報告
KDD Cup 2021 時系列異常検知コンペ 参加報告KDD Cup 2021 時系列異常検知コンペ 参加報告
KDD Cup 2021 時系列異常検知コンペ 参加報告
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
 

Viewers also liked

再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会Shotaro Sano
 
深層学習時代の自然言語処理
深層学習時代の自然言語処理深層学習時代の自然言語処理
深層学習時代の自然言語処理Yuya Unno
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memorynishio
 
[Dl輪読会]video pixel networks
[Dl輪読会]video pixel networks[Dl輪読会]video pixel networks
[Dl輪読会]video pixel networksDeep Learning JP
 
Variational AutoEncoder
Variational AutoEncoderVariational AutoEncoder
Variational AutoEncoderKazuki Nitta
 
「深層学習」第6章 畳込みニューラルネット
「深層学習」第6章 畳込みニューラルネット「深層学習」第6章 畳込みニューラルネット
「深層学習」第6章 畳込みニューラルネットKen'ichi Matsui
 
深層学習を医療に応用するために
深層学習を医療に応用するために深層学習を医療に応用するために
深層学習を医療に応用するためにReNom User Group
 
強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試み強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試みReNom User Group
 
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~ReNom User Group
 
ReNomによるNeural Style Transfer
ReNomによるNeural Style TransferReNomによるNeural Style Transfer
ReNomによるNeural Style TransferReNom User Group
 
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介ReNom User Group
 
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!ReNom User Group
 
TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~ReNom User Group
 
Style transfer
Style transferStyle transfer
Style transferzaburo
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門ReNom User Group
 

Viewers also liked (20)

再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
 
深層学習時代の自然言語処理
深層学習時代の自然言語処理深層学習時代の自然言語処理
深層学習時代の自然言語処理
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memory
 
[Dl輪読会]video pixel networks
[Dl輪読会]video pixel networks[Dl輪読会]video pixel networks
[Dl輪読会]video pixel networks
 
Variational AutoEncoder
Variational AutoEncoderVariational AutoEncoder
Variational AutoEncoder
 
「深層学習」第6章 畳込みニューラルネット
「深層学習」第6章 畳込みニューラルネット「深層学習」第6章 畳込みニューラルネット
「深層学習」第6章 畳込みニューラルネット
 
深層学習を医療に応用するために
深層学習を医療に応用するために深層学習を医療に応用するために
深層学習を医療に応用するために
 
強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試み強化学習を用いたポートフォリオマネジメントの試み
強化学習を用いたポートフォリオマネジメントの試み
 
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
 
ReNomによるNeural Style Transfer
ReNomによるNeural Style TransferReNomによるNeural Style Transfer
ReNomによるNeural Style Transfer
 
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
 
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!
 
ReNom User Group #1 Part3
ReNom User Group #1 Part3ReNom User Group #1 Part3
ReNom User Group #1 Part3
 
TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~TDAを構成する技術の紹介 ~PCA編~
TDAを構成する技術の紹介 ~PCA編~
 
ReNom User Group #1 Part1
ReNom User Group #1 Part1ReNom User Group #1 Part1
ReNom User Group #1 Part1
 
ReNom User Group #1 Part2
ReNom User Group #1 Part2ReNom User Group #1 Part2
ReNom User Group #1 Part2
 
Chainer v3
Chainer v3Chainer v3
Chainer v3
 
Style transfer
Style transferStyle transfer
Style transfer
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
 
AWS OpsWorksのご紹介
AWS OpsWorksのご紹介AWS OpsWorksのご紹介
AWS OpsWorksのご紹介
 

Similar to Recurrent Neural Networks

Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用Seiya Tokui
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Ohsawa Goodfellow
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
Deep Learning Chapter12
Deep Learning Chapter12Deep Learning Chapter12
Deep Learning Chapter12Kei Uchiumi
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Yuya Unno
 
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告Hiroyuki TOKUNAGA
 
20180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol120180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol1Keisuke Nakata
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化marsee101
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstmtak9029
 
Deep Learning技術の今
Deep Learning技術の今Deep Learning技術の今
Deep Learning技術の今Seiya Tokui
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...T T
 
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"Shinnosuke Takamichi
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsTakuya Akiba
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsTakuya Akiba
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開Seiya Tokui
 

Similar to Recurrent Neural Networks (20)

Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
RNNで頑張ろう
RNNで頑張ろうRNNで頑張ろう
RNNで頑張ろう
 
Deep Learning Chapter12
Deep Learning Chapter12Deep Learning Chapter12
Deep Learning Chapter12
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
 
NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告NLP若手の回 ACL2012参加報告
NLP若手の回 ACL2012参加報告
 
Paper: seq2seq 20190320
Paper: seq2seq 20190320Paper: seq2seq 20190320
Paper: seq2seq 20190320
 
20180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol120180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol1
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
 
Deep Learning技術の今
Deep Learning技術の今Deep Learning技術の今
Deep Learning技術の今
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
 
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
 
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for GraphsLearning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
 

More from Seiya Tokui

Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)Seiya Tokui
 
Chainer v2 and future dev plan
Chainer v2 and future dev planChainer v2 and future dev plan
Chainer v2 and future dev planSeiya Tokui
 
Chainer v2 alpha
Chainer v2 alphaChainer v2 alpha
Chainer v2 alphaSeiya Tokui
 
Learning stochastic neural networks with Chainer
Learning stochastic neural networks with ChainerLearning stochastic neural networks with Chainer
Learning stochastic neural networks with ChainerSeiya Tokui
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural NetworksSeiya Tokui
 
Introduction to Chainer
Introduction to ChainerIntroduction to Chainer
Introduction to ChainerSeiya Tokui
 
Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Seiya Tokui
 
Differences of Deep Learning Frameworks
Differences of Deep Learning FrameworksDifferences of Deep Learning Frameworks
Differences of Deep Learning FrameworksSeiya Tokui
 
Overview of Chainer and Its Features
Overview of Chainer and Its FeaturesOverview of Chainer and Its Features
Overview of Chainer and Its FeaturesSeiya Tokui
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Seiya Tokui
 
Towards Chainer v1.5
Towards Chainer v1.5Towards Chainer v1.5
Towards Chainer v1.5Seiya Tokui
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Seiya Tokui
 
論文紹介 Compressing Neural Networks with the Hashing Trick
論文紹介 Compressing Neural Networks with the Hashing Trick論文紹介 Compressing Neural Networks with the Hashing Trick
論文紹介 Compressing Neural Networks with the Hashing TrickSeiya Tokui
 
深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待Seiya Tokui
 
Introduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep LearningIntroduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep LearningSeiya Tokui
 
論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative ModelsSeiya Tokui
 
NIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding Model
NIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding ModelNIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding Model
NIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding ModelSeiya Tokui
 
ICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM Prediction
ICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM PredictionICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM Prediction
ICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM PredictionSeiya Tokui
 
Deep Learningの技術と未来
Deep Learningの技術と未来Deep Learningの技術と未来
Deep Learningの技術と未来Seiya Tokui
 

More from Seiya Tokui (20)

Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)Chainer/CuPy v5 and Future (Japanese)
Chainer/CuPy v5 and Future (Japanese)
 
Chainer v2 and future dev plan
Chainer v2 and future dev planChainer v2 and future dev plan
Chainer v2 and future dev plan
 
Chainer v2 alpha
Chainer v2 alphaChainer v2 alpha
Chainer v2 alpha
 
Learning stochastic neural networks with Chainer
Learning stochastic neural networks with ChainerLearning stochastic neural networks with Chainer
Learning stochastic neural networks with Chainer
 
論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks論文紹介 Pixel Recurrent Neural Networks
論文紹介 Pixel Recurrent Neural Networks
 
Introduction to Chainer
Introduction to ChainerIntroduction to Chainer
Introduction to Chainer
 
Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+
 
Differences of Deep Learning Frameworks
Differences of Deep Learning FrameworksDifferences of Deep Learning Frameworks
Differences of Deep Learning Frameworks
 
Overview of Chainer and Its Features
Overview of Chainer and Its FeaturesOverview of Chainer and Its Features
Overview of Chainer and Its Features
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12
 
Towards Chainer v1.5
Towards Chainer v1.5Towards Chainer v1.5
Towards Chainer v1.5
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
論文紹介 Compressing Neural Networks with the Hashing Trick
論文紹介 Compressing Neural Networks with the Hashing Trick論文紹介 Compressing Neural Networks with the Hashing Trick
論文紹介 Compressing Neural Networks with the Hashing Trick
 
深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待深層学習フレームワークChainerの紹介とFPGAへの期待
深層学習フレームワークChainerの紹介とFPGAへの期待
 
Introduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep LearningIntroduction to Chainer: A Flexible Framework for Deep Learning
Introduction to Chainer: A Flexible Framework for Deep Learning
 
論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models
 
NIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding Model
NIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding ModelNIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding Model
NIPS2013読み会 DeViSE: A Deep Visual-Semantic Embedding Model
 
ICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM Prediction
ICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM PredictionICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM Prediction
ICML2013読み会 Local Deep Kernel Learning for Efficient Non-linear SVM Prediction
 
Deep Learningの技術と未来
Deep Learningの技術と未来Deep Learningの技術と未来
Deep Learningの技術と未来
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 

Recently uploaded (9)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 

Recurrent Neural Networks

  • 1. Recurrent Neural Networks 2014/10/30 PFIセミナー Seiya Tokui, Preferred Networks
  • 2. ⾃自⼰己紹介 l 得居 誠也 (Seiya Tokui) l アカウント:beam2d (Twitter, GitHub, etc.) l 東⼤大情報理理⼯工で修⼠士を取ってから PFI ⼊入社 – 最初は⾃自然⾔言語処理理やってた(潜在変数を⼊入れた系列列ラベリング学習) – 次に画像・⾔言語対象に近傍探索索やった(ハッシュ関数の学習) – ⼊入社後は Jubatus のアルゴリズム開発 – 今は PFN で Deep Learning とか映像解析とかとか l 前回スキップしたせいで PFI セミナーは 16 ヶ⽉月ぶり l 今⽇日話す RNN は⾳音声認識識でもよくやられていて⾼高い精度度も出てますが 僕が⾳音声に不不慣れなので今⽇日は話しません(すみません) 2
  • 3. もくじ l 問題設定 l Recurrent Neural Networks l Backpropagation through Time l Long Short-‐‑‒Term Memory l Deep RNN l 応⽤用:機械翻訳 l 応⽤用:⾔言語処理理系の学習 l 応⽤用:アルゴリズムの学習 l 応⽤用:Visual Attention 3
  • 4. 問題設定 ⼊入⼒力力データ and/or 予測対象が可変⻑⾧長の系列列 課題⼊入⼒力力予測 ⾳音声認識識周波数空間の ベクトル列列 4 ⾳音素列列、単語列列 など 機械翻訳翻訳元⾔言語の⽂文 (単語/⽂文字列列) 翻訳先⾔言語の⽂文 (単語/⽂文字列列)
  • 5. Feedforward Neural Networks l 固定⻑⾧長⼊入⼒力力・出⼒力力の場合に⼀一般的に使われるニューラルネット l 可変⻑⾧長の場合には使いにくい – 何かしらの⽅方法で⼊入⼒力力を固定⻑⾧長に直さないといけない (e.g. BoW, N-‐‑‒gram) – 多くの場合、固定⻑⾧長への変換で順序の情報が失われるか、順序の情 報をすべて保存しようとすると次元が⾼高くなりすぎる 5
  • 6. Recurrent Neural Networks(Elman 型) l 状態を持ったニューラルネット l ⼊入⼒力力→隠れ、隠れ→隠れ、隠れ→出⼒力力 の3種類の結合を持つ 6 ⼊入⼒力力 隠れユニット 出⼒力力
  • 8. 勾配計算:Backpropagation through Time (BPTT) l 時間⽅方向に展開した計算グラフ上で、単純に誤差逆伝播する l これで勾配を計算して、勾配ベースの⼿手法を使ってパラメータを最適化する l 系列列全体でBPTTを実⾏行行する以外に、系列列を適当な⻑⾧長さでぶった切切ってBPTTす ることもある(最適化の効率率率を上げるため、実装を簡単にするため etc.) – ぶった切切った場合でも初期状態は正しく計算する必要がある 8
  • 9. BPTTは勾配が消えたり爆発したりする l エラーが⻑⾧長い系列列をたどる場合、重みがたくさん掛け算される l 重みが何度度も掛けられることで、勾配が系列列⻑⾧長に対して指数的に消失したり爆 発したりする l 爆発に対しては、max-‐‑‒normや勾配の正規化などで対処 l 消失する場合、これは⻑⾧長期依存 (long-‐‑‒term dependency) を学習できなくなる (短いパスの勾配だけが効いてしまうので) 9
  • 10. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l エラーが重みをかけずに伝搬するようにする 10
  • 11. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l エラーが重みをかけずに伝搬するようにする Constant Error Carousel (CEC) ct = ct1 + int @ct = @ct1 + @int エラーが減衰せずにとどまり続ける 11 tanh
  • 12. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l ⼊入⼒力力を選択的に記憶する ct = ct1 + int CEC は過去の⼊入⼒力力を溜溜め込む、 揮発性の記憶素⼦子のようなもの。 でもこれだけだと記憶対照を選べず、 ノイズを溜溜め込んでしまう。 12 tanh
  • 13. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l ⼊入⼒力力を選択的に記憶する Input gate が 1 のときは⼊入⼒力力をすべて CECに溜溜め込み、0 のときは無視する (実際はその間の値が連続的に現れる) 13 Input gate sigmoid tanh 掛け算
  • 14. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l エラーを選択的に取り込む 14 Input gate sigmoid tanh どのタイミングでもエラーが流流れ込むよ うになっている。ある CEC が記憶して いる事柄が今の予測と関係ないとき、こ れはノイズになってしまう。
  • 15. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l エラーを選択的に取り込む 15 Input gate sigmoid tanh Output gate sigmoid CEC の出⼒力力を使うタイミングを制御す ることで、必要ないときにはエラーが流流 れ込まないようにする
  • 16. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l ここまでが [HochreiterSchmidhuber, ʻ‘97] で提案された Long Short-‐‑‒Term Memory ユニット sigmoid ※ もともとは CEC の後ろにもう⼀一回 sigmoid 等をかませていたが、最近 は省省くことが多い 16 Input gate tanh Output gate sigmoid
  • 17. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l 記憶の明⽰示的な消去 ct = ct1 + int 17 Input gate sigmoid tanh Output gate sigmoid 今の定義だと、CEC を上書きするには ⼤大きな⼊入⼒力力を繰り返し与えるしかない。 短期間に⼤大きく記憶を更更新したい場合に 対処できない。
  • 18. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l 記憶の明⽰示的な消去 18 Input gate sigmoid tanh Output gate sigmoid Forget gate sigmoid Forget gate が 0 に近い値を取ると CEC は直前の状態を忘れて、新しい⼊入 ⼒力力で置き換わる。
  • 19. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l CEC の記憶(つまり隠れ状態)そのものを gate の制御に使う 19 Input gate sigmoid tanh Output gate sigmoid Forget gate sigmoid 各 gate への⼊入⼒力力は⼊入⼒力力系列列の今の値と、 直前の時刻における各 LSTM ユニットの出⼒力力。 後者は output gate で制御されてしまい、 本当の隠れ状態が⾒見見えない。
  • 20. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l CEC の記憶(つまり隠れ状態)そのものを gate の制御に使う 20 Input gate sigmoid tanh Output gate sigmoid Forget gate sigmoid Peephole Connection
  • 21. ⻑⾧長期依存を学習する Long Short-‐‑‒Term Memory l これが [Gers, ʻ‘01] などでまとめられている拡張された LSTM ユニッ ト sigmoid Forget gate l 現在よく⽤用いられているものは、このバージョンや peephole connection を省省いたもの l 学習は BPTT で⾏行行うのが主流流 21 Input gate tanh Output gate sigmoid sigmoid
  • 22. RNN を Deep にする⽅方法 l 現在よく使われているのは Stacked RNN l 各層ごとに異異なる時間スケール・抽象度度でのダイナミクスを捉えられる l ただ、課題によっては次スライドで述べる別の⽅方法を使った⽅方が良良いこ ともある 22
  • 23. RNN を Deep にする⽅方法 [Pascanu+, ICLR ʻ‘14] l RNN ⾃自体を stack する以外に、RNN の遷移層、出⼒力力層をそれぞれ deep にすることもできる(下図の⽩白い層は何段あってもよい) l 上の (b*) のように、遷移層を deep にする場合は backprop のパスが さらに⻑⾧長くなってしまうので、ショートカットを⼊入れると良良い – 短い時間で予測に⾮非線形な影響をあたえるような⼊入⼒力力をとらえるのに deep な接続を 使い、⻑⾧長期のラグを経て予測に影響を与えるような現象をとらえるのにショートカッ トを使う 23
  • 24. 応⽤用:機械翻訳 [Sutskever+, NIPS ʻ‘14] l “Sequence to Sequence Learning with Neural Networks” – RNN を機械翻訳に使う研究は最近とても多いが、この論論⽂文は RNN のみで機械翻訳を ⾏行行うところが特徴 l 英語の単語列列を⼊入⼒力力として、フランス語の単語列列を出⼒力力する l まず英語の⽂文章 ABC を⼊入れて、EOS(⽂文末)に到達したらフランス語 の⽂文章 WXYZ を出⼒力力する 24
  • 25. 応⽤用:機械翻訳 [Sutskever+, NIPS ʻ‘14] ⼯工夫 l 英語を読むときとフランス語を出⼒力力するときで異異なるパラメータを使う l 英語(⼊入⼒力力)は前後を反転させて読ませる – 英語とフランス語は語順が近いため、対応する単語ペアで近い位置 にあるものが多い⽅方が学習の初期時に⾜足がかりにしやすい – このテクニックはおそらく、出⼒力力の最初の⽅方を予測するのに⼊入⼒力力の 最初の⽅方が強く効くような問題で有効 25
  • 27. 応⽤用:⾔言語処理理系の学習 [ZarembaSutskever, ʻ‘14] l “Learning to Execute” l 簡単な Python コードが⼊入⼒力力 l print 結果を出⼒力力させる – 結果は必ずドットで終わる l データはランダムに⽣生成。 以下のパラメータを持つ: – 現れる数値の桁数 – 構⽂文⽊木の深さ 27
  • 28. 応⽤用:⾔言語処理理系の学習 [ZarembaSutskever, ʻ‘14] l (Peepholeのない)Stacked LSTM RNN で学習 l ⼯工夫:Curriculum Learning [Bengio+, ICMLʼ’09] – 簡単な問題を先に解かせることで難しい問題の最適化を容易易にする (去年年のPFIセミナー後半を参照 http://www.slideshare.net/beam2d/deep-‐‑‒learning-‐‑‒22544096) – ここではデータを⽣生成するときのパラメータ(桁数、構⽂文⽊木の深 さ)について、⼩小さな値を⽤用いて⽣生成したデータからまず学習させ、 段々⽣生成パラメータを⼤大きくしていく – ただし、ナイーブにやるとダメ u ⼩小さなパラメータのデータに特化した RNN が学習されてしまう u 序盤から少量量の難しい問題を混ぜておくことでこれを回避 28
  • 30. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l “Neural Turing Machines” l メモリのくっついた (R)NN を考案している(下は模式図) コントローラ ⼊入⼒力力出⼒力力 30 読み取り ヘッド 書き込み ヘッド 書き込み 内容 メモリ⾏行行列列
  • 31. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l メモリ⾏行行列列から読んだり書いたりできる l 読み書きにはヘッドを使う l ヘッドは確率率率ベクトル メモリ⾏行行列列 ヘッド:確率率率ベクトル (⾮非負値で和が1) – One-‐‑‒hot だとチューリ ングマシンのように⼀一 箇所だけから読むことに なる – これを backprop できるように 連続値に拡張している l 書く時は書き込む内容(⾏行行ベクトル)も⼀一緒に 出⼒力力して、⾏行行ごとに書き込む強度度をヘッドで指定する 31 × wt Mt
  • 32. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l ヘッドの指定は2つのアドレッシング⽅方法を組合せる l まずはコンテンツベースのアドレッシング – コントローラが出⼒力力した⾏行行ベクトル とのコサイン距離離 の softmax で確率率率を割当てる wc t (i) / exp(tK(kt,Mt(i)) – これを前回のヘッドと混ぜたものを次のロケーションベースのアド レッシングへの⼊入⼒力力にする(混合係数 はコントローラが指定す る) – 混合係数が 0 ならコンテンツベースアドレッシングは無視される 32 kt K gt
  • 33. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l 次にロケーションベースのアドレッシング – 指定した数だけヘッドを右か左にシフトさせたい – だが同時に backprop もできるようにしたいので、代わりにコント ローラが指定したベクトルとの畳み込み演算で補う(添字が端を越 えるところでは循環させる) – このときベクトル が one-‐‑‒hot なら完全なシフトになる – Softmax などで指定する場合、なだらかな値を取り値がボケてしま うので、シャープにする( もコントローラが指定) 33 st t 1 wt(i) / ˜ wt(i)t
  • 34. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l ⼊入⼒力力系列列を読んだあとに出⼒力力系列列を予測する課題(機械翻訳と同じ) l 処理理の順序 – コントローラが読み取りヘッドを出⼒力力 – 読み取りヘッド(⾏行行ベクトル)とメモリ⾏行行列列の積によってメモリ内容を読み出す – ⼊入⼒力力、メモリの読み出し結果、コントローラの直前の状態(コントローラが RNN の 場合)をもとにコントローラの状態を更更新 – コントローラが書き込みヘッドと書き込み内容を出⼒力力 u 書き込みは「消してから⾜足す」というやりかたをしている(詳細は論論⽂文参照) – 書き込みヘッド(⾏行行ベクトル)と書き込み内容(列列ベクトル)の outer product を 取ってメモリ⾏行行列列を更更新 – コントローラが予測を出⼒力力 l すべての処理理は微分可能なので、ヘッドの位置(確率率率ベクトル)や書き 込み内容を含めてシステム全体を BPTT で学習できる 34
  • 35. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l コピー課題(上) – ⼊入⼒力力と同じものを出⼒力力する l 繰り返しコピー課題(下) – ⼊入⼒力力はコピー対象系列列の末尾に コピー回数を書いたもの。これを 読んで、コピー回数だけ対象系列列 を繰り返し出⼒力力する課題 – つまり For ループができるかを 確かめる実験 l どちらも LSTM RNN より速く 学習している – 下のほうが LSTM でも良良いのは 上の実験より系列列を短くしてるから 35
  • 36. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l 繰り返しコピー課題でのヘッドの内容 l 毎コピー後に繰り返し回数をチェックしに⾏行行ってるのがわかる 36
  • 37. 応⽤用:アルゴリズムの学習 [Graves+, ʻ‘14] l Neural Turing Machines でコントローラに LSTM を使う場合、LSTM はレジスタのように使われる – 先ほどのコピー課題ではおそらく、現在の繰り返し回数が LSTM の 中に保持されていると予想される u 繰り返し中にはメモリへの書き込みがないため l コピー回数やコピー内容のように、⻑⾧長期にわたって覚えておく必要があ る内容をメモリに書いている l 論論⽂文ではもっと複雑なタスクも解かせているので、実験のところだけで も読むと⾯面⽩白いです – 系列列を任意の場所から思い出す、N-‐‑‒gram モデルの学習アルゴリズム⾃自体を 学習する、インデックス順に並び替えるタスク(Priority Sort) 37
  • 38. 応⽤用:Visual Attention [Mnih+, ICML ʻ‘14] l “Recurrent Models of Visual Attention” l 画像認識識(分類や検出)において、画像全体を⾒見見たくない l ⼩小さな矩形を⼊入⼒力力として⾒見見て、次に⾒見見る位置を出⼒力力。これを繰り返しな がら予測やアクションを改善していく 38
  • 39. 応⽤用:Visual Attention [Mnih+, ICML ʻ‘14] l ⼿手法の名前は Recurrent Attention Model (RAM) l ⼊入⼒力力は静⽌止画でも動画(系列列)でも良良い – 論論⽂文では静⽌止画(MNIST をランダムに平⾏行行移動したもの)と簡単なゲームで実験 – 動画(ゲーム)の場合には LSTM を使うと良良い l ⾒見見る位置から画像を取ってくる部分は微分できない l そこで強化学習を⾏行行う – 分類の場合、毎フレーム予測が当たったら報酬がもらえる – 学習には REINFORCE 法 [Williams, ʻ‘92] と呼ばれる勾配のサンプリング法を使って いる(NNの強化学習で昔からある⼿手法) l 強化学習なので分類以外の⽬目的にも使える – 論論⽂文では簡単なゲームプレイを試している 39
  • 40. 応⽤用:Visual Attention [Mnih+, NIPS ʻ‘14] l RAM が視線をどう動かすかの可視化 l 論論⽂文にもっといろいろ載ってます l ゲームプレイの動画: http://www.cs.toronto.edu/~∼vmnih/docs/attention.mov l Attention に関する研究(特に NN と絡めた話)はここ最近増えている ように思う 40
  • 41. まとめ l 今どきの Recurrent Neural Networks は – LSTM を使う(もう 17 年年前だけど……) – BPTT で勾配計算する – いろんな⽅方法で Deep にする – ⼊入⼒力力系列列は反転したりする – Curriculum Learning が効く – メモリをくっつけると複雑な課題が解けるようになる l ところで後半で紹介した応⽤用例例はすべて Google(後半2つは DeepMind) 41
  • 42. References Bengio, Y., Louradour, J., Collobert, R. and Weston, J. Curriculum Learning. ICML 2009. Gers, F. Long Short-Term Memory in Recurrent Neural Networks. Ph.D thesis, 2001. Graves, A., Wayne, G. and Danihelka, I. Neural Turing Machines. arXiv:1410.5401v1, 2014. Hochreiter, S. and Schmidhuber, J. LONG SHORT-TERM MEMORY. Neural Computation, 9(8): 1735-1780, 1997. Mnih, V., Heess, N., Graves, A. and Kavukcuglu, K. Recurrent Models of Visual Attention. ICML, 2014. Pascanu, R., Gulcehre, C., Cho, K. and Bengio, Y. How to Construct Deep Recurrent Neural Networks. ICLR, 2014. Sutskever, I., Vinyals, O. and Le, Q. V. Sequence to Sequence Learning with Neural Networks. NIPS 2014. Williams, R. J. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine Learning, 8(e):229-256, 1992. Zaremba, W. and Sutskever, I. Learning to Execute. arXiv:1410.4615v1, 2014. 42