Mari kita lihat ilustrasi sebuah neural network di bawah ini:
Melalui ilustrasi di atas bisa dilihat bahwa secara umum sebuah neural network (NN) terbagi menjadi tiga bagian, yaitu input, neuron (hidden layer) dan output. Dalam konteks deep learning, neuron memiliki istilah lain yaitu perceptron.
Input dari sebuah NN adalah variabel independen yang kita miliki. Output adalah variabel dependen yang kita cari. Misal kita ingin memprediksi harga rumah, maka variabel independennya misalnya luas tanah, luas bangunan, usia bangunan, dan lain-lain. Variabel dependennya adalah harga rumah itu sendiri. Pada contoh ini jenis output (variabel dependen) nya adalah variabel kontinu (continuous variable).
Untuk kasus yang lain, misal kita ingin mendeteksi apakah seorang calon pelanggan masuk ke kriteria target pemasaran atau tidak, maka variabel dependennya adalah berjenis binary (hanya ada 2 pilihan, ya/tidak). Jika terdiri dari lebih dari 2 kategori, maka ia masuk ke jenis kategori (categorical dependent variable). Perlu diperhatikan, jika berjenis kategori, maka outputnya juga lebih dari satu sesuai jumlah kategorinya.
Untuk memudahkan pembelajaran, kali ini kita hanya membahas satu neuron (hidden layer) saja.
BERKENALAN DENGAN BOBOT (WEIGHTS)
Di atas kita sudah bahas tentang input dan output. Lalu bagaimana dengan neuron (hidden layer)? Neuron ini belajar dari pembobotan (weights) yang diterima dari semua input. Ilustrasinya adalah sebagai berikut:
Bobot (weights) sangat krusial bagi neuron, karena ini merupakan bagian agar neuron bisa belajar. Nilai w (simbol untuk weights) bisa sama dan bisa juga tidak untuk setiap input yang diterima dari neuron.
Semakin besar nilai w sebuah input, maka sinyal yang berasal dari input tertentu memiliki prioritas yang semakin besar untuk bisa berkontribusi kepada neuron di depannya. Selain itu, nilai w juga menentukan apakah sinyal dari input tertentu bisa melewati neuron di depannya atau tidak.
Lalu apa yang terjadi di dalam neuron? Bisa dilihat melalui ilustrasi sebagai berikut:
Ia mengakumulasi semua nilai input dan bobot di belakangnya (di sisi sebelah kiri neuron) dan mengalikannya dengan nilai aktivasi tertentu (sombol theta). Setelah itu baru ia meneruskan sinyal yang diterima, ke output layer di depannya. Perlu diperhatikan bahwa output layer y (lingkaran merah y) juga merupakan sebuah neuron (perceptron).
Lalu apa yang dimaksud dengan bias? Layaknya persamaan linear y = ax + b, maka bias adalah koefisien b. Ia akan memberikan fleksibilitas kepada sebuah neural networks untuk menentukan apakah sebuah perceptron akan meneruskan informasi ke layer selanjutnya atau tidak. Nilainya ditentukan di awal, dan sama seperti weights akan terus diperbaharui melalui mekanisme yang disebut dengan backpropagation.
Untuk memudahkan ilustrasi deep learning ataupun neural networks, bias biasanya tidak ditunjukkan/digambarkan. Namun perlu diperhatikan bahwa bias ini selalu ada.
Dalam contoh di atas kita hanya memiliki 1 neuron (hidden layer), sehingga hasil dari formula di atas langsung diteruskan ke output layer. Jika kita memiliki banyak neuron sebagai hidden layernya, maka hasil perhitungan dari sebuah neuron akan diteruskan ke neuron di depannya (di sebelah kanan), begitu seterusnya sampai dikirimkan ke output layer. Sampai di sini saya harap pembaca bisa memahami logikanya.
Untuk membahas lebih lanjut tentang activation function dan pembahasan untuk neuron lebih dari satu, silakan klik ke halaman berikutnya di bawah ini.
Halo pak, artikel di atas bapak menyebutkan ”Jika semua baris (ada 8 baris) sudah dihitung nilai y modelnya, dan setiap kembali mengupdate nilai w untuk masing-masing barisnya maka disebut dengan 1 epoch”, pertanyaan saya 8 Baris itu berasal dari mana yah Pak?, bukan nya ada 10 baris data yah, apa saya yang salah tangkap..terima kasih pak
Maaf Pak, saya lihat pernyataan tsb ada di halaman 5 di topik pembahasan “Deep Learning: Artificial Neural Networks ” yang di highlight biru..Terima kasih
Yang betul 10 baris, sepertinya salah ketik.
halo pak izin mengoreksi “Jika menggunakan batch gradient descent, maka kita bisa terjebak di solusi global (global optimum).” pada halaman 6, seharusnya solusi lokal ya pak. Barangkali membantu, terima kasih
Iya salah ketik, terima kasih koreksinya.
maaf kak, kalau data kita 4 baris, berapa nilai batchsizenya?
4 baris tidak perlu deep learning