Bluemo's Brain

Search

Search IconIcon to open search

CNN

Last updated Dec 16, 2022 Edit Source

    from 東大1S情報α

    • 「行列とベクトルの掛け算」の代わりに、空間フィルタの処理もやるニューラルネットワーク
      • 「小さいベクトルをスカラーに変換」するフィルタを、大きいベクトル(元画像)の色々な部分(カーネル)に対してやることで、大きいベクトル(元画像)をちょっと小さくしたベクトルを得る
        • みたいな感じかなblu3mo.icon
        • この動作、確かに「畳み込み」って感じ
      • これをやることで、画像の中で必要な特徴を抽出する / いらない情報を排除する
        • その抽出方法も当然訓練される
    • あと、畳み込みの後にプーリングという処理もやることが多い
      • これは、シンプルに画像の解像度を下げる処理

    from #Udacity_Intro_to_Deep_Learning_with_PyTorch

    • 輪郭検知のとこで説明した空間フィルタ、が鍵

    • フィルタを、自動で学習するのがCNN

    • 複数のフィルタを自動で作り出す、そのカーネルの数がConvolutional Layerの数

      • あるフィルタは、犬の耳を検出できる物かもしれない
      • 別のフィルタは、犬の目を検出するかも
    • 間にpooling layerってのも挟むことがある

      • 情報をできるだけ保ったまま、サイズを小さくするためのもの
      • 平均とる手法や、最大値取る手法などがある
        • 最大値のやつが、画像検知には向いてる(特徴のある部分を強調するから)
    • CNNは、画像のdepthを増やして、widthとheightを減らしていく処理

      • 最初のlayerはdepthは3(rgbの場合)、だからwidthとheightの方が圧倒的に大きい
      • Conv Layerがdepthを増やす、Pooling layerがwidthとheightを減らす image image