畳み込みニューラル・ネットワークとは
畳み込みニューラル・ネットワークが、イメージ分類やオブジェクト認識のタスクに3次元データをどのように使用するかを学びます
IBMニュースレターの購読
黒と青の背景
畳み込みニューラル・ネットワークとは

ニューラル・ネットワーク学習ハブの記事をおさらいすると、ニューラル・ネットワークは機械学習のサブセットであり、ディープ・ラーニング・アルゴリズムの中核をなしています。それらは、入力層、1 つ以上の隠れ層、および出力層を含むノード層で構成されます。各ノードは他のノードに接続され、順番としきい値が関連付けられています。個々のノードの出力が指定されたしきい値を超える場合、そのノードはアクティブ化され、ネットワークの次の層にデータが送られます。それ以外の場合、データはネットワークの次の層に渡されません。

この記事では主にフィードフォワード(順伝播型)のネットワークに焦点を当てましたが、ニューラル・ネットワークにはさまざまなタイプがあり、ユースケースやデータの種類によって使い分けられます。例えば、回帰型ニューラル・ネットワークは自然言語処理や音声認識によく使われるのに対し、畳み込みニューラル・ネットワーク(ConvNetもしくはCNN)は分類やコンピューター・ビジョンのタスクによく使用されます。CNNが登場する前は、イメージ内のオブジェクトを識別するために、手作業で時間のかかる特徴抽出手法が使用されていました。しかし現在、畳み込みニューラル・ネットワークは、イメージ内のパターンを識別するために線形代数、特に行列乗算の原理を活用し、イメージ分類やオブジェクト認識のタスクに対してよりスケーラブルなアプローチを提供しています。とはいえ、計算負荷が高くなる可能性があるため、モデルのトレーニングにはグラフィック処理装置(GPU)が必要となります。

畳み込みニューラル・ネットワークの仕組み

畳み込みニューラル・ネットワークは、イメージ、音声、オーディオ信号入力に対する優れた性能によって、他のニューラル・ネットワークと比べて際立った存在となっています。レイヤーには主に次の3つのタイプがあります:

  • 畳み込み層
  • プーリング層
  • 全結合(FC)層

畳み込み層は畳み込みネットワークの最初の層です。畳み込み層の後に、追加の畳み込み層やプーリング層が続くこともありますが、全結合層が最後の層になります。層が増えるごとに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アーキテクチャーのバリエーションが数多く登場しました。そのようなアーキテクチャーには、次のものがあります。

  • AlexNet(PDF、1.4 MB)(リンク先はIBM外)
  • VGGNet(PDF、195 KB)(リンク先はIBM外)
  • GoogLeNet(PDF、1.3 MB)(リンク先はIBM外)
  • ResNet(PDF、800 KB)(リンク先はIBM外)
  • ZFNet

一方、LeNet-5は古典的なCNNアーキテクチャーとして知られています。

畳み込みニューラル・ネットワークとコンピューター・ビジョン

畳み込みニューラル・ネットワークは、イメージ認識やコンピューター・ビジョンのタスクを強化します。コンピューター・ビジョンは人工知能(AI)の一分野であり、コンピュータやシステムがデジタル・イメージ、ビデオ、その他のビジュアル入力から意味のある情報を導き出し、それらの入力に基づいて行動を起こすことを可能にします。この推奨提案機能は、イメージ認識のタスクとは区別されます。このコンピューター・ビジョンの一般的な応用例としては、以下のようなものがあります:

  • マーケティング:ソーシャル・メディア・プラットフォームでは、プロフィールに投稿された写真によって写っている可能性のある人物を提案してくれるため、フォト・アルバム内の友人を簡単にタグ付けできます。
  • ヘルスケア:コンピューター・ビジョンが放射線技術に組み込まれており、医師が健康な人体構造内の癌性腫瘍をより適切に識別できるようになりました。
  • 小売:ビジュアル検索が、いくつかのEコマース・プラットフォームに組み込まれており、手持ちの衣服を補完するアイテムをブランドが推奨できるようになりました。
  • 自動車:自動運転車の時代はまだ完全には到来していませんが、その基礎となる技術は自動車に搭載され始めており、車線検出機能などを通じてドライバーと同乗者の安全性を向上させています。
関連ソリューション
IBM SPSS Neural Networks

IBM SPSS Neural Networksは、複雑な関係を発見し、データからより大きな価値を引き出すのに役立ちます。

IBM SPSS Neural Networksの詳細はこちら
IBM Watson® Studio

信頼性の高いAIを、あらゆるクラウド上で構築、拡張します。ModelOpsのためのAIライフサイクルを自動化します。

IBM Watson® Studioの詳細はこちら
詳細情報はこちら

IBMは数十年前から、IBM Watsonの開発と進化に代表されるように、AIテクノロジーとニューラル・ネットワークの開発における先駆者となっています。Watsonは現在、AIの導入と実装で実績がある段階的なアプローチを用いることで、高度なビジュアル認識とディープ・ラーニングの技術をシステムに適用しようとしている企業にとって、信頼できるソリューションとなっています。

今すぐIBM Watson® Studioを試す