Slide 1

Slide 1 text

情報工学科 教授 杉浦孔明 [email protected] 慶應義塾大学理工学部 機械学習基礎 第3回 機械学習の基礎(2):基礎的概念

Slide 2

Slide 2 text

本講義の到達目標と今回の授業の狙い - - 2 本講義の到達目標 ■ DNNの基礎理論と実装の関係を理解する ■ 種々のDNNをコーディングできる 今回の授業の狙い ■ 関連分野の歴史 ■ 具体例を用いた基礎的概念の習得 ■ 出席確認: K-LMS上の機械学習基礎のMainページへアクセス

Slide 3

Slide 3 text

機械学習関連分野の歴史 本講義の資料は電気情報工学科 村田先生と共同作成しています - - 3

Slide 4

Slide 4 text

分野の関係(再) - - 4 ■ 線形代数 ■ 微分積分学 ■ 確率論 ■ その他の理論 深層ニューラルネット (Deep Neural Network; DNN) 人工知能(AI)分野 機械学習 ニューラルネット それ以外のアプローチ(ルールベース等)

Slide 5

Slide 5 text

簡単な歴史① 1800年頃 ガウスやルジャンドルらが最小二乗法を発明 「なぜ4乗や6乗でなく2乗なのか」をガウス分布で説明 1958年 パーセプトロン発表 [Rosenblatt 1958] 第1次AIブーム

Slide 6

Slide 6 text

簡単な歴史② 1800年頃 ガウスやルジャンドルらが最小二乗法を発明 「なぜ4乗や6乗でなく2乗なのか」をガウス分布で説明 1958年 パーセプトロン発表 [Rosenblatt 1958] 第1次AIブーム 1960年代後半 冬の時代(パーセプトロンで解けない問題が示された) 1986年 誤差逆伝播法 [Rumelhart+ 1986] ※実際には60年代から存在 1989年頃 普遍近似定理 [Cybenko 1989] 十分なノード数があれば3層のニューラルネットで任意の連続関数 を近似可能 1990年代後半 冬の時代(応用へのつながりが弱かった)

Slide 7

Slide 7 text

ニューラルネットの低迷 2003年に発表された論文 [Simard+ 2003] のイントロ 「1990年代前半まではニューラルネットは広く研究されていたが、最近 5年間、見向きされなくなった。 2000年には、Neural Information Processing System(NIPS)のオーガナイザが、論文タイトルに 「ニューラルネットワーク」という語を含む場合、採択率と負の相関が あることを指摘した。」

Slide 8

Slide 8 text

簡単な歴史③ 2006年 Hintonらが深層学習を提唱 [Hinton+ 2006] 学術会議等で徐々に浸透するものの、広まりは緩やか 「3層ニューラルネットで十分では?」と思われていた 2012年 深層ニューラルネットが画像認識コンペILSVRCにおいて優勝し注 目される(ImageNetデータセット) 第3次AIブーム 一般応用が爆発的に増加 深層学習 人間による誤り率 =0.051 誤り率 [Park+ 2017] ImageNetの画像例 [Fei-Fei Li+ 2013]

Slide 9

Slide 9 text

簡単な歴史③ 2006年 Hintonらが深層学習を提唱 [Hinton+ 2006] 学術会議等で徐々に浸透するものの、広まりは緩やか 「3層ニューラルネットで十分では?」と思われていた 2012年 深層ニューラルネットが画像認識コンペILSVRCにおいて優勝し注 目される(ImageNetデータセット) 第3次AIブーム 一般応用が爆発的に増加 2022年 Text-to-imageや大規模言語モデル等の生成AIが一般に普及 2024年 Hopfield, Hintonがノーベル物理学賞受賞 Hassabisらがノーベル化学賞受賞(蛋白質構造解析へのAI応用)

Slide 10

Slide 10 text

甘利俊一先生と福島邦彦先生 - - 10 甘利俊一先生 ■ 多層パーセプトロンの 確率的勾配降下法 [Amari 1967] ■ Rumelhartら [Rumelhart+ 1986] が 誤差逆伝播法(backpropagation) として再発見 福島邦彦先生 ■ ネオコグニトロン [福島 1979] ■ LeCunら [LeCun+ 1989] による 畳み込みニューラルネットワーク (convolutional neural network, CNN)の発想の元 https://dbnst.nii.ac.jp/upload/images/research/498/pro /e71b520310ea4230ee0028e3058e9a5d/fig0825std.png

