[AIスタートキャンプ]Convolutional Neural Network

5883 ワード

🏆 学習目標

  • Part 1:Convolution&Poolingコンセプト.
  • Part 2:CNNは問題の分類に使用できます.
  • Part 3:転送学習を用いて画像分類が可能です.
  • 事物識別-対象検出(YOLO)+RCNN(Fast,Faster,MASK RCNN)
  • 姿勢予測-Pose Estimation(PoseNet)
  • 輪郭分類検出器
  • Convolution



    filter


    ウェイトセット、フィーチャーをスナップする最小ウィンドウ(黄色の四角形)
    =kenel
    Q.filterのサイズが大きいほど、出力のサイズは?(ダウンジャケットx)
    A.移動距離が減少し、計算回数が減少し、写真も小さくなる

    stride


    stride=1

    stride=2

    a.数コマのフィルターを動かす.
    Q.stepのサイズが大きいほど出力が小さくなります.

    padding


    行列の外側に数字を囲む
    コンボリューション後のサイズは小さくなりません
    端の数字を埋めないと一度だけ計算するので、見逃したくないならやりましょう.
    0、エッジのような数字などの方法はいろいろあります.
    keras.layers.Conv2D(10, kernel_size=(3,3), activation='relu',
    		     padding='same', strides=1)
    

    Pooling layer

  • フィルタとは異なり、重みはありません.
  • 押印領域で、最大値または計算平均値
  • を選択する.
  • 目的:次元を縮小!
    (+)合成乗算でストライプを増加させることにより,特性マッピングを減少させるよりもプール化層でサイズを減少させる方が性能が向上する
    多くの場合2 x 2ですが、8 x 6マトリクスを4 x 3に統合します.行と列を半分に減らし、画像サイズを4分の1に減らします.
  • max pooling


    ボリュームに重み付けを乗じた最大値のみを保持
    境界のはっきりした画像を使用する場合、抽出効果は良好です.

    average pooling


    範囲内の平均値を使用します.平均カーネルサイズ内の値
    ->画像が柔らかくなり、色が暗くなります
    =明確な特徴を抽出することができず、特性図中の重要な情報を平均的に希釈することができる
    展開時にマトリクスサイズでステップサイズを調整する
    2 x 2全速コアを作ると、ストライプは2でつかむのが一般的です.
    では、ちょうど半減します.
    3 x 3ストライプを3にするだけ(フィーチャー抽出が重複しない)
  • レイヤーを使用してフィーチャーマッピングの次元数
  • を縮小
  • 減少した特徴をANN形式のニューラルネットワークに入れる
  • .
  • classification or regression
  • 利点(convに対して)
    i.学習するパラメータはありません.(スピードが速いかも)
    ii. チャンネル数は変わりません.
    keras.layers.MaxPooling2D(2, stides=2, padding='valid')
    keras.layers.AveragePooling2D(2, stides=2, padding='valid')

    CNN


    優れた画像処理性能を備えたニューラルネットワーク
    CNNのコアモジュール:合成乗算器層、バッファ層
    完全接続レイヤで使用されていない新しい方法
    Weight Sharingの適用
    複数のチャネル->RGB情報の組み合わせの画像を構成してもよいし、それぞれの特徴を抽出するために3つのチャネルを構成してもよい.
    a.メリット
    i.前期処理作業量の削減
    ii. ウェイト値の減少=>ウェイトの共有(画像の位置が異なる場合でも認識できます)
    ex)
    (32,32,3)=>フィルタ(3,3)=>(30,30,32)
    3 x 3のフィルタ1枚
    合計3個または32個のフィルタ
    全権重量:(3 x 3)x 3 x 32

    4 x 4を32個作成するには、3つのチャネルのフィルタに32個を乗算する必要があります.

    転校学習

  • ライブラリ
  • 既存の(私の目的ではない)データ学習を再利用するニューラルネットワーク
    layer.trainable = True
    - True 인 경우 네트워크에 있는 모든 파라미터가 학습 대상이 됨 -> 느려짐
    - False 인 경우가 True 인 경우보다 학습할 파라미터의 개수가 적음
    - False 인 경우와 True 인 경우 모델에 내 총 가중치 파라미터의 개수는 동일

    ResNet


    Residual(skiped) Connection
    既存のCNNに適用しても,層が深くても逆転しても情報は失われない.

    QnA


    発令銃:書き換えの挑戦
    filter:ウェイトの集合、最小フィーチャーをスナップするウィンドウ
    streep:フィルタをどれだけ動かすか
    padding:外のもの
    フィルタ:フィーチャーを抽出し、結果値に差があります.

  • kenelはフィルターですか?
    水平フィーチャーを抽出するフィルタ
    filter:ウェイトセット>モデルの学習時にウェイトを学習する
    画像を学習する過程で,重み付けを学習し,どのような特徴を抽出して分類すればよいかを述べた.

  • フィルターが切り紙を探していると言っていますが、切り紙は画像の特徴を意味しますか?
    はい

  • フィルタマトリクスの各値はもともと整形されていますか?
    重み付け.ウェイトは初期化学習によってランダムに割り当てられ、逆伝播によって更新されます.

  • 私たちが前に勉強した部分はそのフィルターと解いた部分ですか?
    a.

  • 抽出(Extract)を使用すると、フィーチャーセットなどのキャラクタ>に適合するように、フィーチャーマッピングの階層を減らすことができます.

  • ダウンジャケットの理由:アウトレットのサイズを調整するため
    末端の子供は1回の演算にしか参加しない.尾部の値をよりよく使うためにダウンジャケットも作りました.>データを十分に活用するために
    入力値ではなくフィルタを塗りつぶす

  • ストライプを2にするとダウンジャケットはできませんが、ストライプを変更すると、データが小さくなる問題をどのように解決しますか?
    写真の大きさを調整し、ダウンジャケットを1つ囲んでストライプを2にすると、写真の大きさを調整できません.だから2つのストライプをつかむとダウンジャケットをもっと大きく囲みます本来の目的に合わないからです.

  • マトリックスベースピクセル

  • cnnを使うと利点があります.フルコネクションレイヤを使用するよりも、その利点は
    :画像の前処理を減らし、画像情報の損失がなく、パラメータを減らします.
    どうしてパラメータが小さくなるのですか?重みを共有するため
    重み付け
  • ロス峰を当てる!
  • 多分類だと、ラベルの形はどのように決まっているのでしょうか?ホットスポットなのか整数なのか知りたいです.
    a.ファイル名から切り出して記録し、ラベル符号化であるかソースホット符号化であるかを決定する
  • .
    課題の説明