Arsitektur convolutional neural network (CNN) kedua yang Anda posting berasal dari makalah ini . Dalam makalah penulis memberikan deskripsi tentang apa yang terjadi antara lapisan S2 dan C3. Penjelasan mereka tidak begitu jelas. Saya akan mengatakan bahwa arsitektur CNN ini bukan 'standar', dan itu bisa sangat membingungkan sebagai contoh pertama untuk CNN.
Pertama-tama, diperlukan klarifikasi tentang bagaimana peta fitur diproduksi dan apa hubungannya dengan filter. Peta fitur adalah hasil dari belitan filter dengan peta fitur. Mari kita ambil layer INPUT dan C1 sebagai contoh. Dalam kasus yang paling umum, untuk mendapatkan 6 peta fitur ukuran di lapisan C1 Anda perlu 6 filter ukuran (hasil konvolusi 'valid' dari gambar ukuran dengan filter ukuran , dengan asumsi , memiliki ukuran28×285×5M×MN×NM≥N(M−N+1)×(M−N+1). Anda dapat, bagaimanapun, menghasilkan 6 peta fitur dengan menggabungkan peta fitur yang dihasilkan oleh lebih atau kurang dari 6 filter (misalnya dengan menjumlahkannya). Di koran, tidak ada yang tersirat untuk lapisan C1.
Apa yang terjadi antara lapisan S2 dan lapisan C3 adalah sebagai berikut. Ada 16 peta fitur di lapisan C3 yang dihasilkan dari 6 peta fitur di lapisan S2. Jumlah filter di lapisan C3 memang tidak jelas. Bahkan, dari diagram arsitektur saja, kita tidak bisa menilai berapa jumlah filter yang menghasilkan 16 peta fitur tersebut. Para penulis makalah ini menyediakan tabel berikut (halaman 8):
Dengan tabel mereka memberikan penjelasan berikut (bagian bawah halaman 7):
Lapisan C3 adalah lapisan konvolusional dengan 16 peta fitur. Setiap unit di setiap peta fitur terhubung ke beberapa lingkungan di lokasi yang identik dalam subset dari peta fitur S2.5×5
Dalam tabel tersebut penulis menunjukkan bahwa setiap peta fitur di lapisan C3 dihasilkan dengan menggabungkan 3 peta fitur atau lebih (halaman 8):
Enam peta fitur C3 pertama mengambil input dari setiap himpunan bagian yang berdekatan dari tiga peta fitur di S2. Enam berikutnya mengambil input dari setiap subset yang berdekatan dari empat. Tiga berikutnya mengambil input dari beberapa himpunan bagian terputus dari empat. Akhirnya, yang terakhir mengambil input dari semua peta fitur S2.
Sekarang, berapa banyak filter yang ada di lapisan C3? Sayangnya, mereka tidak menjelaskan ini. Dua kemungkinan paling sederhana adalah:
- Ada satu filter per peta fitur S2 per peta fitur C3, yaitu tidak ada pembagian filter antara peta fitur S2 yang terkait dengan peta fitur C3 yang sama.
- Ada satu filter per peta fitur C3, yang dibagi di seluruh (3 atau lebih) peta fitur lapisan S2 yang digabungkan.
Dalam kedua kasus, untuk 'menggabungkan' akan berarti bahwa hasil konvolusi per kelompok peta fitur S2, perlu dikombinasikan untuk menghasilkan peta fitur C3. Penulis tidak menentukan bagaimana hal ini dilakukan, tetapi penambahan adalah pilihan umum (lihat misalnya animasi gif di bagian tengah halaman ini) .
Penulis memberikan beberapa informasi tambahan, yang dapat membantu kami menguraikan arsitektur. Mereka mengatakan bahwa 'lapisan C3 memiliki 1.516 parameter yang dapat dilatih' (halaman 8). Kami dapat menggunakan informasi ini untuk memutuskan antara kasus (1) dan (2) di atas.
Dalam kasus (1) kami memiliki filter. Ukuran filter adalah . Jumlah parameter yang bisa dilatih dalam kasus ini adalah parameter yang bisa dilatih. Jika kita mengasumsikan satu unit bias per peta fitur C3, kita mendapatkan parameter, yang merupakan apa yang penulis katakan. Untuk kelengkapan, dalam kasus (2) kita akan memiliki parameter, yang tidak demikian.(6×3)+(9×4)+(1×6)=60(14−10+1)×(14−10+1)=5×55×5×60=1,5001,500+16=1,516(5×5×16)+16=416
Oleh karena itu, jika kita melihat kembali pada Tabel I di atas, ada 10 filter C3 berbeda yang terkait dengan setiap peta fitur S2 (dengan demikian total 60 filter berbeda).
Penulis menjelaskan jenis pilihan ini:
Peta fitur yang berbeda [di lapisan C3] dipaksa untuk mengekstraksi fitur yang berbeda (semoga komplementer) karena mereka mendapatkan set input yang berbeda.
Saya harap ini menjelaskan situasi.