ニューラルネットワークは、いくつかのニューロンの層で構成されています。それぞれのニューロンの層は類似した動きをし、前の層の出力値に重み付けをした入力値を非線形な関数によって評価した結果を、次の層へ出力します。
これらニューロンの機能はシンプルですが、ニューロンのネットワークを階層化することで、実世界からの入力値の複雑な特徴を学習できます。具体的には、入力値の情報が次の階層へ受け渡されると、その階層のそれぞれのニューロンは、次回に同じような入力値の場合には発火するように、その入力値の特徴を学習します。例えば、画像の中の小さな角や孤の特徴を学習します。言い換えれば、画像を部品に分解して学習するというわけです。
これらニューロンが発火し、次の階層のニューロンへ出力すると、さらに四角や丸といった具体的な特徴を学習します。この様に、新しいニューロンの階層をいくつも追加していくことで、多層のニューラルネットワークを構築することが出来ます。最も深い階層は、実世界のオブジェクトに対応して発火するように学習します。例えば、画像の中の猫、犬、自動車、あるいは人の顔などです。
このような多層ニューラルネットワークは深層ニューラルネットワーク(Deep Neural Network)と呼ばれています。これはコンピュータビジョン、自然言語処理、音声認識やその他多くのAIを活用する分野で、非常にポピュラーになりました。この章では、深層ニューラルネットワークの重要なコア技術の1つであり、コンピュータビジョンのタスクで利用されることを想定してデザインされた畳み込みニューラルネットワーク(CNN:Convolutional Neural Networks)を紹介します。