Lapisan convolutional dan pooling layer sendiri tidak tergantung pada dimensi input. Namun, output dari lapisan konvolusional akan memiliki ukuran spasial yang berbeda untuk gambar dengan ukuran berbeda, dan ini akan menyebabkan masalah jika kita memiliki lapisan yang terhubung sepenuhnya sesudahnya (karena lapisan yang terhubung sepenuhnya memerlukan input ukuran tetap). Ada beberapa solusi untuk ini:
1. Global Pooling: Hindari lapisan yang sepenuhnya terhubung pada akhir layer convolutional, dan alih-alih gunakan pooling (seperti Global Average Pooling) untuk mengurangi peta fitur Anda dari bentuk (N, H, W, C) (sebelum pool global ) untuk membentuk (N, 1,1, C) (setelah kumpulan global), di mana:
N = Jumlah sampel minibatch
H = Tinggi spasial peta fitur
W = Lebar spasial peta fitur
C = Jumlah peta fitur (saluran)
As dapat dilihat, dimensi output (N * C) sekarang independen dari ukuran spasial (H, W) dari peta fitur. Dalam hal klasifikasi, Anda dapat melanjutkan menggunakan lapisan yang sepenuhnya terhubung di atas untuk mendapatkan log untuk kelas Anda.
2. Pooling berukuran variabel:Gunakan wilayah pengumpulan ukuran variabel untuk mendapatkan ukuran peta fitur yang sama untuk ukuran input yang berbeda.
3. Pangkas / Ubah ukuran gambar masukan: Anda dapat mencoba mengubah skala / memotong / memasukkan gambar masukan Anda agar semuanya memiliki bentuk yang sama.
Dalam konteks pembelajaran transfer, Anda mungkin ingin menggunakan input berukuran berbeda dari input asli yang dilatih dengan model. Berikut adalah beberapa opsi untuk melakukannya:
4. Buat layer baru yang sepenuhnya terhubung: Anda dapat membuang sepenuhnya layer asli yang terhubung sepenuhnya dan menginisialisasi layer baru yang sepenuhnya terhubung dengan dimensi yang Anda butuhkan, dan latih dari awal.
5. Perlakukan layer yang sepenuhnya terhubung sebagai konvolusi: Biasanya, kami membentuk kembali peta fitur dari (N, H, W, C) menjadi (N, H * W * C) sebelum memasukkannya ke lapisan yang terhubung sepenuhnya. Tetapi Anda juga dapat memperlakukan lapisan yang terhubung sepenuhnya sebagai konvolusi dengan bidang reseptif (H, W). Kemudian, Anda bisa membelit kernel ini dengan peta fitur Anda terlepas dari ukurannya (gunakan zero padding jika diperlukan) [
http://cs231n.github.io/transfer-learning/ ].