畳み込みニューラル・ネットワーク
黒と青の背景画像
畳み込みニューラル・ネットワーク

畳み込みニューラル・ネットワークが、画像分類や物体認識タスクに3次元データをどのように利用するかについて説明します。


畳み込みニューラル・ネットワークとは

ニューラル・ネットワークのLearn Hubの記事からの再掲になりますが、ニューラル・ネットワークは機械学習のサブセットであり、ディープ・ラーニング・アルゴリズムの中心に位置するものです。 ニューラル・ネットワークは、入力層、1つ以上の隠れ層、出力層を含む、複数のノード層で構成されています。 各ノードは別のノードに結合し、関連する重みとしきい値を持ちます。 個々のノードのいずれかの出力が、指定されたしきい値を超えると、そのノードがアクティブ化されて、ネットワークの次の層にデータが送信されます。 それ以外では、データはネットワークの次の層に渡されません。

その記事では主にフィード・フォワード・ネットワークを取り上げましたが、ニューラル・ネットには様々な種類があり、ユースケースやデータの種類によって使い分けられています。 例えば、再帰型ニューラル・ネットワークは自然言語処理や音声認識によく使われるのに対し、畳み込みニューラル・ネットワーク(ConvNetsまたはCNN)は分類やコンピュータ・ビジョンのタスクによく利用されます。 CNNが登場する以前は、画像中の物体を識別するために、手作業で時間をかけて特徴を抽出する方法が用いられていました。 これに対して畳み込みニューラルネットワークは、線形代数、特に行列の乗法の原理を利用して画像内のパターンを識別するため、画像の分類や物体認識タスクに対してよりスケーラブルなアプローチを提供できるようになりました。 しかしモデルの学習にはグラフィックス処理装置(GPU)が必要であり、計算負荷が高いという問題があります。 


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

畳み込みニューラルネットワークは、画像、音声、音声信号の入力に対して優れた性能を発揮することで、他のニューラル・ネットワークと区別されます。 大きく分けて以下の3種類の層があります:

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

畳み込み層は、畳み込みネットワークの最初の層です。 畳み込み層の後にはさらに畳み込み層が続く場合もあります。その後さらにプーリング層と続き、全結合層が最終層となります。 層を重ねるごとにCNNは複雑になり、画像のより多くの部分を識別できるようになります。 最初の層は、色やエッジといった単純な特徴に着目しています。 画像データがCNNの層を進むにつれて、対象物のより大きな要素や形状を認識し始め、最終的に目的の対象物を特定します。

畳み込み層

畳み込み層はCNNの中核的な構成要素であり、計算の大部分がここで行われます。 この層には入力データ、フィルター、特徴マップという構成要素が必要です。 ここでは3次元の画素の行列で構成されるカラー画像の入力データを考えてみましょう。 この入力データは、画像のRGBに相当する、高さ、幅、奥行きの3種類の次元要素を持ちます。 この層にはカーネルやフィルターと呼ばれる特徴検出器もあり、画像の受容野を移動しながら、指定された特徴があるかどうかをチェックします。 この処理を畳み込みと呼びます。

この特徴抽出機能は、画像の一部を表す重みの2次元(2D)配列です。 フィルターの大きさは変更可能ですが一般的には3×3のマトリックスで、これが受容野の大きさを決定することにもなります。 大きさが決定されると画像の一部分にフィルターを適用し、入力画素とフィルターとのドット積を計算します。 計算されたドット積は出力配列に入力されます。 その後、フィルターを1ストライドずつずらしながら、カーネルが画像全体に行き渡るまでこの処理を繰り返します。 入力とフィルターの一連のドット積から得られる最終的な出力は、特徴マップ、活性化マップ、あるいは畳み込み特徴量と呼ばれます。

CNNは各畳み込み演算が終了すると、特徴マップに正規化線形ユニット(ReLU)変換を施し、モデルに非線形変換を行います。

