G検定(ジェネラリスト検定)
たたみこみにゅーらるねっとわーく
畳み込みニューラルネットワーク
CNN
Convolutional Neural Network
畳み込みニューラルネットワーク(CNN)は、画像のように縦横の並び方に意味があるデータを扱うために、入力の狭い範囲だけにつながる局所的な接続と、同じ重みを位置をずらして使い回す仕組みを組み込んだニューラルネットワークです。全結合のネットワークより少ない重みで、位置のずれや形の小さな歪みに強い認識を学べます。先駆けとしては1980年のネオコグニトロンが挙げられることが多く、1998年の論文で示されたLeNet-5は銀行の小切手の読み取りに実用されました。
詳しい説明
画像を全結合のネットワークで扱うときの問題
畳み込みニューラルネットワーク(Convolutional Neural Network、略してCNN)は、画像のように縦と横の並び方そのものに意味があるデータを扱うために、構造に工夫を加えたニューラルネットワークです。
工夫が必要になる理由は、普通の全結合のネットワークで画像を扱う場面を考えると分かります。縦28画素、横28画素の白黒画像は784個の数値の並びです。これをそのまま入力し、100個のノードを持つ隠れ層へ全結合でつなぐと、その1か所だけで重みは784×100で78,400個になります。画像が大きくなれば、重みの数はさらに増えます。
数の多さに加えて、全結合のつなぎ方は画素どうしの位置関係を使いません。隣り合う画素も、画像の端と端にある画素も、同じように1本ずつ重みでつながるだけです。そのため同じ数字が数画素ずれて書かれただけでも、ネットワークはずれた位置の形を別の入力として学び直す必要があります。
局所的な接続と重みへの制約
ヤン・ルカン(Yann LeCun)らが1998年に発表した論文「Gradient-Based Learning Applied to Document Recognition」は、CNNを「2次元の形の不変性についての知識」を組み込んだ特殊なニューラルネットワークの構造として説明しています。組み込む手段として挙げられているのは、局所的な接続のパターン(local connection patterns)と、重みへの制約の2つです。
局所的な接続とは、次の層の1つのノードが入力の画像全体にはつながらず、例えば縦5画素、横5画素のような狭い範囲だけにつながることです。線の端や角のような形の手がかりは近くの画素の組み合わせに現れるので、狭い範囲を見るだけで拾えます。
重みへの制約の代表的な形は、画像のどの位置を見るノードにも同じ重みの組を使う方法で、重み共有と呼ばれます。縦5、横5の範囲を見る重みの組なら重みは25個で、この25個を画像全体で使い回します。前の節の例で78,400個の重みが必要だったのと比べると、学ぶべき値は大きく減ります。また、同じ重みの組で画像のあらゆる位置を調べるので、ある位置で覚えた形の手がかりが別の位置に現れても同じように見つけられます。この重みの組はフィルタやカーネルとも呼ばれ、入力の上でフィルタをずらしながら重みを掛けて足し合わせる計算が畳み込みです。
層を重ねて形を組み立てる流れ
典型的なCNNは、畳み込み層を何段か重ね、その後ろに全結合層を置いて、最終的な分類の答えを出します。手前の層ほど線の向きや端のような小さな手がかりを扱い、後ろの層ほどそれらを組み合わせた大きな形を扱う、という役割の分け方をします。多くの構成では、畳み込み層の間にプーリングと呼ぶ処理をはさんで特徴の地図を縮め、小さな位置のずれの影響をさらに受けにくくします。
畳み込み層の中の計算は畳み込み層の項目で、最後の判定を受け持つ部分は全結合層の項目で、それぞれ詳しく説明しています。
ネオコグニトロンとLeNet-5
CNNの考え方の先駆けとしてよく挙げられるのが、福島邦彦(Kunihiko Fukushima)が1980年に発表したネオコグニトロン(Neocognitron)です。福島の論文によると、ネオコグニトロンはデイヴィッド・ヒューベル(David H. Hubel)とトルステン・ウィーセル(Torsten N. Wiesel)の視覚神経系の階層モデルに似た構造を持ちます。単純型細胞に似た「S細胞」の層と複雑型細胞に似た「C細胞」の層を組にしたモジュールが、何段もつながった形です。このネットワークは教師なしの学習で自己組織化され、位置のずれや形の小さな歪みに影響されずに、形の幾何学的な似かたに基づいてパターンを認識できるようになるとされています。
ルカンらの1998年の論文は、誤差の勾配を使って重みを調整する学習(勾配に基づく学習)で手書き文字の認識に取り組んだものです。論文が扱う手書き数字認識用のCNNであるLeNet-5は、銀行の小切手を読み取るシステムに組み込まれ、毎月数百万枚の小切手を読み取っていたと報告されています。
2つを比べると、位置のずれに強い認識を層の積み重ねで実現しようとする点は共通しています。違うのは学習のしかたで、ネオコグニトロンは教師なしの自己組織化、LeNet-5は正解付きのデータを使う勾配に基づく学習です。CNNの起源をどちらに置くかは説明によって異なります。ネオコグニトロンを前身や先駆けとして紹介し、LeNet-5を実用に届いたCNNの代表例として紹介する説明がよく見られます。
向いている場面と注意点
CNNが組み込んでいるのは、近くの画素ほど関係が深く、同じ形は画像のどこに現れても同じ意味を持つ、という2次元の形についての前提です。この前提が当てはまるデータでは、少ない重みで効率よく学べます。画像のほかにも、時間の順に並んだ音声の波形のように、近くの値どうしに意味のあるつながりがあるデータに使われることがあります。
反対に、表形式のデータのように列の並び順に意味がないデータでは、隣の列ほど関係が深いという前提が成り立たないので、この工夫は役に立ちにくくなります。
また、位置のずれや小さな歪みに強いといっても、どんな変化にも強いわけではありません。ネオコグニトロンの論文が述べているのも、形の小さな歪みに対する強さです。大きく回転した画像や大きさが極端に違う画像に対しては、学習データにそうした例を含めるなどの別の手当てが必要になることがあります。
試験で問われること
G検定
- CNNは、入力の狭い範囲だけにつながる局所的な接続と、同じ重みの組を画像の位置をずらして使い回す重み共有によって、2次元の形についての知識をネットワークの構造に組み込んでいます。全結合のネットワークに比べて学ぶ重みが少なく、画素どうしの位置関係も活かせます。
- 典型的な構成では、畳み込み層で局所的な形の手がかりを拾い、プーリングで特徴の地図を縮めて小さな位置のずれの影響を減らし、最後に全結合層で分類の答えを出します。手前の層は小さな手がかりを扱い、後ろの層ほどそれらを組み合わせた大きな形を扱います。
- 福島邦彦が1980年に発表したネオコグニトロンは、S細胞の層とC細胞の層を組にしたモジュールを何段もつなぎ、教師なしの学習で位置のずれや形の小さな歪みに強い認識を獲得するモデルです。CNNの先駆けとして挙げられることが多いモデルです。
- ヤン・ルカンらが1998年の論文で示したLeNet-5は手書き数字を認識するCNNで、銀行の小切手を読み取るシステムに組み込まれて実用されました。ネオコグニトロンと違い、正解付きのデータを使う勾配に基づく学習で重みを調整します。
- CNNは近くの値どうしに意味のあるつながりがあることを前提にしているので、画像や音声の波形には向きますが、列の並び順に意味がない表形式のデータには向きにくい手法です。
最終更新日: 2026/09/23