SlideShare a Scribd company logo
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
RNN + LSTMを理解する
自己紹介
● 本田 新(ほんだ あらた)
Qiita: arata-honda
● 新卒3年目
● 機械学習とかやってます
● Python, Go, PHPとか主に書いてます
● 映画、山登り、筋トレが趣味です
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
この講義での目的

3
RNN, LSTMの概観的理解



– RNNの理解



– RNNの改良ネットワークであるLSTMの理解

→このインターンを通してLSTMをKerasで実装できるればOK

Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
ニューラルネットワークの種類

4
データの種類 使用用途
CNN
画像、文章など 画像分類、認識、物体検知
文書分類
RNN
時系列のデータ 機械翻訳、文書生成、音声認識
文章から画像生成
オートエンコーダー
画像、文章 画像復元、文章要約、次元削減
ボルツマンマシン
特になし 画像生成、文章生成、 fine-tuning、
連想記憶、グラフマイニング
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
時系列データ:時間的順序を追って観測されたデータ

5
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
RNNを理解する
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
Recurrent Neural Network

7
中間層に戻り値(過去の結果)を設けることで時系列表現

入力層 中間層
・・・ ・・・
出力層
t=2の時
t=1の計算結果
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
種類はたくさんある

8
https://www.slideshare.net/Brains_Consulting/deep-learning-56477848
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
Elman Networkを定式化してみる

9
point : 重みはtに依存しない
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
BPTTに行く前にBPのおさらい
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
BPの計算(3層の例)

11
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
BPの計算(3層の例)

12
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
BPの計算(3層の例)

13
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
BPの計算(3層の例)

14
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
Elman Networkを定式化してみる

15
point : 重みはtに依存しない
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
BPTT
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
ネットワークを時間方向に展開してみる

17
t=1 t=2 t=3 t=t
・・・
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
学習①:誤差関数から誤差計算

18
t=1 t=2 t=3 t=t
・・・
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
学習②:誤差関数Eのデルタの計算

19
t=t-1 t=t t=t+1
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
学習③:t+1のデルタは計算されているはず

20
t=t-1 t=t t=t+1
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
学習④:tに2つのデルタについて詳細計算

21
t=t-1 t=t t=t+1
時刻の出力も加味
する点がBPとの違
い
BPのデルタ
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
余談

22
● 勾配が小さくなるので、限界は10時刻サンプル程度
● 初期値(t=0)を0にしたが適切な初期値を与えてやる場合もある
● いじるパラメータ
○ 重み係数(隠れ層含む)
○ BPTTの際の勾配法(Adam, SGD, etc), 学習係数
○ 活性化関数, 出力関数(ReLU, Softmax, etc)
○ 学習時の時刻tの範囲(タイムステップ)
○ 学習回数、バッチサイズ(一度に与えるサンプル数)
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
まとめ

23
● RNNは時系列データを考慮して組まれたNeural Network
● ElmanNetで中間層→中間層の再帰的な計算を概観した
● 学習はBPは時系列展開されたBPTTで学習
● BP同様、活性化関数の微分が層が深くなるにつれ、小さくなる
(勾配消失)ので、LSTMで解消
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
LSTMを理解する
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
LSTM : 長期記憶と短期記憶

25
● BP同様、活性化関数の微分が層が深くなるにつれ、小さくなる
(勾配消失)のを防ぐために提唱(1997)
● 長期記憶・短期記憶を実現
○ 長期記憶:ずっと覚えている記憶(ex:家の電話番号)
○ 短期記憶:瞬間的な記憶(ex:一夜漬けの勉強内容)
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
勾配を減らさず、そのままの入力を受け取る

26
● 勾配消失は勾配が減るから起きる
減らさない方法:逆伝播時にそのまま自分の出力を受け取る
● 中間層がそのまま自分の出力を受け取る(記憶)ためには?
○ ニューロンの活性化関数が線形(ヒント:微分)
○ 他の入力がないとき活性は一定
● Constant Error Carrousel(CEC)を導入
○ Carrousel : (和訳)ベルトコンベアー : 循環を意味
○ 活性化関数は線形 : f(x) = x
○ リカレント結合の重みは1.0 (一定)
○ 真ん中の素子は”メモリセル”と呼ばれる
https://www.bioinf.jku.at/publications/older/2604.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
“記憶”のための重みに関するコンフリクト

