Slide 1

Slide 1 text

非情報系研究者へ送る Transformer入門 M1秋庭孔樹*,M2石山遼*,B4見田壮一** *九州大学大学院システム情報科学府 **九州大学工学部

Slide 2

Slide 2 text

本勉強会の目標 ● 目標 ○ 多くのAIの中身で用いられている「Transformer」がわかるようになる ● やること ○ AIの中身,ニューラルネットワーク,Transformerの概要を掴む ○ Transformerを実際に動かしてみる ○ 遺伝子データをTransformerで解析してみる ● やらないこと ○ 数理的に厳密な説明 ○ 自分でLLM(大規模言語モデル)を作る 2/119

Slide 3

Slide 3 text

AIとは?

Slide 4

Slide 4 text

今日,ChatGPT使いましたか? 4/119

Slide 5

Slide 5 text

今日,ChatGPT使いましたか? 5/119

Slide 6

Slide 6 text

今日,ChatGPT使いましたか? なんだかそっれぽい.正しそう... 6/119

Slide 7

Slide 7 text

「それっぽい」とは何か:チューリングテスト ● 対話している相手が人間か機械かを判別できるか否か AI 総研大はどのような機関ですか 総研大は.... 人間と話してる? 7/119

Slide 8

Slide 8 text

「それっぽい」とは何か:チューリングテスト ● 対話している相手が人間か機械かを判別できるか否か AI 総研大はどのような機関ですか 総研大は.... 人間と話してる? https://www.itmedia.co.jp/aiplus/articles/2504/02/news128.html 8/119 引用:

Slide 9

Slide 9 text

AI(人工知能)とは ● 人工知能 ○ 人間の知能を真似する機械 ○ 人間と区別がつかなかったらその機械は知能を持つ (チューリング博士による知能の定義) ● 最近では... 人間よりも高速に応答ができ,高度な問題も解ける! 9/119

Slide 10

Slide 10 text

再掲:ChatGPT 10/119

Slide 11

Slide 11 text

動向:系列を扱うAIはほとんどTransformer Generative Pre-trained Transformer Transformerベースのモデル 11/119

Slide 12

Slide 12 text

Transformerの位置づけ ● Transformerは近年のAIで多く利用されている計算構造 ● 特に以下の分野で利用される ○ 言語処理 ○ 系列処理 ○ 画像処理 AI ニューラルネットワーク Transformer ニューラルネットワークとは? 12/119

Slide 13

Slide 13 text

ニューラルネットワークとは?

Slide 14

Slide 14 text

そもそも AI って... Artificial Intelligence ( 人工知能 ) John McCarthy 推論 認識 学習 14/119 人間の脳の働きをコンピュータで再現 1. 人間の思考を記号・ルール化    初期に盛んに行われていた 2. 人間の脳を模倣      ニューラルネットワークの源流

Slide 15

Slide 15 text

 脳:神経細胞(ニューロン)の集合 模倣したい脳はどういう構造か... 15/119

Slide 16

Slide 16 text

模倣したい脳はどういう構造か... 16/119 ニューロン

Slide 17

Slide 17 text

模倣したい脳はどういう構造か... 17/119 多数の神経細胞から 信号が入力される

Slide 18

Slide 18 text

模倣したい脳はどういう構造か... 18/119 入力をもとにして 多数の神経細胞へ 信号を出力

Slide 19

Slide 19 text

ニューロンを数理モデル化 19/119 …

Slide 20

Slide 20 text

ニューロンを数理モデル化 20/119 … 発火の程度を決める関数 (e.g. シグモイド関数, ReLU...) 信号の重み付けを行う係数 (どの入力をどれくらい重視するか) 学習 = 入力の重みづけを調整すること

Slide 21

Slide 21 text

ニューラルネットワーク:ニューロンの組み合わせ          層を重ねてモデルを作る= 表現力を高める 21/119 …

Slide 22

Slide 22 text

最近のAIって難しそうなものが多い... Transformer Diffusion Model Vision and Language Reinforcement Learning 22/119 複雑な表現ができる計算機として扱うようになっている

Slide 23

Slide 23 text

ニューラルネットワークを数式から理解しよう 1層のシンプルなニューラルネットワークを理解してみる 前提知識 - パーセプトロンについて - 簡単な線形代数 この部分 23/119

Slide 24

Slide 24 text

 1つ目のニューロン ニューラルネットワークを数式から理解しよう 入力 j からニューロン i への重み:   24/119

Slide 25

Slide 25 text

 1つ目のニューロン ニューラルネットワークを数式から理解しよう 25/119

Slide 26

Slide 26 text

 2つ目のニューロン ニューラルネットワークを数式から理解しよう 入力 j からニューロン i への重み:   26/119

Slide 27

Slide 27 text

 2つ目のニューロン ニューラルネットワークを数式から理解しよう 27/119

Slide 28

Slide 28 text

 他も同様に行うと,最終的には... ニューラルネットワークを数式から理解しよう 28/119

Slide 29

Slide 29 text

 他も同様に行うと,最終的には... ニューラルネットワークを数式から理解しよう 出力 入力 29/119

Slide 30

Slide 30 text

 他も同様に行うと,最終的には... ニューラルネットワークを数式から理解しよう 出力 入力 1層のニューラルネットワーク = 行列 + 非線形関数 30/119

Slide 31

Slide 31 text

ニューラルネットワークを数式から理解しよう  もっと簡略化して表すと... 31/119

Slide 32

Slide 32 text

ニューラルネットワークを数式から理解しよう  複数の層を組み合わせると... ・・・ 層を重ねる = より複雑な関数を作る! 32/119

Slide 33

Slide 33 text

モデルの学習って何をするの? 学習 = 入力を変換する行列の値を調整すること 33/119

Slide 34

Slide 34 text

モデルの学習って何をするの? 学習 = 入力を変換する行列の値を調整すること 34/119 パラメータ

Slide 35

Slide 35 text

モデルの学習って何をするの? 学習 = 入力を変換する行列の値を調整すること 35/119 パラメータ 1. どのような値に調整するの? 2. どうやって調整するの?

Slide 36

Slide 36 text

どのような値に調整するの?  A. 誤差を最小化するようなパラメータ 株価 どれくらい予測値がずれたか (予測誤差) どれくらい予測を外したか (分類誤差) 画像分類 猫 犬 36/119

Slide 37

Slide 37 text

どのような値に調整するの?  A. 誤差を最小化するようなパラメータ 株価 どれくらい予測値がずれたか (予測誤差) どれくらい予測を外したか (分類誤差) 画像分類 猫 犬 二乗誤差 交差エントロピー誤差 37/119

Slide 38

Slide 38 text

どうやって調整するの?  例:平均二乗誤差を最小化したい! 38/119 誤差 = Wの関数 正解ラベル:

Slide 39

Slide 39 text

どうやって調整するの?  二乗誤差   :    行列Wの勾配 :  パラメータ更新: 39/119 ... ... Wで微分

Slide 40

Slide 40 text

まとめ 1. ニューラルネットワークとは  - 行列 + 非線形関数を多層に積み重ねたもの 2. モデルの学習とは - 行列のパラメータを調整すること  - ゴール:誤差関数を最小化する  - 方法 :勾配を使って少しずつ更新 40/119

Slide 41

Slide 41 text

付録:モデルは何を出力するの?  例:3クラス分類 (e.g. 画像  犬 or 猫 or 鳥) 41/119 0.8 0.1 0.1 「犬」の確率 「猫」の確率 「鳥」の確率

Slide 42

Slide 42 text

付録:モデルは何を出力するの?  例:3クラス分類 (e.g. 画像  犬 or 猫 or 鳥) 42/119 0.8 0.1 0.1 「犬」の確率 「猫」の確率 「鳥」の確率 1番確率が高いもの = モデルの予測

Slide 43

Slide 43 text

実践:ニューラルネットワークを動かそう

Slide 44

Slide 44 text

実践:Google colabを使います 44/119

Slide 45

Slide 45 text

実践:Google colabを使います 45/119

Slide 46

Slide 46 text

実践:Google colabを使います 46/119

Slide 47

Slide 47 text

実践:Google colabを使います 47/119

Slide 48

Slide 48 text

実践:Google colabを使います 48/119

Slide 49

Slide 49 text

実践:ニューラルネットワークを動かそう ● 数字画像を自動で分類 49/119 0-9のうち どれか?

Slide 50

Slide 50 text

Transformerとは? いざ本題

Slide 51

Slide 51 text

Transformerの言葉としての意味 Transformer: 与えられた入力を意味ある何かに変換する機構 51/119

Slide 52

Slide 52 text

すなわち,XからYに変換させる枠組み Y:私はりんごが好き X: I like apples Transformer 52/119

Slide 53

Slide 53 text

すなわち,XからYに変換させる枠組み Y:ウイルス (か否か) X: ATGCTTTTA… Transformer 53/119

Slide 54

Slide 54 text

すなわち,XからYに変換させる枠組み Y X Transformer 54/119 昨今,検討対象が何か変換する系とみなせるならば Transformerの適用を考えてみることが多い

Slide 55

Slide 55 text

すなわち,XからYに変換させる枠組み Encoder Decoder Transformer Y:私はりんごが好き X: I like apples 55/119

Slide 56

Slide 56 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples 56/119

Slide 57

Slide 57 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples ベクトルの列として表現 57/119

Slide 58

Slide 58 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 58/119

Slide 59

Slide 59 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 59/119

Slide 60

Slide 60 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 60/119