Slide 11

Slide 11 text

深層学習研究におけるキーパーソン - - 11 ノーベル物理学賞 (2024) Geoffrey Hinton @ Toronto Univ. 誤差逆伝播法,ボルツマンマシン, 指導学生であるAlex Krizhevsky, Ilya Sutskever (OpenAI創業者)と AlexNetを提案 Yann LeCun @ New York Univ. & Meta CNN,誤差逆伝播法の改善, NN研究の様々な基礎概念の提案 等 Yoshua Bengio @ Univ. of Montreal 系列データの確率モデリング, Neural Machine Translation, 敵対的生成ネットワーク 等

Slide 12

Slide 12 text

機械学習の基礎 - - 12

Slide 13

Slide 13 text

機械学習とは - - 13 ニューラルネットワーク等の数理モデルを用いてデータに潜む パターンに基づき予測/分類を行う技術 訓練データ (既知) モデル 学習 学習済モデル

Slide 14

Slide 14 text

機械学習とは - - 14 ニューラルネットワーク等の数理モデルを用いてデータに潜む パターンに基づき予測/分類を行う技術 学習済モデル テストデータ (未知) 分類 「犬」

Slide 15

Slide 15 text

機械学習の主要要素: データ・モデル・目的関数を定めたうえでの最適化問題 - - 15 学習に使用されるデータ ニューラルネット等のモデル モデルの良さを定量化する目的関数 目的関数を最大化/最小化するため に、モデルのパラメータを調整する 最適化

Slide 16

Slide 16 text

機械学習のサブ分野 - - 16 教師あり学習(supervised learning) ■ 入力ベクトル と目標ベクトル のペア を用いて学習 教師なし学習(unsupervised learning) ■ 入力ベクトル を用いて学習 強化学習(reinforcement learning) ■ 状態 において、エージェントの行動 によって得られる報酬 を用いて学習 機械学習 教師あり 学習 教師なし 学習 強化学習 ※この分け方は分野全体を カバーしたものではなく、 複合した問題設定もある

Slide 17

Slide 17 text

教師あり学習の代表的タスク: 回帰・分類 - - 17 回帰(regression) ■ が量的変数の場合 例:気温から来場者数を予測 ■ 線形回帰(右図)/ ニューラルネットワーク 等 分類(classification) ■ が質的変数の場合 例:与えられた画像が猫・犬・鳥のどれかを判断する ■ ロジスティック回帰(右図)/ ソフトマックス回帰 / ニューラルネットワーク 等 ■ 分類にも関わらず「〜回帰」と呼ばれることに注意! =0 =1 数や量の大小を表す 種類や有無を表す

Slide 18

Slide 18 text

教師なし学習の代表的タスク: クラスタリング・次元削減 - - 18 クラスタリング(clustering) ■ 入力 を 個の集合に分ける ■ k平均法(k-means clustering)/ 階層クラスタリング(hierarchical clustering)等 次元削減(dimensionality reduction) ■ 高次元の入力 を低次元のデータ に次元削減 ■ 主成分分析(principal component analysis; PCA)/ t-SNE / 自己符号化器(autoencoder)等 =2 ラベルなしデータ ニューラルネットワーク の学習後の内部表現解析 等でよく用いられる https://www.deeplearningitalia.com/wp- content/uploads/2017/10/SNE-MNIST-1.png : 28×28次元 : 2次元

Slide 19

Slide 19 text

強化学習 - - 19 ■ 状態 において、エージェントの行動 によって得られる報酬 を用いて学習 ■ 応用例:ボードゲーム、ロボットの 単純な行動 ■ Q学習 / REINFORCE / Deep Q-network等 ■ 動的計画法、最適制御理論、能動学習との 関係が深い -20 -1 -1 -1 +10 状態 :左上マス 行動 :右へ進む 報酬 :-20

Slide 20

Slide 20 text

例題による用語説明 - - 20

Slide 21

Slide 21 text

