Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ChatGPTのアルゴリズム

 ChatGPTのアルゴリズム

ニューラルネット系自然言語処理の歴史を、アルゴリズムも紹介しながら単純パーセプトロンからChatGPTに至るまで辿る

Yunosuke Yamada

March 03, 2023
Tweet

More Decks by Yunosuke Yamada

Other Decks in Technology

Transcript

  1. ニューラルネットの誕生から
    ChatGPTまで
    山田悠之介
    2023/03/03

    View Slide

  2. 概要
    目次
    ● 前半:ニューラルネットワークについて
    ● 後半:自然言語処理とニューラルネット
    ● 数式を使わずにできるだけアナロジーで説明
    ● 用語はちゃんと使う
    2

    View Slide

  3. 保険
    ● 自分が勉強したのは学部3年の時
    ○ 5年前、2017年
    ○ ChatGPTの元になる論文:2017年
    ● 理論まで理解していたのは基礎的な内容
    (ニューラルネットの話)
    ● 後半になるについて「らしい」が増えていきます
    3

    View Slide

  4. ニューラルネットワーク (NN)
    4

    View Slide

  5. 単純パーセプトロン(50、60年代)
    ● ≒1つの神経細胞をモデル化
    ● いい感じに学習(重みの更新)させることで線形分離可能な問題を解ける
    ○ 「線形分離可能な問題」:平面を線で区切る、3次元を面で区切る
    ● そうでない問題は解けない...
    ○ 下火に
    5

    View Slide

  6. 多層パーセプトロン(80年代)
    ● さっきの神経細胞を繋げていく
    ● シナプス伝達のモデル化
    ● 重みの更新は出力側から入力側に伝播させる(誤差逆伝播)
    ● 中間層のおかげで線形分離可能でなくても識別できる
    ● 中間層を増やすにはマシンパワーが...
    ○ 再び下火に
    6

    View Slide

  7. 深層学習(2000年代)
    ● マシンパワーが改善されたことで階層が深くても学習できるように
    ● そして新しい問題が
    ○ 局所最適解
    ○ 勾配の消失
    7

    View Slide

  8. 局所最適解
    ● 学習は山登りに例えられる
    ○ 今いる地点の傾き(勾配)を見て、上にいく(勾配法)
    ● 逆に今いる地点しか見れないので、周りを見るともっと高い山があるのに、
    手近な頂上を目指してしまう(局所最適解)
    ○ 初めのうちは気まぐれで
    上以外の方向に進んでみる
    (確率的勾配降下法)
    ○ でも結局、間違った答えを
    出すことはある
    8

    View Slide

  9. 勾配の消失
    ● 上の方に進んでいきたいが、傾きが0だとどっちに行けば良いか分からない
    ○ 学習が止まる
    ● 誤差は逆伝播させていくので、より出力側で勾配が0になると、
    入力側も学習が止まる
    ○ 勾配の消失
    ● 階層が深くなると発生しやすくなる
    ○ いろんな対応がある
    9

    View Slide

  10. 自然言語処理(NLP)とNN
    10

    View Slide

  11. RNN (Recurrent neural network)
    ● ネットワーク内で循環があるもの
    ● 再帰的な構造のおかげで過去の状態、文脈を考慮できると言われている
    ○ NLPへの応用
    ● 一方でうまくいっていない部分も
    ○ 長期的な依存関係の学習
    ○ 勾配消失問題の発生
    11

    View Slide

  12. LSTM (Long short-term memory)
    ● 長期記憶と短期記憶のモデル化
    ● RNNの問題点改善のため
    ● ユニットとしてパーセプトロンではなく、
    記憶の保持と忘却ができるものを利用?
    12

    View Slide

  13. Encoder-DecoderモデルとSeq2Seq
    ● Encoder-Decoderモデル
    ○ 入力をエンコーダで中間表現に変換してからデコーダで出力する
    ● Seq2Seq (2014)
    ○ Encoder-Decoderモデルのうち、入出力が系列になっているもの
    ○ エンコーダ、デコーダにはRNN(LSTM)が使われる
    13

    View Slide

  14. Seq2Seq with Attention (2015)
    ● Seq2Seqはエンコーダからデコーダに渡る情報が少なかったため、
    精度が良くなかった
    ● 改善のためAttentionが導入
    ○ 2つの文章中の単語のペアに対して、
    どのペアが重要か
    ○ 異なる文章:Source-Target Attention
    ○ 同じ文章 :Self Attention
    ○ 長い文でも単語の関係をとらえやすくなった
    14

    View Slide

  15. Transformer (2017)
    ● Attentionに注目
    ● Encoder-Decoderモデルだが
    RNN、LSTMを使わない
    ● エンコーダ、デコーダには
    NNを6段ずつ使う
    ● 精度が良く、学習も並列でできる
    ● Google翻訳もこのアルゴリズム
    15

    View Slide

  16. GPT (Generative Pre-trained Transformer)
    ● Transformerの1種
    ● 教師あり学習するには、人力でデータを用意する必要
    ● 精度を上げるにはデータは多いほど良いが、大変(無理なこともある)
    ● 教師なしでの事前学習を採用し、その後用途別の調整
    ● GPT-3では570GBの文章で事前学習
    ○ GPT-3.5: GPT-3に編集と挿入機能を持たせる
    ○ ChatGPT: GPT-3.5に対して微調整したもの
    16

    View Slide

  17. 終わり
    17

    View Slide