Slide 1

Slide 1 text

画像認識勉強会 第5章 分類 2017年9⽉5⽇

Slide 2

Slide 2 text

2 本⽇伝えたいこと • 「分類」を体系的に知る • 適当に使うだけなら、ライブラリを⽤いて数⾏で実装できてしまう • どんな種類があり、どんな特徴があるのか、全体像を把握する

Slide 3

Slide 3 text

本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6, 5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 3

Slide 4

Slide 4 text

タスク • ⼊⼒画像から⽣成された特徴ベクトルにクラスを付与 4 ⼊ ⼒ 画 像 サ ン プ リ ン グ と 記 述 統 計 的 特 徴 抽 出 コ デ ィ ン グ プ リ ン グ 分 類 器 ク ラ ス

Slide 5

Slide 5 text

5 より具体的なタスク • 特徴空間の適切な領域分割+領域へのクラス付与 ಛ௃ۭؒ ಛ௃ϕΫτϧ 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社, p. 126 ,2017.

Slide 6

Slide 6 text

6 分類問題への3つのアプローチ 訓練データ $ クラス割り当て 推論 C.M.ビショップ: パターン認識と機械学習 上, 丸善出版, pp. 37-45 ,2017. ($ ) $ 決定 + →決定理論を⽤いたアプローチ →そうでないアプローチ(識別関数を⽤いる)

Slide 7

Slide 7 text

本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6, 5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 7

Slide 8

Slide 8 text

8 ベイズ決定則 • (古典的な)統計的決定理論を⽤いた分類⽅法 • 「推論」と「決定」の2段階に分ける⼿法 • 事後確率を求め、その上で意思決定を⾏う • 事後確率が分かっていると、閾値の設定など⾼度な意思決定に活⽤できる • 「損失」の期待値を最⼩化する分類器の設計を⽬指す • 損失:誤った分類で被る影響

Slide 9

Slide 9 text

9 損失 • 損失 $ | = ∑ $ , - - | ./ -01 • 損失関数 $ , - • クラス- をクラス$ と判断した時の損失の⼤きさ • 事後確率 - | • ⼊⼒に対してクラス- と判断する確率

Slide 10

Slide 10 text

10 損失の期待値 • にクラスを付与する関数を とする • 損失 | = ∑ , - - | ./ -01 • 損失の期待値 = Ε5 |

Slide 11

Slide 11 text

11 例:0-1損失 • ⾮常に単純な損失関数 (とはいえ汎⽤性が⾼い) • 以下、この損失関数を⽤いて 分類問題を考える • $ , - = 1 − $- • $- はクロネッカーのデルタ • $ = - : • 0 • $ ≠ - : • 1

Slide 12

Slide 12 text

12 例:0-1損失 • $ | = ∑ 1 − $- - ./ -01 = ∑ - -<$ = 1 − $ • この損失の期待値 Ε5 1 − $ を最⼩にする ⟹ 事後確率 $ を最⼤にする(最⼤事後確率則) • に対する事後確率が最⼤となるクラスに分類する

Slide 13

Slide 13 text

13 事後確率 $ の求め⽅ 訓練データ $ クラス割り当て ⽣成的アプローチ 識別的アプローチ ($ ) $ →そうでないアプローチ(識別関数を⽤いる)

Slide 14

Slide 14 text

本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6, 5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 14

Slide 15

Slide 15 text

15 識別関数(5.3節) • 「各クラスであるかどうか」を判定する何かしらの関数 • 最⼤の出⼒を得たクラスに⼊⼒を分類する • if $ ≥ - for ∀-<$ ⇒ ∈ $ 訓練データ クラス割り当て 識別関数を⽤いるアプローチ

Slide 16

Slide 16 text

16 識別関数の教師付き学習(5.4節) • 訓練データ(⼊⼒ベクトル G ,対となる情報 G )から、 損失を最⼩化するようなパラメータを推定する • 実際には「過学習」を防ぐため、以下のような式を最⼩化する のが⼀般的 • = 1 . ∑ G ; , G . G01 + 損失 ペナルティ : 損失とペナルティのどちらに 重きを置くかの度合い

Slide 17

Slide 17 text

17 識別関数の最適化⼿法(5.5節) • 1次の微分情報を⽤いた⼿法 • 勾配降下法、確率的勾配降下法 • 2次の微分情報を⽤いた⼿法 • ニュートン法

Slide 18

Slide 18 text