例題:教室のCO2濃度を予測したい 線形回帰 - - 21 風速とCO2濃度の記録 ※数値は適当です ■ 「風が強ければ濃度が下がる」 と考えたので線形モデルを使う (↑強引) パラメータ ■ :予測値(prediction) ■ :真値(ground truth) ID 風速 濃度 1 2.0 685 2 1.2 790 3 1.8 733 … … … 1000 1.6 743 1001 1.8 740 1002 2.6 677 データ ←目標変数 と同義

Slide 22

Slide 22 text

例題:教室のCO2濃度を予測したい 最小二乗法 - - 22 CO2濃度を予測したい ↓ が の良い近似になるように、 パラメータを設定したい ■ 「風が強ければ濃度が下がる」 と考えたので線形モデルを使う (↑強引) パラメータ ■ :予測値(prediction) ■ :真値(ground truth) 絶対値でも良いが最小二乗法(least squares method)を習った ←目標変数 と同義

Slide 23

Slide 23 text

例題:教室のCO2濃度を予測したい 訓練集合とテスト集合 - - 23 CO2濃度を予測したい ↓ が の良い近似になるように、 パラメータを設定したい 新規サンプルについて予測したい ID 風速 濃度 1 2.0 685 2 1.2 790 3 1.8 733 … … … 1000 1.6 743 1001 1.8 740 1002 2.6 677 パラメータ推定 に使うサンプル 集合 新規サンプルと みなす(=濃度は 知らなかったもの とする) 絶対値でも良いが最小二乗法(least squares method)を習った

Slide 24

Slide 24 text

例題:教室のCO2濃度を予測したい 学習とは - - 24 ■ 訓練集合(training set) ■ から写像 を求める =訓練(training)または学習 (learning) ■ テスト集合(test set) を用いて真値と予測値の誤差を 評価 新規サンプルについて予測したい ID 風速 濃度 1 2.0 685 2 1.2 790 3 1.8 733 … … … 1000 1.6 743 1001 1.8 740 1002 2.6 677 パラメータ推定 に使うサンプル 集合 新規サンプルと みなす(=濃度は 知らなかったもの とする) 1個分を訓練サンプルと呼ぶ

Slide 25

Slide 25 text

例題:教室のCO2濃度を予測したい 損失関数 - - 25 ■ 訓練集合(training set) ■ から写像 を求める =訓練(training)または学習 (learning) ■ テスト集合(test set) を用いて真値と予測値の誤差を 評価 損失関数(loss function) or 誤差関数(error function) or コスト関数(cost function) or 目的関数(objective function) と呼ばれる 1個分を訓練サンプルと呼ぶ

Slide 26

Slide 26 text

例題:教室のCO2濃度を予測したい 損失関数を最小化するパラメータとは - - 26 に関する2次式なので最小値 のときに偏微分が0になる

Slide 27

Slide 27 text

例題:教室のCO2濃度を予測したい 正規方程式 - - 27 ■ 正規方程式(normal equation)

Slide 28

Slide 28 text

例題:教室のCO2濃度を予測したい パラメータの最適化 - - 28 ■ 正規方程式(normal equation) →最適値 が求まるので、新しい から を予測可能 最適値には (スター)をつける 新規の風速情報から CO2濃度が予測可能になった (実際はもっと複雑)

Slide 29

Slide 29 text

例題:教室のCO2濃度を予測したい テスト集合を用いた性能評価 - - 29 ■ 得られた の良さを知る には、テストセット誤差を評価 ■ 平均二乗平方根誤差(root- mean-square error; RMSE) 他の尺度:平均二乗誤差等 複数の機械学習手法を 性能比較できる ID 風速 濃度 1 2.0 685 2 1.2 790 3 1.8 733 … … … 1000 1.6 743 1001 1.8 740 1002 2.6 677 パラメータ推定 に使うサンプル 集合 学習に使わなかった ことで、性能評価に 使えるようになった

Slide 30

Slide 30 text

単純なモデルの学習からDNNの学習へ - - 30 ■ ここまで紹介した話 ■ 単純なモデル ■ データが少ない →解析的に損失関数を最小化可能 例 ※以下の多項式曲線フィッティング問題では、損失関数を 最小化する係数 は解析的に求まる

Slide 31

Slide 31 text