27
● ある情報を必要になるまで覚えておきたい
○ 目的の情報が来たときにWeightを大きくしたい(未来のユニットを伝えたい)
○ それ以外が来たときはWeightは小さくしたい(〃に伝えたくない)
○ 覚えておいた値を使う(ユニットの出力を伝える)
○ 必要になるまで使わない(ユニットの出力が消えないように保持)
→Wというスカラ値で記憶させる/させないの表現は難しい
“記憶”に対する読み書きオペレーションを
入出力で制御する必要がある
https://www.bioinf.jku.at/publications/older/2604.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
元祖LSTM:長期記憶を担当

28
記憶を担当するCECの前後に入出力を制御するゲート素子を配置
https://www.bioinf.jku.at/publications/older/2604.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
①入力ゲートが開いているときに記憶させたい入力を投下

29
記憶を担当するCECの前後に入出力を制御するゲート素子を配置
https://www.bioinf.jku.at/publications/older/2604.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
②重み1のRNNで過去すべての入力と今回の入力を記憶

30
記憶を担当するCECの前後に入出力を制御するゲート素子を配置
https://www.bioinf.jku.at/publications/older/2604.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
③出力ゲートが開いているときにデータを出力

31
記憶を担当するCECの前後に入出力を制御するゲート素子を配置
https://www.bioinf.jku.at/publications/older/2604.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
問題点:短期的に大きく記憶を更新したい

32
CECを上書きするには大きな入力を与えないといけない
https://www.slideshare.net/KenjiUrai/kenji-urailstm
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
忘却ユニットの追加 : 短期記憶を実現

33
https://pdfs.semanticscholar.org/e10f/98b86797ebf6c8caea6f54cacbc5a50e8b34.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
忘却ユニットの追加 : 短期記憶を実現

34
Forgate gateが0
に近い値をとると
CECは直前の状態
を忘れて、新しい入
力に上書き
https://pdfs.semanticscholar.org/e10f/98b86797ebf6c8caea6f54cacbc5a50e8b34.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
各ユニットのゲートへの制御にメモリセルを使ってない

35
中間層の出力がメ
モリセルの情報を
含んでいるように
見えるが、出力
ゲートで隠蔽して
いるからわからな
い
https://pdfs.semanticscholar.org/e10f/98b86797ebf6c8caea6f54cacbc5a50e8b34.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
Peephole Connectionsの追加

36
https://qiita.com/t_Signull/items/21b82be280b46f467d1b
http://www.jmlr.org/papers/volume3/gers02a/gers02a.pdf
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
まとめ

37
● BPTTは当然入力+忘却+出力ゲートを加味したものになるが、
Kerasで実装するときはほとんど意識しないので今回省略
● Peepholeはついてない場合とつけてる場合がある
● いじるパラメータ
○ 隠れ層のLSTM Blockの数
○ BPTTの際の勾配法(Adam, SGD, etc), 学習係数
○ 活性化関数, 出力関数(ReLU, Softmax, etc)
○ 学習時の時刻tの範囲(タイムステップ)
○ 学習回数、バッチサイズ(一度に与えるサンプル数)
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
ネットワーク全体図

38
Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved.
お疲れ様でした

More Related Content

PDF
LSTM (Long short-term memory) 概要
PPTX
2014 3 13(テンソル分解の基礎)
PDF
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
PDF
Recurrent Neural Networks
PDF
実装レベルで学ぶVQVAE
PPTX
機械学習 / Deep Learning 大全 (4) GPU編
PDF
Optimizer入門&最新動向
PPTX
G社のNMT論文を読んでみた
LSTM (Long short-term memory) 概要
2014 3 13(テンソル分解の基礎)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
Recurrent Neural Networks
実装レベルで学ぶVQVAE
機械学習 / Deep Learning 大全 (4) GPU編
Optimizer入門&最新動向
G社のNMT論文を読んでみた

What's hot (20)

