丸い茶色のかたまりに黒い点が3つ。チワワとマフィンは、ピクセル1つ、平均色、ピクセル距離のどの物差しで測っても互いにいちばん似ている。暗い点を探す低レベル特徴が2枚の写真でまったく同じように反応するのを見て、解像度を下げると何から消えるのか、ピクセルルールがなぜ見当違いの背景のマスを選ぶのかを確かめる。最後に、モデルが間違える3つのパターンとシリーズ全体をまとめる。
丸い茶色のかたまりに黒い点が3つ。2つの目と鼻、3粒のブルーベリーがほぼ同じ位置にある。数で見ても、この2つは似ているのだろうか?
このペアは、画像分類の難しさを示す代表的な例です。人でも小さなサムネイルでさっと見ると一瞬迷います。共通点は低レベル特徴(丸いかたまり、ベージュ・茶色、3つの暗い点の三角形の配置)で、違いは高レベル特徴(瞳の反射点、濡れた鼻のつや、毛並み vs パンのきめ、耳 vs 紙カップのひだ)です。
この回では、4-1〜4-3の道具をすべて取り出してこのペアを解剖します。数でどれだけ似ているか(セクション2)、低レベル特徴はなぜだまされるのか(セクション3)、解像度を下げると(セクション4)、ピクセルルール vs パターン(セクション5)、そしてモデルが間違えるパターンと限界(セクション6)を見て、シリーズ全体を1枚にまとめます(セクション7)。
「チワワかマフィンか」は、2016年ごろにインターネットで広まった写真コレクションから生まれた言葉で、その後、画像認識の難しさを説明する例としてよく使われています。このページの画像は、同じアイデアで著者が新たに作成したものです。
瞳のマスとブルーベリーのマス、2枚の写真の平均色、グレースケールのピクセル距離を測る。数の物差しでは、チワワにいちばん近い友だちはマフィンだ。
| チワワ | マフィン | 差 | |
|---|---|---|---|
| 暗いマス1つ (R, G, B) · 14 × 14に縮めたとき | 目 (39, 37, 43) | ブルーベリー (37, 31, 37) | ほぼ同じ |
| 写真全体の平均色 (R, G, B) | (189, 162, 138) | (189, 164, 136) | ほぼ同じ |
| グレースケールのピクセル距離 (56 × 56) | チワワ ↔ マフィン 61.4 · チワワ ↔ イヌ 71.0 · チワワ ↔ ネコ 87.8 | マフィンがいちばん近い | |
ピクセル1つ、平均色、ピクセル距離のどの物差しで測っても、チワワはマフィンにいちばん似ています。4-2で見たとおり、これらの物差しは「何が写っているか」を知らないからです。下の表で、5枚すべての距離を確認できます。
このページの5枚の写真どうしのピクセル距離をすべて測りました。数が小さいほど「似ている」と計算されたことになります。最も小さい値には色を付けました。
この表の値は、このページの5枚(顔の部分だけを切り取って56 × 56に縮めたもの)で測ったものです。別の写真を使うと背景・照明・構図によって値は大きく変わりますが、「ピクセル距離は意味の距離とは違う」という結論は、実際の写真でも広く知られた性質です。
この結果は「モデルがおばかだから」起きるのではありません。数を比べるいちばん単純な方法が、意味ではなく見た目を測っているからです。見た目が似るように作ったこのコレクションでは、その限界がもっとも大きく現れます。実際の写真では背景や構図がばらばらなので数はそれほど似ないかもしれませんが、同じ原理の落とし穴はそのまま残っています。
「周囲より暗い丸い点」を探すフィルタを、2枚の写真に同じように適用する。どちらの写真でも、3つの点がほぼ同じ三角形として検出される。
「暗い点」の表示では、どちらの写真でも3つの黒い点がほぼ同じ三角形の配置で検出されます。チワワは両目と鼻、マフィンは3粒のブルーベリーです。平均色もどちらもベージュ・茶色です。前の方の層の特徴しか使わないモデルにとって、この2枚は同じ写真です。
注意 このコレクションは「紛らわしいペア」を見せるために、似た構図(正面、白い背景)で作った画像です。そのため、適当に撮った写真よりも似ている点が目立つことがあります。実際のチワワ・マフィンの写真でも同じ現象が広く知られていますが、その程度は写真によって異なります。
解像度を7 × 7まで下げると、人の目でも見分けにくくなります。モデルが小さな写真だけを見て学習していたら、同じことがモデルにも起こります。
2つを分ける手がかりはもっと微妙です。瞳に映った小さな白い反射点、鼻の濡れたつや、細い毛並み vs ぽろぽろしたパンのきめ、頭の上の耳と紙カップのひだ、そして3つの点がいつも左右対称かどうか(ブルーベリーはばらばら)がそれです。これを見るには、後ろの層の特徴と多様な写真が必要です。
「暗い点」の表示は、ぼかし具合の異なる2枚の画像の差(DoG)で丸い暗いかたまりを探します。CNNの前の方の層が探す低レベル特徴と同じ種類です。この層までしか見ないモデルにとって、チワワとマフィンは同じ写真です。コード1でも、自作のチワワ風・マフィン風の絵の「暗い部分の面積」は5.81%と5.83%で同じでした。
同じ写真を7 × 7、14 × 14、28 × 28に縮めてみる。解像度とは、モデルに与える情報の量である。
最初は7 × 7です。人の目でも2つはほとんど見分けられません。14、28、56と上げながら、何から見え始めるかを書き留めてみましょう。たいていはチワワの耳の輪郭とマフィンカップの縦のひだが先に、目の反射点と毛並みはいちばん最後に見えてきます。
解像度を下げると数の個数(特徴の数)が減り、小さな手がかりから消えていきます。低レベル特徴(3つの点)は低い解像度でも生き残りますが、2つを分ける高レベル特徴は高い解像度がないと見えません。
| 解像度 | 特徴の数 | テストの正解率 | 最も多く取り違えたペア(正解→予測:回数) |
|---|---|---|---|
| 8 × 8 | 64 | 96.2% | 8→1: 4, 4→1: 2, 3→9: 2 |
| 4 × 4 | 16 | 89.8% | 8→1: 14, 1→8: 6, 1→9: 3 |
| 2 × 2 | 4 | 53.4% | 0→8: 20, 2→4: 17, 1→9: 16 |
手書き数字をマスの平均で縮め、同じ分類器(ロジスティック回帰)でテストしました。解像度が下がるほど、形が似たペア(8と1、0と8)から取り違えるようになります。チワワとマフィンも同じです。小さな写真だけで学習すると、モデルは2つを分ける手がかりをそもそも受け取れません。
解像度とは表のマスの数です。マスが少なければ計算は安く済みますが、小さな手がかりが消えます。実際のモデルも入力サイズ(例:224 × 224)を決めておき、写真を縮めて入れるので、小さな違いが重要な問題(小さな不良、遠くの標識)では、解像度の選び方が性能を大きく左右します。
4-1の「変数1つ > 基準値」のルールを写真に使うと、コンピュータは784マスのうち、たまたまよく当たった背景のマスを選ぶ。特徴マップからパターンを取り出せば、新しい写真でも当てられる。
4-1では、魚は「変数1つ > 基準値」というルール1行で片づきました。同じ方法を写真の784マスに当てはめるとどうなるでしょうか? ルールとパターンは「学習用」の80枚から探し、学習に使っていない「新しい写真」80枚で確かめます。
① 同じやり方で「ピクセル一つ > 基準値」のルールを784マスすべてから探してみます。
② フィルタで特徴マップを作り、マップ全体からパターンを要約します。
「新しい写真」は同じ12枚を学習用とは違うようにずらし、明るさを変えて作ったものなので、まったく別の写真でのテストよりも易しくなっています。②の2つのフィルタは人が選んだもので、CNNはこうしたフィルタを数十〜数百個、データから学びます。
コード1では、実際の写真の代わりにコードで「チワワ風」と「マフィン風」の28 × 28の絵を作ります。どちらもベージュの円と3つの黒い点を持ち、違いは耳(上側)と紙カップのひだ(下側)だけです。
結果:ピクセルルールは学習用 73.8% → 新しい絵 61.3%に落ち、選んだマスは絵の下側の端でした。低レベル特徴である暗い部分の面積は2種類で同じでしたが(5.81% vs 5.83%)、部分のパターン(下側の縦のひだの強さ、上側のエッジ強度)を使うと、新しい絵でも96.3%を当てました。実際の写真での実習と同じ結論になります。
ピクセルルールが背景のマスを選ぶのは、ショートカット学習の小さな例です。学習用の写真で正解とたまたま一緒に現れる簡単な手がかりをつかんだのです。人には「チワワと関係ないマス」だと一目でわかりますが、モデルはそのマスが正解をよく当てるという事実しか知りません。
2つを分ける手がかりは、反射点、毛並み、耳、カップのひだのように、後ろの層になってようやく見えてくる。その手がかりを学べなかったモデルは、どう間違えるのだろうか?
プーリングで写真を縮めながら層を重ねると、後ろの層の1マスは、元の写真のより広い領域を見ることになります。そのため前の層は小さな線を、後ろの層は線の組み合わせである目や耳を、さらに後ろの層は顔全体を見つけるようになります。この図は、ZeilerとFergus(2014)が学習済みCNNの層ごとの反応を可視化して示した傾向を、単純化して描いたものです。
ショートカット学習。モデルは正解を当てるいちばん簡単な手がかりをつかみます。学習用の写真のマフィンがいつも白いお皿の上にあれば「白い背景」を、チワワがいつも室内にいれば「室内の照明」を学んでしまうことがあります。学習データではよく当たりますが、条件が変わると崩れます [R5]。セクション5のピクセルルールがその小さな例です。
見慣れない写真(分布シフト)。学習のときに見たことのない条件、たとえば横向きのチワワ、チョコチップマフィン、暗い照明では、正解率が大きく下がることがあります。テストの点数は「学習用の写真に似た写真」での点数にすぎません [R6]。
過信。ソフトマックスの確率0.99は「99%当たる」という意味ではありません。モデルは間違えるときにも高い確率を出すことがあるので、重要な判断では、確率が実際の正解率と合っているかを別に確認(キャリブレーション)する必要があります [R7]。
だから必要なもの。紛らわしいペアが十分に入ったデータ、さまざまな条件(背景・角度・照明)の写真、十分な解像度、データ拡張(4-3)、そしてモデルが何を見て判断したのかを確かめる習慣です。
| 対決 | 難易度 | 見た目の共通点 | 決定的な違い(特徴) | 主に見分ける層 |
|---|---|---|---|---|
| ネコ vs ヒト | 易しい | 顔、2つの目 | 顔の中央の毛並み、とがった耳、しま模様、鼻の形 | 1〜2層目から分かれる |
| ネコ vs イヌ | 普通 | 毛、2つの目、立った耳 | 鼻先の長さ、鼻の大きさ、顔の輪郭 | 3層目以降(部分の形) |
| チワワ vs マフィン | 難しい | 茶色の丸いかたまり、3つの黒い点 | 目の反射点、毛並み vs パンのきめ、耳 vs 紙カップ、対称性 | 後ろの層(細かな質感 + 全体の配置) |
難しいペアほど必要なもの:より多くの写真(特に紛らわしい写真)、十分な解像度、より後ろの層、そしてCutMixのようなデータ拡張。
Q1. ネコ vs ヒトが易しい対決である理由として最も適切なものは?
Q2. Attentive CutMixで、ネコの切れ端10マスをイヌの絵に貼ったとき、混ぜた絵の正解は?
Q3. チワワ vs マフィンが難しい理由を、このページの言葉で最もよく説明しているものは?
層ごとの図の右端、「配置全体で判断する」段階まで進んで、ようやくこのペアは分かれます。それだけ多くのデータと深いモデルが必要で、そのぶんモデルが見当違いの手がかりに頼る余地も大きくなります。性能の数字とあわせて間違えた写真を自分の目で確かめることが、画像分類でいちばん大切な習慣です。
4回分の内容を一つの流れにつなぐ。マスを押すと、その回の説明へ移動する。
| 概念 | 一言で定義 | 代表的な数式 | なかったら起こること |
|---|---|---|---|
| ピクセルの行列 | 写真をマスごとに0~255の数で書いた表 | X ∈ {0…255}H×W×3 | コンピュータが写真を計算する方法がない |
| 特徴 · ターゲット | 表の1行 = サンプル、列 = 特徴、正解の列 = ターゲット | (x, y), x ∈ ℝᵈ | 何を見て何を当てるのかを決められない |
| 線形分類器(パーセプトロン・線形SVM) | 特徴空間に平面を1枚引く | w · x + b > 0 | 境界を決められない。ただし、これだけではピクセルの写真はうまく分けられない |
| 畳み込みフィルタ | 小さな数の表で模様を探すハンコ | Σ K·X + b | ピクセルを1つずつばらばらに見るので、意味を見つけられない |
| 特徴マップ | 模様がどこにどれだけあるかを書いた新しい行列 | F = ReLU(X∗K) | 次の層が組み合わせる材料がない |
| プーリング | いちばん強い反応だけを残してサイズを縮める | max(2×2) | 計算が多く、1マスずれただけでも揺らぐ |
| 全結合 + ソフトマックス | 特徴を集めてスコアを出し、確率に変える | ezk/Σezj | 特徴は見つけたのに答えを選べない |
| データ拡張 | 写真を変えたり混ぜたりして学習の例を増やす | CutMix、反転、切り取り | 覚えた写真だけ当てて、新しい写真では間違える |
4-1では意味のある変数によるルールと境界を、4-2では写真が数の行列であり、フィルタが模様を探すことを、4-3では層を重ねて座標を変え、データを混ぜて学ぶ方法を、4-4ではそれでも残る難しさと限界を扱いました。別の分類問題に出会ったら、まず「このデータのマスには意味があるか? ないなら、どんなパターンが意味をつくるのか?」と問いかけてみてください。
どちらのコードも、Colabに標準でインストールされているライブラリと組み込みデータだけを使う。「ノートブック(.ipynb)をダウンロード」したあとColabでファイル → ノートブックをアップロードで開くか、コピーして新しいノートブックのセルに貼り付ける。
コードでチワワ風・マフィン風の28 × 28の絵を作り、ピクセル1つだけのルール、暗い点のフィルタ、2つの部分パターンを比較する。自分のデータに置き換えるには、draw()を自分の写真の読み込みに替え、pattern()の領域を自分の写真に合わせる。
8 × 8の手書き数字を4 × 4、2 × 2に縮め、同じ分類器の正解率と、最も多く取り違えた数字のペアを解像度ごとに見る。
ChatGPT、Qwen、ClaudeのようなAIアシスタントに貼り付けるプロンプトである。「コピー」を押すと、プロンプトの後ろに選んだコードが一緒につく。〔 〕の中を自分の状況に書き換えて使えばよい。
AIの答えは出発点にすぎない。提案された論文・数値・ライブラリ関数は、必ず原文と公式ドキュメントで確認する。コンテストや論文でAIの助けを借りた場合は、主催者や学術誌の規定に従って、使用した事実と範囲を明記する。
本文の黄色い点線の下線と同じ辞書である。シリーズ全体で同じ表記を使う。セクション名を押すと、最初に登場した箇所へ移動する。
たとえは理解の第一歩だが、誤解の種にもなる。人の目・脳のたとえには強さを示した。直接 実際に同じことをしているという根拠がある · 部分 一部の性質だけが似ている · なし 対応するものが知られていない
| 概念 | 日常のたとえ | 人の目・脳のたとえ | たとえが当てはまらない点 |
|---|---|---|---|
| 低レベル特徴 | 遠くから見たシルエット | 部分 人もちらっと見ただけのときは、まず輪郭とかたまりで判断する | 人はすぐに文脈(お皿、首輪)や記憶を引き出す。前の方の層しか見ないモデルには、そうした補いがない |
| 高レベル特徴 | 近づいて見分けた顔 | 部分 高次の視覚野には、顔のような複雑な形に反応する部分がある | モデルの高レベル特徴は、必ずしも人が名前をつけられる「目」や「耳」とは限らない |
| 解像度 | 方眼紙のマスの数 | 部分 目も視野の中心だけを詳しく見ている | 目は必要なところへ視線を動かして詳しく見るが、モデルは決まったサイズに縮めた写真1枚だけを見る |
| ショートカット学習 | 答案用紙の隅のしみで答えを覚えた生徒 | なし | 生徒は自分が丸暗記したことを知っているが、モデルは自分がどんな手がかりを使っているのかを知らない |
| 過信 | 「99%確実!」と言う初心者ドライバー | なし | モデルの確率は感情ではなく計算値である。キャリブレーションすれば実際の正解率に合わせられる |
E-1 著者紹介 · E-2 学術参考文献 · E-3 図・データの参考資料
講師、実務OJT担当者、チューターのための運営ガイドである。時間は目安なので、実際の授業に合わせて調整する。
| 対象 | 4-1〜4-3を終えた大学生・社会人。画像AIを業務に導入する前に「どこで間違えるのか」を知りたい実務者 |
|---|---|
| 前提知識 | 4-2のピクセル距離・フィルタ、4-3のCNN・データ拡張 |
| 学習目標 | ① 低レベル特徴と高レベル特徴の違いを例を挙げて説明できる ② 解像度とピクセルルールが分類に与える影響を実験結果で説明できる ③ ショートカット学習・分布シフト・過信を区別し、その対策を述べられる |
| 所要時間の目安 | 読む 40~50分 · 実習デモ 25分 · Colab実習 25分(コード1 15分、コード2 10分) |
導入5分(セクション1)→ セクション2・3の数と低レベル特徴 15分 → セクション4の解像度 10分 → セクション6の限界 15分 → 確認問題 5分。
セクション1を自社業務の「紛らわしいペア」に置き換えて探す 15分 → セクション5でピクセルルールが背景を選ぶ理由を討論 15分 → セクション6の3つの失敗を自社データに当てはめる 25分 → コード1を自社の写真の構図に書き換えて実行 35分。
入門者はセクション1・2・3・6だけ。中級者にはコード1のpattern()を変えて耳のパターンだけでどこまで分けられるかを実験させ、セクション6のキャリブレーション(calibration)を調べて要約させる。
| セクション | 立ち止まって尋ねる質問 | 操作のコツ |
|---|---|---|
| 1 問題 | 「人はどんな手がかりで見分けるのだろう?」 | 画像を大きく映して、反射点・耳・カップを指し示す |
| 2 数で見ると | 「チワワにいちばん近い友だちは誰だろう?」 | 距離の表で、行ごとにいちばん小さい値を見る |
| 3 低レベル特徴 | 「3つの点が同じなら、モデルは何で見分けるのだろう?」 | 「暗い点」の表示で番号の位置を比べる |
| 4 解像度 | 「何から見え始めるだろう?」 | 7 → 14 → 28 → 56 の順に押す |
| 5 ルール vs パターン | 「ルールが選んだマスは、チワワと関係があるだろうか?」 | 「ピクセルルールを自動で探す」を押したあと、表示されたマスを見る |
| 6 限界 | 「テストの点数が95%なら、現場でも95%だろうか?」 | 3つの失敗のうち、自社の業務にとって最も危険なものを選ぶ |
| 7 シリーズのまとめ | 「このデータのマスには意味があるだろうか?」 | フロー図のマスを押して4つの回を行き来する |
| 誤解 | 正しい説明 | 見せる場面 |
|---|---|---|
| 紛らわしいのはモデルがおばかだからだ | 数の物差しでは実際に似ている。高レベル特徴を学ぶためのデータと構造が必要である | セクション2の表 |
| 解像度は高ければ高いほど良い | 計算量・メモリが増え、より多くのデータが必要になる。問題に必要な手がかりの大きさに合わせる | セクション4とコード2 |
| 正解率が高ければ正しい手がかりを見ている | 背景のようなショートカットの手がかりでも高い点数が出る | セクション5のピクセルルール |
| 確率0.99ならほぼ確実だ | モデルは間違えるときにも高い確率を出すことがある。キャリブレーションが必要である | セクション6の過信 |
| データをもっと集めればすべて解決する | 同じ条件のデータを増やすだけでは、見慣れない写真の問題は残る。多様性が重要である | セクション6の分布シフト |
チワワ 0.299×39 + 0.587×37 + 0.114×43 ≈ 38.3、ブルーベリー 0.299×37 + 0.587×31 + 0.114×37 ≈ 33.5。ほぼ同じである。
どちらの写真も丸いかたまりと3つの暗い点の三角形の配置を持っているので、前の方の層の反応がほぼ同じになるからである。
8→1(14回)。マスが16個に減ると、8の2つの輪と1の縦線が似た明るさの分布になる。
ショートカット学習。正解とたまたま一緒に現れる簡単な手がかりをつかんだのである。
現場の写真が学習・テストの写真と同じ条件かどうか(分布シフト)と、モデルの確率が実際の正解率と合っているかどうか(キャリブレーション)。間違えた写真を自分の目で見ることも必要である。
コード1でマフィン風の絵のカップのひだを消して(cupの部分を削除)再実行し、部分パターンの新しい絵での正解率がどう変わるかを見て、セクション6のショートカット学習と結びつけて説明する。
コード2に、解像度8 × 8でぼかし(ガウシアン)を加えた場合を追加し、「マスの数を減らす」と「ぼかす」のどちらが正解率をより下げるかを比較する。
| 入門者 | セクション4のコード結果の表とセクション5の②は飛ばしてもよい。セクション2・3・6をしっかり理解する |
|---|---|
| 発展 | ショートカット学習の事例(医療画像、自動運転など)を調べて発表させる。調べた論文は原文で確認させる |
| さらに学ぶ | 4-1〜4-3 · 3-3 画像とCNN · アン・サンソン『ビジネスのためのデータサイエンス(비즈니스를 위한 데이터 과학)』講義案 |
| 講師用資料 | 確認問題の採点基準と課題の解答例は教育者用の解答ページ(4-4)で見られる |
「4-4 チワワ vs マフィン」編を最後まで読みました。研究室のみんなが一言ずつまとめます。