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

本当にわかりやすいAI入門

segavvy
December 07, 2023

 本当にわかりやすいAI入門

2023年12月7日に開催されたStudyCoの勉強会で、AIについてお話した際の資料です。
スライドではお伝えしきれない部分もあるので、同じ内容を記事にしてます。こちらもぜひ!
https://qiita.com/segavvy/items/9e7e4ab4b253599ac58a

動画(スライド画面+音声)はこちらです。
https://youtu.be/fI-UnWA6ANs?feature=shared

※個人で作成したものであり、内容や意見は所属企業・部門見解を代表するものではありません。

segavvy

December 07, 2023
Tweet

More Decks by segavvy

Other Decks in Technology

Transcript

  1. はじめに !2023 segavvy 2023/12/07 StudyCo 2 AIって何? AIが何なのか ざっくりだけど わかった!

    今 1時間後 7章にわけてお話します よろしくお願いします︕
  2. そもそもAIとはなにか︖ • AIとは「artificial intelligence」の略 • ⽇本語にすると「⼈⼯知能」 • コンピューターで⼈間みたいなことをする仕組みのこと※ AIはなぜ⼈間みたいなことができるのか︖ →

    ⼈間のマネをするものをAIと呼ぶから マネの仕⽅についてもう少し踏み込みます !2023 segavvy 2023/12/07 StudyCo 5 ※「⼈⼯知能」という⾔葉は、厳密にはそのための技術や研究分野を指す⾔葉としても使われます。
  3. 「⼈間が考えたルール」を実⾏させる (例)Excelで必要な宣伝費を予測する !2023 segavvy 2023/12/07 StudyCo 7 500万の売上を狙うには 宣伝費はいくら︖ Excelには⼈間が考えたルール※が

    実装されているので それで簡単に予測できる 「80万円」 くらいです︕ ※「線形回帰」というルールがExcelの分析ツールに実装されており、この例ではそれを使っています。
  4. 「ルール⾃体を考えること」まで実⾏させる (例)⼿書きの⽂字を認識する !2023 segavvy 2023/12/07 StudyCo 8 この数字は︖ ⼿書き⽂字の認識のルールを⼈間が考えるのはすごく⼤変 •

    縦⽅向の棒が1本しかなければ「1」 • 上の部分から少し左に伸びた横棒があっても「1」 • 縦棒の下の部分に短い横棒があっても「1」 • 棒が多少斜めになっていても「1」 • いずれかの棒が多少離れていても「1」 • 「7」との違いは… etc. こっちは︖ ルールを考えるのが⼤変なものは 「ルールを考える作業」までコンピューターにやらせるのが主流
  5. ʢٳܜʣʮ"*ʯͱ͍͏ݴ༿ͷࠞཚ • ʮਓ͕ؒߟ͑ͨϧʔϧʯΛίϯϐϡʔλʔʹ࣮ߦͤ͞Δํࣜ·Ͱ"*ͱݺͿ͜ͱʹ ҧ࿨ײΛ֮͑ͨํ΋ଟ͍͔ͱࢥ͍·͢ɻ &YDFMͷྫ΋ͨͩͷ෼ੳػೳͰ͔͢Βɺ"*ͱ͸ݺ΂ͳ͍ͱࢥΘΕΔํ΋ଟ͍Ͱ͠ΐ͏ɻ • Ͱ΋ɺͨͱ͑͹ՈిͰ͸ɺࣄલͷϧʔϧ௨Γʹಈ࡞͢Δ͚ͩͷ΋ͷ΋ʮ"*౥ࡌʂʯͱ એ఻͞Ε͍ͯͨΓ͠·͢ɻ"*ͷఆٛ͸ඇৗʹ͍͋·͍Ͱࠞಱͱ͍ͯ͠·͢ɻ • ͪͳΈʹ਺೥લͷ"*ϒʔϜͰ͸ʮ"*ʯͱ͍͏ݴ༿ʹັྃ͞Εͯ

    &YDFMͰͰ͖Δॲཧ·Ͱ࠷ઌ୺ͷ"*Λ࢖͓͏ͱࣦͯ͠ഊͨ͠ࣄྫ͕ଟ͋͘Γɺ ʮ1P$ʢ1SPPGPG$PODFQUɿ֓೦࣮ূʣർΕʯͱ͍ͬͨݴ༿͕ੜ·ΕͨΓ͠·ͨ͠ɻ • ໨త͕ୡ੒Ͱ͖Ε͹ʮͦͷखஈ͕"*͔Ͳ͏͔ʁʯ͸ຊདྷͲ͏Ͱ΋Α͍͜ͱͰ͢ɻ ໨తͱखஈͷࠞಉʹ஫ҙͯ͠ɺ"*ͱ͍͏ݴ༿ʹགྷΒ͞Εͳ͍Α͏ʹ͠·͠ΐ͏ɻ !2023 segavvy 2023/12/07 StudyCo 10
  6. 脳はすごい • 計算できる • 読める・書ける • しゃべれる • 絵だって描ける •

    知識や経験で判断できる • 将来の予想もできる • 経験や訓練で効率が上がる • できることが勉強で増やせる コンピューターでは それぞれのプログラムが必要 できることを増やすには プログラムの追加・修正が必要 脳は ⽣まれた時にできた1つの 仕組みで なんでもできる 脳はすごい︕ !2023 segavvy 2023/12/07 StudyCo 12
  7. 考案された仕組み !2023 segavvy 2023/12/07 StudyCo 15 細胞をマネたシンプルな仕組み 1. 前の細胞の出⼒(0か1)を⼊⼒として受け取る 2.

    それぞれの伝わりやすさを掛け算 3. その合計が境界以上なら1を出⼒※ ⼊⼒ 1 ⼊⼒ 0 出⼒ 1 前の細胞A 前の細胞B 次の細胞へ 伝わりやすさ ×0.6 ×0.2 境界 0.4 ※ ここでの説明は境界と同値の場合も1としていますが、厳密にはここでご紹介した形式ニューロンは「ヘヴィサイドの階段関数」を使うので境界と同値の場合の定義がありません。 細胞Aからの⼊⼒は「1」×「0.6」で「0.6」 細胞Bからの⼊⼒は「0」×「0.2」で「0」 合計は「0.6」で 境界の「0.4」以上なので 次の細胞への出⼒は「1」
  8. 細胞1つでAND・OR・NANDができた︕ !2023 segavvy 2023/12/07 StudyCo 16 伝わりやすさと境界の値を変えるだけで 仕組み⾃体は変えずに3種類の機能が実現できる︕ ⼊⼒ A

    ⼊⼒ B 出⼒ (答え) 0.5 0.5 ≧0.7 ⼊⼒ A ⼊⼒ B -0.5 -0.5 ≧-0.7 AND (両⽅1なら1) OR (どちらか1なら1) NAND (両⽅1以外なら1) ⼊⼒ A ⼊⼒ B 0.5 0.5 ≧0.2 出⼒ (答え) 出⼒ (答え)
  9. 160個あれば⼿書き数字も認識できる︕ !2023 segavvy 2023/12/07 StudyCo 18 各数字に 対応する 細胞の出⼒が 強くなる

    ⼊⼒は 縦28×横28の 点からなる画像 (784ピクセル) ※この例は書籍「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」で紹介されているもので、このような脳をマネした仕組みを「ニューラルネットワーク」(neural network)と呼びます。 なお、この図の仕組みでも⼿書き数字画像セットの「MNISTデータベース」で90%を越える認識ができますが、⼊⼒784ピクセルのデータを細胞1から50へ「全結合」(affine combination)しているためピクセル間の上下左右の位置関係が失われてしまい、精 度を上げにくい構造になっています。そのため実際の画像認識では、ピクセルの近いもの同⼠だけを次の細胞につなげる「畳み込みニューラルネットワーク」(convolutional neural network)や、最終の出⼒と⼊⼒寄りの細胞との関連を覚えるように細胞のつ なぎ⽅を⼯夫した「注意機構」(アテンション︓attention)などが使われます。 ※
  10. 第2章 まとめ • 脳をマネした仕組みでは 細胞間の伝わりやすさと境界値を変えるだけで できることが変えられる • 細胞の数を増やせば ⽂字認識のような複雑なこともできる でも

    伝わりやすさと境界値はどうやって決める︖ 第3章では細胞間の伝わりやすさと境界値の決め⽅を解説 !2023 segavvy 2023/12/07 StudyCo 19
  11. ʢٳܜʣࣗݾ঺հ !2023 segavvy 2023/12/07 StudyCo 20 ͕͑͠Β ͔ͨ͠ ߐ಄ و࢙

    !TFHBWWZʢηΨϏʣ גࣜձࣾΞΠΞΫτ ਓ޻஌ೳɾίάχςΟϒιϦϡʔγϣϯ෦ ςΫχΧϧσΟϨΫλʔ݉ΧελϚʔαΫηενʔϜ Ϧʔμʔ ΋ͷͮ͘Γ΍࢓૊Έͮ͘Γ͕େ޷͖ɻ"*ͷࣾձ࣮૷ʹᬏਐதʂ
  12. まず1か所だけ調整 !2023 segavvy 2023/12/07 StudyCo 22 ⼊⼒は 28×28の点 細胞 52

    細胞 53 細胞 149 細胞 151 細胞 152 細胞 160 ⼊⼒ 2 ⼊⼒ 3 ⼊⼒ 783 細胞 1 細胞 2 細胞 50 ⼊⼒ 1 ⼊⼒ 784 細胞 51 細胞 150 0 1 9 ・ ・ ・ ①伝わりやすさと 境界の値は ランダムに しておいて 画像を1枚⼊⼒ 細胞 52 細胞 53 細胞 149 細胞 151 細胞 152 細胞 160 ⼊⼒ 2 ⼊⼒ 3 ⼊⼒ 783 細胞 1 細胞 2 細胞 50 ⼊⼒ 1 ⼊⼒ 784 細胞 51 細胞 150 ②1か所の伝わりやすさを 試しに少し増やす 細胞 1 ⼊⼒ 1 細胞 52 細胞 53 細胞 149 細胞 151 細胞 152 細胞 160 細胞 1 細胞 51 細胞 150 ③後続の細胞に 伝わる出⼒を再計算※ 細胞 151 0 ④「0」の出⼒が 最初よりも 強くなれば 正解なので 変更を確定 弱くなった時は 逆の調整 (少し減らす) ※前章では、各細胞は⼊⼒の合計が境界値以上なら1を出⼒するとご説明しましたが、実際には0か1のどちらかではなく、「シグモイド関数」や「正規化線形関数」(ReLU)と呼ばれる仕組みで、0から1の間のなだらかな出⼒にします。0か1のどちらかにしてしま うと、調整によって⼊⼒の合計が変化しても境界をまたがない限り出⼒が変化しないため調整の正否が判定できず、調整効率が悪くなってしまうのです。
  13. すべての値を調整 他の伝わりやすさと境界も順番に変えて「0」が強くなる⽅向へ !2023 segavvy 2023/12/07 StudyCo 23 調整する値の数︓ 伝わりやすさ 45,200個(=線の数)

    次に伝える境界 160個(=細胞の数) 細胞 52 細胞 53 細胞 149 細胞 151 細胞 152 細胞 160 ⼊⼒ 2 ⼊⼒ 3 ⼊⼒ 783 細胞 1 細胞 2 細胞 50 ⼊⼒ 1 ⼊⼒ 784 細胞 51 細胞 150 0 1 9 ・ ・ ・
  14. 他の数字の画像でも調整 「0」以外の数字の画像でも同じように調整 !2023 segavvy 2023/12/07 StudyCo 24 細胞 52 細胞

    53 細胞 149 細胞 151 細胞 152 細胞 160 ⼊⼒ 2 ⼊⼒ 3 ⼊⼒ 783 細胞 1 細胞 2 細胞 50 ⼊⼒ 1 ⼊⼒ 784 細胞 51 細胞 150 0 1 9 ・ ・ ・
  15. この調整作業はコンピューターに任せる • 調整はプログラムを開発してコンピューターにお任せできる※ • ただし 調整⽤の⼤量のデータは⼈間が⽤意しないといけない 例では「⼿書き数字の画像」と「正解の数字」のペアが必要 !2023 segavvy 2023/12/07

    StudyCo 26 ※このように、⽤意した⼤量のデータを使って各値の調整作業をコンピューターで実⾏することを「機械学習」(machine learning)と呼びます。なお、機械学習という⾔葉は脳をマネしていない仕組みでも使われる⽤語です。また、脳をマネした仕組みの中で、 特に⼤量の細胞を何層も重ねたような構造を機械学習することを「深層学習」(ディープラーニング︓deep learning)と呼びます。今回ご説明したの⼿書き数字を認識する仕組みも深層学習の⼀例です。 第1章より 各細胞間の伝わりやすさと境界をコンピューターで 調整すれば「⼿書き数字を認識するルール」ができあがる
  16. 第3章 まとめ • (第2章より)細胞の数を増やせば 複雑なこともできる • 各細胞間の伝わりやすさや 各細胞の境界の値は いろいろな⼊⼒データを使い 少しずつ調整を繰り返して決める

    • 調整は⼤量のデータを⽤意してコンピューターで実⾏ これでルール⾃体を考えることもコンピュータに任せられる 細胞増やして調整をコンピューターに任せたらなんでもできる!? そうは問屋が卸さない 現実について第4章で !2023 segavvy 2023/12/07 StudyCo 27
  17. ʢٳܜʣ%9ͱ"*͸Ͳ͏ҧ͏ʁ • %9͸σδλϧτϥϯεϑΥʔϝʔγϣϯͷུͰɺ σδλϧٕज़Λ׆༻ͯ͠Ϗδωε΍ސ٬ମݧΛ มֵ͢Δ͜ͱΛࢦ͠·͢ɻ • ͜ͷσδλϧٕज़ͱͯ͠"*͕࠾༻͞ΕΔ͜ͱ͕ଟ͍ͷ Ͱ͕͢ɺ"*Λ࢖Θͳͯ͘΋%9͸࣮ݱͰ͖·͢͠ɺ %9ʹؔ܎͠ͳ͍෦෼Ͱ΋"*͸࢖ΘΕ·͢ɻ •

    %9΍"*ͱ͍͏ݴ༿ʹनΘΕ͗ͣ͢ɺ ຊདྷͷ໨తʹ͋ͬͨखஈΛݕ౼͢Δ͜ͱ͕େ੾Ͱ͢ɻ • ΑΖ͚͠Ε͹੿࡞ͷϒϩάهࣄ ʮຊ౰ʹΘ͔Γ΍͍͢ %9ೖ໳ ʙͦ΋ͦ΋ %9ͱ͸ͳʹ͔ʁʙʯ΋Ͳ͏ͧʂ !2023 segavvy 2023/12/07 StudyCo 28
  18. つなぎ⽅の⼯夫の例 !2023 segavvy 2023/12/07 StudyCo 32 出⼒ ⼊⼒ ⼊⼒ 出⼒

    このような⼯夫をすると 以前の⼊⼒の考慮ができる ※細胞の出⼒を次の⾃⾝の⼊⼒に使うつなぎ⽅を「回帰型ニューラルネットワーク」(リカレントニューラルネットワーク︓recurrent neural network)と呼びます。順番に意味のあるデータで使われる仕組みの1つです。 今回の出⼒を覚えておいて 次回の⼊⼒に混ぜる※
  19. 出⼒を次回の⼊⼒に混ぜる例︓⽂章⽣成 !2023 segavvy 2023/12/07 StudyCo 33 ⽂章の書き出しを与えると その著者⾵の続きを⽣成してくれる 調整 ⼊⼒※2

    理想の出⼒ 1回⽬ 吾輩 は 2回⽬ は 猫 3回⽬ 猫 で 4回⽬ で ある 5回⽬ ある 。 ︓ ︓ ︓ ⽣成 ⼊⼒※2 出⼒ 1回⽬ 吾輩 (未使⽤) 2回⽬ は (未使⽤) 3回⽬ ⽝ で 4回⽬ で ある 5回⽬ ある 。 ︓ ︓ ︓ 「吾輩は⽝」だけ ⼊⼒する 続きは 得られた 出⼒をそのまま⼊⼒ これで続きが ⽣成されていく ⼩説を使って 続く単語が 出⼒になるよう調整する※3 ※1 この例は書籍「ゼロから作るDeep Learning ❷ ―⾃然⾔語処理編」で紹介されているものをベースにしていますが、書籍では「コーパス」が英⽂だったので、私は「⻘空⽂庫」の⼩説で試しました。当時のメモを「ゼロから作るDeep Learning❷で素⼈がつ まずいたことメモ: まとめ」にまとめているので、よろしければご参照ください。なお、ここでは回帰型ニューラルネットワークのわかりやすい例として⽂章⽣成を取り上げましたが、⽂章⽣成や⾳声認識などの時系列データを取り扱う場合は、改良型である 「⻑・短期記憶」( LSTM︓Long Short-Term Memory)や「ゲート付き回帰型ユニット」(GRU︓Gated Recurrent Unit)などの⽅が精度が上がります。また、これらの仕組みは時系列順にデータを処理する関係で並列処理がしにくいため、⼤規模なデータ セットを処理する場合は「トランスフォーマー」(transformer)がよく使われています。 ※2 単語は第3章でご紹介した⼿書き数字画像のような固定数の数値の羅列ではないので、実際には単語を⼊⼒する前に「単語の埋め込み」(word embedding)という仕組みで固定数の数値の羅列に変換します。 ※3 このように⼤量のテキストデータを使って⽂章を⽣成できるようにした仕組みを「⾔語モデル」(language model)と呼びます。 ※1
  20. (例1) 画像分類の仕組みと…… 使い回すのは 画像を1,000分類に仕分ける調整済みの仕組み※ !2023 segavvy 2023/12/07 StudyCo 38 ⼊⼒は150,528個の点

    (224 x 224 x 3) 出⼒の細胞は1,000個 (1,000に分類) ⾃転⾞ ペンギン︕ テーブル : サンドイッチ 帽⼦ • • • ・ ・ ・ ・ ・ ・ • • • • • • ・ • • 1,000分類に 仕分け • • • ・ ・ • • • 1つ⼿前の細胞は4,096個 重要な情報が凝縮されている 画像の情報を4,096個の数字の羅列に凝縮する仕組みとして流⽤ ※この例は「VGG16」という仕組みです。ここでの説明には「AI⼈⼯知能テクノロジー」さんのブログ「VGG16モデルを使⽤してオリジナル写真の画像認識を⾏ってみる」を参考にいたしました。 」 調整済み!
  21. (例1) ⽂章⽣成を組み合わせると…… !2023 segavvy 2023/12/07 StudyCo 39 調整 ⼊⼒ 理想の出⼒

    1回⽬ 凝縮された 画像の情報 ペンギン 2回⽬ ペンギン が 3回⽬ が 雪 4回⽬ 雪 の 5回⽬ の 上 6回⽬ 上 に 7回⽬ に ⽴って ︓ ︓ ︓ 調整済みの画像分類の 仕組みを流⽤して 画像の重要情報を凝縮 画像の情報を 最初に⼊⼒※ 以降は画像の 説明⽂に なるように調整 ※ここではわかりやすくなるように、凝縮した画像の情報と続く単語が同じ形で⼊⼒される表にしています。実際の画像の情報は、ニューラル ネットワークの中間部分に直接⼊⼒する形になっています。 このように 画像と説明⽂のペアで 調整を繰り返すと…… ⼊⼒は 150,528個の点 (224 x 224 x 3)
  22. !2023 segavvy 2023/12/07 StudyCo 40 (例1) 画像の説明⽂が作れる︕ ⽣成 ⼊⼒ 出⼒

    1回⽬ 凝縮された 画像の情報 ペンギン 2回⽬ ペンギン が 3回⽬ が 雪 4回⽬ 雪 の 5回⽬ の 上 6回⽬ 上 で 7回⽬ で 寝て 8回⽬ 寝て いる 画像の説明⽂が ⽣成できる︕ 既存の仕組みを流⽤して重要な情報を画像から凝縮※ これでデータ準備や調整などのコストが省ける ※この例ではVGG16を流⽤することで画像を4,096個の情報に凝縮しましたが、このように情報を凝縮させる仕組みを「エンコーダー」(encoder)と呼びます。また、それを利⽤して⽂章を⽣成させましたが、このように凝縮した情報から別の情報を⽣成する仕組 みを「デコーダー」(decoder)と呼びます。このようなエンコーダーとデコーダーの組み合わせ例は多くあります。たとえば、⽇本語の⽂章をエンコーダーで凝縮し、それを英⽂⽣成のデコーダーで⽂章⽣成することで⽇英翻訳が実現できます。 ⼊⼒は 150,528個の点 (224 x 224 x 3)
  23. (例2) 画像と説明⽂の正誤判定の仕組み と… !2023 segavvy 2023/12/07 StudyCo 41 • •

    • • • ・ ・ ・ ・ ・ ・ • • • • • • • • ・ ・ • • • • • • • • ・ ・ ・ ・ ・ ・ • • • • • • • • ・ ・ • • • ︖ 群の中に ペンギンが ⽴っている 左右が正しければ凝縮情報が⼀致するように左右を調整済み※ ※この例は「CLIP」(Contrastive Language–Image Pre-training)という仕組みです。ここでの説明は「TRAIL (Tokyo Robotics and AI Lab)」さんの記事「 CLIP︓⾔語と画像のマルチモーダル基盤モデル」を参考にいたしました。 説明⽂の凝縮 写真データの凝縮 ※ 調整済み!
  24. (例2) 画像を繊細化する仕組み を…… !2023 segavvy 2023/12/07 StudyCo 42 ※1 この例は「Stable

    Diffusion」という仕組みの⼀部です。ここでの説明は「Gigazine」さんの記事「画像⽣成AI「Stable Diffusion」がどのような仕組みでテキストから画像を⽣成するのかを詳しく図解」を参考にいたしました。 ※2 Stable Diffusionでは画像を直接汚すのではなく、実際にはまず凝縮して情報量を減らし、それに対してノイズを加えて汚します。そのため、実際には⽬で汚れていく様⼦が確認できるようなデータとしては処理されていません。 ※3 ノイズを加えて汚したデータを⽤意し、それを元に戻せるように調整していく仕組みを「拡散モデル」(diffusion model)と呼びます。 ※1 調整 ⼊⼒ 理想の出⼒ ペア1 ペア2 ︓ ︓ ︓ ペアn 画像の汚れを取り除き 繊細な画像が ⽣成できる︕※3 汚した画像と 汚す1つ前のペアを ⼊⼒と理想の出⼒にして ⼤量の画像で調整 画像を何度も汚して※2 調整⽤の画像を作成
  25. (例2) 組み合わせて調整していくと…… !2023 segavvy 2023/12/07 StudyCo 43 調整 ⼊⼒ 理想の出⼒

    1回⽬ 凝縮した 説明⽂の 情報 2回⽬ ︓ ︓ ︓ n回⽬ 群れの中に ペンギンが ⽴っている 画像と説明⽂の 正誤判定における 説明⽂の凝縮部分(左半分)を 流⽤して説明⽂の情報を凝縮 理想の出⼒は 正解の画像を 何度も汚して 作成
  26. (例2) 説明⽂から繊細な絵が描ける︕ !2023 segavvy 2023/12/07 StudyCo 44 ⽣成 ⼊⼒ 出⼒

    1回⽬ 凝縮した 説明⽂の 情報 2回⽬ ︓ ︓ ︓ n回⽬ 雪の上で まるまって 寝ている ペンギン 説明⽂に あった 繊細な画像が ⽣成できる︕ 既存の仕組みを流⽤して 画像⽣成に必要な情報を 説明⽂から凝縮※ これで説明⽂から効率的に 繊細な画像が⽣成できる︕ ※ここで説明したStable Diffusionでは、調整済みのCLIPの仕組みを、画像を⽣成するという別の⽬的に流⽤しています。また、1つ前の(例1)では、調整済みのVGG16を、⽂章を⽣成するという別の⽬的に流⽤しました。このように、調整済みの仕組みを別の⽬ 的に流⽤することを「転移学習」(transfer learning)と呼びます。
  27. (例3) ⽂を数字の羅列 に凝縮する仕組みと… !2023 segavvy 2023/12/07 StudyCo 45 • •

    • • • ・ ・ ・ ・ ・ ・ • • • • • • • • ・ ・ • • • • • • • • ・ ・ ・ ・ ・ ・ • • • • • • • • ・ ・ • • • ︖ 朝から ⾬で嫌だ 今⽇は いい天気 同じ仕組みに2つの⽂を⼊⼒して凝縮情報を⽐較 同じ意味の⽂章は似た数字になるように ⽭盾する場合は似ないように調整済み※2 ※1 数字の羅列は「ベクトル」と呼ばれ、ベクトル同⼠の距離や類似度を計算することができます。ベクトルの距離や類似度の計算⽅法にもいくつか種類があり、「ユークリッド距離」や「コサイン類似度」などが有名です。 ※2 この例は「教師ありSimCSE」(supervised SimCSE)という仕組みです。ここでの説明は書籍「⼤規模⾔語モデル⼊⾨」を参考にいたしました。実際には2つの⽂章とその関係(含意/中⽴/⽭盾)のセットを⼤量に⽤意して調整して、含意の場合は凝縮したベ クトルが近くなるように、⽭盾の場合は遠くなるように調整しています。 説明のために 左右に分けたが 全く同じもの ※1 調整済み!
  28. (例3) 数字の羅列が検索できる仕組み で…… !2023 segavvy 2023/12/07 StudyCo 46 数値の羅列 3,

    1, 4, 1, 5, 9, … 2, 6, 5, 3, 5, 8, … 9, 7, 9, 3, 2, 3, … 8, 4, 6, 2, 6, 4, … ︓ 数字の羅列に 特化した 検索の仕組み 「2, 2, 5, 0, 4, 9, … 」で 検索 「3, 1, 4, 1, 5, 9, … 」と 「1, 3, 6, 0, 4, 8, … 」が 近いです︕ 検索対象の数字の羅列を 事前に登録しておけば…… 数字の羅列を条件にして 似たような羅列を検索できる ※数字の羅列である「ベクトル」を使って情報を検索する仕組みは「ベクトル空間モデル」や「ベクトル検索」と呼ばれ、「ベクトルストア」(vector store)や「ベクトル検索エンジン」(vector search engine)、「埋め込みデータベース」(Embedding Database)と呼ばれるシステムに実装されています。通常の検索の仕組みは条件に⼀致するものを探しますが、ベクトル検索の場合は、 「ユークリッド距離」や「コサイン類似度」などにより似たようなベクトルを検索できることが特徴です。 ※ 既存の仕組み!
  29. (例3) 意味の似ている⽂章が検索できる︕ !2023 segavvy 2023/12/07 StudyCo 47 ⽂章 数値の羅列 今⽇は朝から

    いい天気で… 3,1,4,1,5,9,… 洗濯物がび しょ濡れで… 2,6,5,3,5,8,… 吹雪で⽴ち往 ⽣して… 9,7,9,3,2,3,… 海で⽇差しが 眩しくて… 5,3,6,0,4,8,… 数字の羅列に 特化した 検索の仕組み 「晴れの⽇の話」で検索 「4,2,5,0,4,8,…」で検索 「3,1,4,1,5,9,…」と 「5,3,6,0,4,8,…」が近い ⽂を数字の羅列に凝縮する仕組みを流⽤して変換※1 「今⽇は朝からいい天気で…」と 「海で⽇差しが眩しくて…」がヒット︕ 対応する元の⽂章を確認 意味の把握に必要な情報の凝縮も その検索も 既存の流⽤で実現︕※2 ※1 ⽂章を凝縮してベクトルに変換することを、「⽂章の埋め込み」(text embedding)と呼びます。多⾔語に対応する仕組みの場合は、同じ意味なら⽇本語のベクトルも英語のベクトルも中国語のベクトルも近い関係になります。 ※2 これまでの⽂章の検索は「全⽂検索」の利⽤が⼀般的でしたが、字⾯が違いすぎたり表現が違いすぎたりすると意味の似た⽂章を検索できませんでした。⽂章の埋め込みとベクトル検索の組み合わせはこの弱点を補えるものとして⾮常に期待されていますが、 ⽂章の埋め込みに使う仕組みが情報を適切に凝縮できない⽂章は検索できないので、決して万能ではありません。そのため、複数の検索の仕組みを組み合わせたり、検索結果の並びを調整する仕組みと組み合わせたりする⼯夫が重要になっています。
  30. ⽂章⽣成の仕組み は質問にも答えられる !2023 segavvy 2023/12/07 StudyCo 51 夏⽬漱⽯の⼩説で調整したら 夏⽬漱⽯⾵の⽂章が⽣成できる 第4章より

    ある程度 調整データには インタビューや掲⽰板の やり取りなどの 質疑応答もある ※ ※ ここでの説明は2020年に発表されたGPT3(Generative Pre-trained Transformer 3)と呼ばれる⼀昔前の仕組みの特性です。特定の事実に関する直接的で明確な質問の場合は、ある程度の回答ができます。ただし、流暢な会話や⻑い会話のやり取りは苦⼿です。 ⼤量の⽂章で調整したら ⼤量の知識に基づく⽂章が⽣成でき 質問にもある程度は回答できた︕
  31. さらに仕組みを⼤規模化したら…… !2023 segavvy 2023/12/07 StudyCo 52 (出典)東京⼤学松尾研究室「AIの進化と⽇本の戦略 23/2/17」 縦軸は調整する値の数 単位は10億(B)

    ちなみに第2章の ⼿書き数字認識の例は たったの45,360個 最近の仕組みは 1兆超えも当たり前 ※ ※厳密な定義はないのですが、⾔語モデルに対して調整する値の数と調整に使うデータ量、そして調整のための計算量を⼤規化したものを「⼤規模⾔語モデル」(LLM︓Large Language Model)と呼びます。⾔語モデルの⼤規模化が進む理由の1つは、「⾃然⾔ 語モデルのスケーリング則」(Scaling Laws for Neural Language Models)で、⼤規模化すればするほど性能が上がるという法則が⾒えてきたためです。なお、このような⼤規模⾔語モデルはいろいろな⽤途で活⽤できるため「基盤モデル」とも呼ばれます。
  32. 性能が⾶躍的に向上することも判明︕ !2023 segavvy 2023/12/07 StudyCo 53 (出典)「Characterizing Emergent Phenomena in

    Large Language Models」 調整の計算量が あるポイントを 超えると 性能が⾶躍的に 向上する 複雑な数学の問題 ⼤学の受験問題 単語の意味の特定 縦軸は 回答の正確さ 横軸は 調整の計算量 難しい問題に答えることができる︕
  33. 追加の調整で会話もできるようになった︕ !2023 segavvy 2023/12/07 StudyCo 54 ⽂章⽣成の 仕組み※1 追加で調整 ⼊⼒

    理想の出⼒ 1回⽬ ◦◦を教えて それは□□です。 2回⽬ △△の⽅法は︖ まず最初に… 3回⽬ この◇◇はどう︖ 次の⽅法が… ︓ ︓ ︓ 回答の良し悪しを判定する仕組み※2 ①⼤量の⽂章で調整 ②対話の⽂章を⼤量に⽤意して追加で調整 ③回答の優劣を別の仕組みに判断させて その結果に基づきさらに調整を繰り返す ⼈間らしい会話や 会話の往復もできるようになった︕ ※1 ここでの説明は「InstructGPT」という仕組みの調整⽅法です。①で調整したGPT3に対して、②の調整によって⼈間らしい会話や会話の往復をできるようにします。このように、既存の仕組みに対して追加のデータで振る舞いを調整することを「ファイン チューニング」(fine-tuning)と呼びます。また、②のファインチューニング後の仕組みに対して、さらに③の仕組みで回答の良し悪しを判定させて、その結果を基に調整を繰り返します。この調整では、これまでの例のように理想の出⼒を使うのではなく、 結果の良し悪しの判定結果しか使いません。このようにに結果の良し悪しから正しい結果を出⼒できるように調整する⽅法を「強化学習」(RL︓reinforcement learning)と呼びます。 ※2 回答の良し悪しを判定する仕組みは、②の調整済みの仕組みに対して出⼒が良し悪しを返すように改造したものを⽤意して、⼈間が結果の良し悪しを判定したデータを理想の出⼒として調整することで作り上げています。この③のように、⼈間の判定結果を 使って強化学習する⽅法は「⼈間のフィードバックによる強化学習」( RLHF︓Reinforcement Learning from Human Feedback)と呼ばれます。
  34. 専⾨家ではなくても使えるAIが爆誕︕ !2023 segavvy 2023/12/07 StudyCo 55 これまで • 専⾨家が専⽤の仕組みを 設計・開発して試⾏錯誤

    • 専⾨家が⼤量のデータを 整備してプログラムで調整 • でき上がった仕組みの調整は 専⾨家によるコツが必要 これから • ⽂章で指⽰できるので 誰でも試⾏錯誤できる • 仕組みの調整も ある程度は⽂章で指⽰できる※1 • 追加の情報も⽂章で与えれば それに基づいた処理ができる※2 ⽂章で指⽰できるので 誰でもAIを活⽤できるように︕ ※1 機械学習やファインチューニングでLLMを調整するのではなく、⽂章で指⽰して調整することを「インコンテキストラーニング」(In-Context Learning)と呼びます。 ※2 LLMの性能向上により、LLMの機械学習やファインチューニングで使っていない情報(たとえば最新の情報や社内情報)も、インコンテキストラーニングで与えるとそれに基づく回答ができるようになりました。インコンテキストラーニングは機械学習やファ インチューニングよりも簡単なので、外部のデータベースから情報検索してインコンテキストラーニングでLLMに与えて回答⽣成させる「RAG」(Retrieval-Augmented Generation)とよばれる⼿法が注⽬されています。
  35. 第6章 まとめ • ⽂章⽣成の仕組みが⼤きく進化した • ⼤量の情報から得られた知識に基づき ⼈間の質問に答えられる • 公開されている情報は知っているので 汎⽤的に使える

    • 会話の往復ができるようになったので 関連情報を伝えたり 複雑な指⽰も出せる ひと昔前のSFみたいなことができるようになった︕ 最終章では進化したAIのこれからについて !2023 segavvy 2023/12/07 StudyCo 56
  36. ʢٳܜʣҰॹʹಇ͘஥ؒΛ୳͍ͯ͠·͢ʂ גࣜձࣾΞΠΞΫτͷ"*ͷࣄۀ෦Ͱ͸ɺࣄۀ֦େͷͨΊ஥ؒΛ୳͍ͯ͠·͢ʂ • اۀ޲͚ύοέʔδιϑτͷاը΍Ϛωδϝϯτ΍։ൃϦʔμʔͷܦݧ͕͋Γɺ Ϋϥ΢υ΍"*ͷ஌ࣝɾܦݧ͸ͳ͍͚Ͳ ͜Ε͔Βֶͼ͍ͨͱߟ͍͑ͯΔํ • ΧελϚʔαΫηεαϙʔτͷܦݧ͕͋Γɺ͓٬༷ͷ͝ࢧԉ͕޷͖Ͱɺ "*΍ϓϩάϥϛϯάͷ஌ࣝɾܦݧ͸ͳ͍͚Ͳ ͜Ε͔Βֶͼ͍ͨͱࢥͬͯΔํ

    • "*ͦͷ΋ͷͷݚڀ։ൃΑΓ΋ɺ࣮༻తʹͳͬͨ"*ͷཁૉٕज़Λ૊Έ߹Θͤͯ ࣮ࡍʹੈͷதͰ໾ཱͭܗʹ͢Δ͜ͱʹڵຯͷ͋ΔΤϯδχΞͷํ ͝ڵຯ͕͋Γ·ͨ͠Βɺ·ͣ͸ձࣾʹؔ܎ͳ͓ܰ͘͘࿩͠·͠ΐ͏ɻ ݸਓͷ9 5XJUUFS ͷ%.͔ϝʔϧ TFHBWWZ!ZBIPPDPKQ Ͱ͓੠͕͚͍ͩ͘͞ʂ !2023 segavvy 2023/12/07 StudyCo 57 @segavvy
  37. できることが増えていく 1年前 • 質問に答える • 要約する • 翻訳する • プログラムを

    書く !2023 segavvy 2023/12/07 StudyCo 59 他の仕組みと連携 • 画像や動画を作る • 聞く・しゃべる • 画像や動画を観る • 資料を読む・作る • プログラムを書いて 動かして集計・分析 他のシステム・サービスと連携※ • ネットの検索 • 評判のよいお店の調査や予約 電⾞や⾶⾏機の予約 なくなった⽇⽤品の注⽂ 家電の制御 etc. • 社内資料の検索 チャット履歴を要約 Web会議の議事録作成 売上データの集計 必要資材の発注 etc. ※ この例のように、AI以外のものと連携することでもAIのできることが増やせます。AIの提供側は⾃社のAIでできることを社外の開発者に増やしてもらえるよう、外部のシステム・サービスと連携するための接続⼝となる「API」(Application Programming Interface)を設けています。開発者はこれを使うことでAIと⾃分のシステム・サービスを連携させることができます。 また、AIの提供側は、そのような連携の仕組みがたくさん市場に流通するように、配布・販売するためのお店(マーケットプレイス、ストア)の整備を進めていくものと思われます。これにより、開発者は作った連携の仕組みをお店で「プラグイン」 (Microsoft社の場合は「Copilot」という呼び名になる模様)として配布・販売できるようになり、AIの利⽤者はお店で必要なプラグインを選ぶことで⾃分が使うAIのできることを簡単に増やせるようになるのではないかと私は想像しています。
  38. 判断も任せられる ようになっていく ⼈間の依頼の例 AIの内部の処理の例 わかりやすいAIの ⼊⾨記事を教えて 1. 保有知識に情報がない → ネット検索が必要と判断

    2. ネットを検索して ヒットしたページを取捨選択して要約して回答 社内の勤怠システムが エラーで使えないから 直して 1. 保有知識に情報がない → 勤怠システムのマニュアルが必要と判断 2. 社内の⽂書管理システムを検索して マニュアルを確認し原因候補を抽出 3. 原因に該当するか判断できない → システムのログの分析が必要と判断 4. 該当システムのログを取得して分析 5. 原因が特定できたらマニュアルの対処⽅法を回答 事業部の来年度の 予算案を作って 1. 保有知識に予算策定の流れはあるが情報がない → 情報取得が必要と判断 2. 中期経営計画の資料を検索して取得し 内容や来年度の位置付けを把握 3. 今年度の実績資料を検索して取得し 年度末の着地を予想 4. 今年度の達成・未達要因の分析 → 失敗案件の原因分析が必要と判断 5. 主要な案件資料を検索して分析 → 外部環境の変化の情報が必要と判断 6. ネットで市場概況を検索して分析 → …… !2023 segavvy 2023/12/07 StudyCo 60 ※AIが判断して次の⾏動を決め、さらにその結果を判断して次の⾏動を決めていくようなアプローチを「ReAct」(REasoning and ACTing)と呼びます。これまでのITの⾃動化のほとんどは、その処理の途中に⾼度な判断はありません。そのような⾼度な判断は ⼈間による⼿作業になっていました。今後はこの部分もAIに任せられるようになっていくものと思われます。 ※
  39. AIのオススメの使い⽅ !2023 segavvy 2023/12/07 StudyCo 61 まだの⽅は「便利な⼈」として付き合い始めてみましょう︕ ⽇常的に使えば コツもわかり 苦⼿なこともわかり

    新機能にもすぐ気づき ⾃然にAIの動向が把握できる※ ※個⼈の意⾒です︕ いつでも 聞ける 専⾨家 知識と経験が 豊富な 相談相⼿ 業務が 続いても 疲れない 作業員 仕事を 任せられる 優秀な 秘書・助⼿
  40. 現在のAIの課題 !2023 segavvy 2023/12/07 StudyCo 62 知識はあるが 丸暗記はしてない 知識はあっても ⼀字⼀句を覚えている

    訳ではない 重要なものは 出典元を確認するなど 裏取りが⽋かせない 誤り・偏⾒などの 排除は不完全 それらしく答えるが 基本的には ネットやSNSと同じ 内容が正しいか そのまま使えるかは 従来通りの判断が必要 膨⼤な エネルギー消費 利⽤や調整に使う 膨⼤な電⼒消費は 環境破壊につながる 仕組みの⼩型化や 専⽤のハード開発の 取り組みが急務 特殊⽤途には 個別調整が必要 特殊な知識に基づく 判断などは 従来同様の調整が必要 仕組みの調整には 質の良いデータと AIの専⾨家が必須 他にも課題は⼭積︓⽣成物の著作権の扱い、品質・信頼性の維持の⽅法、 悪⽤の防⽌、AIの判断の透明性の確保、AI提供側への⼒の集中、etc. 利⽤側はネットやSNSを使うのと同じ警戒感を︕ 提供側は技術だけに踊らされない社会実装を︕
  41. おわりに ⽬次 超まとめ 第1章 AIはなぜ⼈間みたいなことができるのか? 「AI」は⼈間のマネをする仕組みのこと 第2章 脳はすごい 脳をマネした仕組みは⼿書き⽂字の認識などができる 第3章

    伝わりやすさと境界の決め⽅ 仕組みの調整作業はコンピューターに任せられる 第4章 細胞増やすだけではダメだった 脳の仕組みを⼯夫することでできることが増やせる 第5章 時間も⼿間もお⾦もかかる 仕組みの流⽤や組み合わせで効率的にできることが増やせる 第6章 ⽂章⽣成の⼤規模化による進化 AIへ⽂章で指⽰が出せるようになった 第7章 AIのこれから 課題を把握しつつ まずは使ってみましょう! !2023 segavvy 2023/12/07 StudyCo 64 「はじめに」より このお話がAIの理解の ⼀助になれば幸いです お時間をいただき ありがとうございました! (2024年3⽉追記)スライドでは伝えきれないこともあるので発表内容を記事にしました。 Speaker Deckでご覧の⽅はコメント欄にリンクあります︕よろしければぜひ︕ https://qiita.com/segavvy/items/9e7e4ab4b253599ac58a