ネコ vs イヌ — 層を重ねて座標を変える

ネコにもイヌにも、毛も目も耳もある。低レベル特徴が似た2つの対象を見分けるには、何が必要なのだろうか。パーセプトロン・SVMが平面1枚で行き詰まる理由を3次元で回して確かめ、隠れ層が座標を変える様子を見る。続いて、CNNが写真を確率に変える全過程と学習をたどり、重要なかけらを貼り付けて正解を混ぜるデータ拡張(Attentive CutMix)を実際にやってみる。

57.7% → 99.2%同じ点で:線形SVM 対 隠れニューロン3個のMLP(コード1)
29,858小さなCNNが学習する数値の個数
7 × 7最後の特徴マップの格子(ResNet-50と同じ)
6/49Attentive CutMixでのネコの正解比率
93.3 → 95.2%写真200枚のときのCutMixの効果(コード2)
2つColabですぐ動かせるコード
1問題

ネコ vs イヌ — 毛も、目も、耳もある

どちらにも毛があり、目が2つあり、耳が立っている。低レベル特徴だけでは見分けにくい。モデルは何を積み重ねれば、この2つを見分けられるのだろうか?

灰色のネコの写真を特徴抽出ネットワークに入れて特徴マップを得て、反応の大きいかけらをゴールデンレトリバーの写真に貼り付けた後、正解をネコ6/49、イヌ43/49で混ぜる過程を描いた図式
著者が自ら作成した画像。Attentive CutMix [R6] の手順を描いたものである。

4-2のネコ vs ヒトは、毛と肌という低レベル特徴からして違っていました。ネコ vs イヌは違います。どちらにも毛があるのでエッジの地図が似ており、違いはマズルの長さ、鼻の大きさ、顔の輪郭といった部分の形にあります。

この回では3つのことを見ます。なぜ層を重ねると、平面1枚では分けられなかったものが分けられるのか(セクション2)、CNNが写真を確率に変える過程(セクション3〜4)、そしてモデルが重要な部分に集中するよう教えるデータ拡張、図のAttentive CutMix(セクション5〜6)です。

初心者向けの解説

図は、ネコの写真でモデルが最も強く反応したかけら(目・耳のあたり)を選んでイヌの写真に貼り付け、貼った面積の分だけ正解を混ぜる方法です。49マスのうち6マスがネコなので、正解は「ネコ6/49、イヌ43/49」になります。セクション6で実際にやってみます。

2なぜ層を重ねるのか

分類境界と座標の変換 — 層を重ねる理由

4-1のパーセプトロンとSVMは平面を1枚引く。ピクセル座標のままでは平面1枚で分けられない。解決策は座標を変えることであり、その方法を誰が決めるかが、カーネルSVMと多層ニューラルネットワークを分ける。

1モデル

線形分類器は、特徴空間に平面を1枚(2次元なら直線、3次元なら平面、それ以上なら超平面)引き、点がどちら側にあるかで答えます。単層パーセプトロンと線形SVMはどちらもこの形で、どちらも重みwとバイアスbを求めます。違いは平面を選ぶ基準だけです。パーセプトロンは間違った点がなくなれば止まり、SVMは2つの群との間隔(マージン)が最も広い平面を選びます。ですから、重みを求めるという事実は両者を分ける違いではありません。

線形SVM ≈ 単層パーセプトロン元の座標に平面1枚
カーネルSVM人が決めた式で座標を変えてから平面
多層パーセプトロン・CNN座標の変え方まで学習してから平面

かんたんに言うとテーブルの上で混ざった黒い玉と白い玉を、定規1本で分ける作業です。黒い玉が真ん中に集まり、白い玉がその周りを囲んでいると、定規をどう置いてもどちらかが切れてしまいます。そこでテーブルを真ん中がくぼむように曲げると、黒い玉は下に下がり、白い玉は上に残るので、水平な板1枚で分けられます。カーネルSVMは人がテーブルの曲げ方を決めてあげるもので、多層ニューラルネットワークは曲げ方を自ら学ぶものです。

