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

畳み込みニューラル ネットワーク(CNN)は、視覚データの分析に特化した人工ニューラル ネットワークの一種です。人間の視覚システムから着想を得た CNN は、視覚データ内のパターンを識別することで世界を「見る」ことを学習します。しかし、その主な強みは、画像を見ることだけではなく、音声スペクトログラムから 3D 医療スキャンに至るまで、グリッド状の構造を持つあらゆるデータ内のパターンを認識できます。

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

CNN は、入力画像を複数のレイヤに通すことで処理します。初期のレイヤではエッジや線などの単純な特徴を識別し、より深いレイヤではより複雑なパターン、形状、最終的にはオブジェクト全体を認識します。CNN は、こうした方法によって特徴を階層的に抽出し、画像認識やその他のコンピュータ ビジョン タスクを非常に効果的に処理できます。

CNN レイヤ

CNN は、写真を分析して物体を特定する専門家チームのようなものです。各レイヤは、認識の組み立てラインで特定の役割を担います。

1. 畳み込みレイヤ: 特徴スキャナ

これが最初の専門家グループです。それぞれが、直線、曲線、特定の色など、単一のシンプルな特徴を探します。小さな虫メガネ(フィルタ)を画像全体に滑らせ、割り当てられた特徴を見つけるたびに記録します。これにより、「特徴マップ」と呼ばれる、基本的な特徴の位置を示す地図のようなセットが作成されます。

2. 活性化レイヤ(ReLU): 重要度フィルタ

最初のスキャン後、管理者(ReLU 関数)が特徴マップを審査します。その役割はシンプルで、強いシグナルを保持し、弱いシグナルを破棄します。非線形性を導入することで、最も重要で明確に特定された特徴量のみが、さらなる分析のために渡されます。これにより、ノイズがプロセスを妨げるのを防ぎます。

3. プーリング レイヤ: 要約

プーリング レイヤは、地域マネージャーのような役割を果たします。細部まで確認するのではなく、特徴マップの小さなパッチから得られた結果を要約します。たとえば、「最大プーリング」レイヤは、特徴マップの 2x2 の領域を見て、最も強い信号のみを報告します。これにより、データの全体的なサイズが縮小され、ネットワークの効率が向上します。また、オブジェクトがフレーム内のどこに出現しても認識できるようになります(このコンセプトは「並進不変性」と呼ばれます)。

4. 全結合レイヤ: 捜査の責任者

数回にわたるスキャンと要約を経て、最終的な特徴レポートが主任刑事に渡されます。このレイヤは、特徴の組み合わせ(ひげがある、耳が尖っている、毛皮に覆われているなど)を大まかに分析し、最終的な判断を下します。要約されたすべての結果を関連付けて「すべての証拠に基づくと、この画像のオブジェクトは猫です」といった結論を導き出します。結果は最終出力レイヤ(softmax など)に渡され、各分類の可能性の確率が算出されます。

CNN と従来のニューラル ネットワークの比較

畳み込みニューラル ネットワークと従来のニューラル ネットワークは、どちらもデータを処理して予測を行うように設計されていますが、アーキテクチャ、用途、主要な機能において大きな違いがあります。

機能


畳み込みニューラル ネットワーク(CNN)

従来のニューラル ネットワーク

コア アーキテクチャ


畳み込みレイヤ、活性化レイヤ、プーリング レイヤ、全結合レイヤで構成される。

主に全結合(密)レイヤで構成されている。

入力データ型

構造化されたグリッド状のデータ(画像、動画、テキストなどの 1 次元シーケンス)に最適。

柔軟性に優れ、さまざまなデータ型(通常は、表形式データやフラット化されたベクトル)に対応。

特徴抽出

フィルタを通じて階層的な特徴(エッジ、テクスチャ、形状)を自動的に学習する。

直接接続を通じて特徴を学習するが、空間の特徴表現学習にはあまり効果的ではない。

空間的関係

空間的関係(画像内のピクセルの隣接など)を明示的に保持して活用する。

各入力特徴を個別に処理する。入力を平坦化すると、空間的関係は失われる。

パラメータの共有


