CNN
「行列とベクトルの掛け算」の代わりに、空間フィルタの処理もやるニューラルネットワーク 「小さいベクトルをスカラーに変換」するフィルタを、大きいベクトル(元画像)の色々な部分(カーネル)に対してやることで、大きいベクトル(元画像)をちょっと小さくしたベクトルを得る
みたいな感じかなblu3mo.icon
これをやることで、画像の中で必要な特徴を抽出する / いらない情報を排除する
その抽出方法も当然訓練される
あと、畳み込みの後にプーリングという処理もやることが多い これは、シンプルに画像の解像度を下げる処理
複数のフィルタを自動で作り出す、そのカーネルの数がConvolutional Layerの数
あるフィルタは、犬の耳を検出できる物かもしれない
別のフィルタは、犬の目を検出するかも
間にpooling layerってのも挟むことがある
情報をできるだけ保ったまま、サイズを小さくするためのもの
平均とる手法や、最大値取る手法などがある
最大値のやつが、画像検知には向いてる(特徴のある部分を強調するから)
CNNは、画像のdepthを増やして、widthとheightを減らしていく処理
最初のlayerはdepthは3(rgbの場合)、だからwidthとheightの方が圧倒的に大きい
Conv Layerがdepthを増やす、Pooling layerがwidthとheightを減らす
https://gyazo.com/8cf5670cb3417aba8b95954b5f481cbe
https://gyazo.com/4a870c8d12f0cb44abb62fdda0cecb2a