Slide 1

Slide 1 text

情報工学科 教授 杉浦孔明 [email protected] 慶應義塾大学理工学部 機械学習基礎 第4回 順伝播型ニューラルネット

Slide 2

Slide 2 text

本講義の到達目標と今回の授業の狙い - - 2 本講義の到達目標 ■ DNNの基礎理論と実装の関係を理解する ■ 種々のDNNをコーディングできる 今回の授業の狙い ■ 順伝播型ニューラルネットの基礎を習得する ■ 出席確認: K-LMS上の機械学習基礎のMainページへアクセス

Slide 3

Slide 3 text

順伝播型ニューラルネット - - 3

Slide 4

Slide 4 text

線形回帰 1入力1出力の場合 - - 4 ■ 前回扱った線形モデル 図で書くと↓ 入力 (input) 出力 (output) 常に値が1である ノード

Slide 5

Slide 5 text

線形回帰 2入力1出力の場合 - - 5 ■ 前回扱った線形モデル 図で書くと↓ ■ 2次元の入力 入力 出力 重み(weight) バイアス(bias) 入力 (input) 出力 (output) 常に値が1である ノード

Slide 6

Slide 6 text

基本的なニューラルネット ユニットとは - - 6 ■ ユニット ■ 2次元の入力 重み(weight) バイアス(bias) 入力 出力

Slide 7

Slide 7 text

基本的なニューラルネット 活性化関数とは - - 7 ■ ユニット 重み バイアス ■ 活性化関数(activation function) ■ 非線形変換を行う ■ 以下の赤や青のような関数 例 パラメータ

Slide 8

Slide 8 text

基本的なニューラルネット 複数のユニットを持つ場合 - - 8 ■ ユニット ■ ユニットが2つの場合

Slide 9

Slide 9 text

- 9 - ■ ユニットが2つの場合 基本的なニューラルネット 入出力関係の行列表現 - - 9 行列表現 に1が入っているものと考えて、 バイアスを陽に書かない まとめて書く

Slide 10

Slide 10 text

基本的なニューラルネット 3層ニューラルネット - - 10 行列表現 ■ 3層ニューラルネット 入力層 出力層 中間層 に1が入っているものと考えて、 バイアスを陽に書かない

Slide 11

Slide 11 text

基本的なニューラルネット 中間層とは - - 11 ■ 中間層(隠れ層, hidden layer) ■ :1つ目の中間層への重み ■ :1つ目の中間層の活性化 関数 ■ は出力層に関するもの ■ 3層ニューラルネット 入力層 出力層 中間層

Slide 12

Slide 12 text

順伝播型ニューラルネット - - 12 ■ 順伝播型ニューラルネット(feed-forward neural network; FFNN) 入力層 出力層 中間層(L-1個) 一般化すると

Slide 13

Slide 13 text

活性化関数の例 - - 13 ■ 正規化線形関数 (ReLU) ■ 「レル」と発音 ■ ロジスティックシグモ イド関数  ステップ関数 口語ではシグモイド関数と呼ばれるが、シグモイド 関数とは本来S字関数(tanhなどを含む)を意味する

Slide 14

Slide 14 text

ニューラルネットによる回帰 例題:大気汚染物質の濃度を予測したい - - 14 ■ 観測データを集める 1. 訓練集合を構築する 2. 損失関数を最小化するパラメー タを反復的に求める 重みやバイアスをまとめたもの ID 濃度 (今) 風速 (今) 濃度 (未来) 1 5 2.0 4 2 7 1.2 5 3 10 1.6 11 … … … 999 10 1.8 10 1000 9 2.6 10 新規 8 1.8 ???

Slide 15

Slide 15 text

ニューラルネットによる2値分類 例題 - - 15 ■ 画像を「かぼちゃ」か 「かぼちゃ以外」に分けたい ■ 正解ラベルは1または0 ■ を予測するのではなく、 を予測する 入力された画像に対し、 予測ラベルが1である 確率の予測値 ラベル:1 ラベル:0

Slide 16

Slide 16 text

ロジスティック回帰との関係 - - 16 ロジスティック回帰 (logistic regression): ロジット(logit)uをxの線形関数と してモデル化