単純なモデルの学習からDNNの学習へ - - 31 ■ ここまで紹介した話 ■ 単純なモデル ■ データが少ない →解析的に損失関数を最小化可能 ■ 深層学習の実応用 ■ 複雑なモデル ■ データが多い →解析的な損失関数最小化が困難 →反復的に損失関数を最小化 今回簡単に紹介し、今後の講義で 深堀りする 例 ※以下の多項式曲線フィッティング問題では、損失関数を 最小化する係数 は解析的に求まる

Slide 32

Slide 32 text

勾配降下法:誤差に応じてパラメータを更新する - - 32 が1次元の場合 が2次元の場合 最小値

Slide 33

Slide 33 text

- - 33

Slide 34

Slide 34 text

勾配降下法の数式表現: 線形ユニットの場合 - - 34 1. 初期値を設定 2. 現在の を用いて勾配の値を計算し、 を更新 3. 2を繰り返す 学習率:一度の更新幅を小さくする(例:0.02) 例: 理工学基礎実験「ニューラルネットワーク」で 実際に手計算してもらいます

Slide 35

Slide 35 text

バッチ学習とミニバッチ学習 - - 35 ■ バッチ学習(batch learning) ■ 1回の更新に訓練集合全部を 使用 ■ 訓練集合 ■ ミニバッチ学習 (mini-batch learning) ■ 1回の更新に訓練集合の一部 (ミニバッチ )を使用 2.0 685 1.2 790 1.8 733 … … … … … … … … 1.6 743 → 1回目の更新 → 2回目の更新 → K回目の更新 …

Slide 36

Slide 36 text

ミニバッチ確率的勾配降下法(ミニバッチSGD) minibatch stochastic gradient descent - - 36 ①パラメータに初期値 を設定:ランダムや固定値等 ※口語では「SGD」が「ミニバッチSGD」を 指すことが多いので注意。本来は、ミニバッ チが1サンプルのみのときを「SGD」と呼ぶ。

Slide 37

Slide 37 text

ミニバッチ確率的勾配降下法(ミニバッチSGD) minibatch stochastic gradient descent - - 37 ①パラメータに初期値 を設定:ランダムや固定値等 ②ランダムに訓練集合の一部を選 び、平均の損失の勾配を計算 ※口語では「SGD」が「ミニバッチSGD」を 指すことが多いので注意。本来は、ミニバッ チが1サンプルのみのときを「SGD」と呼ぶ。 右肩のカッコつき の数字は更新回数 を表す

Slide 38

Slide 38 text

③パラメータを更新 (二乗誤差の場合) ミニバッチ確率的勾配降下法(ミニバッチSGD) minibatch stochastic gradient descent - - 38 ②ランダムに訓練集合の一部を選 び、平均の損失の勾配を計算 学習率(learning rate) 右肩のカッコつき の数字は更新回数 を表す

Slide 39

Slide 39 text

④手順②③を繰り返す →実習で試してみよ ミニバッチ確率的勾配降下法(ミニバッチSGD) minibatch stochastic gradient descent - - 39 ③パラメータを更新 (二乗誤差の場合) 学習率(learning rate)

Slide 40

Slide 40 text