上記のように、最初の畳み込み層に続いて、別の畳み込み層を設けることができます。 この場合、後の層は前の層の受容野にある画素を見ることができるため、CNNの構造は階層化されることになります。  ここで、画像に自転車が含まれているかどうかを判断する例を考えてみましょう。 自転車は部品の合計と考えることができます。 すなわち、フレーム、ハンドルバー、ホイール、ペダルなどで構成されています。 自転車の個々のパーツがニューラル・ネットの下位のパターンを構成し、そのパーツの組み合わせが上位のパターンとなり、CNNの中で特徴の階層が形成されていきます。

プーリング層

プーリング層はダウン・サンプリングとも呼ばれ、サイズを縮小して入力のパラメーター数を減らします。 畳み込み層と同様に、プーリング演算では入力全体にフィルターをかけますが、このフィルターには重みがない点で異なります。 ただしカーネルは受容野内の値に集約関数を適用して出力配列を生成します。 プーリングには大きく分けて2種類あります。

  • 最大プーリング: フィルターが入力データをスライドするとき、最大値を持つ画素を選んで出力配列に送ります。 余談ですが、この方法は平均プーリングに比べてよく使われる傾向にあります。
  • 平均プーリング:フィルターが入力データをスライドするとき、受容野内の平均値を計算して出力配列に送ります。

プーリング層では多くの情報が失われますが、CNNにとっては多くのメリットもあります。 複雑さを軽減し、効率を高め、オーバーフィッティングのリスクを抑えることができます。 

全結合層

全結合層とは、その名の通りの層です。 上記のように、部分的に結合した層では入力画像の画素値が直接出力層に連結されることはありません。 これに対して全連結層では、出力層の各ノードが前の層のノードに直接結合されます。

この層は、前の層とその異なるフィルターを通して抽出された特徴に基づいて、分類タスクを実行します。 畳み込み層やプーリング層がReLu関数を使用するのに対して、FC層は一般的にソフトマックス活性化関数を用いて入力を適切に分類し、0から1までの確率を返します。


畳み込みニューラル・ネットワークの種類

福島邦彦とヤン・ルカンは、それぞれ1980年(PDF、1.1 MB)(リンク先はIBM外)と1989年(PDF、5.5 MB)(リンク先はIBM外)の研究で、畳み込みニューラル・ネットワークに関する研究の基礎を築きました。 よく知られている例では、ヤン・ルカン氏がバックプロパゲーションを用いてニューラル・ネットワークを学習させて、一連の手書きの郵便番号のパターンを識別して認識することに成功したことが挙げられます。 その後、1990年代を通じてチームとともに研究を続け、先行研究の原理を文書認識に応用した「LeNet-5」(PDF、933 KB)(リンク先はIBM外)を完成させました。 それ以降、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

ここ数十年、IBMはIBM Watsonの開発と進化で脚光を浴び、AI技術とニューラル・ネットワークの開発においてパイオニア的存在であり続けています。 システムに高度な自然言語処理とディープ・ラーニング技術を適用したい、そのようにお考えのエンタープライズにとってWatsonは信頼できるソリューションであり、AIの導入と実装について実績のある段階的アプローチを駆使してそのお手伝いをいたします。

IBMのWatson Visual Recognitionをご利用になれば、すぐに組織の画像から何千ものラベルを抽出して、特定のコンテンツを簡単に検出できます。 また、アプリケーション内で画像内の特定のコンテンツを検出するようにカスタム・モデルを構築することも可能です。 機械学習を使用してビジュアル・コンテンツに迅速かつ正確にタグ付けし、分類して、検索する方法の詳細については、IBM Watson Visual Recognition をご覧ください。

IBMidの登録とIBM Cloudアカウントの作成はこちら

関連ソリューション

IBM SPSS Neural Networks

IBM SPSS Neural Networksによって、複雑な関係を発見し、データからより大きな価値を引き出すことができます。