Dapatkah jaringan syaraf yang dalam memperkirakan fungsi perkalian tanpa normalisasi?

27

Katakanlah kita ingin melakukan regresi untuk f = x * ymenggunakan jaringan saraf standar yang sederhana .

Saya ingat bahwa ada beberapa penelitian yang mengatakan bahwa NN dengan satu layer tersembunyi dapat menggunakan fungsi apa pun, tetapi saya telah mencoba dan tanpa normalisasi, NN tidak dapat memperkirakan bahkan perkalian sederhana ini. Hanya normalisasi data log yang membantu m = x*y => ln(m) = ln(x) + ln(y). Tapi itu terlihat seperti cheat. Bisakah NN melakukan ini tanpa normalisasi log? Unswer jelas (seperti untuk saya) - ya, jadi pertanyaannya adalah lebih apa yang harus ketik / konfigurasi / tata letak NN seperti itu?

Brans Ds
sumber

Jawaban:

13

Gradien fungsi multiplikasi yang besar memaksa jaring mungkin hampir segera menjadi suatu keadaan yang mengerikan di mana semua node tersembunyinya memiliki gradien nol (karena detail dan batasan implementasi jaringan saraf). Kita dapat menggunakan dua pendekatan:

  1. Membagi dengan konstanta. Kami hanya membagi semuanya sebelum pembelajaran dan memperbanyak setelahnya.
  2. Gunakan normalisasi log. Itu membuat multiplikasi menjadi tambahan:

    m=xyln(m)=ln(x)+ln(y)

Brans Ds
sumber
5

Pertanyaan serupa muncul di benak saya hari ini, dan saya terkejut tidak dapat menemukan jawaban cepat. Pertanyaan saya adalah bahwa mengingat NN hanya memiliki fungsi penjumlahan, bagaimana mereka bisa memodelkan fungsi multiplikasi.

Jawaban semacam ini, meskipun penjelasannya panjang. Ringkasan saya adalah bahwa model NN permukaan fungsi daripada fungsi itu sendiri. Yang jelas, dalam retrospeksi ...

Nona Palmer
sumber
5

NN dengan fungsi aktivasi relu dapat mendekati perkalian saat kisaran input terbatas. Ingat itu relu(x) = max(x, 0).

Sudah cukup jika NN mendekati fungsi kuadrat g(z) = z^2, karena x*y = ((x-y)^2 - x^2 - y^2)/(-2). Sisi kanan hanya memiliki kombinasi dan kotak linear.

NN dapat mendekati z^2dengan fungsi linear piecewise. Misalnya, pada kisaran [0, 2]kombinasi xdan relu(2(x-1))tidak terlalu buruk. Gambar di bawah ini memvisualisasikan ini. Tidak tahu apakah ini berguna di luar teori :-) masukkan deskripsi gambar di sini

Jussi Kujala
sumber
0

"satu lapisan tersembunyi" tidak membatasi jumlah neuron dan jenis fungsi aktivasi yang digunakan, ia masih memiliki ruang representasi yang besar. Salah satu metode sederhana untuk memvalidasi adanya masalah ini: Latih masalah regresi ini dengan jaringan neuron nyata, catat setiap bobot dan bias, gunakan parameter ini plot kurva prediksi, kontraskan dengan kurva fungsi target. Esai ini dapat membantu.

chongkai Lu
sumber
0

Saya tidak dapat berkomentar karena menjadi pengguna yang baru aktif di StackExchange. Tapi saya pikir ini adalah pertanyaan penting karena sangat sederhana untuk dipahami tetapi sulit untuk dijelaskan. Dengan hormat, saya pikir jawaban yang diterima tidak cukup. Jika Anda berpikir tentang operasi inti dari umpan-maju NN standar, dengan aktivasi bentuk s(W*x+b)untuk beberapa fungsi aktivasi nonlinier s, sebenarnya tidak jelas bagaimana cara "mendapatkan" perkalian dari ini bahkan dalam jaringan yang terdiri (multi-layer). Penskalaan (peluru pertama dalam jawaban yang diterima) tampaknya tidak menjawab pertanyaan sama sekali ... skala menurut apa? Input xdan ymungkin berbeda untuk setiap sampel. Dan mengambil log tidak masalah selama yang Anda tahuitulah yang perlu Anda lakukan, dan mengurus masalah tanda di preprocessing (karena jelas log tidak didefinisikan untuk input negatif). Tapi ini pada dasarnya tidak cocok dengan anggapan bahwa jaringan saraf hanya bisa "belajar" (rasanya seperti curang seperti kata OP). Saya tidak berpikir pertanyaan itu harus dianggap dijawab sampai benar-benar, oleh seseorang yang lebih pintar dari saya!

Dave B.
sumber