このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
畳み込みニューラル ネットワークについて
畳み込みニューラル ネットワーク (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.
参考
trainNetwork
| trainingOptions