PPTX
深層学習の非常に簡単な説明
PDF
cvpaper.challenge 研究効率化 Tips
PPTX
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
PDF
テンソル多重線形ランクの推定法について(Estimation of Multi-linear Tensor Rank)
PPT
時系列データ分析
PPTX
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
PDF
最近のDeep Learning (NLP) 界隈におけるAttention事情
PDF
[DL輪読会]NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PDF
POMDP下での強化学習の基礎と応用
PDF
【DL輪読会】“Gestalt Principles Emerge When Learning Universal Sound Source Separa...
PPTX
ResNetの仕組み
PDF
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
PDF
[DL輪読会]Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs (CV...
PPTX
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
PDF
3分でわかる多項分布とディリクレ分布
PDF
【メタサーベイ】Neural Fields
PPTX
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
PPTX
Visual Studio CodeでRを使う
PDF
自然言語処理のためのDeep Learning
PPTX
深層学習に基づく周波数帯域補間手法による音源分離処理の高速化
深層学習の非常に簡単な説明
cvpaper.challenge 研究効率化 Tips
【DL輪読会】AUTOGT: AUTOMATED GRAPH TRANSFORMER ARCHITECTURE SEARCH
テンソル多重線形ランクの推定法について(Estimation of Multi-linear Tensor Rank)
時系列データ分析
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
最近のDeep Learning (NLP) 界隈におけるAttention事情
[DL輪読会]NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
POMDP下での強化学習の基礎と応用
【DL輪読会】“Gestalt Principles Emerge When Learning Universal Sound Source Separa...
ResNetの仕組み
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
[DL輪読会]Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs (CV...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
3分でわかる多項分布とディリクレ分布
【メタサーベイ】Neural Fields
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
Visual Studio CodeでRを使う
自然言語処理のためのDeep Learning
深層学習に基づく周波数帯域補間手法による音源分離処理の高速化
Ad

Similar to Rnn+lstmを理解する (13)

PPTX
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
PPTX
Batch Reinforcement Learning
PPTX
Tf勉強会(5)
PDF
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
PDF
Deep learning実装の基礎と実践
PPTX
Deep Learningについて(改訂版)
PPTX
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
PDF
【公開版】AWS基礎 for 新卒エンジニア
PDF
深層学習フレームワークChainerの特徴
PPTX
Pycon reject banditアルゴリズムを用いた自動abテスト
PDF
OpsからみたOpenStack Summit
PDF
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
PDF
GPUサーバーたくさん使うのいいけど置く場所とかどうするの?的なお話
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Batch Reinforcement Learning
Tf勉強会(5)
画像認識モデルを自動的に作る。1日以内に。~Simple And Efficient Architecture Search for Convolutio...
Deep learning実装の基礎と実践
Deep Learningについて(改訂版)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
【公開版】AWS基礎 for 新卒エンジニア
深層学習フレームワークChainerの特徴
Pycon reject banditアルゴリズムを用いた自動abテスト
OpsからみたOpenStack Summit
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
GPUサーバーたくさん使うのいいけど置く場所とかどうするの?的なお話
Ad

More from Arata Honda (10)

PDF
2つのサービスをAWSに移行した話
PDF
Config mapについて
PDF
Excite beer bash06
PDF
はじめてのパターン認識第八章
PDF
はじめてのパターン認識第三章
PDF
Prml 3 3.3
PDF
ノイズあり教師のパーセプトロン学習の統計力学的解析
PDF
正則化項について
PDF
Scikit-learnを使って 画像分類を行う
PDF
2つのサービスをAWSに移行した話
Config mapについて
Excite beer bash06
はじめてのパターン認識第八章
はじめてのパターン認識第三章
Prml 3 3.3
ノイズあり教師のパーセプトロン学習の統計力学的解析
正則化項について
Scikit-learnを使って 画像分類を行う

Recently uploaded (8)

PDF
データモデラー視点で語るデータマネジメント入門~組織のデータ活用を成功に導くために~
PDF
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
PDF
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
PDF
【初心者向け】生成AI SimonW/LLMとOllama・llamafile無料APIでコマンドラインをAI革命するセミナー。CPUでもGPUでも。Ne...
PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
PDF
【QYResearch】急拡大する医療機器市場における主要企業の動向と競争環境分析
PDF
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
PDF
【QYResearch】グローバル磁性材料産業チェーンの構造分析と市場動向の詳細解説
データモデラー視点で語るデータマネジメント入門~組織のデータ活用を成功に導くために~
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
【初心者向け】生成AI SimonW/LLMとOllama・llamafile無料APIでコマンドラインをAI革命するセミナー。CPUでもGPUでも。Ne...
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
【QYResearch】急拡大する医療機器市場における主要企業の動向と競争環境分析
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
【QYResearch】グローバル磁性材料産業チェーンの構造分析と市場動向の詳細解説

Rnn+lstmを理解する

  • 1. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. RNN + LSTMを理解する
  • 2. 自己紹介 ● 本田 新(ほんだ あらた) Qiita: arata-honda ● 新卒3年目 ● 機械学習とかやってます ● Python, Go, PHPとか主に書いてます ● 映画、山登り、筋トレが趣味です
  • 3. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. この講義での目的
 3 RNN, LSTMの概観的理解
 
 – RNNの理解
 
 – RNNの改良ネットワークであるLSTMの理解
 →このインターンを通してLSTMをKerasで実装できるればOK

  • 4. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. ニューラルネットワークの種類
 4 データの種類 使用用途 CNN 画像、文章など 画像分類、認識、物体検知 文書分類 RNN 時系列のデータ 機械翻訳、文書生成、音声認識 文章から画像生成 オートエンコーダー 画像、文章 画像復元、文章要約、次元削減 ボルツマンマシン 特になし 画像生成、文章生成、 fine-tuning、 連想記憶、グラフマイニング
  • 5. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 時系列データ:時間的順序を追って観測されたデータ
 5
  • 6. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. RNNを理解する
  • 7. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. Recurrent Neural Network
 7 中間層に戻り値(過去の結果)を設けることで時系列表現
 入力層 中間層 ・・・ ・・・ 出力層 t=2の時 t=1の計算結果
  • 8. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 種類はたくさんある
 8 https://www.slideshare.net/Brains_Consulting/deep-learning-56477848
  • 9. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. Elman Networkを定式化してみる
 9 point : 重みはtに依存しない
  • 10. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. BPTTに行く前にBPのおさらい
  • 11. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. BPの計算(3層の例)
 11
  • 12. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. BPの計算(3層の例)
 12
  • 13. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. BPの計算(3層の例)
 13
  • 14. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. BPの計算(3層の例)
 14
  • 15. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. Elman Networkを定式化してみる
 15 point : 重みはtに依存しない
  • 16. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. BPTT
  • 17. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. ネットワークを時間方向に展開してみる
 17 t=1 t=2 t=3 t=t ・・・
  • 18. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 学習①:誤差関数から誤差計算
 18 t=1 t=2 t=3 t=t ・・・
  • 19. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 学習②:誤差関数Eのデルタの計算
 19 t=t-1 t=t t=t+1
  • 20. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 学習③:t+1のデルタは計算されているはず
 20 t=t-1 t=t t=t+1
  • 21. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 学習④:tに2つのデルタについて詳細計算
 21 t=t-1 t=t t=t+1 時刻の出力も加味 する点がBPとの違 い BPのデルタ
  • 22. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 余談
 22 ● 勾配が小さくなるので、限界は10時刻サンプル程度 ● 初期値(t=0)を0にしたが適切な初期値を与えてやる場合もある ● いじるパラメータ ○ 重み係数(隠れ層含む) ○ BPTTの際の勾配法(Adam, SGD, etc), 学習係数 ○ 活性化関数, 出力関数(ReLU, Softmax, etc) ○ 学習時の時刻tの範囲(タイムステップ) ○ 学習回数、バッチサイズ(一度に与えるサンプル数)
  • 23. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. まとめ
 23 ● RNNは時系列データを考慮して組まれたNeural Network ● ElmanNetで中間層→中間層の再帰的な計算を概観した ● 学習はBPは時系列展開されたBPTTで学習 ● BP同様、活性化関数の微分が層が深くなるにつれ、小さくなる (勾配消失)ので、LSTMで解消
  • 24. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. LSTMを理解する
  • 25. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. LSTM : 長期記憶と短期記憶
 25 ● BP同様、活性化関数の微分が層が深くなるにつれ、小さくなる (勾配消失)のを防ぐために提唱(1997) ● 長期記憶・短期記憶を実現 ○ 長期記憶:ずっと覚えている記憶(ex:家の電話番号) ○ 短期記憶:瞬間的な記憶(ex:一夜漬けの勉強内容)
  • 26. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 勾配を減らさず、そのままの入力を受け取る
 26 ● 勾配消失は勾配が減るから起きる 減らさない方法:逆伝播時にそのまま自分の出力を受け取る ● 中間層がそのまま自分の出力を受け取る(記憶)ためには? ○ ニューロンの活性化関数が線形(ヒント:微分) ○ 他の入力がないとき活性は一定 ● Constant Error Carrousel(CEC)を導入 ○ Carrousel : (和訳)ベルトコンベアー : 循環を意味 ○ 活性化関数は線形 : f(x) = x ○ リカレント結合の重みは1.0 (一定) ○ 真ん中の素子は”メモリセル”と呼ばれる https://www.bioinf.jku.at/publications/older/2604.pdf
  • 27. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. “記憶”のための重みに関するコンフリクト
 27 ● ある情報を必要になるまで覚えておきたい ○ 目的の情報が来たときにWeightを大きくしたい(未来のユニットを伝えたい) ○ それ以外が来たときはWeightは小さくしたい(〃に伝えたくない) ○ 覚えておいた値を使う(ユニットの出力を伝える) ○ 必要になるまで使わない(ユニットの出力が消えないように保持) →Wというスカラ値で記憶させる/させないの表現は難しい “記憶”に対する読み書きオペレーションを 入出力で制御する必要がある https://www.bioinf.jku.at/publications/older/2604.pdf
  • 28. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 元祖LSTM:長期記憶を担当
 28 記憶を担当するCECの前後に入出力を制御するゲート素子を配置 https://www.bioinf.jku.at/publications/older/2604.pdf
  • 29. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. ①入力ゲートが開いているときに記憶させたい入力を投下
 29 記憶を担当するCECの前後に入出力を制御するゲート素子を配置 https://www.bioinf.jku.at/publications/older/2604.pdf
  • 30. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. ②重み1のRNNで過去すべての入力と今回の入力を記憶
 30 記憶を担当するCECの前後に入出力を制御するゲート素子を配置 https://www.bioinf.jku.at/publications/older/2604.pdf
  • 31. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. ③出力ゲートが開いているときにデータを出力
 31 記憶を担当するCECの前後に入出力を制御するゲート素子を配置 https://www.bioinf.jku.at/publications/older/2604.pdf
  • 32. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 問題点:短期的に大きく記憶を更新したい
 32 CECを上書きするには大きな入力を与えないといけない https://www.slideshare.net/KenjiUrai/kenji-urailstm
  • 33. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 忘却ユニットの追加 : 短期記憶を実現
 33 https://pdfs.semanticscholar.org/e10f/98b86797ebf6c8caea6f54cacbc5a50e8b34.pdf
  • 34. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 忘却ユニットの追加 : 短期記憶を実現
 34 Forgate gateが0 に近い値をとると CECは直前の状態 を忘れて、新しい入 力に上書き https://pdfs.semanticscholar.org/e10f/98b86797ebf6c8caea6f54cacbc5a50e8b34.pdf
  • 35. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. 各ユニットのゲートへの制御にメモリセルを使ってない
 35 中間層の出力がメ モリセルの情報を 含んでいるように 見えるが、出力 ゲートで隠蔽して いるからわからな い https://pdfs.semanticscholar.org/e10f/98b86797ebf6c8caea6f54cacbc5a50e8b34.pdf
  • 36. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. Peephole Connectionsの追加
 36 https://qiita.com/t_Signull/items/21b82be280b46f467d1b http://www.jmlr.org/papers/volume3/gers02a/gers02a.pdf
  • 37. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. まとめ
 37 ● BPTTは当然入力+忘却+出力ゲートを加味したものになるが、 Kerasで実装するときはほとんど意識しないので今回省略 ● Peepholeはついてない場合とつけてる場合がある ● いじるパラメータ ○ 隠れ層のLSTM Blockの数 ○ BPTTの際の勾配法(Adam, SGD, etc), 学習係数 ○ 活性化関数, 出力関数(ReLU, Softmax, etc) ○ 学習時の時刻tの範囲(タイムステップ) ○ 学習回数、バッチサイズ(一度に与えるサンプル数)
  • 38. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. ネットワーク全体図
 38
  • 39. Copyright © 1997-2019 Excite Japan Co. ,Ltd. All Rights Reserved. お疲れ様でした