2数式
線形分類器:   ŷ = 1  if  w · x + b > 0,  それ以外は0
線形SVM:   すべてのサンプルを正しく分けながら、マージン 2 / ‖w‖ が最大になる (w, b)パーセプトロンと境界の形は同じで、「どの平面を選ぶか」の基準だけが違います。実際には、少し間違えることを許すソフトマージンを使います。
カーネルSVM:   w · φ(x) + b,   φは人が選ぶ(例:φ(x₁, x₂) = (x₁, x₂, x₁² + x₂²))
多層パーセプトロン:   h = σ(W₁x + b₁),   ŷ = [ w₂ · h + b₂ > 0 ]隠れ層hが新しい座標で、W₁・b₁は学習によって決まります。最後の行は、新しい座標hに平面を引く単層パーセプトロンです。
w, b
平面の向きと位置。どの方法も共通して求める
φ(x)
座標を変える関数。カーネルSVMでは人が選んだカーネルが決める
σ
tanh、ReLUのような折れ曲がった関数(活性化関数)。これがないと、層を重ねても平面1枚と同じ
h
隠れ層の出力。学習によって作られた新しい特徴
数式を一つずつ読む
  1. w · x + bパーセプトロンの重み付き和です。特徴ごとに重みを掛けて足し、0より大きければ一方のクラスだと答えます。0になる点を結ぶと境界の平面になります。
  2. φ(x)座標の変換です。元の空間で曲がっていた境界が、変換後の空間では平らな平面になるようにするのが目標です。
  3. σ(W₁x + b₁)φを学習可能な式にしたものです。W₁を直すと座標の変え方が変わり、学習は最後の平面がうまく分ける方向へW₁を直します。CNNの畳み込み層もこの役割を担います。
数字でやってみる点 (0.1, 0.2) と (0.7, 0.1):元の座標では内側と外側なので、直線1本で周りを囲むことはできない
φ = (x₁, x₂, x₁² + x₂²) に変えると3番目の座標が0.05と0.50 → 平面「3番目の座標 = 0.3」1枚で分けられる
33次元で回してみる · 同じ点を3つの方法で分ける

真ん中の群と、その周りを囲む群という2つの群の点です(説明用の架空データ)。ボタンで方法を切り替え、図をドラッグして回してみましょう。③の隠れ層(ニューロン3個)は、このページを開いたときにブラウザで実際に学習させた結果です。

方法
100%
平面1枚で正しく分けた割合:-
座標軸:-

● 真ん中の群   ● 周りの群   紫の面 = 境界の平面。図をクリックしてから矢印キーでも回せます。

4同じ基準で比較
方法境界の形座標(特徴)を決めるのは生のピクセル写真では登場
単層パーセプトロン平面1枚変えないうまくいかない1958
線形SVM平面1枚(マージン最大)変えないうまくいかない(パーセプトロンよりはおおむね良い)1990年代
カーネルSVM元の空間で曲がった境界人がカーネルで決める単純な画像(手書き数字)ではうまくいくが、自然な写真では限界1992~
多層パーセプトロン · CNN元の空間で曲がった境界データから学習うまくいく(十分なデータが必要)1986〜、CNNは2012年に飛躍

手書き数字(MNIST)では、カーネルSVMがピクセルだけでも誤り率1%前後を出しました(LeCunら、1998の比較)。写真が複雑になるほど、人が適したカーネルを選ぶのは難しくなります。逆に、学習済みCNNが取り出した特徴ベクトルに線形SVMをつないでも、分類はうまくいきます(Razavianら、2014)。性能を分けたのは分類器の種類ではなく、特徴だということです。

5解釈 · よくある誤解を正す

「SVMがうまくいかなかったからパーセプトロンが生まれた」というのは順序が逆です。パーセプトロン(1958)が先に登場し、層を重ねたニューラルネットワークを学習させるのが難しかった1990〜2000年代にSVMが主流になりました。2012年、層の深いCNNが大規模な画像分類でSVMベースの手法に大差で勝ち、流れが再び変わりました。

「パーセプトロンは重みを求めるから正確だ」というのも半分しか正しくありません。重みを求めるのはSVMも同じです。単層パーセプトロンは線形SVMと同じく平面1枚の分類器なので、生のピクセル写真では同じように行き詰まります。うまくいくのは、隠れ層のある多層パーセプトロンとCNNです。

まとめると、違いはSVMかパーセプトロンかではなく、座標(特徴)を人が決めるのか、データから学ぶのかから生まれます。ピクセルのルールが意味のない背景のマスを選んでしまう(4-4)のは、ピクセルという座標が悪いからであり、4-2のフィルタとこの回のCNNは、その座標を学習で変える仕組みです。CNNが勝てたのは、層を重ねたことだけでなく、畳み込みの重み共有、大量の正解データ、GPUによる計算が合わさった結果です。

✓確認問題

Q1. 単層パーセプトロンと線形SVMの関係として正しいものは?

Q2. カーネルSVMと多層パーセプトロンの最も重要な違いは?

Q3. 隠れ層からσ(活性化関数)を取り除くとどうなるでしょうか?

初心者向けの解説

隠れ層のニューロン1個は、「重み付き和 → 折れ曲がった関数(tanh、ReLU)」で新しい座標を1つ作ります。学習は、最後の平面がうまく分けられるよう、この座標の作り方そのものを直します。コード1では同じ点に対して、線形SVMは57.7%、人が選んだx₁² + x₂²を加えたSVMは98.8%、隠れニューロン3個の多層パーセプトロンは99.2%を正しく分けました。CNNの畳み込み層も、この「座標の変換」を写真向けに行うものです。

3CNNの構造

CNNを1枚で見る — 小さく、厚くなっていく特徴マップ

畳み込み → ReLU → プーリングを繰り返すと、写真は小さくなり、特徴マップの枚数は増える。最後に平坦化してパーセプトロンの層に入れると、クラスごとのスコアが出る。

1モデル

畳み込みニューラルネットワーク(CNN)は、4-2の部品(畳み込み・プーリング)を重ねて作るモデルで、セクション2で見た「座標を学習で変えてから平面を引く」多層ニューラルネットワークの写真専用版です。[畳み込み → ReLU → プーリング]を何度も繰り返すと、写真はだんだん小さくなり、その代わり特徴マップの枚数(チャネル)が増えます。最後の特徴マップを1列に平坦化して全結合層(パーセプトロンを何個も並べたもの)に入れると、クラスごとにスコアが1つずつ出て、ソフトマックスがこのスコアを合計1の確率に変えます。

入力ピクセルの行列 56 × 56 × 3
中間小さく、厚くなっていく特徴マップ
出力P(ネコ), P(イヌ)

かんたんに言うと会社の報告体制です。現場の社員(1層目)は「ここに線がある」といった小さな事実を報告し、チームリーダー(2〜3層目)はその報告をまとめて「ここに目と耳がある」と上げ、役員(全結合層)は要約だけを見て「ネコである確率93%」と決めます。層を上がるほど、報告書は短く、内容は抽象的になります。

2数式
F(ℓ) = Pool( ReLU( F(ℓ−1) ∗ K(ℓ) + b(ℓ) ) ),   F(0) = X
h = flatten(F(L)),   z = W·h + b最後の特徴マップを1列に並べたhをパーセプトロンの層に入れ、クラスごとのスコアzを得ます。
pk = ezk / Σj ezj,   L = −log p正解
ℓ
層の番号。F⁽ˡ⁾はℓ番目の層の特徴マップ
K⁽ˡ⁾
ℓ層目のフィルタの束。チャネルが何枚もあれば、フィルタもその分だけ厚い(3 × 3 × チャネル数)
h
平坦化した特徴。7 × 7 × 64なら3,136個の数
z, p, L
スコア、確率、交差エントロピー損失
数式を一つずつ読む
  1. F⁽ˡ⁻¹⁾ ∗ K⁽ˡ⁾前の層の特徴マップが、次の層の入力です。2層目のフィルタはピクセルではなく、1層目が見つけた「エッジの地図」を見て、角や曲線を見つけます。
  2. flatten3次元の数の箱を1列に並べます。数はそのままで、順番だけが変わります。
  3. ez / Σezソフトマックスです。スコアが大きいほど確率が大きくなり、すべての確率を足すと1になります。
  4. −log p正解交差エントロピーです。正解に与えた確率が1なら0、小さいほど大きな罰点を与えます。学習は、この値が小さくなる方向へフィルタKとWをすべて直します。
数字でやってみるスコア z =(ネコ 3.0、イヌ 0.5)→ e³ = 20.09, e⁰·⁵ = 1.65, 合計 21.74
p(ネコ) = 20.09 / 21.74 = 0.924,  p(イヌ) = 1.65 / 21.74 = 0.076
正解がネコなら L = −log 0.924 = 0.079(小さな罰点)。正解がイヌだったなら L = −log 0.076 = 2.58(大きな罰点)
3図解 · 小さなCNNを1枚で見る
小さなCNNの構造56×56×3の入力が畳み込みとプーリングを3回経て7×7×64になり、平坦化した3136個の数が全結合層を通って、ソフトマックスで2つの確率になる 入力56 × 56 × 3 畳み込み1 + プーリング28 × 28 × 16線・エッジ 畳み込み2 + プーリング14 × 14 × 32角・質感 畳み込み3 + プーリング7 × 7 × 64目・耳・鼻 ⋮ 平坦化3,136個 z₁z₂ 全結合スコア2つ ネコ 0.92 イヌ 0.08 ソフトマックス確率(合計 = 1) ← 縦横は小さくなり、特徴マップの枚数は増える →
段階すること出力サイズ数の個数学習する数(パラメータ)
入力ピクセルの行列56 × 56 × 39,4080
畳み込み13 × 3フィルタ16個、端にパディング56 × 56 × 1650,1763·3·3·16 + 16 = 448
プーリング12 × 2最大プーリング28 × 28 × 1612,5440
畳み込み2 + プーリング2フィルタ32個 → 半分14 × 14 × 326,2723·3·16·32 + 32 = 4,640
畳み込み3 + プーリング3フィルタ64個 → 半分7 × 7 × 643,1363·3·32·64 + 64 = 18,496
平坦化1列に3,1363,1360
全結合スコア2つ223,136·2 + 2 = 6,274
ソフトマックス確率に220  (合計 29,858)

