Saya memahami lapisan convolutional dan pooling, tetapi saya tidak dapat melihat alasan untuk lapisan yang sepenuhnya terhubung di CNN. Mengapa tidak lapisan sebelumnya terhubung langsung ke lapisan keluaran?
19
Saya memahami lapisan convolutional dan pooling, tetapi saya tidak dapat melihat alasan untuk lapisan yang sepenuhnya terhubung di CNN. Mengapa tidak lapisan sebelumnya terhubung langsung ke lapisan keluaran?
Output dari lapisan konvolusional mewakili fitur tingkat tinggi dalam data. Sementara keluaran itu dapat diratakan dan dihubungkan ke lapisan keluaran, menambahkan lapisan yang sepenuhnya terhubung adalah cara (biasanya) yang murah untuk mempelajari kombinasi non-linear dari fitur-fitur ini.
Pada dasarnya lapisan konvolusional menyediakan ruang fitur yang bermakna, berdimensi rendah, dan agak invarian, dan lapisan yang sepenuhnya terhubung mempelajari fungsi (mungkin non-linear) di ruang tersebut.
CATATAN: Ini sepele untuk mengkonversi dari lapisan FC ke lapisan Conv. Mengubah lapisan FC teratas ini ke lapisan Conv dapat membantu seperti yang dijelaskan halaman ini .
Saya menemukan jawaban ini oleh Anil-Sharma di Quora bermanfaat.
Kami dapat membagi seluruh jaringan (untuk klasifikasi) menjadi dua bagian:
Ekstraksi fitur : Dalam algoritma klasifikasi konvensional, seperti SVM, kami biasa mengekstraksi fitur dari data untuk membuat klasifikasi berfungsi. Lapisan convolutional melayani tujuan yang sama dari ekstraksi fitur. CNN menangkap representasi data yang lebih baik dan karenanya kami tidak perlu melakukan rekayasa fitur.
Klasifikasi : Setelah ekstraksi fitur kita perlu mengklasifikasikan data ke dalam berbagai kelas, ini dapat dilakukan dengan menggunakan jaringan saraf terhubung penuh (FC). Di tempat lapisan yang terhubung sepenuhnya, kita juga dapat menggunakan classifier konvensional seperti SVM. Tapi kami pada akhirnya menambahkan lapisan FC untuk membuat model yang ujung ke ujung bisa dilatih.
sumber