>100 Views
April 27, 25
スライド概要
スタンフォード大学の講義"cs231n"について、機械学習の初心者に向けて勉強会を実施した際の資料
https://cs231n.stanford.edu/slides/2025/lecture_2.pdf
AI-Driven graduate student
cs231n Lecture2 Image Classification with Linear Classifiers Deep Learning Study Group
Image Classification 猫 犬 飛行機 マグカップ 画像内の物体が何なのか分類するタスク Deep Learning Study Group
Image Classification 人間には難しくないが、 画像は0 ~ 225の画素で表されるため コンピュータには簡単ではない Deep Learning Study Group
Image Classification 画角が変わると 画素値も変わってしまう Deep Learning Study Group
Image Classification Deep Learning Study Group
アプローチ 残念ながら、単に画像に処理を加えるだけでは 解決できない Deep Learning Study Group
アプローチ:データ駆動型 1. 画像とそのラベルをたくさん収集する 2. そのデータを使い、機械学習アルゴリズムで分類器を訓練する 3. 新たな画像でその分類器を評価する Deep Learning Study Group
Nearest Neighbor Classifier 最近傍法 分類器 Deep Learning Study Group
Nearest Neighbor 最も画素値が近い訓練データのクラスを、そのテストデータのクラスとする 訓練画像 テスト画像 「青」クラスの画像と最も近いから ( この画像も「青」クラスだな...) Deep Learning Study Group
Nearest Neighbor:距離の求め方 L1距離(マンハッタン距離) 差(絶対値) Deep Learning Study Group
Nearest Neighbor:距離の求め方 L1距離(マンハッタン距離) L2距離(ユークリッド距離) Deep Learning Study Group
K-Nearest Neighbor Classifier K-最近傍法 分類器 Deep Learning Study Group
K-Nearest Neighbor Nearest Neighborsは最も近いデータのみで判断していた →これではノイズに弱い 訓練画像 テスト画像 青クラスのほうが適切そうだが、紫 クラスになってしまった Deep Learning Study Group
K-Nearest Neighbor K-Nearest Neighborsでは最も近いK個をもとに判断 訓練画像 テスト画像 (青2 紫1なので青クラスだな...) K=3 Deep Learning Study Group
K-Nearest Neighbor (島ができている) 分類できない領域が 多い? 白い領域は分類できないところ =複数のクラスで同数になっている デモ:http://vision.stanford.edu/teaching/cs231n-demos/knn/ Deep Learning Study Group
ハイパーパラメータ 「K」や「距離の求め方」は人間が決定する →人間があらかじめ決定する値をハイパーパラメータと呼ぶ 最適なハイパーパラメータを決定するには? →さまざまな値を試して、どれが最も良いかを確認したい! Deep Learning Study Group
ハイパーパラメータ 試すときにはデータの扱いに注意が必要 すべてのデータに対して最適化: テスト用も最適化すると、公正な性能 評価ができない データセットすべて 訓練用 訓練用 テスト用 検証用 テスト用 テスト以外すべてに最適化: 未知のデータでも性能が出るか わからない 訓練用をさらに2つに分ける: 検証用は訓練に使わず、擬似的 な未知のデータとして有効性の 検証に使う Deep Learning Study Group
クロスバリデーション さらに堅牢な検証方法としてCross-Validationがある 複数の分割で訓練し、いずれの分割でも性能が出るか検証する。 訓練用 訓練用 5-Fold (5回分割を変える) の例 訓練用 訓練用 検証用 検証用 検証用 訓練用 検証用 訓練用 訓練用 検証用 テスト用 訓練用 テスト用 テスト用 テスト用 テスト用 Deep Learning Study Group
K-Nearest Neighborの長所と短所 利点 理論がわかりやすい(データ同士の距離を考えるだけ) 学習コストが比較的低い (画像を保存するだけ) 欠点 推論時のコストが高い(すべての訓練データと比較が必要) 高次元空間(画像など)の距離は直感に反することが多い Deep Learning Study Group
K-Nearest Neighborの短所 「高次元空間(画像など)の距離は直感に反することが多い」 右3つは、Original(左)といずれも同じL2距離。 これらが「同程度似ている」というのは直感に反するのでは? Deep Learning Study Group
K-Nearest Neighborの短所 「高次元空間(画像など)の距離は直感に反することが多い」 L2距離が近いものが近くに配置されている 意味的なクラスの違いよりも、背景の影響が強く現れているように見える Deep Learning Study Group
Linear Classifier 線形 分類器 Deep Learning Study Group
Linear Classifier 画像をそのまま比較するのは限界があった。 →パラメトリックなアプローチを試してみよう f(x, W, b) f(x, W, b) = Wx + b クラスごとのスコア W: weight(重み・パラメータ) b: Bias(バイアス) Deep Learning Study Group
Linear Classifier クラス数が10、画像が32x32x3なら? f(x, W, b) = Wx + b W: [10 x 3072] x: [3072 x 1] b: [10 x 1] (行列の演算であることに注意) Deep Learning Study Group
Linear Classifier 56 231 24 2 上記はまだ良い結果ではないけれど より正しく分類できるWとbを発見できれば良さそう! Deep Learning Study Group
Linear Classifier Wx+bの結果を座標平面に 置いて考えてみると? カテゴリを分類する境界線 が引ける 正確には:高次元ベクトル(画像)を扱っているため実際には超平面である 理解増進のため2次元空間で表している Deep Learning Study Group
Linear Classifier 重みは各クラスの視覚的な特徴を保持していると捉えられる Deep Learning Study Group
Loss Function 損失関数 Deep Learning Study Group
Loss Function あまり良くないことはわかるが、 どの程度良くないかはわからない ↓ 正しいラベルとのズレを計算し、 ズレをもとに調整を行う ズレ:損失 損失の計算:損失関数を使用 クラスごとのスコア Deep Learning Study Group
Loss Function 損失関数は、以下の式で表される i番目データの i番目データの予測値 正解ラベル Deep Learning Study Group
SVMにおけるLoss Function Support Vector Machineは、深層学習登場以前に 最も人気があった手法のひとつ その損失関数は以下のように定義される : 正解以外のスコア : 正解クラスのスコア つまりSVMは、誤分類を減らしながら正解のクラススコアが 他のクラススコアよりΔ以上大きくなる方向に調整する Deep Learning Study Group
SVMの設計思想 カテゴリーを分類するだけであれば、境界線は色々引ける が、より好ましい境界線を選びたい 境界線とデータの距離(=マージン) が小さいと未知のデータを誤分類し てしまいそう →決定境界とデータはある程度 距離があったほうが良さそう https://avinton.com/academy/svm/ Deep Learning Study Group
SVMの設計思想 マージン(Δ)よりも近いデータがあるのは「良くないこと」(=損失)として扱う (もちろん誤分類も) このような設計を実現するための 損失関数が定義された https://en.wikipedia.org/wiki/Support_vector_machine (CC-BY 3.0) Deep Learning Study Group
SVMにおけるLoss Function ねこの場合 (Δ=1とする) Deep Learning Study Group
SoftmaxにおけるLoss Function Softmax: SVMと並ぶ代表的な分類器 SVMが各クラスの未調整のスコアを出力していたのに対して Softmaxは正規化されたクラス確率(信頼度)を出力する 損失関数にはCross Entropy損失を用いる: Deep Learning Study Group
SoftmaxにおけるLoss Function 人間が直感的にわかりやすい 各クラスに対する信頼度を表現できる s= Deep Learning Study Group
SoftmaxにおけるLoss Function 人間が直感的にわかりやすい 各クラスに対する信頼度を表現できる s= Deep Learning Study Group
SVM vs. Softmax Deep Learning Study Group
SVM vs. Softmax SVMはマージンさえ満たされていればスコアの詳細には関心がない Softmax分類器は,、正解クラスの確率がより高くなり、 誤クラスの確率がより低くなることを常に望んでいる 左の場合(緑が正解スコア): SVMはいずれも損失 0 Softmaxは一番下が最も損失が小さい Deep Learning Study Group
GRTバンク おわり [参考] https://cs231n.stanford.edu/slides/2025/lecture_2.pdf https://tpu-dsg.github.io/cs231n/lecture2/ その他はスライド内に記載 Deep Learning Study Group