SlideShare a Scribd company logo
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 1
RNN-based Translation Models
Yusuke Oda
@odashi_t
2016/5/12 NAIST MT-Study Group
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 2
Neural Network
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 3
Neural Network (1)
● Neural Network 任意の(劣)微分可能な関数の連結
入力層 隠れ層 隠れ層 出力層
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 4
Neural Network (2)
● つなぎ方はほぼ自由
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 5
Neural Network の学習
● →出力に「損失」=「値の悪さ」を定義   損失が小さくなるよう関数を調整
– 勾配法で更新:
– 関数の勾配をどう求める?
● ネットワークが複雑だと直接計算するのが困難
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 6
Backpropagation (誤差逆伝播) (1)
1. 変数の勾配を「直後の変数の勾配」を用いて求める
(直接計算)
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 7
Backpropagation (誤差逆伝播) (2)
1. 変数の勾配を「直後の変数の勾配」を用いて求める
2. 関数の勾配も同様
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 8
NNで頻繁に使う関数・導関数
線形写像
sigmoid
tanh
lamp (ReLU)
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 9
NN-based
Translation Models
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 10
Sequence-to-sequence 翻訳(一般人向け)
● 部分的な変換ルールは学習せず、文全体の情報を用いて翻訳
直訳手法
原言語
目的
言語
理解
原言語を解析
分解
細かいルールに分割
再構築
ルールを結合
原言語
目的
言語
理解
原言語の
意味を抽出
再構築
意味表現から
直接単語を生成
Sequence-to-sequence
意味表現
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 11
ニューラルネット翻訳(一般人向け)
● Sequence-to-sequence 翻訳の一種
● 意味の解析・単語の生成にニューラルネットを使用
– 複雑さ: 従来の翻訳アルゴリズムよりも単純
– 翻訳精度: 設定次第で従来手法に匹敵
原言語
目的
言語
ニューラル
ネット
(単語生成)
ニューラル
ネット
(意味解析)
意
味
表
現
● Encoder-decoder 翻訳モデル
– 最も簡単な sequence-to-sequence 翻訳モデル
– リカレントニューラルネットを使用
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 12
リカレントニューラルネット (1)
● リカレントニューラルネット (Recurrent Neural Network: RNN)
– フィードバック付きのニューラルネット
– 時系列データの解析によく用いられる
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 13
リカレントニューラルネット (2)
● 時間方向に伸展したRNN
– 中間層には入力の種類と順序に関する情報が蓄積される(はず)
データ1 データ2 データ3
データ1
データ1
 →データ2
データ1
 →データ2
  →データ3
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 14
Encoder-decoder 翻訳モデル (1)
● 原言語側と目的言語側の2本のRNNを結合
– 原言語側 … 入力単語の情報を蓄積
– 目的言語側 … 蓄積された情報を取り出しながら単語を生成
END runs he
走る は 彼
Encoder
Decoder
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 15
Chainer で Encoder-decoder 翻訳
● Chainer - http://chainer.org/
– ニューラルネットのフレームワーク
– ソースコードの計算式がそのままニューラルネットの構造になる
● 複雑な形状のニューラルネットを記述するのに最適
は
(一例、他の定式化も可能)
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 16
Chainer で Encoder-decoder 翻訳
● Chainer - http://chainer.org/
– ニューラルネットのフレームワーク
– ソースコードの計算式がそのままニューラルネットの構造になる
● 複雑な形状のニューラルネットを記述するのに最適
import numpy as np
import chainer.functions as F
import chainer.links as L
from chainer import Variable
xi = L.EmbedID(VOCAB, EMBED)
ip = L.Linear(VOCAB, HIDDEN)
pp = L.Linear(HIDDEN, HIDDEN)
...
x = Variable(np.array([[w]], dtype=np.float32))
i = F.tanh(xi(x))
p = F.tanh(ip(i) + pp(p))
は
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 17
Encoder-decoder 翻訳の実装
# encoding
_p, p = init()­­­­­­­­­­­­­­­­­­­­­­­­­­何か初期化
for word in reversed(sentence):
  x = Var([[stoi(word)]])­­­­­­­­­­­­­­­単語ID化
  _p, p = lstm(_p, xp(x) + pp(p))­­­­­­­LSTMに入力
