Dalam latihan interaktif di bawah ini, Anda akan menjelajahi lebih lanjut cara kerja internal jaringan saraf. Pertama, Anda akan melihat bagaimana perubahan parameter dan hiperparameter memengaruhi prediksi jaringan. Kemudian, Anda akan menggunakan apa yang telah Anda pelajari untuk melatih jaringan saraf agar sesuai dengan data nonlinier.
Latihan 1
Widget berikut ini mengatur jaringan saraf dengan konfigurasi sebagai berikut:
- Lapisan input dengan 3 neuron yang berisi nilai
0.00 , 0.00 , dan 0.00 - Lapisan tersembunyi dengan 4 neuron
- Lapisan keluaran dengan 1 neuron
- Fungsi aktivasi ReLU diterapkan pada semua node lapisan tersembunyi dan node keluaran.
Tinjau pengaturan awal jaringan (catatan: jangan klik tombol ▶️ atau >| dulu), lalu selesaikan tugas-tugas di bawah widget.
Tugas 1
Nilai untuk ketiga fitur input ke model jaringan saraf semuanya adalah 0.00 . Klik setiap node dalam jaringan untuk melihat semua nilai yang telah diinisialisasi. Sebelum menekan tombol Putar ( ▶️ ), jawab pertanyaan ini:
Menurut Anda, nilai keluaran apa yang akan dihasilkan: positif, negatif, atau 0?
Nilai keluaran positif
Anda memilih nilai keluaran positif . Ikuti petunjuk di bawah ini untuk melakukan inferensi pada data masukan dan lihat apakah Anda benar.
Nilai keluaran negatif
Anda memilih nilai keluaran negatif . Ikuti petunjuk di bawah ini untuk melakukan inferensi pada data masukan dan lihat apakah Anda benar.
Nilai keluaran 0
Anda memilih nilai keluaran 0. Ikuti petunjuk di bawah ini untuk melakukan inferensi pada data masukan dan lihat apakah Anda benar.
Sekarang klik tombol Putar (▶️) di atas jaringan, dan perhatikan semua nilai lapisan tersembunyi dan node keluaran terisi. Apakah jawaban Anda di atas benar?
Klik di sini untuk penjelasan
Nilai keluaran pasti yang Anda dapatkan akan bervariasi tergantung pada bagaimana parameter bobot dan bias diinisialisasi secara acak. Namun, karena setiap neuron di lapisan input memiliki nilai 0, bobot yang digunakan untuk menghitung nilai node lapisan tersembunyi semuanya akan dinolkan. Misalnya, perhitungan node lapisan tersembunyi pertama akan menjadi:
y = ReLU(w 11 * 0,00 + w 21 * 0,00 + w 31 * 0,00 + b)
y = ReLU(b)
Jadi, nilai setiap node lapisan tersembunyi akan sama dengan nilai ReLU dari bias (b), yang akan bernilai 0 jika b negatif dan b itu sendiri jika b bernilai 0 atau positif.
Nilai node output kemudian akan dihitung sebagai berikut:
y = ReLU(w 11 * x 11 + w 21 * x 21 + w 31 * x 31 + w 41 * x 41 + b)
Tugas 2
Sebelum memodifikasi jaringan saraf, jawablah pertanyaan berikut:
Jika Anda menambahkan lapisan tersembunyi lain ke jaringan saraf setelah lapisan tersembunyi pertama, dan memberikan lapisan baru ini 3 node, dengan tetap mempertahankan semua parameter input dan bobot/bias yang sama, perhitungan node mana yang akan terpengaruh?
Semua node dalam jaringan, kecuali node input.
Anda telah memilih semua node dalam jaringan, kecuali node input . Ikuti petunjuk di bawah ini untuk memperbarui jaringan saraf dan periksa apakah pilihan Anda benar.
Hanya node-node di lapisan tersembunyi pertama
Anda hanya memilih node di lapisan tersembunyi pertama . Ikuti petunjuk di bawah ini untuk memperbarui jaringan saraf dan lihat apakah Anda benar.
Hanya node outputnya saja
Anda hanya memilih node output . Ikuti petunjuk di bawah ini untuk memperbarui jaringan saraf dan lihat apakah Anda benar.
Sekarang, modifikasi jaringan saraf untuk menambahkan lapisan tersembunyi baru dengan 3 node sebagai berikut:
- Klik tombol + di sebelah kiri teks 1 hidden layer untuk menambahkan lapisan tersembunyi baru sebelum lapisan keluaran.
- Klik tombol + di atas lapisan tersembunyi yang baru sebanyak dua kali untuk menambahkan 2 node lagi ke lapisan tersebut.
Apakah jawaban Anda di atas benar?
Klik di sini untuk penjelasan
Hanya node output yang berubah. Karena inferensi untuk jaringan saraf ini bersifat "feed-forward" (perhitungan berlangsung dari awal hingga akhir), penambahan lapisan baru ke jaringan hanya akan memengaruhi node setelah lapisan baru tersebut, bukan node yang mendahuluinya.
Tugas 3
Klik node kedua (dari atas) di lapisan tersembunyi pertama dari grafik jaringan. Sebelum melakukan perubahan apa pun pada konfigurasi jaringan, jawab pertanyaan berikut:
Jika Anda mengubah nilai bobot w 12 (yang ditampilkan di bawah node input pertama, x 1 ), perhitungan node lain mana yang mungkin terpengaruh untuk beberapa nilai input?
Tidak ada
Anda memilih tidak ada . Ikuti petunjuk di bawah ini untuk memperbarui jaringan saraf dan lihat apakah Anda benar.
Node kedua pada lapisan tersembunyi pertama, semua node pada lapisan tersembunyi kedua, dan node output.
Anda memilih node kedua di lapisan tersembunyi pertama, semua node di lapisan tersembunyi kedua, dan node output . Ikuti petunjuk di bawah ini untuk memperbarui jaringan saraf dan periksa apakah Anda benar.
Semua node di lapisan tersembunyi pertama, lapisan tersembunyi kedua, dan lapisan keluaran.
Anda telah memilih semua node di lapisan tersembunyi pertama, lapisan tersembunyi kedua, dan lapisan keluaran . Ikuti petunjuk di bawah ini untuk memperbarui jaringan saraf dan periksa apakah pilihan Anda benar.
Sekarang, klik pada kolom teks untuk bobot w 12 (ditampilkan di bawah node input pertama, x 1 ), ubah nilainya menjadi 5.00 , dan tekan Enter. Amati pembaruan pada grafik.
Apakah jawaban Anda benar? Berhati-hatilah saat memverifikasi jawaban Anda: jika nilai node tidak berubah, apakah itu berarti perhitungan yang mendasarinya juga tidak berubah?
Klik di sini untuk penjelasan
Satu-satunya node yang terpengaruh di lapisan tersembunyi pertama adalah node kedua (yang Anda klik). Perhitungan nilai untuk node lain di lapisan tersembunyi pertama tidak mengandung w 12 sebagai parameter, sehingga tidak terpengaruh. Semua node di lapisan tersembunyi kedua terpengaruh, karena perhitungannya bergantung pada nilai node kedua di lapisan tersembunyi pertama. Demikian pula, nilai node output terpengaruh karena perhitungannya bergantung pada nilai node di lapisan tersembunyi kedua.
Apakah Anda berpikir jawabannya adalah "tidak ada" karena tidak ada nilai node dalam jaringan yang berubah ketika Anda mengubah nilai bobot? Perhatikan bahwa perhitungan yang mendasari suatu node dapat berubah tanpa mengubah nilai node tersebut (misalnya, ReLU(0) dan ReLU(–5) keduanya menghasilkan output 0). Jangan membuat asumsi tentang bagaimana jaringan tersebut terpengaruh hanya dengan melihat nilai node; pastikan untuk meninjau perhitungannya juga.
Latihan 2
Dalam latihan persilangan fitur di modul data kategorikal , Anda secara manual membuat persilangan fitur untuk menyesuaikan data nonlinier. Sekarang, Anda akan melihat apakah Anda dapat membangun jaringan saraf yang dapat secara otomatis mempelajari cara menyesuaikan data nonlinier selama pelatihan.
Tugas Anda: konfigurasikan jaringan saraf yang dapat memisahkan titik-titik oranye dari titik-titik biru pada diagram di bawah ini, dengan mencapai nilai loss kurang dari 0,2 pada data pelatihan dan data uji.
Instruksi:
Pada widget interaktif di bawah ini:
- Ubah parameter jaringan saraf dengan bereksperimen dengan beberapa pengaturan konfigurasi berikut:
- Tambahkan atau hapus lapisan tersembunyi dengan mengklik tombol + dan - di sebelah kiri judul LAPISAN TERSEMBUNYI pada diagram jaringan.
- Tambahkan atau hapus neuron dari lapisan tersembunyi dengan mengklik tombol + dan - di atas kolom lapisan tersembunyi.
- Ubah laju pembelajaran dengan memilih nilai baru dari menu tarik-turun Laju pembelajaran di atas diagram.
- Ubah fungsi aktivasi dengan memilih nilai baru dari menu tarik-turun Aktivasi di atas diagram.
- Klik tombol Putar (▶️) di atas diagram untuk melatih model jaringan saraf menggunakan parameter yang telah ditentukan.
- Amati visualisasi model yang sesuai dengan data saat pelatihan berlangsung, serta nilai Test loss dan Training loss di bagian Output .
- Jika model tidak mencapai nilai loss di bawah 0,2 pada data uji dan data latih, klik reset, dan ulangi langkah 1–3 dengan serangkaian pengaturan konfigurasi yang berbeda. Ulangi proses ini hingga Anda mencapai hasil yang diinginkan.
Klik di sini untuk solusi kami
Kami mampu mencapai kerugian pengujian dan pelatihan di bawah 0,2 dengan cara:
- Menambahkan 1 lapisan tersembunyi yang berisi 3 neuron.
- Memilih laju pembelajaran sebesar 0,01.
- Memilih fungsi aktivasi ReLU.