Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
「深層学習による自然言語処理」読書会 第5章5.1
Kei Shiratsuchi
September 08, 2017
Technology
0
260
「深層学習による自然言語処理」読書会 第5章5.1
「深層学習による自然言語処理」読書会
第5章5.1
Kei Shiratsuchi
September 08, 2017
Tweet
Share
More Decks by Kei Shiratsuchi
See All by Kei Shiratsuchi
「Go言語でつくるインタプリタ」を Rust で移植してみた / "Write An Interpreter In Go" In Rust
kei_s
1
1.2k
Rust言語で作るインタプリタ / Write An Interpreter In Rust
kei_s
2
280
育児休業のご報告と、育児グッズとしてのスマートスピーカー / Parental Leave and SmartSpeaker
kei_s
0
790
「深層学習による自然言語処理」読書会 第6章2.7
kei_s
0
340
最近個人的に気になるプログラミング言語おさらい Ruby, Python, Go, Rust, Julia
kei_s
0
780
「深層学習による自然言語処理」読書会 第2章2.1~2.5
kei_s
0
340
「深層学習による自然言語処理」読書会 第4章4.3
kei_s
1
380
Chainer の Trainer 解説と NStepLSTM について
kei_s
0
750
カンバン入門
kei_s
5
2.3k
Other Decks in Technology
See All in Technology
組織の崩壊と再生、その中で何を考え、感じたのか。 そして本当に必要だったもの
kosako
10
4.2k
Retca Cloud
bau
0
520
音のような言葉 〜ちゃちゃっとチャットで楽しむちょっとしたコツ〜 / words like sounds
satoryu
1
1.4k
History of the ML system in KARTE
kargo113
1
650
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
140
開発組織の生産性を可視化する State of DevOpsとFour Keysとは / deep dive into State of DevOps
yfcgpsebp
0
250
20220622_FinJAWS_あのときにAWSがあったらこうできた
taketakekaho
0
110
【Pythonデータ分析勉強会#33】「DearPyGuiに入門しました」の続き~Image-Processing-Node-Editor~
kazuhitotakahashi
0
150
Lessons Learned from Scaling Infrastructure as Code
joatmon08
0
800
機械学習システムアーキテクチャ入門 #1
asei
3
1.2k
#JP_Stripes Sapporo Stripeの活用例を色々ご紹介します!
miu_crescent
0
110
IoTLT88-NTKanazawa-laundry-dry
yukima0707
0
230
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.3k
Building Your Own Lightsaber
phodgson
94
4.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
105
16k
It's Worth the Effort
3n
172
25k
Mobile First: as difficult as doing things right
swwweet
213
7.5k
Three Pipe Problems
jasonvnalue
89
8.7k
Git: the NoSQL Database
bkeepers
PRO
415
59k
Building an army of robots
kneath
299
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
4
510
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
269
11k
Designing the Hi-DPI Web
ddemaree
272
32k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
315
19k
Transcript
ʮਂֶशʹΑΔࣗવݴޠॲ ཧʯಡॻձ ୈষ ⽩⼟ 慧 株式会社レトリバ © 2017 Retrieva, Inc.
ࣗݾհ • 名前:⽩⼟ 慧 • 年齢:33歳 • 所属:株式会社レトリバ(2016年4⽉〜) • 職業:エンジニア
• ⾃然⾔語処理:⼤学の授業レベル。 • 深層学習:⼊社してから少しだけ案件で。 © 2017 Retrieva, Inc. 2
<એ> • WEB+DB PRESS Vol.100 に、弊社 のメンバーが特集記事を書きまし た。 • 特集1
作って学ぶ⼈⼯知能 • 第1章 ⼈⼯知能とはどんな技術なの か? • 第2章 ⾃然⾔語処理 • 第3章 機械学習 • 第4章 深層学習とニューラルネット ワーク • 明⽇ 8/24 発売! © 2017 Retrieva, Inc. 3
ൣғ • 5.1. 機械翻訳 • 5.1.1 「統計」翻訳と「ニューラル」翻訳 • 5.1.2 典型的なモデル構成
• 5.1.3 ⼊出⼒の処理単位/未知語に対する改良 • 5.1.4 被覆に対する改良 • 5.1.5 今後の発展 • 付録: GitHub に公開された Chainer による NMT の実装 © 2017 Retrieva, Inc. 4
ʮ౷ܭʯ༁ͱʮχϡʔϥϧʯ༁ • ニューラル翻訳(NMT) • 系列変換モデルのように、1つのニューラルネットで翻訳モデルを構成 するような機械翻訳⽅式 • 統計翻訳(SMT)との対⽐として使われる⽤語。最近では系列変換モデ ルを使った機械翻訳の総称として使われるようになった •
WMT15,16でニューラル翻訳システムが統計翻訳システムを⼤ きく上回った • この章では、2017年1⽉時点でのベースライン技術に絞って解 説 © 2017 Retrieva, Inc. 5
యܕతͳϞσϧߏ • 注意機構付き系列変換モデルが、ニューラル翻訳を含めた機械翻訳 のベースラインと考えられるようになってきた • GroungHog(RNNSearch) • 現在メンテナンスは終了 • GroungHog
は⼆種類あるが、RNNSearch は注意機構付き • OpenNMT • 現時点で速度、メモリ使⽤量、最終的な翻訳精度で優れていると⾔われる • 本節ではOpenNMTで採⽤されているモデルを解説する © 2017 Retrieva, Inc. 6
యܕతͳϞσϧߏ • 符号化部分 • 2層双⽅向LSTM • 復号化部分 • 2層LSTM •
注意機構 © 2017 Retrieva, Inc. 7
యܕతͳϞσϧߏʢූ߸Խ෦ʣ © 2017 Retrieva, Inc. 8
యܕతͳϞσϧߏʢ෮߸Խ෦ɺֶश࣌ʣ © 2017 Retrieva, Inc. 9
యܕతͳϞσϧߏʢ෮߸Խ෦ɺධՁ࣌ʣ • 正解がわからないので、前 の時刻 j-1 の予測を利⽤し て j の予測を⾏う •
EOSが出⼒されるまで繰り 返す • ビーム探索を⽤いて処理を ⾏うことが多い © 2017 Retrieva, Inc. 10
ೖग़ྗͷॲཧ୯Ґະޠʹର͢Δվྑ • 扱う語彙数を多くすると計算量が⼤きくなりすぎ、精度も低下 する • ニューラル翻訳では統計翻訳より語彙数が少ないのが現状 • 未知語をどう扱うかも課題 • 統計翻訳を踏襲して、未知語を後処理で何かの語に置き換える⼿法も
ある © 2017 Retrieva, Inc. 11
ೖग़ྗͷॲཧ୯Ґະޠʹର͢Δվྑ • 「単語」ではなく「⽂字」を単位にする⽅法 • ⽂字数は多くても数1000⽂字で収まるので、簡単になる • ⼀⽅、系列⻑は圧倒的に⻑くなるので、予測誤りが多くなる • トレードオフの⾒極めはまだ •
バイト対符号化 • 前処理として、⼀定の語彙数になるまで、出現頻度が⼤きい⽂字ペア を1つの⽂字としてまとめていく © 2017 Retrieva, Inc. 12
ඃ෴ʹؔ͢Δվྑ • ニューラル翻訳の既知の弱点 • 繰り返し⽣成する、過剰⽣成問題(Over-generation) • 必要な語やフレーズを無視する、不⾜⽣成問題(Under-generation) • 被覆(Coverage)概念を導⼊する •
統計翻訳時代には普通に使われていた • 注意機構で計算される注意確率の合計が、復号化器の処理が終わった 際に何らかの値(全て1のベクトルなど)になるよう学習させる © 2017 Retrieva, Inc. 13
ࠓޙͷൃల オレはようやく登りはじめたばかりだからな。 このはてしなく遠いNMT坂をよ… © 2017 Retrieva, Inc. 14
(JU)VCʹެ։͞Εͨ $IBJOFS ʹΑΔ /.5 ͷ࣮ • https://github.com/mlpnlp/mlpnlp-nmt © 2017 Retrieva,
Inc. 15