Jaringan neural: Node dan lapisan tersembunyi

Untuk membangun jaringan neural yang mempelajari nonlinearitas, memulai dengan struktur model yang sudah dikenal berikut: model linear dari bentuk $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.

Kita dapat memvisualisasikan persamaan ini seperti yang ditunjukkan di bawah ini, di mana $x_1$, $x_2$, dan $x_3$ adalah tiga {i>node<i} input (berwarna biru), dan $y'$ adalah {i>node<i} output (berwarna hijau).

Latihan 1

Dalam model di atas, bobot dan nilai bias telah diacak diinisialisasi. Lakukan tugas berikut untuk memahami dan mengeksplorasi model linear. Anda dapat abaikan dropdown Fungsi Aktivasi untuk saat ini; kita akan membahasnya topik di modul ini nanti.

  1. Klik tombol Putar (▶️) di atas jaringan untuk menghitung nilai simpul output untuk nilai input $x_1 = 1.00$, $x_2 = 2.00$, dan $x_3 = 3,00$.

  2. Klik node kedua di lapisan input, dan tingkatkan nilai dari 2,00 menjadi 2,50. Perlu diperhatikan bahwa nilai node output berubah. Pilih output node (berwarna hijau) dan tinjau panel Penghitungan untuk melihat bagaimana outputnya nilai yang dihitung.

  3. Klik simpul {i>output<i} (berwarna hijau) untuk melihat bobot ($w_1$, $w_2$, $w_3$) dan bias ($b$). Kurangi nilai bobot untuk $w_3$ (sekali lagi, perhatikan bahwa nilai simpul output dan perhitungan di bawah ini telah berubah). Kemudian, tingkatkan nilai biasnya. Tinjau bagaimana perubahan ini memengaruhi output model.

Menambahkan lapisan ke jaringan

Perhatikan bahwa ketika Anda menyesuaikan nilai bobot dan bias jaringan dalam Latihan 1, hal ini tidak mengubah perhitungan matematika secara keseluruhan hubungan antara input dan output. Model kita masih merupakan model linear.

Tetapi bagaimana jika kita menambahkan lapisan lain ke jaringan, di antara lapisan dan lapisan output? Dalam terminologi jaringan neural, lapisan tambahan di antara lapisan input, dan lapisan output disebut lapisan tersembunyi, dan node di lapisan-lapisan ini disebut neuron.

Nilai setiap neuron di lapisan tersembunyi dihitung dengan cara yang sama output dari model linear: ambil jumlah produk dari setiap inputnya (neuron di lapisan jaringan sebelumnya) dan parameter bobot yang unik, ditambah biasnya. Demikian pula, neuron di lapisan berikutnya (di sini, lapisan output) dihitung menggunakan nilai neuron lapisan tersembunyi sebagai {i>input.<i}

Dengan lapisan tersembunyi baru ini, model kita dapat mengombinasikan ulang data input menggunakan satu set parameter yang sepenuhnya baru. Dapatkah ini membantu model kita mempelajari hubungan nonlinear?

Latihan 2

Kita telah menambahkan lapisan tersembunyi yang berisi empat neuron ke model.

Klik tombol Putar (▶️) di atas jaringan untuk menghitung nilai empat simpul lapisan tersembunyi dan simpul {i>output<i} untuk nilai input $x_1 = 1,00$, $x_2 = 2,00$, dan $x_3 = 3,00$.

Kemudian jelajahi model tersebut, dan gunakan untuk menjawab pertanyaan berikut.

Berapa banyak parameter (bobot dan bias) melakukan fungsi neural dimiliki oleh model jaringan?
4
Model asli di Latihan 1 memiliki empat parameter: w11, w21, w31, dan b. Karena model ini berisi lapisan tersembunyi, terdapat lebih banyak parameter.
12
Perhatikan bahwa jumlah total parameter mencakup kedua parameter yang digunakan untuk menghitung nilai simpul di lapisan tersembunyi dari nilai input, dan parameter yang digunakan untuk menghitung nilai output dari nilai {i>node<i} di {i>hidden layer<i}.
16
Perhatikan bahwa jumlah total parameter mencakup bobot dan parameter bias.
21
Ada 4 parameter yang digunakan untuk menghitung masing-masing dari 4 nilai {i>node<i} dalam lapisan tersembunyi—3 bobot (satu untuk setiap nilai input) dan bias yang berjumlah 16 parameter. Kemudian ada 5 parameter yang digunakan untuk menghitung nilai output: 4 bobot (satu untuk setiap node dalam {i>hidden layer<i}) dan bias. Secara total, jaringan neural ini memiliki 21 parameter.

Coba ubah parameter model, dan amati efeknya pada nilai node lapisan tersembunyi dan nilai output (Anda dapat meninjau Panel kalkulasi di bawah untuk melihat bagaimana nilai-nilai ini yang dihitung).

Dapatkah model ini mempelajari nonlinearitas?

Ya
Klik pada setiap {i>node<i} di {i>hidden layer<i} dan {i>output<i}, dan tinjau perhitungan di bawah ini. Apa yang Anda perhatikan tentang semua kalkulasi tersebut?
Tidak

Jika Anda mengklik setiap {i>node<i} di lapisan tersembunyi dan meninjau kalkulasi di bawah ini, Anda akan melihat bahwa semuanya linier (terdiri dari operasi perkalian dan penjumlahan).

Jika Anda kemudian mengklik simpul output dan meninjau perhitungan di bawah, Anda akan melihat bahwa kalkulasi ini juga linear. Linier kalkulasi yang dilakukan pada output kalkulasi linear adalah linear, yang berarti model ini tidak bisa mempelajari nonlinearitas.