AIの基礎
CNN(畳み込みニューラルネットワーク)とは何か?
convolutional neural network (CNN) は、入力の局所領域にわたって学習されたフィルタを使用するニューラルネットワークアーキテクチャです。CNNは、パターンがどこに現れても検出でき、画像全体で同じパラメータを再利用できるため、現代のコンピュータビジョンの基礎となっています。
CNNは画像を非数値形式から数値形式に変換するわけではありません—画像はすでにピクセル値のテンソルとして入力されます。その目的は、そのテンソルを分類、検出、セグメンテーション、またはその他のタスクに有用な特徴マップに変換することです。
主なポイント
- 畳み込みは、局所的な入力値と学習されたカーネルを組み合わせて特徴マップを生成します。
- ストライド、パディング、ダイレーション、プーリングは、空間解像度と受容野を制御します。
- 重み共有により、CNNは生ピクセルに対する全結合ネットワークよりもパラメータ効率が高くなります。
- ビジョントランスフォーマーは代替手段を提供しますが、CNNは効率的でデータが限られたシステムにおいて依然として有力です。

畳み込みの仕組み
カーネルは学習可能な重みの小さなグリッドです。各位置で、CNNはカーネルの値と対応する入力値を掛け合わせ、結果を合計し、通常はバイアスを加えます。この操作を入力全体に繰り返すことで特徴マップが生成されます。
カラー画像の場合、カーネルはすべての入力チャンネルにまたがります。層は複数のカーネルを使用して複数の出力チャンネルを作成します。学習中、逆伝播 はこれらのカーネル重みの勾配を計算しますが、畳み込み操作自体が画像ごとに新しい固定重み集合を生成するわけではありません。
ストライド、パディング、ダイレーション
- Stride はカーネルの移動距離を制御します。1 より大きいストライドは空間解像度を下げます。
- Padding は入力の周囲に値を追加し、境界情報を処理できるようにし、出力サイズを制御します。
- Dilation はカーネル要素を離して配置し、パラメータを比例的に増やさずに受容野を拡大します。
受容野とは、ユニットに影響を与えることのできる元入力の領域です。畳み込みを重ねることで受容野が拡大し、後続の特徴がより広い領域の情報を組み合わせられるようになります。
活性化、正規化、プーリング
畳み込み層の後には、非線形活性化関数や正規化が一般的に続きます。プーリングは、最大値や平均値などの演算を用いて局所領域を要約します。学習されたストライド付き畳み込みもダウンサンプリングに利用できます。
プーリングは必須ではありません。多くの最新ネットワークは、出力付近で大きな特徴マップを全結合層にフラット化する代わりに、グローバル平均プーリングを使用します。これによりパラメータが削減され、ネットワークが空間的証拠を集約できるようになります。
現代的なCNNアーキテクチャ
典型的なビジョンモデルは、ステム、特徴ブロックのシーケンス、ダウンサンプリング段階、そしてタスクヘッドで構成されます。残差接続により、ブロックは入力に対する修正を学習し、情報と勾配の直接経路を提供します。残差ネットワークの成功により、はるかに深いCNNの学習が実用的になりました。
分類ヘッドはクラススコアを生成します。検出ヘッドはカテゴリとバウンディングボックスを予測します。セグメンテーションアーキテクチャは、空間的ディテールを復元するデコーダーパスを追加します。同じCNNバックボーンは転移学習 を通じて再利用できます。
CNN層が学習すること
初期のフィルタがエッジやテクスチャに反応し、後期の表現が部品や物体に対応する様子を可視化することは一般的です。これは有用な直感ですが、固定された法則ではありません。特徴はタスク、アーキテクチャ、データ、目的、学習プロセスに依存し、あるユニットは人間の概念にきれいに対応しない情報を組み合わせることもあります。
CNNとビジョントランスフォーマーの比較
ビジョントランスフォーマーは画像をパッチに分割し、注意機構でそれらの関係をモデル化します。大規模な事前学習データセットで効果的にスケールできます。CNNは局所性と平行移動に関する仮定をアーキテクチャに直接組み込むため、規模の小さい環境でもより効率的かつデータ効率が高くなることがあります。
多くの実用システムは畳み込みと注意機構を組み合わせています。最適なアーキテクチャは、精度、レイテンシ、メモリ、学習データ、ハードウェア、導入環境に依存し、どちらのファミリーが新しいかでは決まりません。
制限事項と実務上の考慮点
CNNは分布シフト、敵対的摂動、背景のショートカット、バイアスのかかった学習データに対して敏感になることがあります。位置、回転、スケール、視点に対して完全に不変ではありません。データ拡張やアーキテクチャの選択はロバスト性を向上させますが、保証はできません。
導入時には、エンドツーエンドのレイテンシ、メモリ、スループット、サブグループの挙動を測定します。量子化やプルーニングはコスト削減に有効で、特にエッジ AI向けに有用ですが、圧縮されたモデルは再検証が必要です。
畳み込み、受容野、そして現代的なCNNブロック
畳み込み層は学習されたカーネルをグリッド上でスライドさせ、位置間で重みを共有します。カーネルサイズ、ストライド、ダイレーション、パディングが出力形状と受容野を決定します。初期層は局所的なエッジやテクスチャに反応し、深層はより広い領域の情報を統合しますが、学習された表現が人間の概念にきれいに対応する必要はありません。プーリングやストライド付き畳み込みは空間解像度を低下させます。チャンネルは特徴マップを保持し、グループ化や深さ方向に分離された畳み込みはチャネル間混合を犠牲にして計算コストを削減します。残差接続により、非常に深いネットワークの最適化が容易になります。
入力の高さと幅に対して、パディングは境界処理を、ストライドはサンプリングを制御します。過度なダウンサンプリングは小さな物体を消失させ、ゼロパディングはエッジアーティファクトを生むことがあります。ダイレーションはパラメータ増加なしに文脈を拡大しますが、グリッド状のパターンを引き起こすことがあります。バッチ正規化は学習統計に依存し、代替手法は小バッチサイズでより良く動作することがあります。最新のアーキテクチャはボトルネック、マルチスケール特徴、注意機構、逆残差などを組み合わせます。アーキテクチャは画像分類精度だけでなく、タスク解像度、メモリ帯域、レイテンシ、対象ハードウェアを基に選択すべきです。
学習、解釈、そして導入
ラベルを保持し実際の変動を反映するデータ拡張を使用し、拡張前に被写体やシーンで分割します。転移学習は一般的で、タスクヘッドを置き換えて学習し、バックボーンを慎重にアンフリーズします。クラス別の性能、キャリブレーション、ぼやけ、圧縮、照明、スケール、クロップ、敵対的摂動に対するロバスト性を評価します。特徴マップやサリエンシーといった可視化手法はショートカットを明らかにできますが、手法やベースラインに敏感です。疑われる依存は、反事実画像、遮蔽テスト、データセットの変更で確認します。
エクスポートされたCNNは、GPU、NPU、ブラウザ、マイクロコントローラ向けに融合、量子化、またはコンパイルされることがあります。正確なデバイス上で前処理・後処理を含むデプロイ済みグラフを検証します。エンドツーエンドのレイテンシ、メモリ、エネルギー、熱挙動を測定します。小規模モデルでは入力デコードが支配的になることがあります。カメラや画像の統計、出力分布、確認されたエラーを監視します。署名付きモデルアーティファクト、保護された更新チャネル、センサー障害の優雅な処理は、製品設計の一部です。CNNは有用な局所バイアスをエンコードしますが、物体や因果シーンを自動的に理解するわけではありません。
実例:検査カメラへのCNN導入
CNNは高解像度ラインスキャン画像から表面欠陥を分類します。エンジニアは画像を重ね合わせてタイル化し、小さな欠陥がダウンサンプリングでも残り、レビュー用の座標を保持し、実際の光学的変動に対するデータ拡張を検証します。残差CNNと軽量なdepthwiseモデルを同等のリコールで比較します。テスト項目はエッジ欠陥、グレア、圧縮、動き、材料ロット、カメラ交換で、最終評価のために独立した生産ロットを確保します。
コンパイルはモデルをエッジアクセラレータ向けに融合・量子化しますが、デプロイされたグラフは感度の高い欠陥ケースでリファレンスと比較されます。デコード、タイル化、推論、マージのレイテンシをエンドツーエンドで測定します。システムはデッドピクセルと露出ドリフトを製品欠陥とは別にフラグ付けします。オペレーターはソースタイルを検査し、結果を上書きできます。モデルとカメラの変更は段階的に展開され、ビジョンパイプラインが利用できない場合でも安全な手動検査手順が維持されます。
実装証拠と運用準備性
製品化の判断には成功したデモだけでは不十分です。対象ユーザー、運用環境、入力・出力、依存関係、所有者、重要な障害ごとの影響を定義します。チューニング前に再現可能なベースラインとバージョン管理された評価セットを確立します。通常ケース、境界条件、破損または欠損入力、分布シフト、依存障害、誤用、そして支援が不足しがちなグループや環境をテストします。タスク品質をキャリブレーションや不確実性、レイテンシ、スループット、リソースコスト、アクセシビリティ、プライバシー、セキュリティと共に測定します。すべての変換と閾値を記録し、独立したレビューアが結果を再現し、魅力的なプロトタイプと証拠を区別できるようにします。
リリース前に、リリース、例外、変更、ロールバック、廃止の権限を割り当てます。段階的ロールアウトを使用し、安全なフォールバックを保持し、意図的に注入した障害で監視を検証します。運用テレメトリは、入力品質、出力挙動、モデルまたはルールのバージョン、依存の健全性、人間のオーバーライド、確認された結果を、不要な機密データを収集せずに示すべきです。アラート閾値と対応責任者を定義し、オフライン性能が持続すると仮定せず、導入後に実世界の証拠をレビューします。データソース、ユーザー、モデル、ベンダー、ポリシー、ハードウェア、目的が変わるたびに再評価します。維持されたシステムは、文書化された復旧手順、インシデント学習、削除・保持手順、そして無効化または置換すべき明確なタイミングも必要です。
よくある質問
CNNは常にプーリングが必要ですか?
いいえ。CNNはストライド付き畳み込みでダウンサンプリングでき、密な予測のために解像度を保持することも可能です。プーリングは設計上のツールの一つであり、必須要件ではありません。
CNNのフィルタは手作業で設計されていますか?
学習済みのCNNでは、カーネルの値は通常データから学習されます。これは、エッジ検出などの操作のために事前に係数が選択される従来のビジョンフィルタとは異なります。












