畳み込みニューラルネットワークの深さとは何ですか?
1. 序章
この記事では、畳み込みニューラルネットワークに関して「深さ」という用語が何を指すかを説明します。 また、ニューラルネットワーク全体の深さと畳み込み層の深さの違いについても説明します。
2. ニューラルネットワーク
ニューラルネットワークは、生物学的ニューラルネットワークのインスピレーションとして明示的に作成されたアルゴリズムです。 ニューラルネットワークの基本は、ネットワークの種類に応じて相互接続するニューロンです。 当初のアイデアは、人間の脳と同じように機能する人工システムを作成することでした。
ニューラルネットワークには多くの種類がありますが、大まかに3つのクラスに分類されます。
ほとんどの場合、それらの違いは、それらを形成するニューロンのタイプと、情報がネットワークをどのように流れるかです。 この記事では、畳み込みニューラルネットワークについてのみ簡単に説明します。
3. 畳み込みニューラルネットワーク
畳み込みニューラルネットワーク(CNN)は、機械学習技術である人工ニューラルネットワークの一種です。 彼らはしばらく前から存在していましたが、画像認識に成功したため、最近より多くの露出を獲得しています。 畳み込みニューラルネットワークは、任意のデータを処理して畳み込み演算を適用するために使用できる強力なツールです。
CNNの成功は、画像、ビデオ、テキストなどの大量のデータを処理できるためです。 主に、これらを使用して、画像の分類、オブジェクトのローカライズ、および画像からエッジやコーナーなどの特徴を抽出できます。 これらは通常、1つ以上の隠れ層で構成され、各層にはニューロンと呼ばれる学習可能なフィルターのセットが含まれています。
4. 畳み込みニューラルネットワークの深さ
CNNに関して言えば、「深さ」という用語は、2つの文脈で文献に見られます。
- ニューラルネットワーク全体の深さ。
- 1つの畳み込み層の深さ。
以下では、両方の概念について説明します。
4.1. ニューラルネットワークの深さ
ニューラルネットワークは、各層に複数のニューロンがある層で構成されています。 ニューラルネットワークの層の数は、その深さを定義します。 また、ニューラルネットワークには少なくとも2つの層が必要です。
- 入力層–入力データをシステムに取り込み、ニューラルネットワークアーキテクチャの始まりを表します。
- 出力層–これはニューラルネットワークの最後の層であり、モデルの結果を生成します。
さらに、入力レイヤーおよび出力レイヤーとは異なるすべてのレイヤーは非表示レイヤーです。 CNNには約5〜10層があるのが一般的ですが、一部の最新のアーキテクチャには最大100層があります。
4.2. 畳み込み層の深さ
畳み込み層は、入力画像またはテンソルにフィルターを適用する層です。 次の図を見ると、このプロセスをより直感的に視覚化できます。
上の図は、フィルターを使用して畳み込みを適用するための行列を示しています。 これは、フィルターが行列を通過し、要素ごとの乗算が行列の対応する要素とフィルターの間に適用されることを意味します。 次に、この乗算の結果を合計して数値にします。
通常、CNNへの入力はカラー画像です。 これらは、赤、緑、青の色の強度を表す3つのチャネルで構成されています。 画像内のすべてのピクセルは、これらの3つの色を組み合わせており、色の強度は0〜255の整数で表されます。
したがって、入力画像には幅、高さ、奥行きがあります。 入力画像の奥行きは、入力レイヤーの奥行きを定義します。 したがって、2番目のレイヤーの深さは、入力レイヤーで使用したカーネルの数によって異なります。
たとえば、入力画像に次元があり、フィルターまたはカーネルに次元があるとします。 カーネルの深さは、入力画像の深さと同じでなければならないことに注意してください。 との間の畳み込みを行列とします。 カーネルステップが1の場合、行列の次元はです。
同様に、2つのフィルターとを適用すると、2つの結果行列とが得られます。 その後、一緒に積み重ねて、次元が1のテンソルになります。 これと同様に、フィルターを適用すると、出力テンソルの次元はになります。ここで、深さを定義します。
5. 結論
この短い記事では、「深さ」という用語とCNNの関係を紹介しました。 幅、高さ、奥行きなどの寸法は初心者にはわかりにくいことが多いので、簡単な例をイラストで示しました。