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

Keio Univ: Intro to ML 2021-01

Keio Univ: Intro to ML 2021-01

Transcript

  1. 情報工学科 准教授 杉浦孔明 Email: komei.sugiura@keio.jp Slack: 1_sugiura.komei 慶應義塾大学理工学部 機械学習基礎 第1回

  2. 講義の目的と形式  深層ニューラルネット(deep neural network; DNN)を題材として、 機械学習の基礎理論を学ぶ  到達目標 

    DNNの基礎理論と実装の関係を理解する  種々のDNNをコーディングできる  形式  座学(前半60分)+実習(後半30分) - - 4 深層学習 (deep learning) を学ぶ 一言で言うと、
  3. 成績  中間発表  グループワーク  2週間前に内容発表  最終発表 

    グループワーク  2週間前に内容発表  知識を問うテストまたはレポート  試験形態は今後アナウンス(大学の方針と履修者数に依存)  任意提出のボーナス課題を予定 - - 5
  4. 機械学習の基礎 - - 6

  5. 代表的な機械学習応用 - - 7  一般物体認識、姿勢推定、画像生成  音声認識・合成、機械翻訳、対話  創薬、セキュリティ、天文学、漁業、…

    https://www.whichfaceisreal.com/ https://github.com/facebookresearch/detectron2 VoiceTra 合成音声
  6. アンケート: 以下について、自由に答えてください  同じ応用タスク(機械翻訳、顔画像生成、…)に対し、様々な手法が あることは珍しくない  「手法Aは手法Bより性能が良い/悪い」とユーザとして思うことがあ るが、どうしてそう思うのか?良い・悪いの違いは何か? - -

    8
  7. 分野の関係  線形代数  微分積分学  確率論  その他の理論 -

    - 9 深層ニューラルネット (Deep Neural Networks; DNN) 人工知能(AI)分野 機械学習 ニューラルネット それ以外のアプローチ(ルールベース等)
  8. なぜ機械学習を用いるのか?  あるツイートがポジティブな意味かネガティブな意味か判定したい  画像に写った人物の姿勢を推定したい  音声を文字に書き起こしたい  … →パターンが多様なので、人手でルール化するのは困難

     仮にルールをプログラムできたとしても、新しい例外が見つかるたび にルールが増え、破綻する  (逆にルール化可能な問題を解きたければ機械学習を用いる必要は ない) - - 10
  9. 次スライドから復習と用語定義を行う  情報工学科2年春学期「応用数学」を復習しつつ、用語を定義する  用語定義は機械学習の論文を読むための必須知識  (上級者向け)なぜ単純な例(線形回帰)からスタートするのか?  のように多段にすれば、単純なニューラルネット とほぼ同等

    - - 11
  10. 風速とCO2濃度の記録 ※数値は適当です  「風が強ければ濃度が下がる」 と考えたので線形モデルを使う (↑強引) パラメータ  予測値にはハットをつける: 

    真値にはハットをつけない: 例題:教室のCO2濃度を予測したい 線形回帰 - - 12 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
  11. CO2濃度を予測したい ↓ が の良い近似になるように、 パラメータを設定したい 例題:教室のCO2濃度を予測したい 最小二乗法 - - 13

    絶対値でも良いが最小二乗法(least squares method)を習った  「風が強ければ濃度が下がる」 と考えたので線形モデルを使う (↑強引) パラメータ  予測値にはハットをつける:  真値にはハットをつけない:
  12. CO2濃度を予測したい ↓ が の良い近似になるように、 パラメータを設定したい 新規サンプルについて予測したい 例題:教室のCO2濃度を予測したい 訓練集合とテスト集合 - -

    14 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)を習った
  13. 新規サンプルについて予測したい  訓練集合(training set)  から写像 を求める =訓練(training)または学習 (learning) 

    テスト集合(test set) に対し を出力できるようにな ること =汎化(generalization) 例題:教室のCO2濃度を予測したい 学習・汎化とは - - 15 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個分を訓練サンプルと呼ぶ
  14. 損失関数(loss function) or 誤差関数(error function) or コスト関数(cost function) or 目的関数(objective

    function) と呼ばれる 例題:教室のCO2濃度を予測したい 損失関数 - - 16  訓練集合(training set)  から写像 を求める =訓練(training)または学習 (learning)  テスト集合(test set) に対し を出力できるようにな ること =汎化(generalization) 1個分を訓練サンプルと呼ぶ
  15. 例題:教室のCO2濃度を予測したい 損失関数を最小化するパラメータとは に関する2次式なので、最小 値のときに偏微分が0になる - - 17

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

  17. 例題:教室のCO2濃度を予測したい 最適パラメータ  正規方程式(normal equation) →最適値 が求まるので、新しい から を予測可能 最適値には

    (スター)をつける - - 19 新規の風速情報から CO2濃度が予測可能になった (実際はもっと複雑)
  18.  得られた の良さを知る には、テストセット誤差を評価  平均二乗平方根誤差(root- mean-square error; RMSE) 他の尺度:平均二乗誤差等

    例題:教室のCO2濃度を予測したい テスト集合を用いた性能評価 - - 20 複数の機械学習手法を 性能比較できる 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 パラメータ推定 に使うサンプル 集合 学習に使わなかっ たことで、性能評 価に使えるように なった
  19.  ここまで紹介した話  単純なモデル  データが少ない →解析的に損失関数を最小化可能  深層学習の実応用 

    複雑なモデル  データが多い →解析的な損失関数最小化が困難 →反復的に損失関数を最小化 今回簡単に紹介し、今後の講義で 深堀りする 単純なモデルの学習からDNNの学習へ - - 21
  20. ①パラメータに初期値 を設定:ランダムや固定値等 ②ランダムに訓練集合の一部を選 び、平均の損失の勾配を計算 ミニバッチ確率的勾配降下法(ミニバッチSGD) minibatch stochastic gradient descent -

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

    - 23 学習率(learning rate) 右肩のカッコつき の数字は更新回数 を表す ミニバッチ
  22. ③パラメータを更新 (二乗誤差の場合) ④手順②③を繰り返す →実習で試してみよ ミニバッチ確率的勾配降下法(ミニバッチSGD) minibatch stochastic gradient descent -

    - 24 学習率(learning rate)
  23. 簡単な歴史① - - 25 1800年頃 ガウスやルジャンドルらが最小二乗法を発明 「なぜ4乗や6乗でなく2乗なのか」をガウス分布で説明 1958年 パーセプトロン [Rosenblatt

    1958] 第1次AIブーム 1986年 誤差逆伝播法 [Rumelhart+ 1986] ※実際には60年代から存在 第2次AIブーム 1989年頃 普遍近似定理 [Cybenko 1989] ※同時期に複数の論文あり 十分なノード数があれば3層のニューラルネットで任意の連続 関数を近似可能であることを証明
  24. 簡単な歴史② - - 26 1990年代 隠れマルコフモデルやSVM(support vector machine)が主流に。 LSTM (long

    short-term memory) 等重要な発明はあったものの ニューラルネットは下火に。 2006年 Hintonらが深層学習を提唱 [Hinton+ 2006] 学術会議等で徐々に浸透するものの、広まりは緩やか 「3層ニューラルネットで十分では?」と思われていた 2012年 DNNがILSVRC(コンペ)において優勝し、注目される 第3次AIブーム 一般応用が爆発的に増加
  25. 本講義全体の参考図書  ★機械学習スタートアップシリーズ これならわかる深層学習入門 瀧 雅人著 講談社(本講義では、異なる表記を用いることがあるので注意)  ★Dive into

    Deep Learning (https://d2l.ai/)  画像認識 (機械学習プロフェッショナルシリーズ) 原田達也著 講談 社  深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) 坪井祐太、海野裕也、鈴木潤 著、講談社  東京大学工学教程 情報工学 機械学習 中川 裕志著、東京大学工学教 程編纂委員会編 丸善出版  パターン認識と機械学習 上・下 C.M. ビショップ著 丸善出版 - - 27
  26. 参考文献 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. - - 28
  27. 実習 - - 29

  28. 第1回実習  実習自体に成績はつけません  では何が目的?  コーディングと基礎理論の関係を学ぶ  中間発表・最終発表の知識を獲得する 

    わからなければ手を挙げてください→TAが対応します  詳しい人は他の人に積極的に教えてください  実習課題の場所  Canvas→第1回→実習 - - 30
  29. 情報工学科 杉浦孔明 Email: komei.sugiura@keio.jp Slack: 1_sugiura.komei 機械学習基礎 第1回