最後の特徴マップが7 × 7であることを覚えておいてください。実際によく使われるResNet-50も、224 × 224の写真を入れると最後の特徴マップは7 × 7の格子(チャネル2,048枚)で、セクション6のAttentive CutMixはまさにこの49マスを使います。

初心者向けの解説

表の数字をたどってみましょう。56 × 56 × 3の写真が畳み込みとプーリングを3回経て7 × 7 × 64になり、平坦化した3,136個の数が全結合層を通ってスコア2つになります。学習する数は全部で29,858個です。実際によく使われるResNet-50は約2,500万個ですが、最後の特徴マップが7 × 7の格子である点は同じです [R4]。

4確率

写真が確率になるまで — ソフトマックスと学習

最後のスコアをソフトマックスで確率に変え、正解との差(交差エントロピー)の分だけフィルタと重みを直す。

1動く図解 · 写真が確率になるまで

上で写真を選んでください。1層目の特徴マップとプーリングの結果は、実際の写真にフィルタを適用してこのページで計算したものです。後ろの層の反応と最後の確率は、流れを示すために決めた例の値です。

写真

  1. 入力の行列
  2. 1層目:エッジを見つける
  3. プーリング:縮める
  4. 後ろの層:部分を見つける
  5. スコア → 確率
2ソフトマックス計算機

全結合層が出した2つのスコアを動かしてみましょう。正解はネコだと仮定します。

3解釈 · フィルタの数字はどう決まるのか

最初、CNNのフィルタの数字Kと全結合層のWはすべてランダムです。ネコの写真を入れても、確率は半々くらいになります。

正解を教えると損失 L = −log p正解 を計算し、前の回で見た勾配降下法で、損失が小さくなる方向へすべての数を少しずつ直します。この勾配は、出力から入力の側へ層をさかのぼって伝えられます(誤差逆伝播法)。

この過程を数万枚の写真で繰り返すと、誰も指示していないのに、1層目のフィルタはエッジフィルタの形になり、後ろの層のフィルタは目や耳に反応するようになります。「どんな特徴を見るか」までデータから学ぶことが、人が特徴を決めていたやり方との最大の違いです。

4主な特徴
強み
  • ピクセルから確率まで一度に学習(特徴の設計が不要)
  • フィルタを共有するので、同じ規模の全結合ネットワークよりパラメータがはるかに少ない
  • 層が深いほど抽象的な特徴を表現
限界
  • 学習に正解付きの写真がたくさん必要
  • 学んだことのない組み合わせ(マフィンのようなチワワ)に自信満々で間違えることがある
  • 確率が高くても理由が正しいとは限らない(背景だけを見て当てることもある)
位置づけ:ネオコグニトロン(1980)→ LeNet(1989・1998)→ AlexNet(2012)→ VGG・GoogLeNet(2014)→ ResNet(2016)。今日のビジョントランスフォーマーも、最初の段階で写真を小さなかけらに切って数に変える点は同じです。
✓確認問題

Q1. CNNを通るにつれて、特徴マップの形はおおむねどうなる?

Q2. スコアzが (2.0, 2.0) のとき、ソフトマックスの確率は?

Q3. 学習中に直されるのは?

初心者向けの解説

ソフトマックスはスコアを合計1の確率に変えます。交差エントロピーは、正解に与えた確率が低いほど大きな罰点を与えます。学習とは、この罰点が小さくなる方向へすべてのフィルタの数字と重みを少しずつ直すことで、その勾配は出力から入力の側へ層をさかのぼって伝えられます(誤差逆伝播法) [R3]。

5ネコ vs イヌ

ネコ vs イヌ — 部分の形が見分ける

低レベル特徴(毛のエッジ)は似ている。マズルの長さ、鼻の大きさ、顔の輪郭のように、3層目以降で見る部分的な特徴が2つを見分ける。

②ネコ vs イヌ ふつう

今回は低レベル特徴が似ています。どちらにも毛があるのでエッジ強度の地図が写真全体でびっしりしており、2つの目と立った耳も同じです。1〜2層目の特徴だけでは見分けにくいのです。

違いは部分の形にあります。イヌはマズルが前に長く出ていて鼻が大きく、口が開いて舌が見えることもあります。ネコは顔が丸く、鼻と口が小さめです。3層目以降の「目・鼻・マズルの配置」を見る特徴が、この2つを見分けます。

そこで、モデルが写真全体の雰囲気(毛の色、背景)ではなく、こうした重要な部分に集中するよう教える手法が生まれました。セクション6で扱う、セクション1の画像のAttentive CutMixです。

初心者向けの解説

ペア比較で表示を「エッジ強度」に切り替えると、どちらの写真も毛のせいでエッジの地図がびっしりしています。解像度を7に下げると、何が先に消えるかも見てみましょう。モデルに毛の色や背景(芝生)のような簡単な手がかりではなく顔の部分を見させるには、学習データをどう与えるかが重要になります。それがセクション6のデータ拡張です。