Slide 17

Slide 17 text

ロジスティック回帰との関係 - - 17 ロジスティック回帰 (logistic regression): ロジット(logit)uをxの線形関数と してモデル化 用語 ■ pの例:画像xが「かぼちゃ」である 確率の予測値 ■ オッズ ■ pのロジット 対数オッズとも呼ばれる

Slide 18

Slide 18 text

ロジスティック回帰との関係 - - 18 ロジスティックシグモイド関数に よるuの変換を考える 用語 ■ pの例:画像xが「かぼちゃ」である 確率の予測値 ■ オッズ ■ pのロジット xが「かぼちゃ」である確率を予測する 簡単なニューラルネットと等価

Slide 19

Slide 19 text

多クラス分類 例題:MNIST - - 19 ■ 手書き数字のデータセット ■ 深層学習分野でMNISTを 知らない人はいないはず ■ 28×28ピクセル画像 ■ 訓練集合:6万枚 テスト集合:1万枚 ■ 1-of-K表現 ■ 特定の次元のみ1であり、残 りの次元は0 ■ テキスト処理において単語を 表現する方法でもある ■ Zero: (1, 0, 0, 0, 0, 0, 0, 0, 0, 0) ■ One: (0, 1, 0, 0, 0, 0, 0, 0, 0, 0) ■ Two: (0, 0, 1, 0, 0, 0, 0, 0, 0, 0)

Slide 20

Slide 20 text

3層ニューラルネットによる多クラス分類 回帰と分類の違い - - 20 ■ 3層ニューラルネット(再) ■ 分類 ■ 出力例 (0.8, 0.1, 0.1, 0, 0, 0, 0, 0, 0, 0) 入力層 出力層 中間層

Slide 21

Slide 21 text

3層ニューラルネットによる多クラス分類 ソフトマックス関数とは - - 21 ■ ソフトマックス関数(softmax function) ■ の例 ■ 分類 指数関数で変換したのち、 規格化している

Slide 22

Slide 22 text

3層ニューラルネットによる多クラス分類 交差エントロピー誤差関数とは - - 22 ■ 情報理論における離散分布 間の交差エントロピー ■ 交差エントロピー誤差関数 (cross-entropy error function) 正解ラベル は固定値なので 確率で表す必要がない (普通の)エントロピー サンプル番号 のラベルの 次元目の値 (クラスkであれば1であり、そうでなければ0)

Slide 23

Slide 23 text

3層ニューラルネットによる多クラス分類 2値分類の場合の交差エントロピー誤差関数 - - 23 ■ クラス ■ 2クラス( =2) サンプル番号 のラベル(1または0) 高校数学で言うと 余事象の考え方

Slide 24

Slide 24 text

理解度確認 - - 24

Slide 25

Slide 25 text

理解度確認 以下について周りと相談して1分以内に答えよ - - 25 1. 訓練集合とテスト集合の違いは何か? 2. 訓練集合と訓練サンプルの違いは何か? 3. ミニバッチ確率的勾配降下法の英語名は何か? 4. 損失関数の例を挙げよ。 ※LLMに聞いても良いが、ハルシネーションの場合に「LLMが誤った (のであって自分は悪くない)」という回答は不適切 =検証が必要

Slide 26

Slide 26 text

交差エントロピー誤差関数 と最尤推定 - - 26

Slide 27

Slide 27 text

ベルヌーイ分布(Bernoulli distribution) - - 27 ひしゃげたコインの分布 ■ ■ 2値をとる実現値 を生成するための確率分布 ■ 1個のパラメータ(母数) によって分布の 性質が決まる 例: のとき ■ 期待値: ■ 分散: ■ 同時確率 べき乗で場合分けを 表現するトリック が1の確率 が0の確率

Slide 28

Slide 28 text

最尤推定 - - 28 ■ 観測値 の同時確率 を最大化したい ■ サンプルは母集団から独立同分布 で抽出されたものとする (i.i.d.; independent and identically distributed)

Slide 29

Slide 29 text

