畳み込みニューラルネットワーク (CNN)は、ディープラーニング(深層学習)の中でも特に画像認識で注目された技術である。
人間が猫の写真を見れば瞬時に「これは猫だ」と判断できる。しかしコンピュータにとって画像は、数字の集まり(ピクセル)に過ぎない。CNNが登場する前は、コンピュータに「猫」を理解させることは非常に難しい課題であった。
CNNの画期的な点は、画像を丸暗記するのではなく、「耳が尖っている」「ヒゲがある」「毛並みがふわふわしている」といった特徴を自動で抽出し、それらを組み合わせて判断を下すことである。これにより、明るさや角度が変わっても正しく認識できるようになった。
近年登場したTransformerは、画像全体の関係性をとらえることで、画像認識の精度を向上させている。しかし、スマホやカメラ、センサーなどのエッジデバイスは、計算能力やメモリ、電力といったリソースが限られている。そのため、構造がシンプルで軽量なCNNが、エッジデバイスを使ったリアルタイム処理が求められる現場で、今も重要な役割を果たしている。
CNNの仕組み
CNNが画像を認識する流れは、職人が何段階もの工程を経て作品を作るイメージに似ており、大きく分けて3つのステップがある。
CNNの仕組み
1. 畳み込み層(小さなフィルタでスキャン)
小さなフィルター(虫眼鏡のようなもの)を使って画像を隅から隅までスキャンする。例えば「耳フィルター」「ヒゲフィルター」など、多数のフィルターが同時に特徴を見つけ出す。
2. プーリング層(情報を要約する)
見つけた特徴をぎゅっと縮めて要約する。たとえば「耳がこのあたりにある」という大まかな情報だけを残し、細かい位置は気にしない。これが画像の少しのズレに強くなる理由である。
3. 全結合層(答えを決める)
プーリング層でまとめた「耳情報」や「ヒゲ情報」など全ての情報を組み合わせ、「これは猫だ」と最終判断を下す。
特徴
CNNには、従来の画像処理にはなかった特徴がある。
- 位置ズレに強い
対象物が画像の中央でも端でも、同じものとして認識できる。これはプーリング層による情報の圧縮のおかげである。 - 特徴を自動で学習する
以前は「猫の耳は尖っている」と人が教えていたが、CNNは大量の画像から自ら「猫らしさ」を見つけ学習する。 - 並列処理が可能
画像の左上と右下の計算は独立しているため、同時に大量の計算を行うことができる。 - 高性能なGPUが必要
この同時計算を効率よく行うために、画像処理に特化したGPU(グラフィック処理装置)が不可欠である。
提唱・開発の歴史
CNNの歴史は、日本の基礎研究から始まり、アメリカでの実用化を経て、世界的なブレイクスルーへと繋がっている。
CNNの進化は、車の発展に例えるとわかりやすい。
1. ネオコグニトロン(1979年)
計算機科学者の福島邦彦氏が開発。CNNの原型であり、人間の視覚の仕組みをモデル化した。このモデルは、まるで「車の最初の試作車」のような存在である。
2. LeNet(1998年)
フランスの計算機科学者、
ヤン・ルカン氏
https://ja.wikipedia.org/wiki/ヤン・ルカンより引用
3. 精度向上:AlexNet(2012年)
カナダのコンピュータサイエンティスト、
アレックス・クリジェフスキー氏
https://qz.com/1307091/the-inside-story-of-how-ai-got-good-enough-to-dominate-silicon-valleyより引用
デザイン上での利用方法
CNNはユーザーの手間を減らし、体験をスムーズにするために利用されている。
- 入力の代替
キーボード入力の代わりに画像で検索や入力を行う。 - コンテキスト理解
ユーザーの状況を画像から把握し、必要な情報を先回りして提供する。 - パーソナライズ
顔や好みの画像を分析し、個別に最適化された体験を実現する。
「この場面に使える」シーンと具体例
| 利用シーン | 具体的なデザイン事例 | CNNの役割 |
|---|---|---|
| Eコマース・ファッション | Googleレンズ、Pinterestの画像検索 | 「言語化できない検索」の実現
画像から似た商品を瞬時に探し出し、言葉にできない検索を実現 |
| セキュリティ・本人確認 | iPhoneのFace ID、空港の顔認証ゲート | 「ノイズに強い」認証
メガネや髪型が変わっても本人を正確に認識する |
| 医療・ヘルスケア | 医療AI診断支援システム | 「専門家の相棒」として支援
微細な異常を検出し、医師の診断をサポート |