本講義全体の参考図書 - - 40 ■ ★機械学習スタートアップシリーズ これならわかる深層学習入門 瀧雅人著 講談 社(本講義では、異なる表記を用いることがあるので注意) ■ ★Dive into Deep Learning (https://d2l.ai/) ■ 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ) 岡谷貴之著 講談社 ■ ディープラーニングを支える技術 岡野原大輔著 技術評論社 ■ 画像認識 (機械学習プロフェッショナルシリーズ) 原田達也著 講談社 ■ 深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) 坪井祐太、 海野裕也、鈴木潤 著、講談社 ■ 東京大学工学教程 情報工学 機械学習 中川 裕志著、東京大学工学教程編纂委員会 編 丸善出版 ■ パターン認識と機械学習 上・下 C.M. ビショップ著 丸善出版

Slide 41

Slide 41 text

参考文献 - - 41 1. 金谷 健一, これなら分かる最適化数学―基礎原理から計算手法まで, 共立出版, 2005. 2. Abdulle, A., & Wanner, G. (2002). 200 years of least squares method. Elemente der Mathematik, 57(2), 45-60. 3. Rosenblatt, Frank. "The perceptron: a probabilistic model for information storage and organization in the brain." Psychological review 65.6 (1958): 386. 4. Rumelhart, David E., Geoffrey E. Hinton, and Ronald J. Williams. "Learning representations by back-propagating errors." nature 323.6088 (1986): 533-536. 5. Cybenko, George. "Approximation by superpositions of a sigmoidal function." Mathematics of control, signals and systems 2.4 (1989): 303-314. 6. Hinton, Geoffrey E., Simon Osindero, and Yee-Whye Teh. "A fast learning algorithm for deep belief nets." Neural computation 18.7 (2006): 1527-1554.

Slide 42

Slide 42 text

実習 - - 42

Slide 43

Slide 43 text

【復習】テンソル: スカラー、ベクトル、行列等を一般化した概念 - - 43 ■ 0階のテンソル(スカラー)、1階のテンソル(ベクトル)、2階のテ ンソル(行列)、3階のテンソル(3次元配列)、… ■ プログラミング言語における多次元配列と同じ概念 ■ X[i, j, k]: (i, j, k)番目の要素にアクセス ■ 例1:28x28のグレースケール画像 ■ shape = (28, 28) ■ 例2:例1を8枚集めて作ったミニバッチ ■ shape = (8, 28, 28) ※3階のテンソル ■ X[0, 0, 0]で最初のサンプルの(0, 0)要素にアクセス

Slide 44

Slide 44 text

実習 - - 44 実習の目的 ■ コーディングと基礎理論の関係を学ぶ 実習課題の場所 ■ K-LMSから辿る 実習に関する質問 ■ ChatGPTに説明させる ■ 教科書で調べる・検索・周囲と相談(私語禁止ではありません) ■ 上記で解消しなければ挙手

Slide 45

Slide 45 text

付録 - - 45

Slide 46

Slide 46 text

ミニバッチの作成方法の例 - - 46 濃度 (今) 風速 (今) 濃度 (未来) 5 2.0 4 7 1.2 5 10 1.6 11 … … … 10 1.8 10 9 2.6 10 8 1.8 6 ※これ以外の作成方法でも良い

Slide 47

Slide 47 text

ミニバッチの作成方法の例 - - 47 濃度 (今) 風速 (今) 濃度 (未来) 8 1.8 6 10 1.8 10 7 1.2 5 … … … 5 2.0 4 10 1.6 11 9 2.6 10 シャッフル ※これ以外の作成方法でも良い

Slide 48

Slide 48 text

ミニバッチの作成方法の例 - - 48 濃度 (今) 風速 (今) 濃度 (未来) 8 1.8 6 10 1.8 10 7 1.2 5 … … … 5 2.0 4 10 1.6 11 9 2.6 10 → 1回目の更新 → 2回目の更新 → K回目の更新 ※これ以外の作成方法でも良い … エポック (epoch) エポック毎に再シャッフル 訓練誤差 1 2 3 エポック …

Slide 49

Slide 49 text

ミニバッチの作成方法の例 - - 49 濃度 (今) 風速 (今) 濃度 (未来) 9 2.6 10 5 2.0 4 10 1.8 10 … … … 8 1.8 6 7 1.2 5 10 1.6 11 → 1回目の更新 → 2回目の更新 → K回目の更新 ※これ以外の作成方法でも良い … エポック (epoch) エポック毎に再シャッフル 訓練誤差 1 2 3 エポック …

Slide 50

Slide 50 text

ミニバッチの作成方法の例 - - 50 濃度 (今) 風速 (今) 濃度 (未来) 10 1.6 11 5 2.0 4 8 1.8 6 … … … 7 1.2 5 10 1.8 10 9 2.6 10 → 1回目の更新 → 2回目の更新 → K回目の更新 ※これ以外の作成方法でも良い … エポック (epoch) エポック毎に再シャッフル エポック 訓練誤差 1 2 3 …

Slide 51

Slide 51 text

Typical metrics for regression - - 51 ■ Mean squared error ■ Root mean squared error ■ Mean absolute error ■ Predicted value is with hat /予 測値にはハットをつける  ■ Target is without hat / 真値には ハットをつけない 