Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Jaringan Neural Pertama
Dalam latihan ini, kita akan melatih jaringan neural kecil pertama kita.
Jaringan neural akan memberi kita cara untuk
mempelajari model nonlinear tanpa
penggunaan persilangan fitur eksplisit.
Tugas 1: Model seperti yang diberikan menggabungkan dua fitur input menjadi
neuron tunggal. Akankah model ini mempelajari nonlinearitas? Jalankan untuk mengonfirmasi
.
Tugas 2: Coba tingkatkan jumlah neuron di lapisan tersembunyi dari
1 ke 2, dan coba ubah dari aktivasi Linear ke aktivasi nonlinear
seperti ULT. Bisakah Anda membuat model yang dapat mempelajari nonlinearitas? Dapatkah itu membuat model
data secara efektif?
Tugas 3: Coba tingkatkan jumlah neuron di lapisan tersembunyi dari
2 sampai 3, menggunakan aktivasi
nonlinier seperti ULT. Bisakah itu membuat model data
secara efektif? Bagaimana variasi kualitas model dari run ke run?
Tugas 4: Terus bereksperimen dengan menambahkan atau menghapus lapisan tersembunyi
dan neuron per lapisan. Jangan ragu untuk
mengubah kecepatan pembelajaran,
regularisasi, dan pengaturan
pembelajaran lainnya. Berapa terkecil
jumlah neuron dan lapisan yang dapat Anda
gunakan untuk memberikan uji
sebesar 0,177 atau lebih rendah?
Apakah menambah ukuran model meningkatkan kecocokan, atau seberapa cepat model disatukan?
Apakah ini mengubah seberapa sering konvergensi menjadi model yang baik? Misalnya, coba
arsitektur berikut ini:
Lapisan tersembunyi pertama
dengan 3 neuron.
Lapisan tersembunyi kedua dengan 3 neuron.
Lapisan tersembunyi ketiga dengan 2 neuron.
(Jawaban muncul tepat di bawah latihan.)
Klik ikon plus untuk jawaban Tugas 1.
Aktivasi disetel ke Linear, sehingga model ini tidak dapat mempelajari
nonlinearitas apa pun. Kerugiannya sangat tinggi, dan kami katakan modelnya underfit
yang mengupload data.
Klik ikon plus untuk jawaban Tugas 2.
Fungsi aktivasi nonlinear dapat mempelajari model nonlinear. Namun,
satu lapisan tersembunyi dengan 2 neuron tidak
dapat mencerminkan semua nonlinearitas di
{i>dataset<i} ini, dan akan memiliki kerugian yang tinggi
bahkan tanpa {i>noise<i}: tetap saja
menggelapkan data. Latihan ini tidak menentukan, jadi beberapa latihan
tidak akan mempelajari model yang efektif, sementara proses lainnya
akan melakukan pekerjaan dengan baik.
Model terbaik mungkin tidak memiliki bentuk yang Anda harapkan!
Klik ikon plus untuk jawaban Tugas 3.
Sifat nondeterministik Playground dijelaskan melalui latihan ini. J
satu lapisan tersembunyi dengan 3 neuron sudah cukup
untuk memodelkan {i>dataset<i} (tidak ada
noise), tetapi tidak semua operasi akan menyatu dengan model yang baik.
3 neuron sudah cukup karena fungsi XOR dapat dinyatakan sebagai kombinasi 3 bidang setengah (aktivasi ULT). Anda dapat melihatnya dari
gambar neuron, yang menunjukkan
output dari masing-masing neuron. Dalam model yang baik
dengan 3 neuron dan aktivasi ULT, akan ada 1 gambar dengan
garis vertikal, mendeteksi X1 sebagai positif (atau negatif; tanda tersebut mungkin
dialihkan), 1 gambar dengan garis hampir horizontal, mendeteksi tanda
Gambar X2, dan 1 dengan garis diagonal, mendeteksi
interaksi.
Namun, tidak semua operasi akan mengarah ke model yang baik. Beberapa latihan tidak akan
lebih baik daripada model dengan 2 neuron, dan Anda bisa melihat neuron duplikat di
penggunaan.
Klik ikon plus untuk jawaban Tugas 4.
Satu lapisan tersembunyi dengan 3 neuron dapat membuat model data, tetapi tidak ada
redundansi, sehingga pada banyak latihan, neuron akan hilang secara efektif dan tidak mempelajari
model yang baik. Satu lapisan dengan lebih dari 3 neuron memiliki lebih banyak redundansi, dan
sehingga lebih cenderung dikonvergensi
ke model yang baik.
Seperti yang kita lihat, satu lapisan tersembunyi dengan hanya 2 neuron tidak dapat membuat model data
ya. Jika Anda mencobanya, Anda bisa melihat bahwa
semua item di lapisan {i>output<i}
hanya bisa berupa bentuk yang terdiri dari
garis dari dua {i>node<i} tersebut. Dalam hal ini,
jaringan yang lebih dalam dapat membuat model set data yang lebih baik daripada lapisan tersembunyi pertama saja:
neuron individu di lapisan kedua dapat
memodelkan bentuk yang lebih kompleks, seperti
kuadran kanan atas, dengan menggabungkan
neuron di lapisan pertama. Selagi menambahkan bahwa
lapisan tersembunyi kedua masih dapat membuat model set data
dengan lebih baik daripada lapisan
lapisan berulang, mungkin lebih masuk akal untuk
menambahkan lebih banyak {i>node<i} ke lapisan pertama untuk
biarkan lebih banyak garis menjadi bagian dari kit. Dari lapisan kedua,
bentuk tertentu.
Namun, model dengan 1 neuron di lapisan tersembunyi pertama tidak dapat mempelajari
tidak peduli seberapa dalam-nya. Ini karena output dari
hanya bervariasi sepanjang satu dimensi (biasanya garis diagonal), yang
untuk membuat model set data ini dengan baik. Lapisan selanjutnya tidak dapat
mengompensasi ini, tidak
peduli seberapa kompleks; informasi dalam data input tidak dapat dipulihkan
turun.
Bagaimana jika alih-alih mencoba memiliki jaringan yang kecil, kami memiliki banyak lapisan dengan
banyak neuron, untuk masalah
sederhana seperti ini? Nah, seperti yang telah
kita lihat, langkah pertama
akan memiliki kemampuan untuk mencoba
banyak lereng garis yang berbeda. Dan yang kedua
akan memiliki kemampuan untuk mengumpulkan
mereka menjadi banyak bentuk yang berbeda,
dengan banyak dan banyak bentuk di
bawah lapisan berikutnya.
Dengan memungkinkan model mempertimbangkan berbagai bentuk
neuron tersembunyi yang berbeda, Anda telah
membuat cukup ruang bagi model untuk memulai
melakukan overfitting terhadap noise di set pelatihan dengan mudah, sehingga
bentuk yang kompleks untuk menyesuaikan
dengan kelemahan data pelatihan daripada
kebenaran dasar umum. Dalam contoh ini, model yang
lebih besar bisa memperumit
batas untuk mencocokkan
titik data yang tepat. Dalam kasus yang ekstrem, model besar
dapat mempelajari pulau di sekitar
titik kebisingan individu, yang disebut
mengingat data. Dengan membiarkan model menjadi jauh lebih besar, Anda akan
melihat bahwa performa model sebenarnya lebih buruk dibandingkan model yang lebih sederhana dengan
jumlah neuron yang cukup
untuk menyelesaikan masalah.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2024-08-22 UTC."],[[["This exercise explores training a neural network to learn nonlinearities and model data effectively."],["Increasing the number of neurons and using nonlinear activation functions like ReLU improves model performance."],["A single hidden layer with 3 neurons using ReLU can sufficiently model the data, but model quality varies between runs."],["Deeper and wider networks risk overfitting, potentially memorizing noise instead of generalizing patterns."],["While adding layers can improve model performance, redundant layers and neurons might lead to worse results compared to a simpler, well-structured model."]]],[]]