6データ拡張

データ拡張とAttentive CutMix — かけらを貼り、正解も混ぜる

写真が少ないときや、モデルが見当違いの手がかりに頼るとき、学習用の写真を変えたり混ぜたりして「何を見るべきか」を教える。

1データ拡張の種類 · 同じ写真を何度も違う形で見せる
方法すること正解は?教えること
反転・切り抜き・回転左右を反転したり、一部を切り抜いて拡大したりするそのまま位置・向きが変わっても同じ対象
明るさ・色の変更照明が違う写真のようにするそのまま照明より形を見ること
Cutout四角形を1つ消すそのまま一部が隠れても当てること
Mixup2枚の写真を半透明に重ねる比率どおりに混ぜる過剰な確信を減らすこと [R7]
CutMix別の写真の四角いかけらを貼る貼った面積どおりに混ぜる一部だけを見ても見分けること [R5]
Attentive CutMix反応の大きいかけらだけを選んで貼る貼った面積どおりに混ぜる重要な部分に集中すること [R6]

Colabのコード2で、手書き数字をクラスあたり20枚(計200枚)だけ与えて同じCNNを学習させると、テストの正解率はそのままで93.3%、CutMixでは95.2%でした(シード3つの平均)。写真が少ないときに、混ぜて貼り付けることが役立った例です。データやモデルが変われば、効果の大きさは変わります。

②+Attentive CutMixをやってみる · ネコの重要なかけらをイヌに貼る

方法は4段階です。(1) 学習済みのCNNにネコの写真を入れ、最後の7 × 7の特徴マップを得ます。(2) 49マスのうち、反応が最も大きいkマスを選びます。(3) そのマスに対応するネコの写真のかけらを、ランダムに選んだイヌの写真の同じ位置に貼ります。(4) 正解も面積の比率どおりに混ぜます。k = 6なら、ネコ6/49、イヌ43/49です。

ネコ · 反応の弱いマスは暗く
ランダムなイヌの写真
混ぜた写真
混ぜた写真の正解

注意:論文では、ImageNetで学習したResNet-50の実際の反応でかけらを選びます。ここでは学習済みモデルの代わりに、「マスの中のエッジ強度の平均」を反応の代用にしました。そのため目・鼻のほかに、額の縞模様や背景のエッジのように、エッジが多いだけのマスが選ばれることもあります。本当に学習したモデルがどのマスを選ぶかは、これとは異なる場合があります。

なぜこうすると良くなるのか
  1. かけらだけでもネコ混ぜた写真のうちネコの成分は、目・耳のかけら6つだけです。これで「ネコ12%」を当てるには、モデルは毛の色や背景ではなく、部分的な特徴を見なければなりません。
  2. 正解も混ぜる「100%イヌ」と言い張らせず、88%と答えさせます。モデルが過度に確信するくせ(過学習)を減らす正則化の効果があります。
  3. ランダムなかけらとの違いもとのCutMixは、四角形を1つランダムな位置から切り取って貼ります。背景だけが貼られ、「ネコ30%」という間違った正解が生まれることがあります。Attentive CutMixは反応の大きい場所を選ぶことで、この問題を減らします。

初心者向けの解説

データ拡張は、モデルの構造を変えずに学習用の写真だけを変えて性能を上げる方法です。過学習、つまり学習用の写真にだけ過剰に合わせてしまうことを減らす正則化の効果があります。上の実習では、学習済みのResNet-50の代わりに「マスの中のエッジ強度」を反応の代用にしたことを覚えておきましょう。

Colabコード — このページを自分で実行してみる

どちらのコードも、Colabに標準でインストールされているライブラリと組み込みデータだけを使う。「ノートブック(.ipynb)をダウンロード」したあとColabでファイル → ノートブックをアップロードで開くか、コピーして新しいノートブックのセルに貼り付ける。

コード1 · なぜ層を重ねるのか — 隠れ層が座標を変える様子セクション2・4と連動 · numpy, scikit-learn, matplotlib · CPUで1秒未満

真ん中・周りの2つの群を、パーセプトロン・線形SVM・人が選んだ変換・RBFカーネルSVM・隠れニューロン3個の多層パーセプトロン(numpyで誤差逆伝播法を直接実装)で比較し、ソフトマックスと交差エントロピーを計算する。

実行結果(2026-10-04実行、numpy 2.4 · scikit-learn 1.8 · CPU)。乱数シードを固定しているので、いつ実行しても同じになる。
コード2 · 小さなCNNとCutMix — 写真が少ないとき、混ぜて貼り付けるのは役に立つかセクション3・6と連動 · numpy, tensorflow(Keras), scikit-learn · CPUで約1分

