SlideShare a Scribd company logo
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 1
Encoder-decoder 翻訳
Yusuke Oda
(NAIST)
@odashi_t
2015/12/10 TIS Hands-On
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 2
機械翻訳
● 機械翻訳 (Mahcine Translation: MT)
– ある言語の文を、計算機で別の言語の文に変換
– 使用する情報やアルゴリズムによって色々な手法が存在
● ルールベース翻訳 … 人間が書いた変換ルールを使用
● 用例翻訳 … 登録された文の単語を置き換えて翻訳
● 統計的機械翻訳
彼 は 望遠鏡 で 女の子 を 見た
He saw a girl with a telescope
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 3
統計的機械翻訳
● 統計的機械翻訳 (Statistical Machine Translation: SMT)
– 大量の対訳文から翻訳に必要な情報を自動的に学習
原言語文原言語文原言語文目的言語文
原言語文原言語文原言語文原言語文
翻訳
アルゴリズム
学習
– フレーズ翻訳 … 原言語の単語列を使用
– 構文翻訳 … 原言語の構文木を使用
– Seq-to-seq 翻訳 … 原言語の意味表現を使用
直訳
意訳
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 4
フレーズ翻訳
● 単語列をグループ化、変換、並べ替え
– 現在主流の手法
彼 は 望遠鏡 で 女の子 を 見た
He sawa girlwitha telescope
He saw a girl with a telescope
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 6
Sequence-to-sequence 翻訳
● 部分的な変換ルールは学習せず、文全体の情報を用いて翻訳
直訳手法
原言語
目的
言語
理解
原言語を解析
分解
細かいルールに分割
再構築
ルールを結合
原言語
目的
言語
理解
原言語の
意味を抽出
再構築
意味表現から
直接単語を生成
Sequence-to-sequence
意味表現
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 7
ニューラルネット翻訳
● Sequence-to-sequence 翻訳の一種
● 意味の解析・単語の生成にニューラルネットを使用
– 複雑さ: 従来の翻訳アルゴリズムよりも圧倒的に単純
– 翻訳精度: 設定次第で従来手法に匹敵・凌駕
原言語
目的
言語
ニューラル
ネット
(単語生成)
ニューラル
ネット
(意味解析)
意
味
表
現
● Encoder-decoder 翻訳モデル
– 最も簡単な sequence-to-sequence 翻訳モデル
– リカレントニューラルネットを使用
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 8
リカレントニューラルネット (1)
● リカレントニューラルネット (Recurrent Neural Network: RNN)
– フィードバック付きのニューラルネット
– 時系列データの解析によく用いられる
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 9
リカレントニューラルネット (2)
● 時間方向に伸展したRNN
– 中間層には入力の種類と順序に関する情報が蓄積される
データ1 データ2 データ3
データ1
データ1
 →データ2
データ1
 →データ2
  →データ3
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 10
Encoder-decoder 翻訳モデル (1)
● 原言語側と目的言語側の2本のRNNを結合
– 原言語側 … 入力単語の情報を蓄積
– 目的言語側 … 蓄積された情報を取り出しながら単語を生成
END runs he
走る は 彼
Encoder
Decoder
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 11
Encoder-decoder 翻訳モデル (2)
END runs he
走る は 彼
● 埋め込み層 (embedding layer)
– 特定の単語の意味をベクトルで表現
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 12
Encoder-decoder 翻訳モデル (3)
END runs he
走る は 彼
● 隠れ層 (hidden layer)
– 単語の意味の蓄積・放出
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 13
Encoder-decoder 翻訳モデル (4)
END runs he
走る は 彼
● 出力層 (softmax)
– 次に生成する単語の確率を推定
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 14
HANDS ON
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 15
Chainer で Encoder-decoder 翻訳
● Chainer - http://chainer.org/
– ニューラルネットのフレームワーク
– ソースコードの計算式がそのままニューラルネットの構造になる
● 複雑な形状のニューラルネットを記述するのに最適
は
(一例、他の定式化も可能)
15/12/10 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
from chainer import Variable
W_xi = F.EmbedID(VOCAB, EMBED)
W_ip = F.Linear(VOCAB, HIDDEN)
W_pp = F.Linear(HIDDEN, HIDDEN)
...
x = Variable(np.array([[w]], dtype=np.float32))
i = F.tanh(W_xi(x))
p = F.tanh(W_ip(i) + W_pp(p))
は
15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 17
See Also
● ChainerとRNNと機械翻訳 - Qiita
– http://qiita.com/odashi_t/items/a1be7c4964fbea6a116e
● スタンドアロンで動くニューラル翻訳
– https://github.com/odashi/chainer_examples
– 現在Chainer1.4以前で対応
● サンプルデータ
– https://drive.google.com/open?id=0B3O7bgd3mym6VG9OVHRmRlBLbkk

More Related Content

