Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
『画像認識』第5章「分類」輪読会資料 / Image Recognition Chapter 5
Search
Shotaro Ishihara
November 17, 2017
Technology
0
520
『画像認識』第5章「分類」輪読会資料 / Image Recognition Chapter 5
「画像認識」(講談社、機械学習プロフェッショナルシリーズ)の勉強会発表資料_第5章
Shotaro Ishihara
November 17, 2017
Tweet
Share
More Decks by Shotaro Ishihara
See All by Shotaro Ishihara
「極意本」サンプルコードをクラウド上で動かそう
upura
1
1.6k
論文紹介: Generating News-Centric Crossword Puzzles As A Constraint Satisfaction and Optimization Problem
upura
0
140
関東 Kaggler 会スポンサー資料
upura
0
1.3k
論文紹介 Quantifying attention via dwell time and engagement in a social media browsing environment / web-socialmedia-study-8th
upura
0
160
Quantifying Diachronic Language Change via Word Embeddings: Analysis of Social Events using 11 Years News Articles in Japanese and English
upura
1
340
Training Data Extraction From Pre-trained Language Models: A Survey
upura
0
170
論文紹介 Discovering and Categorising Language Biases in Reddit / web-socialmedia-study-5th
upura
0
260
AMA (Ask me anything) 『Kaggleに挑む深層学習プログラミングの極意』 / Ask me anything
upura
0
230
著者による書籍紹介『Kaggleに挑む深層学習プログラミングの極意』
upura
2
1.9k
Other Decks in Technology
See All in Technology
BDD(Cucumber)コミュニティが無料提供しているコンテンツの紹介と現在起きている危機
nihonbuson
4
750
サービスメッシュ環境における OpenTelemetry 活用 / OpenTelemetry in Service Mesh
k6s4i53rx
2
860
私のRSpecの書き方 / How I write RSpec
tmtms
4
840
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
21
4.1k
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
150
Building a RAG app to chat with your data (on Azure)
pamelafox
0
120
10分でわかるfreeeのQA
freee
0
260
統計的学習理論読み Chapter 1
kmatsui
3
930
あらゆる商品を扱う商品データベースを再設計した話 / product db re-architecture
rince
8
3.8k
中学生でもわかる深層学習
e869120
10
2.1k
エバンジェリスト活動を7年やってきて見えてきた、コミュニティとエバンジェリストの関係
soracom
PRO
1
200
依存ライブラリはどこに?
takesection
0
110
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
288
19k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
4 Signs Your Business is Dying
shpigford
174
21k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
Adopting Sorbet at Scale
ufuk
66
8.5k
Producing Creativity
orderedlist
PRO
335
39k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.2k
Statistics for Hackers
jakevdp
789
220k
Rails Girls Zürich Keynote
gr2m
91
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Transcript
画像認識勉強会 第5章 分類 2017年9⽉5⽇
2 本⽇伝えたいこと • 「分類」を体系的に知る • 適当に使うだけなら、ライブラリを⽤いて数⾏で実装できてしまう • どんな種類があり、どんな特徴があるのか、全体像を把握する
本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6,
5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 3
タスク • ⼊⼒画像から⽣成された特徴ベクトルにクラスを付与 4 ⼊ ⼒ 画 像 サ ン
プ リ ン グ と 記 述 統 計 的 特 徴 抽 出 コ デ ィ ン グ プ リ ン グ 分 類 器 ク ラ ス
5 より具体的なタスク • 特徴空間の適切な領域分割+領域へのクラス付与 ಛۭؒ ಛϕΫτϧ 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社,
p. 126 ,2017.
6 分類問題への3つのアプローチ 訓練データ $ クラス割り当て 推論 C.M.ビショップ: パターン認識と機械学習 上, 丸善出版,
pp. 37-45 ,2017. ($ ) $ 決定 + →決定理論を⽤いたアプローチ →そうでないアプローチ(識別関数を⽤いる)
本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6,
5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 7
8 ベイズ決定則 • (古典的な)統計的決定理論を⽤いた分類⽅法 • 「推論」と「決定」の2段階に分ける⼿法 • 事後確率を求め、その上で意思決定を⾏う • 事後確率が分かっていると、閾値の設定など⾼度な意思決定に活⽤できる
• 「損失」の期待値を最⼩化する分類器の設計を⽬指す • 損失:誤った分類で被る影響
9 損失 • 損失 $ | = ∑ $ ,
- - | ./ -01 • 損失関数 $ , - • クラス- をクラス$ と判断した時の損失の⼤きさ • 事後確率 - | • ⼊⼒に対してクラス- と判断する確率
10 損失の期待値 • にクラスを付与する関数を とする • 損失 | = ∑
, - - | ./ -01 • 損失の期待値 = Ε5 |
11 例:0-1損失 • ⾮常に単純な損失関数 (とはいえ汎⽤性が⾼い) • 以下、この損失関数を⽤いて 分類問題を考える • $
, - = 1 − $- • $- はクロネッカーのデルタ • $ = - : • 0 • $ ≠ - : • 1
12 例:0-1損失 • $ | = ∑ 1 − $-
- ./ -01 = ∑ - -<$ = 1 − $ • この損失の期待値 Ε5 1 − $ を最⼩にする ⟹ 事後確率 $ を最⼤にする(最⼤事後確率則) • に対する事後確率が最⼤となるクラスに分類する
13 事後確率 $ の求め⽅ 訓練データ $ クラス割り当て ⽣成的アプローチ 識別的アプローチ ($
) $ →そうでないアプローチ(識別関数を⽤いる)
本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6,
5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 14
15 識別関数(5.3節) • 「各クラスであるかどうか」を判定する何かしらの関数 • 最⼤の出⼒を得たクラスに⼊⼒を分類する • if $ ≥
- for ∀-<$ ⇒ ∈ $ 訓練データ クラス割り当て 識別関数を⽤いるアプローチ
16 識別関数の教師付き学習(5.4節) • 訓練データ(⼊⼒ベクトル G ,対となる情報 G )から、 損失を最⼩化するようなパラメータを推定する •
実際には「過学習」を防ぐため、以下のような式を最⼩化する のが⼀般的 • = 1 . ∑ G ; , G . G01 + 損失 ペナルティ : 損失とペナルティのどちらに 重きを置くかの度合い
17 識別関数の最適化⼿法(5.5節) • 1次の微分情報を⽤いた⼿法 • 勾配降下法、確率的勾配降下法 • 2次の微分情報を⽤いた⼿法 • ニュートン法
18 勾配降下法 • ⽬的関数 の1次微分を求めて、 勾配の逆⽅向にパラメータを 逐次的に更新していく⼿法 • PQ1 ←
P − U P 勾配⽅向
19 バッチ学習とオンライン学習 • バッチ学習 • ステップごとに全ての訓練データを⽤いてパラメータ更新 • 正確だが、計算量の問題あり • オンライン学習
• ⼀つのデータが与えられるたびにパラメータ更新 • 例:確率的勾配降下法
20 ニュートン法 • ⽬的関数の2次のテイラー展開を最⼩化するようにパラメータの 修正量を各ステップで決定する学習⼿法 • PQ1 = P +
= P + U W P + 1 2 WU P U = U Z ヘッセ⾏列(Hessian matrix) テイラー展開 (∗)
21 ニュートン法 • (∗)をで微分して停留点を求めると、修正量は以下になる • = −U [1 P U
P • 更新則 • PQ1 ← P − U [1 P U P
22 ニュートン法 • ⼀般に、ニュートン法は勾配降下法よりも良い結果を与える • 問題点: • ヘッセ⾏列の逆⾏列を計算するため、ヘッセ⾏列が⾮正則のとき適⽤ できない •
計算コストが⾼い
23 具体的な識別関数(5.6節) • 線形識別関数 • パーセプトロン • Adaline • サポートベクトルマシン(SVM)
24 線形識別関数 • 2クラス分類の場合: • = W + • ≥
0 → クラス1 • < 0 → クラス2 • a = argmax f ⇒ ∈ f
25 線形識別関数 • 多クラス分類の場合(one-vs-one): • $,- = W + •
$,- ≥ 0 → クラス • $,- < 0 → クラス • aは最も多くの票を集めたクラス(総数f f[1 Z 票)
26 線形識別関数 • 多クラス分類の場合(one-vs-rest): • $ = W + •
$ ≥ 0 → ∈ $ • $ < 0 → ∉ $ • a = argmax f ⇒ ∈ f
27 パーセプトロン • ⼊⼒ベクトルと重みベクトルの内積の正負で判別する • 学習データが線形分離可能な場合に 正しく分離できる平⾯を⾒つける
28 内積の意味 重みベクトル • ⋅ = cos • − s
Z < < s Z のとき正、 s Z < < ts Z のとき負になる
29 学習アルゴリズム 1. 重みベクトルを要素0で初期化 2. 訓練データからランダムにサンプルを選択 3. 分類が間違っていたら重みベクトルを更新 • 間違えたデータを正しく分類できるよう修正する
4. すべての訓練データを正しく分類できるまで2以降を繰り返す
30 重みベクトルの更新
31 パーセプトロンの特徴 線形分離不可能な場合に収束しない 線形分離可能な場合は収束する
32 Adaline • 線形分離不可能な場合でも解を求める⼿法 • 重みベクトルの更新に際して、1個ずつでなく全体をまとめて 扱う(コスト関数を⽤いる)ことで、落とし所を⾒つける • コスト関数として2乗損失を⽤いた場合: •
= 1 Z − W Z
33 Adalineでの更新式 • 勾配降下法を⽤いる(実⽤的には確率的勾配降下法) • ← − − − W
• 問題点: • 2乗損失では、決定境界から離れた訓練データの影響が⼤きくなる
34 サポートベクトルマシン • ヒンジ損失を⽤いる • max (0, 1 − W)
• 正しく分類できていても、決定境界に近い場合には損失を与える • = max 0, 1 − W + | |Z -1 1 W 1 0 ヒンジ損失 0-1損失
35 サポートベクトルマシンでの更新式 • 勾配降下法を⽤いる(実⽤的には確率的勾配降下法) • ← − 2 if 0
> 1 − W • ← − 2 − otherwise
36 サポートベクトルマシン • マージンの最⼤化に相当 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社, p. 138
,2017.
37 集団学習(5.9節) • 単純な分類器を複数組み合わせ、⾮線形な分類器を構築 • 複雑な決定境界の設定が可能 • 組み合わせる予測器は単純で⾼速計算が可能なため、リアルタイム性が求め られる画像認識システムでよく利⽤される •
代表的な⼿法 • バギング • ランダムフォレスト • ブースティング
38 バギング • 訓練データからサブセットを複数回抽出し、各結果で多数決 • 不安定な学習アルゴリズムに有効 訓練データ サブセット2 サブセット1 サブセットM
… ブートストラップ法 分類器1 分類器2 分類器M 多数決 …
39 決定⽊/不安定な学習アルゴリズム • ⼊⼒データに対して次々と「質問」していく 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社, p. 149
,2017.
40 ランダムフォレスト • バギングにおける弱学習器として決定⽊を採⽤した⼿法
41 ブースティング • 逐次的に予測器を学習し、多数決または重み付け和で予測する • 後段の学習器では、前段の学習器が苦⼿な訓練データを積極的に分類 できるように修正していく 訓練データ 分類器1 分類器2
分類器M 重み付き多数決 … 信頼度1 信頼度Z 信頼度y
本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6,
5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 42
43 識別的アプローチ • 確率分布を推定せず、 $ を直接的に求める • ⽣成的アプローチより⼀般に分類精度が⾼い
44 識別関数と識別的アプローチ • 識別関数の出⼒は−∞から∞ • クラスの事後確率(0-1)として捉えるのは難しい • 識別的アプローチ(確率的識別関数)では、識別関数を拡張して $ を予測する
45 ロジスティック回帰 • = 1 1Q{|} ([U~5) = W •
定義域が−∞から∞、値域が0から1 • 1 = W • Z = 1 − W 0.5 1.0 W
46 ロジスティック回帰での更新式 • = −ln • 尤度 = ∏ 1
| ƒ„ Z | 1[ƒ„ (G ∈ 0,1 ) . G01 • 勾配降下法やニュートン法を⽤いる • PQ1 ← P − U P • PQ1 ← P − U [1 P U P
47 ソフトマックス回帰 • ロジスティック回帰の⼀般化(多クラス分類に対応) • - = {|} U …
~5 ∑ {|} U † ~5 ‡/ †ˆ‰
48 ソフトマックス回帰での更新式 • = −ln • 尤度 = ∏ ∏
- G Š ƒ„0- ./ G01 . G01 • 指⽰関数 ⋅ : true = 1, false = 0 • 勾配降下法やニュートン法を⽤いる • PQ1 ← P − U P • PQ1 ← P − U [1 P U P
本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6,
5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 49
50 ⽣成的アプローチ • 訓練データから、⼊⼒を⽣成する規則(確率分布)を推定 • ベイズの定理を使⽤ $ = • $
• Ž† • 5 ∝ $ $ • 事前確率 $ : 訓練データ内の割合で近似することが多い • 条件付き確率 $ : 訓練データからベイズ推定法などで計算することが多 い • 確率分布の推定は⼀般に困難で、分類精度は⾼くない • 近年、画像⽣成の分野で発展が著しい(VAE, GANなど)
51 密度推定/⽣成的アプローチ • = ∫ ℛ (を含む⼩さい領域ℛに割り当てられた確率) • ≃ (全体の総数をとした場合のℛ内の個数)
• ≃ ( が⼀定と近似できるほど体積が⼩さい時) • ∴ = ˜ ™ = š .™ • を固定しを推定(K近傍密度推定) • を固定しを推定(カーネル密度推定)
52 K近傍法密度推定 • 超球の体積 = s › œ•œ ž ›
œ Q1 • : 訓練データが個含まれる超球の半径 • Γ: ガンマ関数 Γ = ∫ |¢[1[5| ¤ ¥ • $ = f¦† .¦† ™ で推定 • $ ∝ $ $ = f¦† .¦† ™ ⋅ .¦† . ∝ Ž† $ の⼤きさは$ に属する 訓練データの数に⽐例する
53 K近傍法密度推定による分類 原⽥達也: 画像認識 (機械学習プロフェッショナルシリーズ), 講談社, p. 143 ,2017.
54 カーネル密度推定 • 超⽴⽅体の体積 = ℎ¨(ℎ: バンド幅) • に⼊る標本数 =
∑ 5[5† © $:ª†0ª • $ = 1 .¦† ™ ∑ 5[5† © $:ª†0ª で推定 • カーネル関数 , $ には、ガウスカーネルがよく⽤いられる • $ ∝ $ $ = 1 .¦† ™ ∑ 5[5† © $:ª†0ª ⋅ .¦† . ∝ ∑ 5[5† © $:ª†0ª
55 カーネル密度推定による分類
本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6,
5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 56
57 正解率 • 正解率= 分類が当たった数 全データ数 • 問題点 • クラス1が1%、クラス2が99%のデータ群(ガンの判定など)
• 「全部クラス2と分類する分類器」→正解率99% • 「クラス1にも分類しようとする分類器」→正解率99%より低いことも…
58 評価指標 • 精度(precision)= • 再現率(recall)= • F値= Z×}-{®¯°¯±²×-{®³´´ }-{®¯°¯±²Q-{®³´´
検索結果の「再現率」と「適合率」, http://d.hatena.ne.jp/Zellij/20120214/p1
59 AUC(Area Under the Curve) precision 1 - recall ←理想的な曲線
←実際の曲線 AUC • ⼤きいほど良い分類器
60 交差検証法 • 分類器は未知のデータに対して性能評価しなければならない • 訓練データが少ない場合に⽤いられる検証⼿法 第21回(最終回)機械学習 はじめよう, http://gihyo.jp/dev/serial/01/machine-learning/0021
本⽇の内容 • 分類とは(5.1節+@) • ベイズ決定則(5.2節) • 識別関数(5.3, 5.4, 5.5, 5.6,
5.9節) • 識別的アプローチ(5.8節) • ⽣成的アプローチ(5.7節) • 分類結果の評価(5.10節) • まとめ 61
62 まとめ • 分類の具体的なタスクを説明し、3つのアプローチを紹介した • 識別関数 • 識別的アプローチ • ⽣成的アプローチ
• 分類結果の評価⽅法を紹介した
Appendix
64 テイラー展開 • = ¥ + µ ¥ − ¥
+ 1 Z! µµ ¥ − ¥ Z + ⋯ • = ¥ + ℎと置くと、以下のように表現できる • ¥ + ℎ = ¥ + µ ¥ ℎ + 1 Z! µµ ¥ ℎZ + ⋯
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
66 (∗)をで微分したものを0と置く • U W P + 1 Z ⋅
2U P = 0 • = −U [1 P U P
67 ⽣成的アプローチの発展 • 推定した(潜在的な)確率分布から、新たに画像を⽣成 訓練データ $ 新規データ ⽣成的アプローチ ($ )
$
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
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 • 近年注⽬を集める(画像の) ⽣成的アプローチ • ⽣成器(⽣成的アプローチ) と識別器(識別関数を⽤いた アプローチ)を戦わせて、 ⽣成精度を向上させる