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
ChatGPTのアルゴリズム
Search
Yunosuke Yamada
March 03, 2023
Technology
0
340
ChatGPTのアルゴリズム
ニューラルネット系自然言語処理の歴史を、アルゴリズムも紹介しながら単純パーセプトロンからChatGPTに至るまで辿る
Yunosuke Yamada
March 03, 2023
Tweet
Share
More Decks by Yunosuke Yamada
See All by Yunosuke Yamada
React and XSS
yunosukey
0
230
DB Tree Algorithms
yunosukey
0
86
Tests in Go
yunosukey
1
100
Bugless Code
yunosukey
0
110
圏論とコンピュータサイエンス / Category Theory and Theoretical Computer Science
yunosukey
0
210
Other Decks in Technology
See All in Technology
Road to Single Activity
yurihondo
1
190
DuckDB雑紹介(1.1対応版)@DuckDB座談会
ktz
5
1.2k
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
1
220
Mocking in Rust Applications
taiki45
1
370
「自動テストのプラクティスを効果的に学ぶためのカードゲーム」 ( #sqip2024 )
teyamagu
PRO
1
140
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
4
410
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
290
SAVEPOINT α版
savepoint
0
630
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
1.1k
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
310
デジタル化・DX推進あるある
y150saya
0
240
難しいから面白い!医薬品×在庫管理ドメインの複雑性と向き合い、プロダクトの成長を支えるための取り組み / Initiatives to Support Product Growth
kakehashi
2
190
Featured
See All Featured
Infographics Made Easy
chrislema
239
18k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Become a Pro
speakerdeck
PRO
22
4.9k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Building Your Own Lightsaber
phodgson
101
6k
Testing 201, or: Great Expectations
jmmastey
36
7k
Facilitating Awesome Meetings
lara
49
5.9k
From Idea to $5000 a Month in 5 Months
shpigford
379
46k
How to Ace a Technical Interview
jacobian
275
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
25
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.2k
Transcript
ニューラルネットの誕生から ChatGPTまで 山田悠之介 2023/03/03
概要 目次 • 前半:ニューラルネットワークについて • 後半:自然言語処理とニューラルネット • 数式を使わずにできるだけアナロジーで説明 • 用語はちゃんと使う
2
保険 • 自分が勉強したのは学部3年の時 ◦ 5年前、2017年 ◦ ChatGPTの元になる論文:2017年 • 理論まで理解していたのは基礎的な内容 (ニューラルネットの話)
• 後半になるについて「らしい」が増えていきます 3
ニューラルネットワーク (NN) 4
単純パーセプトロン(50、60年代) • ≒1つの神経細胞をモデル化 • いい感じに学習(重みの更新)させることで線形分離可能な問題を解ける ◦ 「線形分離可能な問題」:平面を線で区切る、3次元を面で区切る • そうでない問題は解けない... ◦
下火に 5
多層パーセプトロン(80年代) • さっきの神経細胞を繋げていく • シナプス伝達のモデル化 • 重みの更新は出力側から入力側に伝播させる(誤差逆伝播) • 中間層のおかげで線形分離可能でなくても識別できる •
中間層を増やすにはマシンパワーが... ◦ 再び下火に 6
深層学習(2000年代) • マシンパワーが改善されたことで階層が深くても学習できるように • そして新しい問題が ◦ 局所最適解 ◦ 勾配の消失 7
局所最適解 • 学習は山登りに例えられる ◦ 今いる地点の傾き(勾配)を見て、上にいく(勾配法) • 逆に今いる地点しか見れないので、周りを見るともっと高い山があるのに、 手近な頂上を目指してしまう(局所最適解) ◦ 初めのうちは気まぐれで
上以外の方向に進んでみる (確率的勾配降下法) ◦ でも結局、間違った答えを 出すことはある 8
勾配の消失 • 上の方に進んでいきたいが、傾きが0だとどっちに行けば良いか分からない ◦ 学習が止まる • 誤差は逆伝播させていくので、より出力側で勾配が0になると、 入力側も学習が止まる ◦ 勾配の消失
• 階層が深くなると発生しやすくなる ◦ いろんな対応がある 9
自然言語処理(NLP)とNN 10
RNN (Recurrent neural network) • ネットワーク内で循環があるもの • 再帰的な構造のおかげで過去の状態、文脈を考慮できると言われている ◦ NLPへの応用
• 一方でうまくいっていない部分も ◦ 長期的な依存関係の学習 ◦ 勾配消失問題の発生 11
LSTM (Long short-term memory) • 長期記憶と短期記憶のモデル化 • RNNの問題点改善のため • ユニットとしてパーセプトロンではなく、
記憶の保持と忘却ができるものを利用? 12
Encoder-DecoderモデルとSeq2Seq • Encoder-Decoderモデル ◦ 入力をエンコーダで中間表現に変換してからデコーダで出力する • Seq2Seq (2014) ◦ Encoder-Decoderモデルのうち、入出力が系列になっているもの
◦ エンコーダ、デコーダにはRNN(LSTM)が使われる 13
Seq2Seq with Attention (2015) • Seq2Seqはエンコーダからデコーダに渡る情報が少なかったため、 精度が良くなかった • 改善のためAttentionが導入 ◦
2つの文章中の単語のペアに対して、 どのペアが重要か ◦ 異なる文章:Source-Target Attention ◦ 同じ文章 :Self Attention ◦ 長い文でも単語の関係をとらえやすくなった 14
Transformer (2017) • Attentionに注目 • Encoder-Decoderモデルだが RNN、LSTMを使わない • エンコーダ、デコーダには NNを6段ずつ使う
• 精度が良く、学習も並列でできる • Google翻訳もこのアルゴリズム 15
GPT (Generative Pre-trained Transformer) • Transformerの1種 • 教師あり学習するには、人力でデータを用意する必要 • 精度を上げるにはデータは多いほど良いが、大変(無理なこともある)
• 教師なしでの事前学習を採用し、その後用途別の調整 • GPT-3では570GBの文章で事前学習 ◦ GPT-3.5: GPT-3に編集と挿入機能を持たせる ◦ ChatGPT: GPT-3.5に対して微調整したもの 16
終わり 17