­­­­­­この時点でpに入力系列の情報が入っている(はず)­­­­­­
# decoding
y = stoi('SOL')
while y != stoi('EOL'):
  _p, p = lstm(_p, yp(y) + pp(p))­­­­­­­デコーダの状態遷移
  y = softmax(py(p)).data.argmax()­­­­­­次の単語
  print(itos(y))
            
● Enc-dec のナイーブな実装 (赤字: Chainer/NumPy関数、緑: 重み行列)
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 18
Decoder
Attention (1)
● Attention ... 入力の情報から必要な情報をその都度生成
– 入力長に(あまり)依存しない解析が可能
– 使いやすいらしく、割と色々応用されている
● 翻訳、キャプション生成、画像生成(ビットマップ、ベクタ)、構文解析、etc
– 詳しくは http://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention
SRC TRGEncoder DecoderEnc-dec
Attention
A
quick
brown
fox
jumps
...
Enc
速い
茶色の
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 19
Attention (2)
● Global attention ... 現在のデコーダ状態から各単語の重みを計算、線形和
[Luong et al., 2015, Effective Approaches to Attention-based Neural Machine Translation]
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 20
Attention (3)
● Global attentionのナイーブな実装 (赤字: Chainer/NumPy関数、緑: 重み行列)
a_list:入力単語のベクトル表現(encoderの出力), p:デコーダの状態
_p, p = init()
y = stoi('SOL')
while y != stoi('EOL'):
  e_list = []­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­重みのリスト
  e_sum = zeros(...)­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­分母
  for a in a_list:
    w = tanh(aw(a) + pw(p))­­­­­­­­­­­­­­­­­­­­­­­­­何か変換して
    e = exp(we(w))­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­重み計算
    e_list.append(e)
    e_sum += e
  c = zeros(...)­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­線形和
  for a, e in zip(a_list, e_list):
    e /= e_sum
    c += reshape(batch_matmul(a, e), ...)
  _p, p = lstm(_p, ch(p) + hh(p) + yh(Var([[y]])))­­次の状態
  y = softmax(py(p)).data.argmax()­­­­­­­­­­­­­­­­­­次の出力
  print(itos(y))
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 21
Attention (4)
● Local attention ... 原言語の1か所に集中する縛りを導入
– Attentionの特性が鮮鋭になる
正規分布を掛け合わせて
中心から外れたところの重みを無視
(わりと雑…)
Chainerで実装する場合は
この式を追加するだけ
[Luong et al., 2015, Effective Approaches to Attention-based Neural Machine Translation]
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 22
LSTM (long/short-term memory) (1)
● LSTM ... 過去のRNNの全状態の線形和で次回の出力を生成
– 長距離のbackpropagationが「まともに」計算できるので、長周期の構造学習が可能
– Encoder-decoder系のネットワークでは使わないとお話にならない
電気回路っぽく書いた
LSTMセル
sigmoid
tanh
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 23
LSTM (long/short-term memory) (2)
● LSTM ... 過去のRNNの状態の線形和で次回の出力を生成
– 長距離のbackpropagationが「まともに」計算できるので、長周期の構造学習が可能
– Encoder-decoder系のネットワークでは使わないとお話にならない
電気回路っぽく書いた
LSTMセル
赤: 記憶が行われるパス
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 24
LSTM (long/short-term memory) (3)
● LSTM ... 過去のRNNの状態の線形和で次回の出力を生成
– 長距離のbackpropagationが「まともに」計算できるので、長周期の構造学習が可能
– Encoder-decoder系のネットワークでは使わないとお話にならない
電気回路っぽく書いた
LSTMセル
赤: 記憶が行われるパス
青: ゲート
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 25
LSTM (long/short-term memory) (4)
● LSTM ... 過去のRNNの状態の線形和で次回の出力を生成
– 長距離のbackpropagationが「まともに」計算できるので、長期の構造学習が可能
– Encoder-decoder系のネットワークでは使わないとお話にならない
電気回路っぽく書いた
LSTMセル
赤: 記憶が行われるパス
青: ゲート
緑: Peephole connection
(Chainerの標準実装には
今の所ないようなので注意)
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 26
GRU (Gated Recurrent Unit) (1)
● GRU: LSTMとは異なる種類の記憶素子
– 内部に明示的なメモリセルは持たない
– 新しい情報に更新するか、元の情報を残すかのみ判断
[Chung et al., 2014, Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling]
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 27
GRU (Gated Recurrent Unit) (2)
● GRU: LSTMとは異なる種類の記憶素子
– 内部に明示的なメモリセルは持たない
– 新しい情報に更新するか、元の情報を残すかのみ判断
– LSTMとどちらが良いのかは一概に言えない
– Chainerに入っているので簡単に切り替え可能(lstmをgruに変更)
Nottingham MuseData
[Chung et al., 2014, Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling]
16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 28
Stacked RNN
● RNNの出力を次のRNNに入力
– 単純にRNNのdeep化とも考えられる(が、どういう影響があるのかはよく分からない)
– 3〜8段くらいが使われているようである
– 段ごとにRNNの方向を折り返すなどのバリエーションあり
LSTMなど

