Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「深層学習による自然言語処理」読書会 第5章5.1
Search
Kei Shiratsuchi
PRO
September 08, 2017
Technology
0
440
「深層学習による自然言語処理」読書会 第5章5.1
「深層学習による自然言語処理」読書会
第5章5.1
Kei Shiratsuchi
PRO
September 08, 2017
Tweet
Share
More Decks by Kei Shiratsuchi
See All by Kei Shiratsuchi
モノリスとマイクロサービスの橋渡し - ベターからモアベターへ
kei_s
PRO
0
93
なぜ リアーキテクティング専任チームを作ったのか
kei_s
PRO
2
1.4k
実践 Rails アソシエーションリファクタリング / Rails association refactoring in practice
kei_s
PRO
8
8.6k
「Go言語でつくるインタプリタ」を Rust で移植してみた / "Write An Interpreter In Go" In Rust
kei_s
PRO
1
1.9k
Rust言語で作るインタプリタ / Write An Interpreter In Rust
kei_s
PRO
2
630
育児休業のご報告と、育児グッズとしてのスマートスピーカー / Parental Leave and SmartSpeaker
kei_s
PRO
0
850
「深層学習による自然言語処理」読書会 第6章2.7
kei_s
PRO
0
450
最近個人的に気になるプログラミング言語おさらい Ruby, Python, Go, Rust, Julia
kei_s
PRO
0
1k
「深層学習による自然言語処理」読書会 第2章2.1~2.5
kei_s
PRO
0
430
Other Decks in Technology
See All in Technology
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
380
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.6k
クラウドサービス事業者におけるOSS
tagomoris
2
860
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.4k
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.9k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
19
8.1k
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
380
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
25
7.2k
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
750
Classmethod AI Talks(CATs) #16 司会進行スライド(2025.02.12) / classmethod-ai-talks-aka-cats_moderator-slides_vol16_2025-02-12
shinyaa31
0
110
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Become a Pro
speakerdeck
PRO
26
5.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
GraphQLとの向き合い方2022年版
quramy
44
13k
Optimizing for Happiness
mojombo
376
70k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Speed Design
sergeychernyshev
27
790
How STYLIGHT went responsive
nonsquared
98
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Typedesign – Prime Four
hannesfritz
40
2.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
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