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
250
DB Tree Algorithms
yunosukey
0
88
Tests in Go
yunosukey
1
100
Bugless Code
yunosukey
0
120
圏論とコンピュータサイエンス / Category Theory and Theoretical Computer Science
yunosukey
0
220
Other Decks in Technology
See All in Technology
メールサーバ管理者のみ知る話
hinono
1
110
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
500
Amazon CloudWatch Network Monitor のススメ
yuki_ink
0
160
音声×Copilot オンコパの世界
kasada
1
120
20241108_CS_LLMMT
shigashiyama
0
260
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
410
Terraform Stacks入門 #HashiTalks
msato
0
310
TinyGoを使ったVSCode拡張機能実装
askua
2
210
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
2.6k
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
210
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
0
110
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
790
Featured
See All Featured
Teambox: Starting and Learning
jrom
133
8.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
42
2.2k
The Invisible Side of Design
smashingmag
297
50k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9k
It's Worth the Effort
3n
183
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Writing Fast Ruby
sferik
627
61k
Happy Clients
brianwarren
97
6.7k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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