CNN は、入力画像を複数のレイヤに通すことで処理します。初期のレイヤではエッジや線などの単純な特徴を識別し、より深いレイヤではより複雑なパターン、形状、最終的にはオブジェクト全体を認識します。CNN は、こうした方法によって特徴を階層的に抽出し、画像認識やその他のコンピュータ ビジョン タスクを非常に効果的に処理できます。
CNN は、写真を分析して物体を特定する専門家チームのようなものです。各レイヤは、認識の組み立てラインで特定の役割を担います。
1. 畳み込みレイヤ: 特徴スキャナ
これが最初の専門家グループです。それぞれが、直線、曲線、特定の色など、単一のシンプルな特徴を探します。小さな虫メガネ(フィルタ)を画像全体に滑らせ、割り当てられた特徴を見つけるたびに記録します。これにより、「特徴マップ」と呼ばれる、基本的な特徴の位置を示す地図のようなセットが作成されます。
2. 活性化レイヤ(ReLU): 重要度フィルタ
最初のスキャン後、管理者(ReLU 関数)が特徴マップを審査します。その役割はシンプルで、強いシグナルを保持し、弱いシグナルを破棄します。非線形性を導入することで、最も重要で明確に特定された特徴量のみが、さらなる分析のために渡されます。これにより、ノイズがプロセスを妨げるのを防ぎます。
3. プーリング レイヤ: 要約
プーリング レイヤは、地域マネージャーのような役割を果たします。細部まで確認するのではなく、特徴マップの小さなパッチから得られた結果を要約します。たとえば、「最大プーリング」レイヤは、特徴マップの 2x2 の領域を見て、最も強い信号のみを報告します。これにより、データの全体的なサイズが縮小され、ネットワークの効率が向上します。また、オブジェクトがフレーム内のどこに出現しても認識できるようになります(このコンセプトは「並進不変性」と呼ばれます)。
4. 全結合レイヤ: 捜査の責任者
数回にわたるスキャンと要約を経て、最終的な特徴レポートが主任刑事に渡されます。このレイヤは、特徴の組み合わせ(ひげがある、耳が尖っている、毛皮に覆われているなど)を大まかに分析し、最終的な判断を下します。要約されたすべての結果を関連付けて「すべての証拠に基づくと、この画像のオブジェクトは猫です」といった結論を導き出します。結果は最終出力レイヤ(softmax など)に渡され、各分類の可能性の確率が算出されます。
畳み込みニューラル ネットワークと従来のニューラル ネットワークは、どちらもデータを処理して予測を行うように設計されていますが、アーキテクチャ、用途、主要な機能において大きな違いがあります。
機能 | 畳み込みニューラル ネットワーク(CNN) | 従来のニューラル ネットワーク |
コア アーキテクチャ | 畳み込みレイヤ、活性化レイヤ、プーリング レイヤ、全結合レイヤで構成される。 | 主に全結合(密)レイヤで構成されている。 |
入力データ型 | 構造化されたグリッド状のデータ(画像、動画、テキストなどの 1 次元シーケンス)に最適。 | 柔軟性に優れ、さまざまなデータ型(通常は、表形式データやフラット化されたベクトル)に対応。 |
特徴抽出 | フィルタを通じて階層的な特徴(エッジ、テクスチャ、形状)を自動的に学習する。 | 直接接続を通じて特徴を学習するが、空間の特徴表現学習にはあまり効果的ではない。 |
空間的関係 | 空間的関係(画像内のピクセルの隣接など)を明示的に保持して活用する。 | 各入力特徴を個別に処理する。入力を平坦化すると、空間的関係は失われる。 |
パラメータの共有 | 可能。重み(フィルタ / カーネル)は、入力内のさまざまな場所で共有される。 | 不可。各接続には固有の重みが割り当てられる。 |
パラメータの数 | 一般的に、重み共有とプーリングによりパラメータが少なくなる(特に画像のような高次元の入力の場合)。 | パラメータの数が非常に多くなる可能性がある(特に高次元の入力の場合)。 |
並進不変性 | 入力内の正確な位置に関係なく、特徴を認識することに本質的に優れている。 | 拡張データで明示的にトレーニングしない限り、入力特徴量の変化に敏感。 |
計算効率 | パラメータの削減と特殊な操作により、画像データや空間データに対してより効率的。 | 密な接続のため、高次元の入力では計算コストが高くなる可能性がある。 |
主な用途 | 画像分類、オブジェクト検出、画像セグメンテーション、動画分析、医療画像処理、一部の NLP タスク。 | 表形式データの分類 / 回帰、単純なパターン認識、関数近似、一部の NLP。 |
主なメリット | 視覚データに最適。階層的特徴を学習し、並進不変性を備え、パラメータを削減する。画像データに対する過学習が起こりにくい。 | さまざまなデータ型に対応でき、非空間の表形式データに適している。基本的なタスクの概念を理解しやすい。 |
主な制限事項 | 設計が複雑になる場合があり、通常はトレーニングに大規模なデータセットが必要。非空間の表形式データにはあまり効果的ではない。 | 高次元の空間データには適しておらず、空間関係を無視する。複雑な入力に対して多くのパラメータを使用すると過学習が起こりやすい。 |
機能
畳み込みニューラル ネットワーク(CNN)
従来のニューラル ネットワーク
コア アーキテクチャ
畳み込みレイヤ、活性化レイヤ、プーリング レイヤ、全結合レイヤで構成される。
主に全結合(密)レイヤで構成されている。
入力データ型
構造化されたグリッド状のデータ(画像、動画、テキストなどの 1 次元シーケンス)に最適。
柔軟性に優れ、さまざまなデータ型(通常は、表形式データやフラット化されたベクトル)に対応。
特徴抽出
フィルタを通じて階層的な特徴(エッジ、テクスチャ、形状)を自動的に学習する。
直接接続を通じて特徴を学習するが、空間の特徴表現学習にはあまり効果的ではない。
空間的関係
空間的関係(画像内のピクセルの隣接など)を明示的に保持して活用する。
各入力特徴を個別に処理する。入力を平坦化すると、空間的関係は失われる。
パラメータの共有
可能。重み(フィルタ / カーネル)は、入力内のさまざまな場所で共有される。
不可。各接続には固有の重みが割り当てられる。
パラメータの数
一般的に、重み共有とプーリングによりパラメータが少なくなる(特に画像のような高次元の入力の場合)。
パラメータの数が非常に多くなる可能性がある(特に高次元の入力の場合)。
並進不変性
入力内の正確な位置に関係なく、特徴を認識することに本質的に優れている。
拡張データで明示的にトレーニングしない限り、入力特徴量の変化に敏感。
計算効率
パラメータの削減と特殊な操作により、画像データや空間データに対してより効率的。
密な接続のため、高次元の入力では計算コストが高くなる可能性がある。
主な用途
画像分類、オブジェクト検出、画像セグメンテーション、動画分析、医療画像処理、一部の NLP タスク。
表形式データの分類 / 回帰、単純なパターン認識、関数近似、一部の NLP。
主なメリット
視覚データに最適。階層的特徴を学習し、並進不変性を備え、パラメータを削減する。画像データに対する過学習が起こりにくい。
さまざまなデータ型に対応でき、非空間の表形式データに適している。基本的なタスクの概念を理解しやすい。
主な制限事項
設計が複雑になる場合があり、通常はトレーニングに大規模なデータセットが必要。非空間の表形式データにはあまり効果的ではない。
高次元の空間データには適しておらず、空間関係を無視する。複雑な入力に対して多くのパラメータを使用すると過学習が起こりやすい。
CNN はコンピュータ ビジョンを変革し、マシンが画像を正確に「見て」理解することを可能にしました。階層的な視覚データの表現を学習する能力により、次のようなさまざまなコンピュータ ビジョン タスクにおいて大きな進歩を遂げています。
画像分類は、コンピュータ ビジョンの中核的なタスクであり、画像の内容に基づいて画像全体にラベルを付ける作業です。CNN はこの分野に優れており、ImageNet などのデータセットで優れた結果を達成しています。生のピクセルデータから複雑な特徴を学習できるため、画像内のオブジェクト、シーン、感情の認識に非常に効果的です。
オブジェクト検出は、画像内のオブジェクトを識別してその位置を特定することで、分類を上回る機能を提供します。CNN はオブジェクト検出アルゴリズムにおいて不可欠であり、自動運転車が周囲の環境を認識したり、ロボットが複雑な環境をナビゲートしたり、セキュリティ システムが脅威を検出したりといった応用を可能にします。
CNN の応用は、画像関連のタスクをはるかに超えて広がっています。特徴の空間階層を学習できるため、次のようなさまざまな分野で価値を発揮します。
Google Cloud は、CNN を適用するための完全なエコシステムを提供します。既製のソリューションが必要な場合でも、独自のソリューションを構築するための強力なプラットフォームが必要な場合でも、お客様のニーズに合わせて利用できます。
事前トレーニング済みのビジョン機能: モデルをゼロから構築せずに、アプリに強力なビジョン機能を追加する必要がある場合は、Vision AI などのサービスを利用することで、オブジェクト検出やテキスト認識などのタスクのために、シンプルな API を介して CNN ベースのモデルにアクセスできます。同様に、Document AI は CNN を使用して、複雑なドキュメントからデータを理解して抽出します。
カスタムモデルの構築、トレーニング、デプロイ: 独自のデータで CNN をトレーニングする必要がある場合は、Vertex AI が統合プラットフォームを提供します。データの準備やトレーニングから、カスタム CNN モデルの大規模なデプロイやモニタリングに至るまで、ML ライフサイクル全体を管理します。
高性能トレーニングの高速化: 大規模な最先端の CNN のトレーニングは、計算負荷が高くなります。Cloud TPU は、ディープ ラーニング モデルのトレーニングを高速化するために Google が独自に設計したハードウェア アクセラレータで、より迅速にイノベーションを達成できます。