8 × 8の手書き数字で、クラスあたり20枚だけを学習に使い、同じCNNをそのまま / CutMixで学習させ、テストの正解率をシード3つで比較する。ネコ・イヌの写真に替えるには、keras.datasets.cifar10から3番(ネコ)・5番(イヌ)のクラスを選び、Inputの形を (32, 32, 3) に変える。

実行結果(2026-10-04実行、TensorFlow 2.21 · Keras 3 · CPU)。シード・バージョン・ハードウェアによって数字が少し変わることがある。

AI活用プロンプト — このコードを出発点にする

ChatGPT、Qwen、ClaudeのようなAIアシスタントに貼り付けるプロンプトである。「コピー」を押すと、プロンプトの後ろに選んだコードが一緒につく。〔 〕の中を自分の状況に書き換えて使えばよい。

一緒につけるコード

AIの答えは出発点にすぎない。提案された論文・数値・ライブラリ関数は、必ず原文と公式ドキュメントで確認する。コンテストや論文でAIの助けを借りた場合は、主催者や学術誌の規定に従って、使用した事実と範囲を明記する。

用語まとめ

本文の黄色い点線の下線と同じ辞書である。シリーズ全体で同じ表記を使う。セクション名を押すと、最初に登場した箇所へ移動する。

たとえ集 — そしてたとえが当てはまらない点

たとえは理解の第一歩だが、誤解の種にもなる。人の目・脳のたとえには強さを示した。直接 実際に同じことをしているという根拠がある · 部分 一部の性質だけが似ている · なし 対応するものが知られていない

概念日常のたとえ人の目・脳のたとえたとえが当てはまらない点
隠れ層しわくちゃの紙を広げて定規で分けるなし紙は人が広げるが、隠れ層は「どう広げるか」を学習する。しかも実際には数百次元で起きるので、目で見ることはできない
CNNの層現場社員 → チームリーダー → 役員という報告の流れ部分 視覚経路も網膜 → 一次視覚野 → 高次領域へと進むにつれて、より広い範囲と複雑な形に反応するようになる脳には逆向きに下りてくる結合や注意のはたらきが多い。CNNは一方向にしか計算しない
ソフトマックス得票数を得票率に変えるなし得票率は実際の投票結果だが、ソフトマックスの確率はモデルの「確信の度合い」にすぎず、当たる確率と同じとは限らない
誤差逆伝播法結果が間違っていたとき、最後の工程からさかのぼって責任を問うなし責任を「分けて問う」量は微分で正確に計算される。誰が悪かったかを人が判断するわけではない
CutMix2枚の写真を切り貼りしたコラージュに、貼った面積の分だけ正解も分け与えるなし貼った切れ端が背景だけだと、「ネコ30%」という間違った正解が生まれる。Attentive CutMixはこれを減らす

著者紹介と参考文献

E-1 著者紹介 · E-2 学術参考文献 · E-3 図・データの参考資料

E-1 著者紹介

アン・サンソン(M-Robo Inc. 代表)

韓国電気安全公社(KESCO)、毎日経済新聞(Maeil Business Newspaper)を経て、現在は毎日経済の社外ベンチャーであるM-Robo Inc.を創業し、代表を務めている。M-Robo Inc.は報道機関の社内ベンチャーとして始まったメディアベンチャーで、国民日報(Kukmin Ilbo)にロボット記者(ストックボット)をサービスし、韓国インターネット振興院(KISA)、韓国言論振興財団(Korea Press Foundation)、韓国放送通信電波振興院(RAPA)などで多数のプロジェクトを手がけた。その後、自社のAIニュース新聞であるMoney-Roboをサービスしている。代表在任中にアジア・オープンデータ・ハッカソンで優勝し、データ創業分野での功績により行政安全部長官賞を2回受賞したほか、人工知能およびブロックチェーン分野で5件の特許の発明者・登録者である。著書に『AI犯罪と自己防衛(AI범죄와 자기방어)』があり、フィンテック、統計学、人工知能の分野で韓国技術教育大学校(KOREATECH)オンライン生涯教育院のeラーニングコンテンツ開発を行った。最終学位は経済学博士(東国大学校、ミクロ数理経済学)。国民大学校、湖西大学校など複数の大学で、データおよび人工知能に関する科目を講義している。詳しいプロフィール

講義

  • アン・サンソン (2025). 『ビジネスのためのデータサイエンス(비즈니스를 위한 데이터 과학)』講義案. Open Cyber University of Korea 人工知能融合学科.
  • アン・サンソン (2025). [K-デジタル] 人工知能 自然言語処理. STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学校(KOREATECH)オンライン生涯教育院.
  • アン・サンソン (2024). [K-デジタル] フィンテックデータ分析の基礎. STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学校(KOREATECH)オンライン生涯教育院.

STEPの講義はこちら:link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
サイトのリニューアルによりつながりにくい場合は、www.step.or.krにアクセスしてください。

