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
360
ChatGPTのアルゴリズム
ニューラルネット系自然言語処理の歴史を、アルゴリズムも紹介しながら単純パーセプトロンからChatGPTに至るまで辿る
Yunosuke Yamada
March 03, 2023
Tweet
Share
More Decks by Yunosuke Yamada
See All by Yunosuke Yamada
クラウド開発環境Cloud Workstationsの紹介
yunosukey
0
180
フロントエンドオブザーバビリティ on Google Cloud
yunosukey
0
210
React and XSS
yunosukey
0
290
DB Tree Algorithms
yunosukey
0
96
Tests in Go
yunosukey
1
110
Bugless Code
yunosukey
0
130
圏論とコンピュータサイエンス / Category Theory and Theoretical Computer Science
yunosukey
0
260
Other Decks in Technology
See All in Technology
YOLOv10~v12
tenten0727
4
960
Writing Ruby Scripts with TypeProf
mame
0
200
【Λ(らむだ)】最近のアプデ情報 / RPALT20250422
lambda
0
110
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
210
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
0
130
ドキュメント管理の理想と現実
kazuhe
1
210
Road to Go Gem #rubykaigi
sue445
0
840
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
490
今日からはじめるプラットフォームエンジニアリング
jacopen
4
270
地味にいろいろあった! 2025春のAmazon Bedrockアップデートおさらい
minorun365
PRO
1
270
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
260
OpenLane-V2ベンチマークと代表的な手法
kzykmyzw
0
110
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
Embracing the Ebb and Flow
colly
85
4.6k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.6k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Building Applications with DynamoDB
mza
94
6.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Visualization
eitanlees
146
16k
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