可能。重み(フィルタ / カーネル)は、入力内のさまざまな場所で共有される。

不可。各接続には固有の重みが割り当てられる。

パラメータの数

一般的に、重み共有とプーリングによりパラメータが少なくなる(特に画像のような高次元の入力の場合)。

パラメータの数が非常に多くなる可能性がある(特に高次元の入力の場合)。

並進不変性

入力内の正確な位置に関係なく、特徴を認識することに本質的に優れている。

拡張データで明示的にトレーニングしない限り、入力特徴量の変化に敏感。

計算効率

パラメータの削減と特殊な操作により、画像データや空間データに対してより効率的。

密な接続のため、高次元の入力では計算コストが高くなる可能性がある。

主な用途

画像分類、オブジェクト検出、画像セグメンテーション、動画分析、医療画像処理、一部の NLP タスク。

表形式データの分類 / 回帰、単純なパターン認識、関数近似、一部の NLP。

主なメリット

視覚データに最適。階層的特徴を学習し、並進不変性を備え、パラメータを削減する。画像データに対する過学習が起こりにくい。

さまざまなデータ型に対応でき、非空間の表形式データに適している。基本的なタスクの概念を理解しやすい。

主な制限事項

設計が複雑になる場合があり、通常はトレーニングに大規模なデータセットが必要。非空間の表形式データにはあまり効果的ではない。

高次元の空間データには適しておらず、空間関係を無視する。複雑な入力に対して多くのパラメータを使用すると過学習が起こりやすい。

機能


畳み込みニューラル ネットワーク(CNN)

従来のニューラル ネットワーク

コア アーキテクチャ


畳み込みレイヤ、活性化レイヤ、プーリング レイヤ、全結合レイヤで構成される。

主に全結合(密)レイヤで構成されている。

入力データ型

構造化されたグリッド状のデータ(画像、動画、テキストなどの 1 次元シーケンス)に最適。

柔軟性に優れ、さまざまなデータ型(通常は、表形式データやフラット化されたベクトル)に対応。

特徴抽出

フィルタを通じて階層的な特徴(エッジ、テクスチャ、形状)を自動的に学習する。

直接接続を通じて特徴を学習するが、空間の特徴表現学習にはあまり効果的ではない。

空間的関係

空間的関係(画像内のピクセルの隣接など)を明示的に保持して活用する。

各入力特徴を個別に処理する。入力を平坦化すると、空間的関係は失われる。

パラメータの共有


可能。重み(フィルタ / カーネル)は、入力内のさまざまな場所で共有される。

不可。各接続には固有の重みが割り当てられる。

パラメータの数

一般的に、重み共有とプーリングによりパラメータが少なくなる(特に画像のような高次元の入力の場合)。

パラメータの数が非常に多くなる可能性がある(特に高次元の入力の場合)。

並進不変性

入力内の正確な位置に関係なく、特徴を認識することに本質的に優れている。

拡張データで明示的にトレーニングしない限り、入力特徴量の変化に敏感。

計算効率

パラメータの削減と特殊な操作により、画像データや空間データに対してより効率的。

密な接続のため、高次元の入力では計算コストが高くなる可能性がある。

主な用途

画像分類、オブジェクト検出、画像セグメンテーション、動画分析、医療画像処理、一部の NLP タスク。

表形式データの分類 / 回帰、単純なパターン認識、関数近似、一部の NLP。

主なメリット

視覚データに最適。階層的特徴を学習し、並進不変性を備え、パラメータを削減する。画像データに対する過学習が起こりにくい。

さまざまなデータ型に対応でき、非空間の表形式データに適している。基本的なタスクの概念を理解しやすい。

主な制限事項

設計が複雑になる場合があり、通常はトレーニングに大規模なデータセットが必要。非空間の表形式データにはあまり効果的ではない。

高次元の空間データには適しておらず、空間関係を無視する。複雑な入力に対して多くのパラメータを使用すると過学習が起こりやすい。

CNN とコンピュータ ビジョン

CNN はコンピュータ ビジョンを変革し、マシンが画像を正確に「見て」理解することを可能にしました。階層的な視覚データの表現を学習する能力により、次のようなさまざまなコンピュータ ビジョン タスクにおいて大きな進歩を遂げています。