PDF
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
PDF
最適輸送の計算アルゴリズムの研究動向
PDF
Active Learning 入門
PPTX
[DL輪読会]Attentive neural processes
PDF
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
PPTX
ようやく分かった!最尤推定とベイズ推定
PPTX
深層学習の数理
PDF
『バックドア基準の入門』@統数研研究集会
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
最適輸送の計算アルゴリズムの研究動向
Active Learning 入門
[DL輪読会]Attentive neural processes
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
ようやく分かった!最尤推定とベイズ推定
深層学習の数理
『バックドア基準の入門』@統数研研究集会

What's hot (20)

PDF
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
PDF
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
PPTX
Curriculum Learning (関東CV勉強会)
PDF
階層ベイズとWAIC
PDF
“機械学習の説明”の信頼性
PPTX
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
PDF
Deeplearning輪読会
PDF
Transformer メタサーベイ
PPTX
近年のHierarchical Vision Transformer
PPTX
強化学習 DQNからPPOまで
PDF
Stan超初心者入門
PPTX
ベイズ統計学の概論的紹介
PDF
【DL輪読会】Mastering Diverse Domains through World Models
PPTX
【DL輪読会】Transformers are Sample Efficient World Models
PDF
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
PPTX
Transformerを雰囲気で理解する
PPTX
Reinforcement Learning(方策改善定理)
PPTX
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
Curriculum Learning (関東CV勉強会)
階層ベイズとWAIC
“機械学習の説明”の信頼性
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【論文紹介】How Powerful are Graph Neural Networks?
Deeplearning輪読会
Transformer メタサーベイ
近年のHierarchical Vision Transformer
強化学習 DQNからPPOまで
Stan超初心者入門
ベイズ統計学の概論的紹介
【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Transformers are Sample Efficient World Models
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
Transformerを雰囲気で理解する
Reinforcement Learning(方策改善定理)
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
Ad

Similar to Encoder-decoder 翻訳 (TISハンズオン資料) (20)

PDF
RNN-based Translation Models (Japanese)
PDF
子どもの言語獲得のモデル化とNN Language ModelsNN
PDF
ChainerによるRNN翻訳モデルの実装+@
PPTX
深層学習による自然言語処理の研究動向
PPTX
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
PDF
Graph-to-Sequence Learning using Gated Graph Neural Networks. [ACL'18] 論文紹介
PDF
ニューラルネットワークを用いた自然言語処理
PDF
A Chainer MeetUp Talk
PPTX
Deep Learning Chap. 12: Applications
PDF
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)
PDF
Learning Phrase Representations using RNN Encoder-Decoder for Statistical Mac...
PPTX
ニューラル機械翻訳の動向@IBIS2017
PDF
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)
PDF
Convolutional Neural Netwoks で自然言語処理をする
PDF
不完全な文の構文解析に基づく同時音声翻訳
PDF
ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistica...
PDF
[DL輪読会]Convolutional Sequence to Sequence Learning
PPTX
視覚と対話の融合研究
PPTX
Deep Learning による視覚×言語融合の最前線
PDF
大規模データに基づく自然言語処理
RNN-based Translation Models (Japanese)
子どもの言語獲得のモデル化とNN Language ModelsNN
ChainerによるRNN翻訳モデルの実装+@
深層学習による自然言語処理の研究動向
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」
Graph-to-Sequence Learning using Gated Graph Neural Networks. [ACL'18] 論文紹介
ニューラルネットワークを用いた自然言語処理
A Chainer MeetUp Talk
Deep Learning Chap. 12: Applications
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)
Learning Phrase Representations using RNN Encoder-Decoder for Statistical Mac...
ニューラル機械翻訳の動向@IBIS2017
自然言語処理分野の最前線(ステアラボ人工知能シンポジウム2017)
Convolutional Neural Netwoks で自然言語処理をする
不完全な文の構文解析に基づく同時音声翻訳
ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistica...
[DL輪読会]Convolutional Sequence to Sequence Learning
視覚と対話の融合研究
Deep Learning による視覚×言語融合の最前線
大規模データに基づく自然言語処理
Ad

More from Yusuke Oda (10)

PPTX
primitiv: Neural Network Toolkit
PDF
Neural Machine Translation via Binary Code Prediction
PDF
複数の事前並べ替え候補を用いた句に基づく統計的機械翻訳
PDF
Learning to Generate Pseudo-code from Source Code using Statistical Machine T...
PDF
PCFG構文解析法
ODP
Syntax-based Simultaneous Translation through Prediction of Unseen Syntactic ...
PDF
Tree-based Translation Models (『機械翻訳』§6.2-6.3)
PPTX
翻訳精度の最大化による同時音声翻訳のための文分割法 (NLP2014)
PDF
Pattern Recognition and Machine Learning: Section 3.3
PDF
primitiv: Neural Network Toolkit
Neural Machine Translation via Binary Code Prediction
複数の事前並べ替え候補を用いた句に基づく統計的機械翻訳
Learning to Generate Pseudo-code from Source Code using Statistical Machine T...
PCFG構文解析法
Syntax-based Simultaneous Translation through Prediction of Unseen Syntactic ...
Tree-based Translation Models (『機械翻訳』§6.2-6.3)
翻訳精度の最大化による同時音声翻訳のための文分割法 (NLP2014)
Pattern Recognition and Machine Learning: Section 3.3