18 勾配降下法 • ⽬的関数 の1次微分を求めて、 勾配の逆⽅向にパラメータを 逐次的に更新していく⼿法 • PQ1 ← P − U P 勾配⽅向

Slide 19

Slide 19 text

19 バッチ学習とオンライン学習 • バッチ学習 • ステップごとに全ての訓練データを⽤いてパラメータ更新 • 正確だが、計算量の問題あり • オンライン学習 • ⼀つのデータが与えられるたびにパラメータ更新 • 例:確率的勾配降下法

Slide 20

Slide 20 text

20 ニュートン法 • ⽬的関数の2次のテイラー展開を最⼩化するようにパラメータの 修正量を各ステップで決定する学習⼿法 • PQ1 = P + = P + U W P + 1 2 WU P U = U Z ヘッセ⾏列(Hessian matrix) テイラー展開 (∗)

Slide 21

Slide 21 text

21 ニュートン法 • (∗)をで微分して停留点を求めると、修正量は以下になる • = −U [1 P U P • 更新則 • PQ1 ← P − U [1 P U P

Slide 22

Slide 22 text

22 ニュートン法 • ⼀般に、ニュートン法は勾配降下法よりも良い結果を与える • 問題点: • ヘッセ⾏列の逆⾏列を計算するため、ヘッセ⾏列が⾮正則のとき適⽤ できない • 計算コストが⾼い

Slide 23

Slide 23 text

23 具体的な識別関数(5.6節) • 線形識別関数 • パーセプトロン • Adaline • サポートベクトルマシン(SVM)

Slide 24

Slide 24 text

24 線形識別関数 • 2クラス分類の場合: • = W + • ≥ 0 → クラス1 • < 0 → クラス2 • a = argmax f ⇒ ∈ f

Slide 25

Slide 25 text

25 線形識別関数 • 多クラス分類の場合(one-vs-one): • $,- = W + • $,- ≥ 0 → クラス • $,- < 0 → クラス • aは最も多くの票を集めたクラス(総数f f[1 Z 票)

Slide 26

Slide 26 text

26 線形識別関数 • 多クラス分類の場合(one-vs-rest): • $ = W + • $ ≥ 0 → ∈ $ • $ < 0 → ∉ $ • a = argmax f ⇒ ∈ f

Slide 27

Slide 27 text

27 パーセプトロン • ⼊⼒ベクトルと重みベクトルの内積の正負で判別する • 学習データが線形分離可能な場合に 正しく分離できる平⾯を⾒つける

Slide 28

Slide 28 text

28 内積の意味 重みベクトル • ⋅ = cos • − s Z < < s Z のとき正、 s Z < < ts Z のとき負になる

Slide 29

Slide 29 text

29 学習アルゴリズム 1. 重みベクトルを要素0で初期化 2. 訓練データからランダムにサンプルを選択 3. 分類が間違っていたら重みベクトルを更新 • 間違えたデータを正しく分類できるよう修正する 4. すべての訓練データを正しく分類できるまで2以降を繰り返す

Slide 30

Slide 30 text

30 重みベクトルの更新

Slide 31

Slide 31 text

31 パーセプトロンの特徴 線形分離不可能な場合に収束しない 線形分離可能な場合は収束する

Slide 32

Slide 32 text

32 Adaline • 線形分離不可能な場合でも解を求める⼿法 • 重みベクトルの更新に際して、1個ずつでなく全体をまとめて 扱う(コスト関数を⽤いる)ことで、落とし所を⾒つける • コスト関数として2乗損失を⽤いた場合: • = 1 Z − W Z

Slide 33

Slide 33 text

33 Adalineでの更新式 • 勾配降下法を⽤いる(実⽤的には確率的勾配降下法) • ← − − − W • 問題点: • 2乗損失では、決定境界から離れた訓練データの影響が⼤きくなる

Slide 34

Slide 34 text

34 サポートベクトルマシン • ヒンジ損失を⽤いる • max (0, 1 − W) • 正しく分類できていても、決定境界に近い場合には損失を与える • = max 0, 1 − W + | |Z -1 1 W 1 0 ヒンジ損失 0-1損失

Slide 35

Slide 35 text

35 サポートベクトルマシンでの更新式 • 勾配降下法を⽤いる(実⽤的には確率的勾配降下法) • ← − 2 if 0 > 1 − W • ← − 2 − otherwise

Slide 36

Slide 36 text

36 サポートベクトルマシン • マージンの最⼤化に相当 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社, p. 138 ,2017.

Slide 37

Slide 37 text

37 集団学習(5.9節) • 単純な分類器を複数組み合わせ、⾮線形な分類器を構築 • 複雑な決定境界の設定が可能 • 組み合わせる予測器は単純で⾼速計算が可能なため、リアルタイム性が求め られる画像認識システムでよく利⽤される • 代表的な⼿法 • バギング • ランダムフォレスト • ブースティング

Slide 38

Slide 38 text

38 バギング • 訓練データからサブセットを複数回抽出し、各結果で多数決 • 不安定な学習アルゴリズムに有効 訓練データ サブセット2 サブセット1 サブセットM … ブートストラップ法 分類器1 分類器2 分類器M 多数決 …

Slide 39

Slide 39 text

39 決定⽊/不安定な学習アルゴリズム • ⼊⼒データに対して次々と「質問」していく 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社, p. 149 ,2017.

Slide 40

Slide 40 text

40 ランダムフォレスト • バギングにおける弱学習器として決定⽊を採⽤した⼿法

Slide 41

Slide 41 text

41 ブースティング • 逐次的に予測器を学習し、多数決または重み付け和で予測する • 後段の学習器では、前段の学習器が苦⼿な訓練データを積極的に分類 できるように修正していく 訓練データ 分類器1 分類器2 分類器M 重み付き多数決 … 信頼度1 信頼度Z 信頼度y

Slide 42

Slide 42 text

本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6, 5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 42

Slide 43

Slide 43 text

43 識別的アプローチ • 確率分布を推定せず、 $ を直接的に求める • ⽣成的アプローチより⼀般に分類精度が⾼い

Slide 44

Slide 44 text

44 識別関数と識別的アプローチ • 識別関数の出⼒は−∞から∞ • クラスの事後確率(0-1)として捉えるのは難しい • 識別的アプローチ(確率的識別関数)では、識別関数を拡張して $ を予測する

Slide 45

Slide 45 text

45 ロジスティック回帰 • = 1 1Q{|} ([U~5) = W • 定義域が−∞から∞、値域が0から1 • 1 = W • Z = 1 − W 0.5 1.0 W

Slide 46

Slide 46 text

46 ロジスティック回帰での更新式 • = −ln • 尤度 = ∏ 1 | ƒ„ Z | 1[ƒ„ (G ∈ 0,1 ) . G01 • 勾配降下法やニュートン法を⽤いる • PQ1 ← P − U P • PQ1 ← P − U [1 P U P

Slide 47

Slide 47 text

47 ソフトマックス回帰 • ロジスティック回帰の⼀般化(多クラス分類に対応) • - = {|} U … ~5 ∑ {|} U † ~5 ‡/ †ˆ‰

Slide 48

Slide 48 text

48 ソフトマックス回帰での更新式 • = −ln • 尤度 = ∏ ∏ - G Š ƒ„0- ./ G01 . G01 • 指⽰関数 ⋅ : true = 1, false = 0 • 勾配降下法やニュートン法を⽤いる • PQ1 ← P − U P • PQ1 ← P − U [1 P U P

Slide 49

Slide 49 text

本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6, 5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 49

Slide 50

Slide 50 text

50 ⽣成的アプローチ • 訓練データから、⼊⼒を⽣成する規則(確率分布)を推定 • ベイズの定理を使⽤ $ = • $ • Ž† • 5 ∝ $ $ • 事前確率 $ : 訓練データ内の割合で近似することが多い • 条件付き確率 $ : 訓練データからベイズ推定法などで計算することが多 い • 確率分布の推定は⼀般に困難で、分類精度は⾼くない • 近年、画像⽣成の分野で発展が著しい(VAE, GANなど)

Slide 51

Slide 51 text

51 密度推定/⽣成的アプローチ • = ∫ ℛ (を含む⼩さい領域ℛに割り当てられた確率) • ≃ (全体の総数をとした場合のℛ内の個数) • ≃ ( が⼀定と近似できるほど体積が⼩さい時) • ∴ = ˜ ™ = š .™ • を固定しを推定(K近傍密度推定) • を固定しを推定(カーネル密度推定)

Slide 52

Slide 52 text

52 K近傍法密度推定 • 超球の体積 = s › œ•œ ž › œ Q1 • : 訓練データが個含まれる超球の半径 • Γ: ガンマ関数 Γ = ∫ |¢[1[5| ¤ ¥ • $ = f¦† .¦† ™ で推定 • $ ∝ $ $ = f¦† .¦† ™ ⋅ .¦† . ∝ Ž† $ の⼤きさは$ に属する 訓練データの数に⽐例する

Slide 53

Slide 53 text

53 K近傍法密度推定による分類 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社, p. 143 ,2017.

Slide 54

Slide 54 text

54 カーネル密度推定 • 超⽴⽅体の体積 = ℎ¨(ℎ: バンド幅) • に⼊る標本数 = ∑ 5[5† © $:ª†0ª • $ = 1 .¦† ™ ∑ 5[5† © $:ª†0ª で推定 • カーネル関数 , $ には、ガウスカーネルがよく⽤いられる • $ ∝ $ $ = 1 .¦† ™ ∑ 5[5† © $:ª†0ª ⋅ .¦† . ∝ ∑ 5[5† © $:ª†0ª

Slide 55

Slide 55 text

55 カーネル密度推定による分類

Slide 56

Slide 56 text

本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6, 5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 56

Slide 57

Slide 57 text

57 正解率 • 正解率= 分類が当たった数 全データ数 • 問題点 • クラス1が1%、クラス2が99%のデータ群(ガンの判定など) • 「全部クラス2と分類する分類器」→正解率99% • 「クラス1にも分類しようとする分類器」→正解率99%より低いことも…

Slide 58

Slide 58 text

58 評価指標 • 精度(precision)= • 再現率(recall)= • F値= Z×}-{®¯°¯±²×-{®³´´ }-{®¯°¯±²Q-{®³´´ 検索結果の「再現率」と「適合率」, http://d.hatena.ne.jp/Zellij/20120214/p1

Slide 59

Slide 59 text

59 AUC(Area Under the Curve) precision 1 - recall ←理想的な曲線 ←実際の曲線 AUC • ⼤きいほど良い分類器

Slide 60

Slide 60 text

60 交差検証法 • 分類器は未知のデータに対して性能評価しなければならない • 訓練データが少ない場合に⽤いられる検証⼿法 第21回(最終回)機械学習 はじめよう, http://gihyo.jp/dev/serial/01/machine-learning/0021

Slide 61

Slide 61 text

本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6, 5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 61

Slide 62

Slide 62 text

62 まとめ • 分類の具体的なタスクを説明し、3つのアプローチを紹介した • 識別関数 • 識別的アプローチ • ⽣成的アプローチ • 分類結果の評価⽅法を紹介した

Slide 63

Slide 63 text

Appendix

Slide 64

Slide 64 text

64 テイラー展開 • = ¥ + µ ¥ − ¥ + 1 Z! µµ ¥ − ¥ Z + ⋯ • = ¥ + ℎと置くと、以下のように表現できる • ¥ + ℎ = ¥ + µ ¥ ℎ + 1 Z! µµ ¥ ℎZ + ⋯

Slide 65

Slide 65 text

65 ⾏列のテイラー展開 • P + = P + U P ⋅ + 1 Z! U Z P ⋅ Z = P + U W P + 1 Z U P Z = P + U W P + 1 Z U P W = P + U W P + 1 2 WU P (∗) U P = U W P

Slide 66

Slide 66 text

66 (∗)をで微分したものを0と置く • U W P + 1 Z ⋅ 2U P = 0 • = −U [1 P U P

Slide 67

Slide 67 text

67 ⽣成的アプローチの発展 • 推定した(潜在的な)確率分布から、新たに画像を⽣成 訓練データ $ 新規データ ⽣成的アプローチ ($ ) $

Slide 68

Slide 68 text

68 Variational Autoencoder (VAE) • “input”から確率分布を推定し、 “output”として新しい画像を出⼒ • 普通のAutoencoderとは、”hidden” の部分を変数ではなく確率分布にし ているところが異なる http://blog.fastforwardlabs.com/2016/08/22/unde r-the-hood-of-the-variational-autoencoder-in.html

Slide 69

Slide 69 text

69 Generative Adversarial Networks (GAN)* * Generative Adversarial Nets. Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio. arXiv:1406.2661. In NIPS 2014. [Figure] https://www.slideshare.net/xavigiro/deep-learning-for- computer-vision-generative-models-and-adversarial-training-upc- 2016 • 近年注⽬を集める(画像の) ⽣成的アプローチ • ⽣成器(⽣成的アプローチ) と識別器(識別関数を⽤いた アプローチ)を戦わせて、 ⽣成精度を向上させる