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
370
ChatGPTのアルゴリズム
ニューラルネット系自然言語処理の歴史を、アルゴリズムも紹介しながら単純パーセプトロンからChatGPTに至るまで辿る
Yunosuke Yamada
March 03, 2023
Tweet
Share
More Decks by Yunosuke Yamada
See All by Yunosuke Yamada
AIエージェントのオブザーバビリティについて
yunosukey
1
550
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
2
380
クラウド開発環境Cloud Workstationsの紹介
yunosukey
0
250
フロントエンドオブザーバビリティ on Google Cloud
yunosukey
1
230
React and XSS
yunosukey
0
300
DB Tree Algorithms
yunosukey
0
99
Tests in Go
yunosukey
1
110
Bugless Code
yunosukey
0
140
圏論とコンピュータサイエンス / Category Theory and Theoretical Computer Science
yunosukey
0
280
Other Decks in Technology
See All in Technology
大規模PaaSにおける監視基盤の構築と効率化の道のり
lycorptech_jp
PRO
0
170
それでもぼくらは貢献をつづけるのだ(たぶん) @FOSS4GLT会#002
furukawayasuto
1
270
データプレーンプログラミングとは? DPU&スイッチASICの開発経験から語る
ebiken
PRO
1
240
初めてのGoogle Cloud by AWS出身者
harukasakihara
1
730
Okayama WordPress Meetup #12 | そのバックアップ、本当に復元できますか? リストアやってみた!
takeshifurusato
0
110
大事なのは、AIの精度だけじゃない!〜1円のズレも許されない経理領域とAI〜
jun_nemoto
10
5.1k
FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
nayuts
1
180
GigaViewerにおけるMackerel APM導入の裏側
7474
0
440
AIに実況させる / AI Streamer
motemen
3
1.4k
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
420
OSMnx Galleryの紹介
mopinfish
0
150
継続戦闘能⼒
sansantech
PRO
0
210
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Done Done
chrislema
184
16k
Become a Pro
speakerdeck
PRO
28
5.4k
Facilitating Awesome Meetings
lara
54
6.4k
Unsuck your backbone
ammeep
671
58k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Optimizing for Happiness
mojombo
378
70k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
How to Ace a Technical Interview
jacobian
276
23k
Statistics for Hackers
jakevdp
799
220k
Agile that works and the tools we love
rasmusluckow
329
21k
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