尤度とは - - 29 ■ 観測値 の同時確率 を最大化したい ■ サンプルは母集団から独立同分布 で抽出されたものとする (i.i.d.; independent and identically distributed) ■ 「 が既知で、 が未知」 から 「 が既知で、 が未知」に 見方を変える ■ 尤度(likelihood, ゆうど) ■ データが与えられたうえでの モデルの尤もらしさ ■ 規格化(=足して1)されて いないので確率ではない

Slide 30

Slide 30 text

交差エントロピー誤差の最小化は尤度最大化を意味する - - 30 ■ 2値分類の場合の尤度関数 ■ 尤度最大化 =対数尤度最大化 =負の対数尤度最小化 損失関数として最小化 ■ 「 が既知で、 が未知」 から 「 が既知で、 が未知」に 見方を変える ■ 尤度(likelihood, ゆうど): ■ データが与えられたうえでの モデルの尤もらしさ ■ 規格化(=足して1)されて いないので確率ではない

Slide 31

Slide 31 text

交差エントロピー誤差の最小化は尤度最大化を意味する - - 31 ■ 2値分類の場合の尤度関数 ■ 尤度最大化 =対数尤度最大化 =負の対数尤度最小化 損失関数として最小化 ↑交差エントロピー誤差 確率のように小さい数を何度も 掛け合わせるより、対数をとって 足し算にしたほうが楽

Slide 32

Slide 32 text

本講義全体の参考図書 - - 32 ■ ★機械学習スタートアップシリーズ これならわかる深層学習入門 瀧雅人著 講談社 ■ ★Dive into Deep Learning (https://d2l.ai/) ■ 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ) 岡谷貴之著 講談社 ■ ディープラーニングを支える技術 岡野原大輔著 技術評論社 ■ 画像認識 (機械学習プロフェッショナルシリーズ) 原田達也著 講談社 ■ 深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) 坪井祐太、海野裕也、 鈴木潤 著、講談社 ■ IT Text 自然言語処理の基礎 岡﨑直観、荒瀬由紀、鈴木潤、鶴岡慶雅、宮尾祐介 著、オー ム社 ■ 東京大学工学教程 情報工学 機械学習 中川 裕志著、東京大学工学教程編纂委員会編 丸善 出版 ■ パターン認識と機械学習 上・下 C.M. ビショップ著 丸善出版 ■ Bishop, Christopher M. and Bishop, Hugh, "Deep Learning: Foundations and Concepts", Springer, ISBN-13:978-3031454677

Slide 33

Slide 33 text

小レポート①の準備 - - 33

Slide 34

Slide 34 text

小レポート①の準備 - - 34 ■ Kaggleとは ■ 機械学習コンペを開催するプラットフォーム ■ 次回講義までの宿題 ■ 「Kaggleへのユーザ登録」を行ってください ■ 次回講義で行うこと ■ 小レポート①の内容・締切の説明

Slide 35

Slide 35 text

ユーザ登録(1/4) - - 35 ① 以下へアクセス https://www.kaggle.com/ ② Googleアカウント等でログイン [email protected]

Slide 36

Slide 36 text

ユーザ登録(2/4) - - 36 後で変更不可 後で変更可 公開されるので、 プライバシーに配慮 ③ ユーザ名・表示名を入力

Slide 37

Slide 37 text

ユーザ登録(3/4) - - 37 ④アカウントの「Settings」を開く

Slide 38

Slide 38 text

ユーザ登録(4/4) - - 38 ⑤コンペ参加するために電話番号 で認証(課題提出に必要) ⑥以下を入力すると、認証コード がSMSで送られてくる 電話番号

Slide 39

Slide 39 text

実習 - - 39

Slide 40

Slide 40 text

実習 MNISTへの3層ニューラルネットの適用 - - 40 ■ ニューラルネットの出力:10次元 ■ 10次元の出力のうち、最大のものを予測ラベルとする ■ 損失関数:交差エントロピー誤差関数 ■ ミニバッチSGDで反復的に損失を最小化 ■ 理工学基礎実験との違いは、コーディングが多いJ科向けか否か ■ 理工学基礎実験: 視覚的にわかりやすいが自由度は低いコード ■ 機械学習基礎: 各自が改変しやすいように不要な関数を削除

Slide 41

Slide 41 text

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