Halo teman-teman semua. Sekarang melanjutkan pembahasan
kita sebelumnya. Kalau di Seri-1 dibahas tentang AI dan Machine Learning,
sekarang akan dibahas salah satu algoritma dari Machine Learning yaitu Jaringan
Syaraf Tiruan (JST) atau bisa disebut dengan Neural Network. Catatan bagi
teman-teman sebelum baca ini, lebih baik sudah terlebih dahulu baca pembahasan tentang
AI dan ML yaaaa ????????..
Artificial Neural
Network Dengan berkembangnya teknologi AI, munculah
berbagai algoritma machine learning. Salah satunya yang cukup
menarik adalah neural network atau jaringan
syaraf tiruan (JST). Neural network diinspirasi dari cara
kerja otak manusia yang disederhanakan. Jaringan Syaraf Tiruan (JST) adalah
prosesor yang terdistribusi besar-besaran secara parallel yang
dibuat dari unit proses sederhana, yang mempunyai kemampuan untuk menyimpan
pengetahuan berupa pengalaman dan dapat digunakan untuk proses lain [1]. Gambar
dibawah adalah ilustrasi neuron dengan model matematisnya.
Perbandingan neuron dan model artificial neuron
Perceptron Pada tahun 1943, Warren McCulloch dan Walter Pitts memperkenalkan model artificial neuron yang disebut Threshold Logic Unit (TLU) atau Linear Threshold Unit. Mereka mencoba menirukan cara kerja neuron otak manusia yang sangat kompleks melalui fungsi matematika yang diilustrasikan dalam bentuk model diagram berikut ini. Model Artificial
Neuron
Neuron dapat menerima
beberapa input pada saat bersamaan (parallel). Setiap input akan diberi
bobot (weight), yang disimbolkan dengan w. Input dihubungkan
dengan hidden layer secara fully connected.
Masing-masing input yang sudah diberi bobot kemudian dijumlahkan (weighted
sum/ summation) [2]. Rumusnya sebagai berikut
Weighted sum dikerjakan pada
setiap hidden layer node. Hasil penjumlahan kemudian
ditransformasikan menggunakan sebuah fungsi nonlinear yang disebut Activation
Function. Nilai fungsi aktivasi (keluaran model jaringan) dapat dipakai
sebagai dasar untuk mengubah bobot [3]. Fungsi aktifasi mengikuti aturan
sebagai berikut : ·
Jumlah bobot sinyal input dibandingkan dengan ambang
batas untuk menentukan neuron output. ·
Jika jumlah lebih besar atau sama dengan ambang batas,
outputnya adalah 1. ·
Jika jumlah kurang dari ambang batas, outpunya adalah 0. Kaitan antara input, hidden layer dan output dapat dilihat dalam arsitektur neural network. Neural Network Architectures
Salah satu kelemahan model artificial neuron (yang diusulkan oleh Warren McCulloch dan Walter Pitts) adalah tidak ada aturan bagaimana melakukan training (disebut training rule). Pada akhir 1950-an, Frank Rosenblatt dan beberapa peneliti lain mengembangkan suatu model artificial neuron lain yang disebut Perceptrons. Secara umum perceptron mirip dengan model TLU, tetapi pada perceptron sudah ada training rule. Selain itu, ada tambahan Bias pada weighted sum. Activation function berfungsi untuk
menentukan apakah neuron tersebut harus aktif atau tidak berdasarkan
dari weighted sum dari input. Menurut Haykin
(2009), ada 2 jenis activation function, yaitu Linear dan Non-Linear
Activation Function.
Training Rule Secara umum, proses learning terdiri dari 2 tahap,
yaitu Training dan Evaluation. Pada tahap training setiap weight dan bias pada
setiap neuron akan diupdate terus menerus hingga output yang
dihasilkan sesuai dengan harapan. Pada tiap iterasi akan dilakukan proses evaluation yang
biasanya digunakan untuk menentukan kapan harus menghentikan proses training (Stopping Point)[2]. Proses training terdiri
dari 2 tahap : 1. Forward Pass. Biasa disebut juga forward propagation adalah
proses dimana kita membawa data pada input melewati tiap neuron pada hidden
layer kepada output layer melewati tiap neuron pada hidden
layer sampai kepada output layer yang nanti akan
dihitung errornya dengan menggunakan fungsi yang disebut Loss Function. Loss
Function digunakan untuk mengukur seberapa bagus performa dari neural
network kita dalam melakukan prediksi terhadap target. 2. Backward Pass. Biasa disebut juga dengan Backpropagation dimana
proses ini bermaksud untuk menyesuaikan kembali tiap weight dan bias berdasarkan
error yang didapat pada saat forward pass. Kedua proses ini akan
dilakukan berulang-ulang sampai didapatkan nilai weight dan bias yang
dapat memberikan nilai error sekecil mungkin padaa ouput
layer.
SLP dan MLP Model SLP (Single Layer
Perception) adalah model paling sederhana dimana hanya mampu
mempelajari separable patterns secara linear.[4] SLP cukup bermanfaat
untuk membedakan input menjadi 2 class. Hampir mirip dengan K-Means
namun jauh lebih sederhana karena hanya melibatkan dua buah class saja. Dapat
dikatakan untuk sebuah metode yang dapat digolongkan sebagai AI, memang SLP
terkesan kurang cerdas. MLP (Multi Layer Perception) merupakan
pengembangan dari SLP dimana numlah neuron yang semakin banyak membuat banyak
perhitungan yang harus dikerjakan pada setiap layer. Akibatnya weighted
sum dan function activation pun akan semakin
kompleks. Penambahan layer ini terjadi pada hidden layer. Hidden
layer pada MLP dapat mengandung beberapa hidden layer lainnya.
MLP ini juga yang menjadi cikal bakal metode deep learning. Sebagai ilustrasi,
perhatikan diagram MLP dibawah.
Multilayer Perception
Jadi itu adalah pembahasan tentang Jaringan Syaraf
Tiruan. Di Seri-3 selanjutnya akan dibahas tentang salah satu jenis dari
Multilayer Perception, yaitu Deep Learning. Akan dijelaskan juga beberapa
algoritma Deep Learning yang terkenal dan paling sering dan paling banyak
dipakai programmer saat ini.
Referensi : 1.
Haykin. S. 2009. Neural Networks and Learning
Machines. United State of America: Pearson. 2.
Primartha, Rifkie. (2018). Belajar Machine Learning
Teori dan Praktik. Bandung: Informatika. 3.
Siang, JJ. 2004. Aplikasi Jaringan Syaraf Tiruan dan
Pemrograman Menggunakan MATLAB. Yogyakarta: Andi. 4.
Gallant, S.I.(1990). Perceptron-based
learning algorithms. IEEE Transactions
on Neural Networks, vol. 1, no. 2, pp. 179–191.
Sumber: Haiqal Muhamad Alfarisi : Mar 21, 2020
---oooOOO^OOOooo--- |