Jaringan Neural: Latihan Playground

Jaringan Neural Pertama

Dalam latihan ini, kita akan melatih jaringan neural kecil pertama kita. Jaringan neural akan memberi kita cara untuk mempelajari model non-linear tanpa menggunakan persilangan fitur eksplisit.

Tugas 1: Model seperti yang diberikan menggabungkan dua fitur input kita menjadi satu neuron. Apakah model ini akan mempelajari nonlinearitas? Jalankan untuk mengonfirmasi tebakan Anda.

Tugas 2: Coba tingkatkan jumlah neuron di lapisan tersembunyi dari 1 ke 2, dan coba juga mengubah dari Aktivasi linear ke aktivasi nonlinear seperti ULT. Dapatkah Anda membuat model yang dapat mempelajari nonlinearitas? Dapatkah model dimodelkan secara efektif?

Tugas 3: Coba tingkatkan jumlah neuron di lapisan tersembunyi dari 2 ke 3, menggunakan aktivasi nonlinear seperti ULT. Dapatkah model dimodelkan secara efektif? Bagaimana kualitas model bervariasi saat dijalankan?

Tugas 4: Terus bereksperimen dengan menambahkan atau menghapus lapisan tersembunyi dan neuron per lapisan. Jangan ragu untuk mengubah kecepatan pembelajaran, normalisasi, dan setelan pembelajaran lainnya. Berapa jumlah neuron dan lapisan terkecil yang dapat Anda gunakan, sehingga menghasilkan kerugian pengujian 0,177 atau lebih rendah?

Apakah meningkatkan ukuran model akan meningkatkan kecocokan, atau seberapa cepat konverti? Apakah ini mengubah seberapa sering model tersebut bergabung menjadi model yang baik? Misalnya, coba arsitektur berikut:

  • Lapisan tersembunyi pertama dengan 3 neuron.
  • Lapisan kedua kedua dengan 3 neuron.
  • Lapisan tersembunyi ketiga dengan 2 neuron.

(Jawaban muncul tepat di bawah latihan.)



Inisialisasi Jaringan Neural

Latihan ini menggunakan data XOR lagi, tetapi melihat pengulangan pelatihan Jaringan Neural dan pentingnya inisialisasi.

Tugas 1: Jalankan model seperti yang diberikan empat atau lima kali. Sebelum setiap uji coba, tekan tombol Reset jaringan untuk mendapatkan inisialisasi acak baru. (Tombol Reset jaringan adalah panah reset lingkaran di sebelah kiri tombol Play.) Biarkan setiap uji coba berjalan setidaknya 500 langkah untuk memastikan konvergensi. Setiap model akan dikonvergensi ke setiap output? Apa yang ditunjukkan hal ini tentang peran inisialisasi dalam pengoptimalan non-konveks?

Tugas 2: Coba buat model yang sedikit lebih kompleks dengan menambahkan lapisan dan beberapa node tambahan. Ulangi uji coba dari Tugas 1. Apakah ini menambahkan stabilitas tambahan pada hasil?

(Jawaban muncul tepat di bawah latihan.)



Spiral Jaringan Neural

Set data ini adalah spiral yang memiliki derau. Tentu saja, model linear akan gagal di sini, tetapi bahkan persilangan fitur yang ditentukan secara manual mungkin sulit untuk dibuat.

Tugas 1: Latih model terbaik yang bisa Anda buat, hanya menggunakan X1 dan X2. Jangan ragu untuk menambahkan atau menghapus lapisan dan neuron, mengubah setelan pembelajaran seperti kecepatan pembelajaran, kecepatan reguler, dan ukuran tumpukan. Berapa kerugian pengujian terbaik yang bisa Anda dapatkan? Seberapa mulus permukaan output model?

Tugas 2: Meskipun dengan Neural Net, beberapa rekayasa fitur sering diperlukan untuk mencapai performa terbaik. Coba tambahkan fitur produk persilangan tambahan atau transformasi lainnya seperti sin(X1) dan sin(X2). Apakah Anda mendapatkan model yang lebih baik? Apakah permukaan output model lebih halus?

(Jawaban muncul tepat di bawah latihan.)