画像分類
画像分類は、与えられた画像の切り出しに固定ラベル集合のスコアを付け、最大のものを選びます。本課の実際の SqueezeNet 結果では、広い切り出しの Samoyed が 61.6%、同じ中心で縮めても首位の 33.4%、同じサイズで右へ動かすと chow が 19.3% で首位です。
切り出しがモデルへの問いを決めます。モデルが見るのは四角内の画素で、外にある元写真の内容や撮影者の意図ではありません。
入力の仕様と出力
単一ラベル分類器は固定サイズのテンソルを受け、語彙の各クラスへスコアを出します。本課の SqueezeNet は ImageNet の 1,000 クラスです。先に「犬」を独立して検出するのではなく、一つの切り出しから一つの順位表を作ります。argmax は僅差でも最大値を top-1 に選びます。写真の正解は Samoyed に固定され、予測 chow が勝っても正解は変わりません。
元は 1280×853 の CC0 サモエド写真です。正方形の辺は元画像の高さの cropSize%、縦中心は固定、横中心を focusX で選び、範囲を画像内に収めます。
切り出しを直接 224×224 RGB へ変換し、[0,1] にスケーリングした後、ImageNet 平均 [0.485, 0.456, 0.406] と標準偏差 [0.229, 0.224, 0.225] で正規化します。SqueezeNet 1.1の 1,000 logit を安定した softmax へ渡します。
p_i = exp(z_i - max(z)) / Σ_j exp(z_j - max(z))
最大値を引くと数学上の確率を変えず指数のオーバーフローを防げます。グラフは 0–1 軸を固定し、上位 5 と「残り 995 ラベル」を表示します。上位だけで再正規化すると尾部の確率を隠して値を大きく見せるため、行いません。
選べる 25 通りは同じ画像・前処理・モデル・ラベルで事前計算済みです。ブラウザは書き出した結果を再生し、中間スコアを推測しません。
ステップ実行
既定の最終値は { focusX: 60, cropSize: 40 } で、一変数ずつ二回変えて到達します。
- 課題:一つの入力から 1,000 スコアを出して最大値を選び、正解は
Samoyedのままです。 - 参照
{50,100}:辺は853、元の x 範囲は213.5–1066.5。外の画素は入力されません。 - 広い入力:
Samoyed61.6%、white wolf33.9%。上位 5 は 98.3%、残り 995 は 1.7% です。 - サイズだけ変更:
focusX = 50を保ちcropSize = 40。辺は0.40 × 853 = 341.2ピクセルです。切り出しサイズとそれに伴う内容・縮尺が変わり、横移動はありません。 - 中央の小入力:
Samoyedは 33.4% で首位、white wolf30.0%、Arctic fox17.4%。分布は変わっても勝者は同じです。 - 位置だけ変更:サイズ 40 を保ち、
focusXを 50% から 60% へ。範囲は[597.4, 255.9, 938.6, 597.1]。大きさ、縦中心、前処理、モデル、ラベルは固定です。 - 右移動後:
chow19.3%、Great Pyrenees17.3%、Eskimo dog16.2%、Samoyed16.0%、white wolf13.8%。誤った犬種が首位になり、正解は 4 位です。 - 二つの矢印:広い入力から中央の小入力では確信度だけが変わり、同サイズの右移動で勝者が変わりました。各段で一つの切り出しパラメータだけを変えたため区別できます。
- 結論を限定:この分類器は渡された入力に答えます。縮小が常に有害、移動が必ず誤答を生む、他モデルも同じ割合になるとは示していません。
紫の正方形は入力範囲、緑のチップは正解です。最後の三枚のカードは入力と結果を保持し、矢印でサイズのみ・移動のみを示します。
証明できる範囲
「小入力だから間違えた」ではありません。中央 40% は Samoyed を 61.6% から 33.4% へ下げても首位を保ち、その後の右移動で chow が勝ちました。個々の原因画素は特定していません。入力幾何と前処理全体が評価対象システムの一部だと示しています。
確率の合計が 1 でも校正の証明ではありません。61.6% はこの切り出しでの正規化スコアです。校正とは、データ集合で 61.6% 付近の予測が約 61.6% 正しいかを調べることです。
実際の利用
配備時のリサイズ、切り出し、色順、数値範囲、正規化定数を評価時と合わせます。モデルが同じでも入力処理が変われば問いも変わります。
代表的なデータで切り出し方針を評価し、妥当な切り出しで勝者や正解順位が動く例を調べます。場所が必要なら物体検出、独立した複数タグならマルチラベル分類です。一つの argmax はその代わりになりません。
境界ケース
- 全高で端に寄る:
cropSize = 100、focusX = 30%または70%ははみ出すため、画像端へ収めます。架空画素で埋めません。 - サイズ変更なし:
cropSize = 100の対照は参照と同じで、変更がなかったと説明します。 - 位置変更なし:
focusX = 50は中央対照と同じで、中心を動かしていないと示します。 - 正解が上位 5 外:実際の順位と確率を別行で表示し、上位の他クラスを押し出しません。
- 別画像・モデル:数値は 2016 年の SqueezeNet と一枚の写真に固有で、一般性能ではありません。
よくある間違い
- 予測を正解と同一視する。最大スコアも誤ります。
{50,100}から{60,40}へ一度で変え、サイズと位置を混同する。{50,40}の対照を挟みます。cropSize = 40を 40% 拡大と読む。元の高さの 40% の辺で、元画素を少なく取り込みます。- 上位 5 だけで再正規化し、残る 995 の質量を消す。
- 一つのクラスに複数物体の位置や独立タグを期待する。
モデルの範囲
視覚ベンチマークではなく入力処理の実験です。小型の 2016 分類器、一画像、縦中心固定の正方形、25 事前計算結果を使います。検出枠、マルチラベル、校正測定、拡張、現代モデル比較、任意画像のアップロードは含みません。
続けて学ぶ
同じ手法につながるレッスンや、次の概念への入口です。
鍵マークのあるレッスンの操作には有料アクセスが必要です。解説はすべて無料で読めます。
誤りや気になる点を見つけましたか? フィードバックを送る。