[AIスタートキャンプ]Convolutional Neural Network
5883 ワード
🏆 学習目標
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にするだけ(フィーチャー抽出が重複しない)
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.ファイル名から切り出して記録し、ラベル符号化であるかソースホット符号化であるかを決定する
課題の説明
Reference
この問題について([AIスタートキャンプ]Convolutional Neural Network), 我々は、より多くの情報をここで見つけました https://velog.io/@superahxd/Convolutional-Neural-Networkテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol