Adakah yang memastikan bahwa convolutional filter tidak berakhir sama?

Dec 11 2020

Saya melatih model sederhana untuk mengenali angka tulisan tangan dari dataset mnist. Ini dia:

model = Sequential([
    Conv2D(filters=1, kernel_size=(3,1), padding='valid', strides=1, input_shape=(28, 28, 1)),
    Flatten(),
    Dense(10, activation='softmax')])

Saya bereksperimen dengan memvariasikan jumlah filter untuk lapisan konvolusional, sambil menjaga parameter lain tetap konstan (kecepatan pembelajaran = 0,0001, jumlah episode = 2000, ukuran batch pelatihan = 512). Saya menggunakan filter 1, 2, 4, 8, dan 16, dan akurasi model untuk masing-masing filter adalah 92-93%.

Dari pemahaman saya, selama pelatihan, filter dapat belajar mengenali berbagai jenis tepi pada gambar (misalnya, vertikal, horizontal, bulat). Eksperimen ini membuat saya bertanya-tanya apakah salah satu filter akhirnya menjadi duplikat - memiliki bobot yang sama atau serupa. Adakah yang menghalangi mereka dari itu?

Jawaban

4 user3667125 Dec 11 2020 at 13:16

Tidak, tidak ada yang benar-benar mencegah perbedaan bobot. Dalam praktiknya meskipun akhirnya hampir selalu berbeda karena membuat model lebih ekspresif (yaitu lebih kuat), jadi penurunan gradien belajar untuk melakukannya. Jika model memiliki$n$ fitur, tetapi 2 di antaranya sama, maka model secara efektif memiliki $n-1$ fitur, yang merupakan model yang kurang ekspresif dibandingkan dengan $n$ fitur, dan karena itu biasanya memiliki fungsi kerugian yang lebih besar.

Tetapi meskipun bobotnya berbeda, beberapa di antaranya bisa sangat mirip. Jika Anda memvisualisasikan lapisan pertama convolution filter, dan Anda memiliki banyak filter (misalnya 100), Anda akan melihat beberapa di antaranya sedang belajar mendeteksi tepi yang kira-kira sama (orientasi dan penempatan yang sama). Fitur-fitur ini sangat mirip, mereka secara efektif berlebihan dalam model dan tidak menambah kekuatan prediktifnya.

Sebenarnya ada seluruh bidang penelitian tentang mengidentifikasi fitur yang berlebihan dan memangkasnya. Le Cun menunjukkan dalam Optimal Brain Damage bahwa pemangkasan fitur yang berlebihan tidak hanya membuat model lebih kecil dan lebih cepat untuk inferensi, tetapi juga dapat meningkatkan akurasi model.

Berikut adalah entri blog untuk ikhtisar tingkat tinggi tentang salah satu metode pemangkasan untuk info lebih lanjut.