画像分類

画像分類は、コンピュータ ビジョンの中核的なタスクであり、画像の内容に基づいて画像全体にラベルを付ける作業です。CNN はこの分野に優れており、ImageNet などのデータセットで優れた結果を達成しています。生のピクセルデータから複雑な特徴を学習できるため、画像内のオブジェクト、シーン、感情の認識に非常に効果的です。

オブジェクト検出

オブジェクト検出は、画像内のオブジェクトを識別してその位置を特定することで、分類を上回る機能を提供します。CNN はオブジェクト検出アルゴリズムにおいて不可欠であり、自動運転車が周囲の環境を認識したり、ロボットが複雑な環境をナビゲートしたり、セキュリティ システムが脅威を検出したりといった応用を可能にします。

CNN の応用

CNN の応用は、画像関連のタスクをはるかに超えて広がっています。特徴の空間階層を学習できるため、次のようなさまざまな分野で価値を発揮します。

  • 自然言語処理: CNN は、文章を 1 次元の「画像」として扱い、それぞれの単語や文字を特徴として分析できます。これにより、テキストデータ内のパターンや関係を識別できるため、感情分析(テキストを肯定的、否定的、中立的に分類する)や言語翻訳(ある言語の文章を別の言語にマッピングする)などのタスクに役立ちます。
  • 医療画像分析: 医療分野では、CNN を医療画像(X 線、MRI、CT スキャン)の大規模なデータセットでトレーニングすることで、病気の兆候となる微妙なパターンや異常を検出できます。これにより、放射線科医が行う、マンモグラフィでの腫瘍の検出、X 線写真での骨折の特定、CT スキャンでの臓器のセグメンテーションなどのタスクを支援でき、診断の精度と効率の向上や、患者に寄り添った治療計画の策定に役立ちます。
  • 創薬: CNN は分子構造を分析することで、創薬を加速させる可能性があります。分子の構造とその特性の関係を学習することで、潜在的な新薬候補の有効性、毒性、その他の特性を予測できます。膨大な化学物質ライブラリを「in silico」でスクリーニングすることで、従来の創薬手法に伴う時間と費用を削減できます。
  • 財務モデリング: CNN はシーケンシャル データを分析できるため、財務用途にも適している可能性があります。時系列の財務データ(株価、為替レート、経済指標)を 1 次元の「画像」として扱うことで、従来の統計手法では見逃される可能性のあるトレンド、パターン、異常を特定できます。これにより、金融機関は、より多くの情報に基づいた投資判断、市場変動の予測、効果的なリスク管理が可能になります。

Google Cloud で CNN を活用

Google Cloud は、CNN を適用するための完全なエコシステムを提供します。既製のソリューションが必要な場合でも、独自のソリューションを構築するための強力なプラットフォームが必要な場合でも、お客様のニーズに合わせて利用できます。

事前トレーニング済みのビジョン機能: モデルをゼロから構築せずに、アプリに強力なビジョン機能を追加する必要がある場合は、Vision AI などのサービスを利用することで、オブジェクト検出やテキスト認識などのタスクのために、シンプルな API を介して CNN ベースのモデルにアクセスできます。同様に、Document AI は CNN を使用して、複雑なドキュメントからデータを理解して抽出します。

カスタムモデルの構築、トレーニング、デプロイ: 独自のデータで CNN をトレーニングする必要がある場合は、Vertex AI が統合プラットフォームを提供します。データの準備やトレーニングから、カスタム CNN モデルの大規模なデプロイやモニタリングに至るまで、ML ライフサイクル全体を管理します。

高性能トレーニングの高速化: 大規模な最先端の CNN のトレーニングは、計算負荷が高くなります。Cloud TPU は、ディープ ラーニング モデルのトレーニングを高速化するために Google が独自に設計したハードウェア アクセラレータで、より迅速にイノベーションを達成できます。

次のステップ

$300 分の無料クレジットと 20 以上の Always Free プロダクトを活用して、Google Cloud で構築を開始しましょう。

  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud