Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

畳み込みニューラル ネットワークについて

畳み込みニューラル ネットワーク (ConvNet) は深層学習に広く使用されているツールです。イメージを入力とする場合に特に適していますが、テキスト、信号、およびその他の連続応答などの他の用途にも使用されます。他のタイプのニューラル ネットワークとは次のいくつかの点で異なっています。

畳み込みニューラル ネットワークは視覚皮質の生物学的構造からヒントを得ています。視覚皮質には単純型細胞と複雑型細胞が含まれています [1]。これらの細胞は、視野の小領域に基づいて活性化することがわかっています。これらの小領域は、受容野と呼ばれます。この研究結果からヒントを得て、畳み込み層のニューロンは、他のタイプのニューラル ネットワークのように全結合になるのではなく、その前の層の小領域に結合します。ニューロンは、イメージのこれらの小領域の外にある領域には反応しません。

これらの小領域は重なっている場合があります。したがって、ConvNet のニューロンは、空間相関のある結果を生成します。一方、他のタイプのニューラル ネットワークでは、ニューロンは結合を共有せず、独立の結果を生成します。

また、全結合ニューロンを使用するニューラル ネットワークでは、入力のサイズが大きくなるにつれてパラメーター (重み) の数が急速に増えます。畳み込みニューラル ネットワークでは、結合の数を減らし、重みを共有して、ダウンサンプリングを行うことで、パラメーターの数を減らしています。

ConvNet は畳み込み層、最大プーリング層または平均プーリング層、全結合層などの複数の層で構成されています。

ConvNet の各層のニューロンは、3 次元に配置されており、3 次元の入力を 3 次元の出力に変換します。たとえば、イメージ入力では、最初の層 (入力層) がイメージを、イメージの高さ、幅、カラー チャネルを次元とする 3 次元の入力として保持します。最初の畳み込み層のニューロンが、これらのイメージの領域に結合し、これらのイメージを 3 次元の出力に変換します。各層の隠れユニット (ニューロン) は元の入力の非線形結合を学習します。これは特徴抽出と呼ばれます [2]。これらの学習された特徴は活性化とも呼ばれ、ある層から次の層への入力になります。最後に、学習した特徴はネットワークの最後にある分類器または回帰関数の入力になります。

ConvNet のアーキテクチャは、含まれる層のタイプと数によって異なる可能性があります。含まれる層のタイプと数は、特定の用途またはデータによって変わります。たとえば、カテゴリカル応答がある場合、分類関数と分類層が必要です。一方、応答が連続的である場合は、ネットワークの最後に回帰層が必要です。畳み込み層が 1 つまたは 2 つしかない小規模なネットワークは、少量のグレースケール イメージ データを学習するには十分かもしれません。一方、数百万枚のカラー イメージを含むより複雑なデータについては、複数の畳み込み層と全結合層を持つ、より複雑なネットワークが必要になる場合があります。

MATLAB® の畳み込みニューラル ネットワークの層は次の方法で連結できます。

layers = [imageInputLayer([28 28 1])
          convolution2dLayer(5,20)
          reluLayer
          maxPooling2dLayer(2,'Stride',2)
          fullyConnectedLayer(10)
          softmaxLayer
          classificationLayer];

ネットワークの層を定義した後、関数 trainingOptions を使用して学習オプションを指定しなければなりません。次に例を示します。

options = trainingOptions('sgdm');

次に、関数 trainNetwork を使用して、学習データでネットワークの学習を行います。データ、層、学習オプションは学習関数の入力になります。次に例を示します。

convnet = trainNetwork(data,layers,options);

ConvNet の層の詳細は、畳み込みニューラル ネットワークの層の指定を参照してください。学習パラメーターの設定は、パラメーターの設定と畳み込みニューラル ネットワークの学習を参照してください。

参照

[1] Hubel, H. D. and Wiesel, T. N. '' Receptive Fields of Single neurones in the Cat’s Striate Cortex.'' Journal of Physiology. Vol 148, pp. 574-591, 1959.

[2] Murphy, K. P. Machine Learning: A Probabilistic Perspective. Cambridge, Massachusetts: The MIT Press, 2012.

参考

|

関連するトピック