ニューラル・ネットワーク学習ハブの記事をおさらいすると、ニューラル・ネットワークは機械学習のサブセットであり、ディープ・ラーニング・アルゴリズムの中核をなしています。それらは、入力層、1 つ以上の隠れ層、および出力層を含むノード層で構成されます。各ノードは他のノードに接続され、順番としきい値が関連付けられています。個々のノードの出力が指定されたしきい値を超える場合、そのノードはアクティブ化され、ネットワークの次の層にデータが送られます。それ以外の場合、データはネットワークの次の層に渡されません。
この記事では主にフィードフォワード(順伝播型)のネットワークに焦点を当てましたが、ニューラル・ネットワークにはさまざまなタイプがあり、ユースケースやデータの種類によって使い分けられます。例えば、回帰型ニューラル・ネットワークは自然言語処理や音声認識によく使われるのに対し、畳み込みニューラル・ネットワーク(ConvNetもしくはCNN)は分類やコンピューター・ビジョンのタスクによく使用されます。CNNが登場する前は、イメージ内のオブジェクトを識別するために、手作業で時間のかかる特徴抽出手法が使用されていました。しかし現在、畳み込みニューラル・ネットワークは、イメージ内のパターンを識別するために線形代数、特に行列乗算の原理を活用し、イメージ分類やオブジェクト認識のタスクに対してよりスケーラブルなアプローチを提供しています。とはいえ、計算負荷が高くなる可能性があるため、モデルのトレーニングにはグラフィック処理装置(GPU)が必要となります。
畳み込みニューラル・ネットワークは、イメージ、音声、オーディオ信号入力に対する優れた性能によって、他のニューラル・ネットワークと比べて際立った存在となっています。レイヤーには主に次の3つのタイプがあります:
畳み込み層は畳み込みネットワークの最初の層です。畳み込み層の後に、追加の畳み込み層やプーリング層が続くこともありますが、全結合層が最後の層になります。層が増えるごとにCNNは複雑さを増し、イメージのより多くの部分を識別できるようになります。以前の層は、色やエッジといった単純な特徴にフォーカスしていました。イメージ・データがCNNの層を通過するにつれて、オブジェクトのより大きな要素や形状が認識され始め、最終的に目的のオブジェクトが識別されます。
畳み込み層はCNNの中核となる構成要素であり、計算の大部分がここで行われます。これには、入力データ、フィルター、特徴マップなどのいくつかのコンポーネントが必要です。入力が、3Dのピクセルのマトリックスで構成されるカラーイメージであると仮定します。これは、入力がイメージのRGBに対応する高さ、幅、奥行きの3つの次元を持つことを意味します。また、カーネルやフィルターとも呼ばれる特徴検出機構もイメージ受容野を移動して、特徴が存在するかどうか確認します。このプロセスが畳み込みと呼ばれます。
特徴検出機構はイメージのパーツを表す順番の2次元(2-D)配列です。フィルターのサイズはさまざまですが、一般的にはフィルターのサイズは3x3のマトリックスです。これによって、受容野のサイズも決まります。次に、フィルターがイメージの領域に適用され、入力ピクセルとフィルターの間の内積が計算されます。この内積は、出力配列に送信されます。その後、フィルターは1ストライドずつシフトし、カーネルがイメージ全体をスイープするまでこのプロセスを繰り返します。入力とフィルターの一連の内積から得られる最終出力は、特徴マップ、活性化マップ、または畳み込み特徴として知られています。
それぞれの畳み込み演算の後、CNNは正規化線形関数(ReLU)変換を特徴マップに適用し、モデルに非線形性を導入します。
前述したように、最初の畳み込み層に続いて別の畳み込み層を作ることができます。それを行うと、CNNの構造は階層化され、後の層が前の層の受容野内のピクセルを見ることができるようになります。例として、イメージに自転車が含まれているかどうかを判定しようとしていると仮定してみましょう。自転車はパーツの集合体と考えることができます。フレーム、ハンドル、ホイール、ペダルなどで構成されています。自転車の個々のパーツはニューラル・ネットワーク内で下位のパターンを構成し、そのパーツの組み合わせが上位レベルのパターンを表すことで、CNN内に特徴の階層が形成されます。
ダウンサンプリングとも呼ばれるプーリング層は、次元数の削減を行い、入力内のパラメーターの数を減らします。畳み込み層と同様に、プーリング演算は入力全体にわたってフィルターをスイープしますが、このフィルターには順番がない点が異なります。代わりに、カーネルは受容野内の値に集計関数を適用し、出力配列に値を適用します。プーリングには主に次の2つのタイプがあります:
プーリング層では多くの情報が失われますが、CNNにとっても多くのメリットがあります。複雑さが軽減し、効率が高まり、過剰適合のリスクを抑えることができます。
全結合層という名前は、それ自身を的確に表しています。前述したように、部分結合の層では、入力イメージのピクセル値が出力層に直接結合されていません。しかし、全結合層では出力層の各ノードが前の層のノードに直接結合されます。
この層は、前の層とそのさまざまなフィルターを通じて抽出された特徴に基づいて分類のタスクを実行します。畳み込み層とプーリング層は ReLu関数を使用する傾向がありますが、FC層は通常ソフトマックス活性化関数を利用して入力を適切に分類し、0から1までの確率を生成します。
福島邦彦とYann LeCunは、それぞれ1980年の研究(PDF、1.1MB)(リンク先はIBM外)と「Backpropagation Applied to Handwritten Zip Code Recognition(バックプロパゲーションの手書き郵便番号認識への応用)」で、畳み込みニューラル・ネットワークに関する研究の基礎を築きました。さらに有名なのは、Yann LeCunがバックプロパゲーションを応用して、一連の手書きの郵便番号のパターンを識別して認識するニューラル・ネットワークのトレーニングに成功したことです。彼は1990年代を通じてチームとともに研究を続け、先行研究と同じ原理を文書認識に応用した「LeNet-5」を完成させました。それ以来、MNISTやCIFAR-10などの新しいデータセットやImageNet Large Scale Visual Recognition Challenge(ILSVRC)などのコンテストの導入により、さまざまなCNNアーキテクチャーのバリエーションが数多く登場しました。そのようなアーキテクチャーには、次のものがあります。
一方、LeNet-5は古典的なCNNアーキテクチャーとして知られています。
畳み込みニューラル・ネットワークは、イメージ認識やコンピューター・ビジョンのタスクを強化します。コンピューター・ビジョンは人工知能(AI)の一分野であり、コンピュータやシステムがデジタル・イメージ、ビデオ、その他のビジュアル入力から意味のある情報を導き出し、それらの入力に基づいて行動を起こすことを可能にします。この推奨提案機能は、イメージ認識のタスクとは区別されます。このコンピューター・ビジョンの一般的な応用例としては、以下のようなものがあります:
IBM SPSS Neural Networksは、複雑な関係を発見し、データからより大きな価値を引き出すのに役立ちます。
信頼性の高いAIを、あらゆるクラウド上で構築、拡張します。ModelOpsのためのAIライフサイクルを自動化します。