畳み込みニューラルネットワーク 【CNN】 Convolutional Neural Network
概要
畳み込みニューラルネットワーク(CNN)とは、人工知能の実装の一つであるニューラルネットワークの種類の一つで、入力データから断片的な特徴を捉えるための「畳み込み層」を組み込んだもの。高精度な画像認識などが可能となる。機械学習システムに用いられる(人工)ニューラルネットワークは人間の脳の神経回路のネットワークを模したモデルで、神経細胞を模したノードを層状に配置した構造を持つ。各ノードは上位層のノードから受け取った入力に単純な計算を行って下位層のノードへ伝達する。
畳み込みニューラルネットワークは入力層と出力層の間に中間層(隠れ層)が多数ある「ディープニューラルネットワーク」(DNN)の一種で、人間の視覚の働きを模した構造となっている。上位層側にノード間の結合が制約された多数の「畳み込み層」と「プーリング層」のセットが配置され、最下層の「全結合層」を通して最終的な出力が得られる。
各層の働き
畳み込み層は脳の視覚野にある「単純型細胞」の働きを模したもので、縦線、横線、曲線といった画像に含まれる断片的な小さな特徴を検知して下層のノードへ伝達する。特徴は「フィルタ」あるいは「カーネル」と呼ばれる小さな行列で表現され、画像のどの位置にどの特徴があるかを示す「特徴マップ」が下層へ送られる。
プーリング層は脳の視覚野にある「複雑型細胞」の働きを模したもので、畳み込み層から得た特徴マップに一定の演算を行ってサイズを縮小する。特徴の空間的な位置のズレを吸収し、同じ形状が画像中のどこにあっても同じように検知できるようにする(移動不変性)。
個々の畳み込み層やプーリング層は個別の特徴に反応するため、最後にすべてのノードが結合している全結合層へ様々な特徴の情報を流し込み、総合的な分類や予測などを行う。画像認識などの課題では物体の移動の影響を受けにくいため、それ以前のモデルよりも高い精度で物体の検知や分類を行うことができる。
(2024.7.19更新)