More Related Content

What's hot

最先端NLP勉強会2017_ACL17
最先端NLP勉強会2017_ACL17最先端NLP勉強会2017_ACL17
最先端NLP勉強会2017_ACL17
Masayoshi Kondo
 
Encoder-decoder 翻訳 (TISハンズオン資料)
Encoder-decoder 翻訳 (TISハンズオン資料)Encoder-decoder 翻訳 (TISハンズオン資料)
Encoder-decoder 翻訳 (TISハンズオン資料)
Yusuke Oda
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
Preferred Networks
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
Seiya Tokui
 
PreadNet
PreadNetPreadNet
PreadNet
Junya Kuwada
 
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
Shinnosuke Takamichi
 
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
Deep Learning JP
 
AES-NI@Sandy Bridge
AES-NI@Sandy BridgeAES-NI@Sandy Bridge
AES-NI@Sandy Bridge
MITSUNARI Shigeo
 
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
Takanori Ogata
 
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAFPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Hiroki Nakahara
 
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning
Deep Learning JP
 
Deep Learning技術の今
Deep Learning技術の今Deep Learning技術の今
Deep Learning技術の今
Seiya Tokui
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
Shotaro Sano
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
Hiroki Nakahara
 
Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)
Hiroki Nakahara
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Hiroki Nakahara
 
