Dalam posting blog Membangun model klasifikasi gambar yang kuat menggunakan data yang sangat sedikit , fitur bottleneck disebutkan. Apa saja fitur bottleneck? Apakah mereka berubah dengan arsitektur yang digunakan? Apakah mereka merupakan hasil akhir dari lapisan konvolusional sebelum lapisan yang sepenuhnya terhubung? Mengapa mereka disebut demikian?
machine-learning
convolutional-neural-networks
terminology
definitions
Abhishek Bhatia
sumber
sumber
Jawaban:
Ini jelas tertulis di tautan yang Anda berikan "fitur bottleneck" dari model VGG16: peta aktivasi terakhir sebelum lapisan yang sepenuhnya terhubung .
Tentu. Penulis kemungkinan besar menggunakan model pra-terlatih (dilatih tentang data besar dan sekarang hanya digunakan sebagai ekstraktor fitur)
Iya.
Mengingat ukuran input ke VGG, peta fitur dimensi HxW menjadi dua kali lebih kecil setelah setiap operasi max-pool. HxW adalah yang terkecil pada lapisan convolutional terakhir.
sumber
Pertama, kita perlu bicara tentang belajar transfer. Bayangkan Anda melatih jaringan saraf melalui set data gambar untuk mendeteksi kucing, Anda dapat menggunakan bagian dari pelatihan yang telah Anda lakukan untuk mengatasi orang lain mendeteksi sesuatu. Itu dikenal sebagai transfer learning.
Untuk melakukan transfer belajar, Anda akan menghapus lapisan yang sepenuhnya terhubung dari model dan tancapkan lapisan Anda di sana. Output model "terpotong" akan menjadi fitur yang akan mengisi "model" Anda. Itulah fitur-fitur bottleneck.
VGG16 adalah model sebelum katalog ImageNet yang memiliki akurasi sangat baik. Di pos yang Anda bagikan, menggunakan model itu sebagai basis untuk mendeteksi kucing dan anjing dengan akurasi yang lebih tinggi.
Fitur bottleneck tergantung pada model. Dalam hal ini, kami menggunakan VGG16. Ada model pra-terlatih lainnya seperti VGG19, ResNet-50
Sepertinya Anda memotong model dan menambahkan layer Anda sendiri. Terutama, lapisan output untuk memutuskan apa yang ingin Anda deteksi, hasil akhir.
sumber