Slide 61

Slide 61 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は 61/119

Slide 62

Slide 62 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は 私は 62/119

Slide 63

Slide 63 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は 私は 63/119

Slide 64

Slide 64 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は 私は リンゴが 64/119

Slide 65

Slide 65 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は リンゴが 私は リンゴが 65/119

Slide 66

Slide 66 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は リンゴが 私は リンゴが 66/119

Slide 67

Slide 67 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は リンゴが 私は リンゴが 好き 67/119

Slide 68

Slide 68 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は リンゴが 好き 私は リンゴが 好き 68/119

Slide 69

Slide 69 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は リンゴが 好き 私は リンゴが 好き 69/119

Slide 70

Slide 70 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は リンゴが 好き 私は リンゴが 好き 70/119

Slide 71

Slide 71 text

Transformerの処理の概要:英→日翻訳の例 Encoder Transformer X: I like apples Decoder 私は リンゴが 好き 私は リンゴが 好き 変換完了! 71/119

Slide 72

Slide 72 text

TransformerのEncoderとDecoderとは? Encoder Transformer Decoder ここでは何をしている? 72/119

Slide 73

Slide 73 text

TransformerのEncoderとDecoderとは? アテンション MLP アテンション MLP データ(言葉)を数値へ変換 数値をデータ(言葉)へ変換 アテンション Transformer 73/119

Slide 74

Slide 74 text

TransformerのEncoderとDecoderとは? アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 前節で学習済み! 数値をデータ(言葉)へ変換 前節で学習済み! 前節で学習済み 74/119

Slide 75

Slide 75 text

TransformerのEncoderとDecoderとは? アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 75/119

Slide 76

Slide 76 text

Transformerの評価されている点 アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 76/119 アテンションの多用で効率的に計算可能であることを示した

Slide 77

Slide 77 text

Transformerの評価されている点 アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 77/119 アテンションの多用で効率的に計算可能であることを示した

Slide 78

Slide 78 text

で....結局アテンションとはなにか? アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 78/119 アテンションの多用で効率的に計算可能であることを示した

Slide 79

Slide 79 text

言語処理での問題意識 “空/が/明るい” 79/119 なぜアテンションが必要なのか?

Slide 80

Slide 80 text

“空/が/明るい” 0.2 0.5 0.1 0.1 0.9 0.8 0.9 0.8 80/119 AIのやりたいこと: 意味の近い言葉は ベクトル表現においても 近く設計したい =意味を数値で表現 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 81

Slide 81 text

“空/が/明るい” 0.2 0.5 0.1 0.1 0.9 0.8 0.9 0.8 81/119 AIのやりたいこと: 意味の近い言葉は ベクトル表現においても 近く設計したい =意味を数値で表現 “輝き” “眩しい” 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 82

Slide 82 text

“空/が/明るい” 0.2 0.5 0.1 0.1 0.9 0.8 0.9 0.8 82/119 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 83

Slide 83 text

“空/が/明るい” 0.2 0.5 0.1 0.1 0.9 0.8 0.9 0.8 “空/が/明るい” 0.9 0.7 0.9 0.7 83/119 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 84

Slide 84 text

“空/が/明るい” 0.2 0.5 0.1 0.1 0.9 0.8 0.9 0.8 “空/が/明るい” 0.9 0.7 0.9 0.7 84/119 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 85

Slide 85 text

“空/が/明るい” 0.2 0.5 0.1 0.1 0.9 0.8 0.9 0.8 “空/が/明るい” 0.9 0.7 0.9 0.7 “輝き” “眩しい” 85/119 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 86

Slide 86 text

“生物/に/明るい” 0.3 0.7 0.2 0.2 0.9 0.8 0.9 0.8 86/119 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 87

Slide 87 text

“生物/に/明るい” 0.3 0.7 0.2 0.2 0.9 0.8 0.9 0.8 0.4 0.3 0.4 “生物/に/明るい” 0.3 “詳しい” 87/119 “熟知” 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 88

Slide 88 text

88/119 “空/が/明るい” 0.9 0.7 0.9 0.7 “輝き” “眩しい” 0.4 0.3 0.4 “生物/に/明るい” 0.3 “詳しい” “熟知” 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 89

Slide 89 text

89/119 “空/が/明るい” 0.9 0.7 0.9 0.7 “輝き” “眩しい” 0.4 0.3 0.4 “生物/に/明るい” 0.3 “詳しい” “熟知” 同じ"語"でも文脈が違えば意味が異なる! 言語処理での問題意識 なぜアテンションが必要なのか?

Slide 90

Slide 90 text

実際にはどのように計算するのか? 90/119 0.4 0.3 0.4 “生物/に/明るい” 0.3

Slide 91

Slide 91 text

アテンションの処理 91/119 W W W 生物 に 明るい アテンション

