畳み込みニューラルネットワーク
畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)とは、主に画像認識や物体検出などに広く活用されているディープラーニングのアルゴリズムの一つです。 人間の視覚野の働きを参考に設計されており、入力画像などのデータから特徴を自動的に抽出し、分類や認識などを実現します。
特徴[編集 | ソースを編集]
CNNは多層構造を持つニューラルネットワークであり、主に次のような層によって構成されます。
- 畳み込み層:画像処理でよく使われる「畳み込み処理」により画像や音声などのエッジや模様などの「特徴」を抽出します。
- プーリング層:特徴マップを圧縮し、データ量を減らしながら重要な情報を保持します。
- 全結合層:抽出された特徴を元に最終的な分類や認識結果を出力します。
各層で処理を繰り返すことで、画像の色や輪郭といった単純な特徴から、より複雑なパターンや形状まで学習できる仕組みになっています。
また「局所受容野」や「重み共有」などの特徴的な結合方式によって、計算量を抑えつつ効率よく学習できるという利点もあります。
用途[編集 | ソースを編集]
CNNは特に次の分野で高い性能を発揮します。
- 画像分類(例:動物や物体の識別)
- 物体検知(セグメンテーション)
- 音源の分離
自動運転や医療画像診断、顔認識などさまざまな分野で実用化が進んでいます。
昨今流行りの馬鹿みたいに重たい生成AIなどと比べ、古典的なCNNは今となっては非常に軽い部類の人工知能になります。最近の高性能なスマホではカメラで撮影しながらリアルタイムにセグメンテーションなども余裕でできます。人工知能入門といえば有名どころのCNNを動かしてみるくらいの感じです。