論文と発表

  • アン・サンソン (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能モデルに基づくアプローチ. 『未来社会(미래사회)』, 16(2). 原文
  • アン・サンソン (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能アプローチ. 国民老後保障パネル学術大会 発表資料(2025.05.13), 国民年金公団 国民年金研究院(National Pension Service, National Pension Research Institute). 発表資料
  • アン・サンソン (2025). SNSテキストに基づく麻薬疑い取引検知アルゴリズムに関する研究:パターンおよび文脈分析を中心に. 『未来社会(미래사회)』, 16(1). 原文
  • アン・サンソン (2024). 金融分野の異常検知モデルのセキュリティのための統計に基づく敵対的データへの対応策:実証分析とシミュレーション結果. 『未来社会(미래사회)』, 15(3). 原文
  • アン・サンソン (2024). 人工知能を活用した仮想キャラクターの特性に基づくSNS投稿検知ソリューション. 2024 Summer Newmedia Party ポスター発表(2024.06.19), Seoul Media Institute of Technology.
  • アン・サンソン (2024). 産業災害パネルデータを活用した機械学習モデル. 第10回 労災保険パネル学術大会 ポスター発表(2024.05.17), 勤労福祉公団 勤労福祉研究院(Korea Workers' Compensation & Welfare Service, Labor Welfare Research Institute).
  • アン・サンソン (2024). 仮想資産の時系列データの分析と予測:時系列モデルと人工知能モデルの比較および改善点の提示. 『未来社会(미래사회)』, 15(1). 原文

E-2 学術参考文献

  1. [R1] Rosenblatt, F. (1958). The perceptron. Psychological Review, 65(6), 386–408. — セクション2
  2. [R2] Boser, B. E., Guyon, I. M., & Vapnik, V. N. (1992). A training algorithm for optimal margin classifiers. COLT 1992. — セクション2(カーネルSVM)
  3. [R3] Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, 533–536. — セクション2・4
  4. [R4] He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. CVPR 2016. — セクション3・6
  5. [R5] Yun, S., Han, D., Oh, S. J., Chun, S., Choe, J., & Yoo, Y. (2019). CutMix: Regularization strategy to train strong classifiers with localizable features. ICCV 2019. — セクション6、コード2
  6. [R6] Walawalkar, D., Shen, Z., Liu, Z., & Savvides, M. (2020). Attentive CutMix: An enhanced data augmentation approach for deep learning based image classification. ICASSP 2020. — セクション1・6
  7. [R7] Zhang, H., Cisse, M., Dauphin, Y. N., & Lopez-Paz, D. (2018). mixup: Beyond empirical risk minimization. ICLR 2018. — セクション6
  8. [R8] Razavian, A. S., Azizpour, H., Sullivan, J., & Carlsson, S. (2014). CNN features off-the-shelf: An astounding baseline for recognition. CVPR Workshops 2014. — セクション2
  9. [R9] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. NeurIPS 2012. — セクション2

E-3 図・データの参考資料

  • セクション1の画像は著者が自ら作成したもので、[R6]の手順を描いている
  • セクション2の点は説明用の架空データで、③の隠れ層はページを開いたときにブラウザ上で実際に学習する
  • セクション4のアニメーションのうち、1層目の特徴マップとプーリングは実際の計算で、後ろの層の反応と確率は例の値である
  • セクション6の7 × 7の反応マップは、学習済みモデルの代わりにマスごとのエッジ強度で代用したものである

教育者のためのTIP

講師、実務OJT担当者、チューターのための運営ガイドである。時間は目安なので、実際の授業に合わせて調整する。

対象4-1・4-2を終えた大学生・社会人。ディープラーニングが「なぜ深くなければならないのか」の説明が必要な実務者
前提知識4-1のパーセプトロン・SVM、4-2の畳み込み。指数関数e^zの意味
学習目標① 線形分類器ではうまくいかないデータを例に挙げ、隠れ層が座標を変える原理を説明できる ② CNNの層ごとの出力サイズとパラメータ数を計算できる ③ ソフトマックス・交差エントロピーを計算し、CutMixの正解の混ぜ方を説明できる
所要時間の目安読む 45~55分 · 実習デモ 25分 · Colab実習 30分(コード1 10分、コード2 実行1分 + 解釈19分)

3つの運営案

講義形式 50分

概念中心

導入5分(セクション1)→ セクション2の3次元図 15分 → セクション3のサイズ表 10分 → セクション4のソフトマックス計算機 10分 → セクション6のCutMix 5分 → 確認問題 5分。

実務OJT 90分

業務への適用中心

セクション2を自社データの「平面では分けられない事例」に置き換えて討論 20分 → セクション3の表で自社の入力サイズのパラメータ数を計算 15分 → セクション6の拡張の表から自社の写真に合う方法を選ぶ 20分 → コード2を自社の写真が少ない状況に書き換えて実行 35分。

1対1チュータリング

レベル別の進度

入門者はセクション1・2・4だけ。中級者にはセクション3の表のパラメータ数を手で計算し直させ、コード1の誤差逆伝播法の3行を数式と1行ずつ照らし合わせさせる。

セクション別の運営ポイント

セクション立ち止まって尋ねる質問操作のコツ
1 問題「ネコとイヌの共通点は何だろう?」画像の6/49がどこから来たのかを先に問う
2 なぜ層を重ねるのか「平面をどこに立てても、なぜ片側が切れてしまうのだろう?」① → ② → ③ の順に押して、図を回す
3 CNNの構造「プーリング層で学習する数はいくつだろう?」表のサイズとパラメータの列を上から下へ指でたどる
4 確率「スコアが同じなら確率は?」ソフトマックス計算機で2つのスコアを同じにする
5 ネコ vs イヌ「毛の色だけを見て分けると、何が問題だろう?」ペア比較のエッジ強度と解像度7を見る
6 データ拡張「ネコの切れ端が10マスなら、正解は?」kスライダーを1 → 15へ動かしながら正解のバーを見る

よくある誤解 Top 5

誤解正しい説明見せる場面
層を重ねさえすれば曲がった境界になる折れ曲がる関数(活性化関数)がなければ、層を重ねても平面1枚と同じであるセクション2の確認問題Q3
SVMは非線形な分類ができないカーネルSVMは曲がった境界をつくる。ただしカーネルは人が選ぶセクション2の②とコード1のRBFの結果
ソフトマックスの確率 = 当たる確率モデルの確信にすぎず、実際の正解率とは異なることがある(キャリブレーションの問題)セクション4の計算機でスコアの差を大きく広げる
CNNは学習する数が多いから性能が良い同じフィルタを使い回すので、全結合のネットワークよりずっと少ないセクション3の表の29,858
データ拡張は写真を増やすだけだ何を見るべきかを教える正則化である。正解を混ぜる方法もあるセクション6の拡張の表とコード2

確認問題(解説は押して開く)

Q1. 点が中央と周囲に絡み合っているとき、線形SVMがうまくいかない理由は?

境界が平面(2次元では直線)1枚なので、どの向きに立てても周囲の群れを2つに切ってしまう。コード1では57.7%だった。

Q2. 3 × 3のフィルタ32個で16枚の特徴マップを処理する畳み込み層のパラメータ数は?

3 × 3 × 16 × 32 + 32(バイアス)= 4,640個。

Q3. スコア z = (2.0, 2.0) のソフトマックスの確率と、正解が1つ目のときの交差エントロピーは?

確率は (0.5, 0.5)。損失は −log 0.5 ≈ 0.693。

Q4. 7 × 7の格子でネコの切れ端を10マス貼った。正解の比率は?

ネコ 10/49 ≈ 0.204、イヌ 39/49 ≈ 0.796。

Q5. コード2ではCutMixがテストの正解率を上げた。学習の正解率はなぜ両方とも100%だったのか?

学習用の写真が200枚と少ないため、どちらのモデルも学習用の写真はすべて当てられる。差が出るのは初めて見るテスト用の写真である(過学習の程度)。

Colab課題

基本

コード1で隠れニューロンの数を1、2、3、8に変えて正解率を表にまとめ、いくつから中央と周囲を分けられるか、その理由とともに書く。

チャレンジ

コード2のPER_CLASSを10、20、50、100に変え、CutMixの効果(テストの正解率の差)が写真の枚数によってどう変わるかを、シード3つで報告する。

難易度の調整とさらに学ぶ

入門者セクション3の表とセクション4の数式は飛ばしてもよい。セクション2の3次元図とセクション6のCutMixの実習はしっかりやってみる
発展MixupとCutMixを両方コード2に入れて比較し、正解を混ぜる拡張がモデルの確信(ソフトマックスの最大値)をどう変えるかを発表させる
さらに学ぶ3-3 画像とCNN · 4-4 チワワ vs マフィン(高レベル特徴とモデルの限界)
講師用資料確認問題の採点基準と課題の解答例は教育者用の解答ページ(4-3)で見られる

お疲れさまでした!

「4-3 ネコ vs イヌ」編を最後まで読みました。研究室のみんなが一言ずつまとめます。

夜の街が見える窓辺で、研究室のみんな4人が手を振っているピクセルアート
博士
博士層を重ねる理由が見つかりました。
  • 平面1枚で分けられないなら、座標を変える
  • CNNは小さく、厚くなりながら特徴を積み重ねる
  • CutMixは切れ端を貼り、正解も混ぜる
助手
助手隠れニューロンたった3つで99%が出ました!
ショウジョウバエ研究員
ショウジョウバエ研究員最後はチワワとマフィン。人でも迷うペアだよ。