Encoder-decoder 翻訳 (TISハンズオン資料)

  • 1. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 1 Encoder-decoder 翻訳 Yusuke Oda (NAIST) @odashi_t 2015/12/10 TIS Hands-On
  • 2. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 2 機械翻訳 ● 機械翻訳 (Mahcine Translation: MT) – ある言語の文を、計算機で別の言語の文に変換 – 使用する情報やアルゴリズムによって色々な手法が存在 ● ルールベース翻訳 … 人間が書いた変換ルールを使用 ● 用例翻訳 … 登録された文の単語を置き換えて翻訳 ● 統計的機械翻訳 彼 は 望遠鏡 で 女の子 を 見た He saw a girl with a telescope
  • 3. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 3 統計的機械翻訳 ● 統計的機械翻訳 (Statistical Machine Translation: SMT) – 大量の対訳文から翻訳に必要な情報を自動的に学習 原言語文原言語文原言語文目的言語文 原言語文原言語文原言語文原言語文 翻訳 アルゴリズム 学習 – フレーズ翻訳 … 原言語の単語列を使用 – 構文翻訳 … 原言語の構文木を使用 – Seq-to-seq 翻訳 … 原言語の意味表現を使用 直訳 意訳
  • 4. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 4 フレーズ翻訳 ● 単語列をグループ化、変換、並べ替え – 現在主流の手法 彼 は 望遠鏡 で 女の子 を 見た He sawa girlwitha telescope He saw a girl with a telescope
  • 5. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 6 Sequence-to-sequence 翻訳 ● 部分的な変換ルールは学習せず、文全体の情報を用いて翻訳 直訳手法 原言語 目的 言語 理解 原言語を解析 分解 細かいルールに分割 再構築 ルールを結合 原言語 目的 言語 理解 原言語の 意味を抽出 再構築 意味表現から 直接単語を生成 Sequence-to-sequence 意味表現
  • 6. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 7 ニューラルネット翻訳 ● Sequence-to-sequence 翻訳の一種 ● 意味の解析・単語の生成にニューラルネットを使用 – 複雑さ: 従来の翻訳アルゴリズムよりも圧倒的に単純 – 翻訳精度: 設定次第で従来手法に匹敵・凌駕 原言語 目的 言語 ニューラル ネット (単語生成) ニューラル ネット (意味解析) 意 味 表 現 ● Encoder-decoder 翻訳モデル – 最も簡単な sequence-to-sequence 翻訳モデル – リカレントニューラルネットを使用
  • 7. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 8 リカレントニューラルネット (1) ● リカレントニューラルネット (Recurrent Neural Network: RNN) – フィードバック付きのニューラルネット – 時系列データの解析によく用いられる
  • 8. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 9 リカレントニューラルネット (2) ● 時間方向に伸展したRNN – 中間層には入力の種類と順序に関する情報が蓄積される データ1 データ2 データ3 データ1 データ1  →データ2 データ1  →データ2   →データ3
  • 9. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 10 Encoder-decoder 翻訳モデル (1) ● 原言語側と目的言語側の2本のRNNを結合 – 原言語側 … 入力単語の情報を蓄積 – 目的言語側 … 蓄積された情報を取り出しながら単語を生成 END runs he 走る は 彼 Encoder Decoder
  • 10. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 11 Encoder-decoder 翻訳モデル (2) END runs he 走る は 彼 ● 埋め込み層 (embedding layer) – 特定の単語の意味をベクトルで表現
  • 11. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 12 Encoder-decoder 翻訳モデル (3) END runs he 走る は 彼 ● 隠れ層 (hidden layer) – 単語の意味の蓄積・放出
  • 12. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 13 Encoder-decoder 翻訳モデル (4) END runs he 走る は 彼 ● 出力層 (softmax) – 次に生成する単語の確率を推定
  • 13. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 14 HANDS ON
  • 14. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 15 Chainer で Encoder-decoder 翻訳 ● Chainer - http://chainer.org/ – ニューラルネットのフレームワーク – ソースコードの計算式がそのままニューラルネットの構造になる ● 複雑な形状のニューラルネットを記述するのに最適 は (一例、他の定式化も可能)
  • 15. 15/12/10 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 from chainer import Variable W_xi = F.EmbedID(VOCAB, EMBED) W_ip = F.Linear(VOCAB, HIDDEN) W_pp = F.Linear(HIDDEN, HIDDEN) ... x = Variable(np.array([[w]], dtype=np.float32)) i = F.tanh(W_xi(x)) p = F.tanh(W_ip(i) + W_pp(p)) は
  • 16. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 17 See Also ● ChainerとRNNと機械翻訳 - Qiita – http://qiita.com/odashi_t/items/a1be7c4964fbea6a116e ● スタンドアロンで動くニューラル翻訳 – https://github.com/odashi/chainer_examples – 現在Chainer1.4以前で対応 ● サンプルデータ – https://drive.google.com/open?id=0B3O7bgd3mym6VG9OVHRmRlBLbkk