CNNConvolutional Neural Network
写真の模様を層ごとに見つけ出すニューラルネットワーク構造
- CNN(Convolutional Neural Network、畳み込みニューラルネットワーク)は写真を扱うために作られたニューラルネットワーク構造です。写真をまるごと一度に判断するわけではありません。
- 小さな板で写真を走査して模様を見つける段と、結果をまとめて縮める段が交互に続きます。
- 手前の段は線や角のような細かい模様を、奥の段は車輪や窓枠のような大きな部品を見分けます。
- 同じ板を写真のすみずみまで同じように使うので、物体が画面のどこにあっても見分けられます。
- 写真だけでなく、音を絵に変えたものや短い映像にも同じ構造が使われます。
目次
1たとえで理解する
餅屋に米袋を一つ預けても、機械一台がひとりでお餅を出してくれるわけではありません。粉にする機械、生地を蒸す機械、四角く伸ばす機械、決まった厚さに切る機械が一列に並んでいて、前の機械が出したものだけを後ろの機械が受け取り、自分の持ち場だけをこなします。袋を前にしてお餅の形を言い当てる人はいませんが、段を一つ通るたびに米は粉になり生地になり四角い塊になり、最後に切り餅になります。
CNNもこうして一列に並んだ機械です。写真一枚を前にしてすぐ名前を呼ぶ代わりに、細かい模様を見つける段とまとめる段を何度も交互に通ります。手前の段が出したものだけを後ろの段が受け取り、いちばん最後になってようやく名札が付きます。餅屋でどれか一台の機械を抜くとお餅ができないように、層を一つだけ取り出しても何をしていたのか分かりにくいものです。
2くわしく
手前の段は細かい模様から見ます
写真を最初に受け取った段がすることは、意外なほど単純です。ごく小さな板を写真の上に乗せ、その場所で明るさが急に折れ曲がるか、線が斜めに寝ているか程度しか見ません。板が小さいので、一度に調べる広さは爪ほどです。この段階ではまだ車も犬もなく、短い線とにじみしかありません。
この細かい模様が次の段の材料になります。二番目の段は元の写真ではなく、最初の段が見つけた模様の並びを見て、短い線二本が直角に出会えば角、線が丸くつながればふちとしてまとめます。三番目の段はその角とふちを再びまとめ、車輪や窓枠、取っ手のような部品を見分けます。
段を上がるほど、板一枚が元の写真で実際に走査している広さも一緒に広がります。手前は爪ほどの場所を、奥は写真の半分ほどを一度に見ている計算です。部品がすべてそろって初めて「これは車だ」という判断ができるようになります。
同じ板を写真のすみずみまで使います
CNNが写真に特によく合う理由がここにあります。左上で縦線を探していた板と右下で縦線を探す板は同じ板です。場所ごとに別の板を用意するわけではありません。
おかげで二つの得があります。第一に、物体が画面の左にあっても右にあっても同じ模様として捉えられます。写真を少しずらして撮っても見分けられる力はここから来ます。第二に、覚えておく値が大きく減ります。写真のすべての場所に別々の板を置くと値が手に負えないほど増えますが、板を一枚使い回すのでそうなりません。
走査と縮小を交互に行います
走査ばかり続けても扱う絵は減りません。そこで走査したら一度まとめます。隣同士をまとめて代表値だけ残すと絵は半分の大きさになり、残った段はより広い範囲を一目で見られるようになります。
走査→縮小→走査→縮小。この二拍子を数回から数十回繰り返すのがCNNの骨組みです。繰り返すほど絵は小さくなり、代わりにその絵が持つ意味は濃くなります。最初は縦横が大きく薄かった絵が、最後には小さく厚みのある値の束になります。
最後に名札が出ます
最後の段まで来ると残るのは「この写真にどの部品がどれだけあったか」を記した短い値の束です。ここでは位置の情報がほとんど消え、性質だけが残ります。この値の束を名札の一覧と見比べ、一覧の名前ごとに点数を付け、いちばん高い一つを答えとして出します。
同じ骨組みの末端だけを取り替えて、違う仕事をさせることもあります。末端で点数の代わりに四角の位置と大きさを出させれば物体を探して枠を付ける仕事になり、場所ごとに名札を出させれば点単位で切り出す仕事になります。手前で模様を取り出す部分はそのままに、末端だけ付け替える方式がよく使われます。
3もう少し正確に
CNNは畳み込み層とプーリング層、そして最後の密に結ばれた層からなるニューラルネットワークです。畳み込み層は小さな値の板を写真の上で動かしながら重なった場所の値を掛けて足し、その結果を場所そのままに並べて新しい絵を作ります。板に書かれた値は人が決めるのではなく、学習によって決まります。
餅屋のたとえがずれる点もあります。餅屋の機械は人があらかじめ組んだ順番どおり決まった仕事をしますが、CNNの各段は何を探すかが最初は白紙です。正解が付いた写真をたくさん見せながら、間違えた分だけ板の値を少しずつ直していく過程で、手前の段が自然に細かい模様を、奥の段が部品を受け持つ役割分担が生まれます。人が「一段目は縦線を見よ」と指示したことはありません。
もう一つ、最近は写真を断片に切って互いに見比べる別系統の構造も広く使われています。CNNが写真処理の唯一の答えではありませんが、小さく動かなければならない機器やブラウザでは今も最もよく使われる骨組みです。
4やってみる
5よくある誤解
CNNが人のように写真全体を一目で見ると思われがちですが、実際には爪ほどの場所から走査して少しずつ広く見ていく方式です。
層が深いほど必ず良くなると見なされがちですが、実際にはデータが足りないと深い構造がかえって丸暗記だけしてしまい、初めて見る写真で崩れます。
CNNは写真専用だと思われがちですが、実際には音を絵に変えた資料や短い映像のように隣り合う場所どうしに関係がある資料ならどこでも使われます。
7ひとこと要約
つまりCNNは小さな板で走査して模様を見つける段と結果をまとめる段を層のように積み重ね、細かい模様から部品へ、そして名札へと上がっていく写真専用の構造です。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02