Autoencoder bertumpuk dan jaringan saraf multi-layer berbeda. Dalam praktiknya, Anda akan memiliki dua jaringan yang berbagi bobot dan mungkin berbagi buffer memori. Jadi dalam implementasi Anda, dua jaringan menjadi terjalin.
Biasanya, autoencoder dilatih dengan cara yang tidak diawasi, serakah, dan bijaksana. (Tanpa label, mulailah pelatihan hanya dengan lapisan pertama dari jaringan dan kemudian tambahkan lapisan baru saat Anda pergi.) Bobot dapat dipelajari dengan menggunakan berbagai teknik mulai dari keturunan gradien "batch" (tolong jangan lakukan itu), untuk mini-batch stochastic gradient descent (SGD), ke metode kuasi-Newton seperti L-BFGS.
Idenya adalah bahwa bobot yang dipelajari dengan cara yang tidak terawasi untuk meminimalkan kesalahan rekonstruksi untuk tugas pembelajaran representasi menawarkan titik awal yang baik untuk menginisialisasi jaringan untuk tugas diskriminatif yang diawasi seperti klasifikasi atau kesamaan. Yaitu, jaringan mempelajari sesuatu tentang distribusi yang mendasarinya dengan melihat data yang tidak berlabel, yang memungkinkannya untuk membedakan antara data yang diberi label. Namun, bobotnya masih harus "disesuaikan" untuk tugas baru ini. Jadi tambahkan lapisan regresi logistik di bagian atas jaringan dan kemudian lakukan pembelajaran terawasi dengan dataset berlabel. Langkah fine tuning akan melakukan gradient descent dan mengatur bobot untuk semua layer dalam jaringan secara bersamaan.
Keuntungan dari cara pelatihan jaring saraf ini adalah:
- Pelatihan tanpa pengawasan memungkinkan Anda menampilkan lebih banyak data pada jaringan karena jauh lebih mudah untuk mendapatkan kumpulan data besar tanpa pengawasan daripada mendapatkan yang berlabel.
- Anda dapat menggunakan jaringan pra-terlatih sebagai "titik awal" untuk melatih pengklasifikasi baru sehingga Anda tidak harus memulai dari awal setiap kali.
Untuk makalah ini, lihat Autoencoder denoising bertumpuk: Mempelajari representasi berguna dalam jaringan yang mendalam dengan kriteria denoising lokal .