Slide 92

Slide 92 text

アテンションの処理 92/119 W W W 生物 に 明るい アテンション 目標:周囲の情報を混ぜた 数値にしたい

Slide 93

Slide 93 text

アテンションの処理 93/119 W W W 生物 に 明るい

Slide 94

Slide 94 text

アテンションの処理 94/119 W W W 生物 に 明るい 各語句について 独立に変換 各語句について 独立に変換 各語句について 独立に変換

Slide 95

Slide 95 text

アテンションの処理 95/119 W W W 生物 に 明るい

Slide 96

Slide 96 text

アテンションの処理 96/119 W W W 生物 に 明るい

Slide 97

Slide 97 text

アテンションの処理 97/119 W W W 生物 に 明るい

Slide 98

Slide 98 text

アテンションの処理 98/119 W W W 生物 に 明るい

Slide 99

Slide 99 text

アテンションの処理 99/119 W W W 生物 に 明るい

Slide 100

Slide 100 text

アテンションの処理 100/119 W W W 生物 に 明るい 生物 に 明るい 明るい 生物 に

Slide 101

Slide 101 text

アテンションの処理 101/119 W W W 生物 に 明るい

Slide 102

Slide 102 text

アテンションの処理 1 2 3 102/119 W W W 生物 に 明るい 1 2 3

Slide 103

Slide 103 text

アテンションの処理 4 5 1 2 6 3 103/119 W W W 生物 に 明るい 1 2 3 4 5 6

Slide 104

Slide 104 text

アテンションの処理 7 8 4 5 1 2 9 6 3 104/119 W W W 生物 に 明るい 1 2 3 4 5 6 7 8 9

Slide 105

Slide 105 text

アテンションの処理 7 8 4 5 1 2 9 6 3 105/119 W W W 生物 に 明るい 1 2 3 4 5 6 7 8 9

Slide 106

Slide 106 text

アテンションの処理 106/119 W W W 生物 に 明るい

Slide 107

Slide 107 text

内積マシマシ 107/119 W W W 生物 に 明るい Qと定義 Kと定義 Vと定義

Slide 108

Slide 108 text

内積マシマシ 108/119 W W W 生物 に 明るい Qと定義 Kと定義 Vと定義

Slide 109

Slide 109 text

アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 109/119 Enocderでのアテンション

Slide 110

Slide 110 text

アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 110/119 Decoderでのアテンション

Slide 111

Slide 111 text

Enocderの出力とのアテンション アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 111/119

Slide 112

Slide 112 text

Transformerは入力の全体の関係性を効率的に計算 アテンション MLP アテンション MLP データ(言葉)を数値へ変換 アテンション Transformer 数値をデータ(言葉)へ変換 112/119

Slide 113

Slide 113 text

Transformerのまとめ ● Transformerは汎用的なデータの変換器である ● Transformerはアテンションを用いて効率的計算を実証 ● 余力がある方へ ○ 大規模言語モデルは新たな知能か(書籍,岩波科学ライブラリ,読み物として◎) https://www.iwanami.co.jp/book/b625941.html ○ 東京大学工学部電子情報工学科・電気電子工学科の3年生向け後期実験 「大規模言語モデル演習」(授業資料,よりテクニカルな話題を扱う) https://eeic-llm.github.io/2025/index.html ○ 原論文から解き明かす生成AI (書籍,技術評論社,Transformerの数理を詳説) https://gihyo.jp/book/2025/978-4-297-15078-5 113/119

Slide 114

Slide 114 text

実践:Transformerを動かそう

Slide 115

Slide 115 text

実践:Transformerを動かそう(1/2) ● Transformerで映画レビューのポジティブ・ネガティブ分類 ● 文章の感情分析 115/119 ポジティブなレビュー👍 ネガティブなレビュー👎

Slide 116

Slide 116 text

実践:Transformerを動かそう(1/2) ● Transformerで映画レビューのポジティブ・ネガティブ分類 ● 文章の感情分析 116/119 Encoder (符号化) I like this moveie because Pos. / Neg.?

Slide 117

Slide 117 text

実践:Transformerを動かそう(1/2) ● Transformerで映画レビューのポジティブ・ネガティブ分類 ● 文章の感情分析 117/119 Encoder (符号化) I like this moveie because Pos. / Neg.? クラス トークン

Slide 118

Slide 118 text

実践:Transformerを動かそう(1/2) ● Transformerで映画レビューのポジティブ・ネガティブ分類 ● 文章の感情分析 118/119 Encoder (符号化) I like this moveie because Pos. / Neg.? クラス トークン 新しい語を追加 では実際に動かしてみましょう

Slide 119

Slide 119 text

実践:Transformerを動かそう(2/2) ● DNAがウイルスか否かを判別 119/119 300 Encoder T ウイルス? G T T T A A G C T