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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kei Shiratsuchi
PRO
September 08, 2017
Technology
500
0
Share
「深層学習による自然言語処理」読書会 第5章5.1
「深層学習による自然言語処理」読書会
第5章5.1
Kei Shiratsuchi
PRO
September 08, 2017
More Decks by Kei Shiratsuchi
See All by Kei Shiratsuchi
モノリスとマイクロサービスの橋渡し - ベターからモアベターへ
kei_s
PRO
0
130
なぜ リアーキテクティング専任チームを作ったのか
kei_s
PRO
2
1.6k
実践 Rails アソシエーションリファクタリング / Rails association refactoring in practice
kei_s
PRO
8
9.8k
「Go言語でつくるインタプリタ」を Rust で移植してみた / "Write An Interpreter In Go" In Rust
kei_s
PRO
1
2.1k
Rust言語で作るインタプリタ / Write An Interpreter In Rust
kei_s
PRO
2
810
育児休業のご報告と、育児グッズとしてのスマートスピーカー / Parental Leave and SmartSpeaker
kei_s
PRO
0
900
「深層学習による自然言語処理」読書会 第6章2.7
kei_s
PRO
0
490
最近個人的に気になるプログラミング言語おさらい Ruby, Python, Go, Rust, Julia
kei_s
PRO
0
1.1k
「深層学習による自然言語処理」読書会 第2章2.1~2.5
kei_s
PRO
0
500
Other Decks in Technology
See All in Technology
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
170
long-running-tasks
cipepser
2
440
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.2k
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
370
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
300
ビジュアルプログラミングIoTLT vol.23
1ftseabass
PRO
0
150
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
350
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
0
490
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
230
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
480
Kaggle未経験社員をメダリストに育てる「AIドラゴン桜」
lycorptech_jp
PRO
0
650
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
5
300
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
370
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
150
From π to Pie charts
rasagy
0
190
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
We Have a Design System, Now What?
morganepeng
55
8.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
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