[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...
[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...
[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...
Deep Learning JP
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
Deep Learning JP
 
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROS
Hiroki Nakahara
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド
Hiroki Nakahara
 

What's hot (20)

最先端NLP勉強会2017_ACL17
最先端NLP勉強会2017_ACL17最先端NLP勉強会2017_ACL17
最先端NLP勉強会2017_ACL17
 
Encoder-decoder 翻訳 (TISハンズオン資料)
Encoder-decoder 翻訳 (TISハンズオン資料)Encoder-decoder 翻訳 (TISハンズオン資料)
Encoder-decoder 翻訳 (TISハンズオン資料)
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
 
PreadNet
PreadNetPreadNet
PreadNet
 
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
 
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
 
AES-NI@Sandy Bridge
AES-NI@Sandy BridgeAES-NI@Sandy Bridge
AES-NI@Sandy Bridge
 
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
 
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGAFPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
 
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning
 
Deep Learning技術の今
Deep Learning技術の今Deep Learning技術の今
Deep Learning技術の今
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 
Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
 
[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...
[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...
[DL輪読会]"Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,0...
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
 
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROSROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROS
 
DSF2018講演スライド
DSF2018講演スライドDSF2018講演スライド
DSF2018講演スライド
 

Similar to RNN-based Translation Models (Japanese)

深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
 
論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...
論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...
論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...
mmisono
 
PCFG構文解析法
PCFG構文解析法PCFG構文解析法
PCFG構文解析法
Yusuke Oda
 
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介
Takeshi Take
 
不完全な文の構文解析に基づく同時音声翻訳
不完全な文の構文解析に基づく同時音声翻訳不完全な文の構文解析に基づく同時音声翻訳
不完全な文の構文解析に基づく同時音声翻訳
奈良先端大 情報科学研究科
 
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
Naonori Nagano
 
Convolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をするConvolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をする
Daiki Shimada
 
構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価
構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価
構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価
Akiva Miura
 
集積回路工学第2・第13回資料
集積回路工学第2・第13回資料集積回路工学第2・第13回資料
集積回路工学第2・第13回資料
Junichi Akita
 
OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
Masanori Itoh
 
2018/02/27 Recurrent Neural Networks starting with Neural Network Console
2018/02/27 Recurrent Neural Networks starting with Neural Network Console2018/02/27 Recurrent Neural Networks starting with Neural Network Console
2018/02/27 Recurrent Neural Networks starting with Neural Network Console
Sony Network Communications Inc.
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
Seiya Tokui
 
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
貴史 益子
 
第6回インターネットと運用技術シンポジウム WIPセッション
第6回インターネットと運用技術シンポジウム WIPセッション第6回インターネットと運用技術シンポジウム WIPセッション
第6回インターネットと運用技術シンポジウム WIPセッション
Hiroki Kashiwazaki
 
Scan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDTScan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDT
Kitsukawa Yuki
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れ
Kazuki Motohashi
 
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
tomohiro kato
 
Paper: seq2seq 20190320
Paper: seq2seq 20190320Paper: seq2seq 20190320
Paper: seq2seq 20190320
Yusuke Fujimoto
 
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
Yuya Unno
 
VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-Takeshi Yamamuro
 

Similar to RNN-based Translation Models (Japanese) (20)

深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
 
論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...
論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...
論文輪読: Data-Dependent Initializations of Convolutional Neural Networks / All Y...
 
PCFG構文解析法
PCFG構文解析法PCFG構文解析法
PCFG構文解析法
 
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介
 
不完全な文の構文解析に基づく同時音声翻訳
不完全な文の構文解析に基づく同時音声翻訳不完全な文の構文解析に基づく同時音声翻訳
不完全な文の構文解析に基づく同時音声翻訳
 
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
 
Convolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をするConvolutional Neural Netwoks で自然言語処理をする
Convolutional Neural Netwoks で自然言語処理をする
 
構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価
構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価
構文情報に基づく機械翻訳のための能動学習手法と人手翻訳による評価
 
集積回路工学第2・第13回資料
集積回路工学第2・第13回資料集積回路工学第2・第13回資料
集積回路工学第2・第13回資料
 
OpenStack Updates
OpenStack UpdatesOpenStack Updates
OpenStack Updates
 
2018/02/27 Recurrent Neural Networks starting with Neural Network Console
2018/02/27 Recurrent Neural Networks starting with Neural Network Console2018/02/27 Recurrent Neural Networks starting with Neural Network Console
2018/02/27 Recurrent Neural Networks starting with Neural Network Console
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)ICASSP2019音声&音響論文読み会 論文紹介(認識系)
ICASSP2019音声&音響論文読み会 論文紹介(認識系)
 
第6回インターネットと運用技術シンポジウム WIPセッション
第6回インターネットと運用技術シンポジウム WIPセッション第6回インターネットと運用技術シンポジウム WIPセッション
第6回インターネットと運用技術シンポジウム WIPセッション
 
Scan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDTScan Registration for Autonomous Mining Vehicles Using 3D-NDT
Scan Registration for Autonomous Mining Vehicles Using 3D-NDT
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れ
 
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
 
Paper: seq2seq 20190320
Paper: seq2seq 20190320Paper: seq2seq 20190320
Paper: seq2seq 20190320
 
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
 
VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-
 

More from NAIST Machine Translation Study Group

[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...
[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...
[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...
NAIST Machine Translation Study Group
 
[Paper Introduction] Distant supervision for relation extraction without labe...
[Paper Introduction] Distant supervision for relation extraction without labe...[Paper Introduction] Distant supervision for relation extraction without labe...
[Paper Introduction] Distant supervision for relation extraction without labe...
NAIST Machine Translation Study Group
 
On using monolingual corpora in neural machine translation
On using monolingual corpora in neural machine translationOn using monolingual corpora in neural machine translation
On using monolingual corpora in neural machine translation
NAIST Machine Translation Study Group
 
[Paper Introduction] Efficient top down btg parsing for machine translation p...
[Paper Introduction] Efficient top down btg parsing for machine translation p...[Paper Introduction] Efficient top down btg parsing for machine translation p...
[Paper Introduction] Efficient top down btg parsing for machine translation p...
NAIST Machine Translation Study Group
 
[Paper Introduction] Translating into Morphologically Rich Languages with Syn...
[Paper Introduction] Translating into Morphologically Rich Languages with Syn...[Paper Introduction] Translating into Morphologically Rich Languages with Syn...
[Paper Introduction] Translating into Morphologically Rich Languages with Syn...
NAIST Machine Translation Study Group
 
[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...
[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...
[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...
NAIST Machine Translation Study Group
 
[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...
[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...
[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...
NAIST Machine Translation Study Group
 
[Paper Introduction] Bilingual word representations with monolingual quality ...
[Paper Introduction] Bilingual word representations with monolingual quality ...[Paper Introduction] Bilingual word representations with monolingual quality ...
[Paper Introduction] Bilingual word representations with monolingual quality ...
NAIST Machine Translation Study Group
 
[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...
[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...
[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...
NAIST Machine Translation Study Group
 
[Book Reading] 機械翻訳 - Section 3 No.1
[Book Reading] 機械翻訳 - Section 3 No.1[Book Reading] 機械翻訳 - Section 3 No.1
[Book Reading] 機械翻訳 - Section 3 No.1
NAIST Machine Translation Study Group
 
[Paper Introduction] Training a Natural Language Generator From Unaligned Data
[Paper Introduction] Training a Natural Language Generator From Unaligned Data[Paper Introduction] Training a Natural Language Generator From Unaligned Data
[Paper Introduction] Training a Natural Language Generator From Unaligned Data
NAIST Machine Translation Study Group
 
[Book Reading] 機械翻訳 - Section 5 No.2
[Book Reading] 機械翻訳 - Section 5 No.2[Book Reading] 機械翻訳 - Section 5 No.2
[Book Reading] 機械翻訳 - Section 5 No.2
NAIST Machine Translation Study Group
 
[Book Reading] 機械翻訳 - Section 7 No.1
[Book Reading] 機械翻訳 - Section 7 No.1[Book Reading] 機械翻訳 - Section 7 No.1
[Book Reading] 機械翻訳 - Section 7 No.1
NAIST Machine Translation Study Group
 
[Book Reading] 機械翻訳 - Section 2 No.2
 [Book Reading] 機械翻訳 - Section 2 No.2 [Book Reading] 機械翻訳 - Section 2 No.2
[Book Reading] 機械翻訳 - Section 2 No.2
NAIST Machine Translation Study Group
 

More from NAIST Machine Translation Study Group (14)

[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...
[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...
[Paper Introduction] Efficient Lattice Rescoring Using Recurrent Neural Netwo...
 
[Paper Introduction] Distant supervision for relation extraction without labe...
[Paper Introduction] Distant supervision for relation extraction without labe...[Paper Introduction] Distant supervision for relation extraction without labe...
[Paper Introduction] Distant supervision for relation extraction without labe...
 
On using monolingual corpora in neural machine translation
On using monolingual corpora in neural machine translationOn using monolingual corpora in neural machine translation
On using monolingual corpora in neural machine translation
 
[Paper Introduction] Efficient top down btg parsing for machine translation p...
[Paper Introduction] Efficient top down btg parsing for machine translation p...[Paper Introduction] Efficient top down btg parsing for machine translation p...
[Paper Introduction] Efficient top down btg parsing for machine translation p...
 
[Paper Introduction] Translating into Morphologically Rich Languages with Syn...
[Paper Introduction] Translating into Morphologically Rich Languages with Syn...[Paper Introduction] Translating into Morphologically Rich Languages with Syn...
[Paper Introduction] Translating into Morphologically Rich Languages with Syn...
 
[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...
[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...
[Paper Introduction] Supervised Phrase Table Triangulation with Neural Word E...
 
[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...
[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...
[Paper Introduction] Evaluating MT Systems with Second Language Proficiency T...
 
[Paper Introduction] Bilingual word representations with monolingual quality ...
[Paper Introduction] Bilingual word representations with monolingual quality ...[Paper Introduction] Bilingual word representations with monolingual quality ...
[Paper Introduction] Bilingual word representations with monolingual quality ...
 
[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...
[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...
[Paper Introduction] A Context-Aware Topic Model for Statistical Machine Tran...
 
[Book Reading] 機械翻訳 - Section 3 No.1
[Book Reading] 機械翻訳 - Section 3 No.1[Book Reading] 機械翻訳 - Section 3 No.1
[Book Reading] 機械翻訳 - Section 3 No.1
 
[Paper Introduction] Training a Natural Language Generator From Unaligned Data
[Paper Introduction] Training a Natural Language Generator From Unaligned Data[Paper Introduction] Training a Natural Language Generator From Unaligned Data
[Paper Introduction] Training a Natural Language Generator From Unaligned Data
 
[Book Reading] 機械翻訳 - Section 5 No.2
[Book Reading] 機械翻訳 - Section 5 No.2[Book Reading] 機械翻訳 - Section 5 No.2
[Book Reading] 機械翻訳 - Section 5 No.2
 
[Book Reading] 機械翻訳 - Section 7 No.1
[Book Reading] 機械翻訳 - Section 7 No.1[Book Reading] 機械翻訳 - Section 7 No.1
[Book Reading] 機械翻訳 - Section 7 No.1
 
[Book Reading] 機械翻訳 - Section 2 No.2
 [Book Reading] 機械翻訳 - Section 2 No.2 [Book Reading] 機械翻訳 - Section 2 No.2
[Book Reading] 機械翻訳 - Section 2 No.2
 

RNN-based Translation Models (Japanese)

  • 1. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 1 RNN-based Translation Models Yusuke Oda @odashi_t 2016/5/12 NAIST MT-Study Group
  • 2. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 2 Neural Network
  • 3. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 3 Neural Network (1) ● Neural Network 任意の(劣)微分可能な関数の連結 入力層 隠れ層 隠れ層 出力層
  • 4. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 4 Neural Network (2) ● つなぎ方はほぼ自由
  • 5. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 5 Neural Network の学習 ● →出力に「損失」=「値の悪さ」を定義   損失が小さくなるよう関数を調整 – 勾配法で更新: – 関数の勾配をどう求める? ● ネットワークが複雑だと直接計算するのが困難
  • 6. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 6 Backpropagation (誤差逆伝播) (1) 1. 変数の勾配を「直後の変数の勾配」を用いて求める (直接計算)
  • 7. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 7 Backpropagation (誤差逆伝播) (2) 1. 変数の勾配を「直後の変数の勾配」を用いて求める 2. 関数の勾配も同様
  • 8. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 8 NNで頻繁に使う関数・導関数 線形写像 sigmoid tanh lamp (ReLU)
  • 9. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 9 NN-based Translation Models
  • 10. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 10 Sequence-to-sequence 翻訳(一般人向け) ● 部分的な変換ルールは学習せず、文全体の情報を用いて翻訳 直訳手法 原言語 目的 言語 理解 原言語を解析 分解 細かいルールに分割 再構築 ルールを結合 原言語 目的 言語 理解 原言語の 意味を抽出 再構築 意味表現から 直接単語を生成 Sequence-to-sequence 意味表現
  • 11. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 11 ニューラルネット翻訳(一般人向け) ● Sequence-to-sequence 翻訳の一種 ● 意味の解析・単語の生成にニューラルネットを使用 – 複雑さ: 従来の翻訳アルゴリズムよりも単純 – 翻訳精度: 設定次第で従来手法に匹敵 原言語 目的 言語 ニューラル ネット (単語生成) ニューラル ネット (意味解析) 意 味 表 現 ● Encoder-decoder 翻訳モデル – 最も簡単な sequence-to-sequence 翻訳モデル – リカレントニューラルネットを使用
  • 12. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 12 リカレントニューラルネット (1) ● リカレントニューラルネット (Recurrent Neural Network: RNN) – フィードバック付きのニューラルネット – 時系列データの解析によく用いられる
  • 13. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 13 リカレントニューラルネット (2) ● 時間方向に伸展したRNN – 中間層には入力の種類と順序に関する情報が蓄積される(はず) データ1 データ2 データ3 データ1 データ1  →データ2 データ1  →データ2   →データ3
  • 14. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 14 Encoder-decoder 翻訳モデル (1) ● 原言語側と目的言語側の2本のRNNを結合 – 原言語側 … 入力単語の情報を蓄積 – 目的言語側 … 蓄積された情報を取り出しながら単語を生成 END runs he 走る は 彼 Encoder Decoder
  • 15. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 15 Chainer で Encoder-decoder 翻訳 ● Chainer - http://chainer.org/ – ニューラルネットのフレームワーク – ソースコードの計算式がそのままニューラルネットの構造になる ● 複雑な形状のニューラルネットを記述するのに最適 は (一例、他の定式化も可能)
  • 16. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 16 Chainer で Encoder-decoder 翻訳 ● Chainer - http://chainer.org/ – ニューラルネットのフレームワーク – ソースコードの計算式がそのままニューラルネットの構造になる ● 複雑な形状のニューラルネットを記述するのに最適 import numpy as np import chainer.functions as F import chainer.links as L from chainer import Variable xi = L.EmbedID(VOCAB, EMBED) ip = L.Linear(VOCAB, HIDDEN) pp = L.Linear(HIDDEN, HIDDEN) ... x = Variable(np.array([[w]], dtype=np.float32)) i = F.tanh(xi(x)) p = F.tanh(ip(i) + pp(p)) は
  • 17. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 17 Encoder-decoder 翻訳の実装 # encoding _p, p = init()­­­­­­­­­­­­­­­­­­­­­­­­­­何か初期化 for word in reversed(sentence):   x = Var([[stoi(word)]])­­­­­­­­­­­­­­­単語ID化   _p, p = lstm(_p, xp(x) + pp(p))­­­­­­­LSTMに入力 ­­­­­­この時点でpに入力系列の情報が入っている(はず)­­­­­­ # decoding y = stoi('SOL') while y != stoi('EOL'):   _p, p = lstm(_p, yp(y) + pp(p))­­­­­­­デコーダの状態遷移   y = softmax(py(p)).data.argmax()­­­­­­次の単語   print(itos(y))              ● Enc-dec のナイーブな実装 (赤字: Chainer/NumPy関数、緑: 重み行列)
  • 18. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 18 Decoder Attention (1) ● Attention ... 入力の情報から必要な情報をその都度生成 – 入力長に(あまり)依存しない解析が可能 – 使いやすいらしく、割と色々応用されている ● 翻訳、キャプション生成、画像生成(ビットマップ、ベクタ)、構文解析、etc – 詳しくは http://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention SRC TRGEncoder DecoderEnc-dec Attention A quick brown fox jumps ... Enc 速い 茶色の
  • 19. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 19 Attention (2) ● Global attention ... 現在のデコーダ状態から各単語の重みを計算、線形和 [Luong et al., 2015, Effective Approaches to Attention-based Neural Machine Translation]
  • 20. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 20 Attention (3) ● Global attentionのナイーブな実装 (赤字: Chainer/NumPy関数、緑: 重み行列) a_list:入力単語のベクトル表現(encoderの出力), p:デコーダの状態 _p, p = init() y = stoi('SOL') while y != stoi('EOL'):   e_list = []­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­重みのリスト   e_sum = zeros(...)­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­分母   for a in a_list:     w = tanh(aw(a) + pw(p))­­­­­­­­­­­­­­­­­­­­­­­­­何か変換して     e = exp(we(w))­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­重み計算     e_list.append(e)     e_sum += e   c = zeros(...)­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­線形和   for a, e in zip(a_list, e_list):     e /= e_sum     c += reshape(batch_matmul(a, e), ...)   _p, p = lstm(_p, ch(p) + hh(p) + yh(Var([[y]])))­­次の状態   y = softmax(py(p)).data.argmax()­­­­­­­­­­­­­­­­­­次の出力   print(itos(y))
  • 21. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 21 Attention (4) ● Local attention ... 原言語の1か所に集中する縛りを導入 – Attentionの特性が鮮鋭になる 正規分布を掛け合わせて 中心から外れたところの重みを無視 (わりと雑…) Chainerで実装する場合は この式を追加するだけ [Luong et al., 2015, Effective Approaches to Attention-based Neural Machine Translation]
  • 22. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 22 LSTM (long/short-term memory) (1) ● LSTM ... 過去のRNNの全状態の線形和で次回の出力を生成 – 長距離のbackpropagationが「まともに」計算できるので、長周期の構造学習が可能 – Encoder-decoder系のネットワークでは使わないとお話にならない 電気回路っぽく書いた LSTMセル sigmoid tanh
  • 23. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 23 LSTM (long/short-term memory) (2) ● LSTM ... 過去のRNNの状態の線形和で次回の出力を生成 – 長距離のbackpropagationが「まともに」計算できるので、長周期の構造学習が可能 – Encoder-decoder系のネットワークでは使わないとお話にならない 電気回路っぽく書いた LSTMセル 赤: 記憶が行われるパス
  • 24. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 24 LSTM (long/short-term memory) (3) ● LSTM ... 過去のRNNの状態の線形和で次回の出力を生成 – 長距離のbackpropagationが「まともに」計算できるので、長周期の構造学習が可能 – Encoder-decoder系のネットワークでは使わないとお話にならない 電気回路っぽく書いた LSTMセル 赤: 記憶が行われるパス 青: ゲート
  • 25. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 25 LSTM (long/short-term memory) (4) ● LSTM ... 過去のRNNの状態の線形和で次回の出力を生成 – 長距離のbackpropagationが「まともに」計算できるので、長期の構造学習が可能 – Encoder-decoder系のネットワークでは使わないとお話にならない 電気回路っぽく書いた LSTMセル 赤: 記憶が行われるパス 青: ゲート 緑: Peephole connection (Chainerの標準実装には 今の所ないようなので注意)
  • 26. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 26 GRU (Gated Recurrent Unit) (1) ● GRU: LSTMとは異なる種類の記憶素子 – 内部に明示的なメモリセルは持たない – 新しい情報に更新するか、元の情報を残すかのみ判断 [Chung et al., 2014, Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling]
  • 27. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 27 GRU (Gated Recurrent Unit) (2) ● GRU: LSTMとは異なる種類の記憶素子 – 内部に明示的なメモリセルは持たない – 新しい情報に更新するか、元の情報を残すかのみ判断 – LSTMとどちらが良いのかは一概に言えない – Chainerに入っているので簡単に切り替え可能(lstmをgruに変更) Nottingham MuseData [Chung et al., 2014, Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling]
  • 28. 16/05/12 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 28 Stacked RNN ● RNNの出力を次のRNNに入力 – 単純にRNNのdeep化とも考えられる(が、どういう影響があるのかはよく分からない) – 3〜8段くらいが使われているようである – 段ごとにRNNの方向を折り返すなどのバリエーションあり LSTMなど