BAB 5. JARINGAN SYARAF TIRUAN
JARINGAN SYARAF TIRUAN
Jaringan syaraf manusia merupakan suatu sistem kompleks yang memiliki banyak kemampuan, salah satunya adalah kemampuan untuk belajar. Dengan kemampuan pembelajaran ini, manusia dapat beradaptasi di lingkungan yang baru, mengambil keputusan berdasarkan informasi yang sudah dimiliki, mampu menyelesaikan permasalahan pararelism (yaitu permasalahan yang membutuhkan pemrosesan informasi yang berbeda-beda akan tetapi saling berhubungan), melakukan peramalan atau estimasi berdasarkan datayang ada, dan lain-lain.
Jaringan Syaraf Tiruan JST) memodelkan jaringan syaraf manusia, yaitu membuat versi sederhana dari jaringan syaraf manusia, dengan harapan mesin ataupun komputer dapat meniru kemampuan yang dimiliki oleh manusia, terutama kemampuan untuk belajar. Dengan kemampuan untuk belajar ini, maka JST dapat digunakan untuk memecahkan permasalahan-permasalahan, seperti klasifikasi, pengenalan pola, optimasi, time series prediction, penambangan data, dll.
1. Neuron
Di dalam Jaringan Syaraf Manusia, informasi dari luar dikirim melalui dendrite menuju neuron, dan informasi tersebut diolah di dalam neuron Informasi ini kemudian diteruskan ke neuron yang lain, untuk proses berikutnya, melalui synapse. Proses pengolahan informasi di dalam Jaringan Syaraf Manusia ini kemudian dimodelkan menjadi Jaringan Syaraf Tiruan (JST). Pemodelan yang dilakukan ini adalah dengan menyederhanakan proses yang begitu kompleks di dalam Jaringan Syaraf Manusia. Sebelum pembahasan mengenai arsitektuur dan algoritma pembelajaran yang digunakan oleh JST, berikut akan dijelaskan terlebih dahulu mengenai neuron.
Neuron merupakan unit terkecil dalam Jaringan Syaraf yang berfungsi sebagai pemrosesan informasi. Informasi yang masuk diolah terlebih dahulu di dalam neuron, setelah itu didistribusikan ke neuron yang lain.
2. Perceptron
Perceptron merupakan bentuk JST yang sederhana, yang hanya memiliki satu lapisan saja (single layer), yaitu output layer. Beberapa referensi menyebutkan bahwa input dapat dimasukkan dalam layer tersendiri, yaitu input layer. Akan tetapi beberapa referensi lain menyebutkan jika input bukanlah layer tersendiri karena tidak terdapat pemrosesan informasi dengan Fungsi Aktivasi. Pada lapisan output layer ini memiliki satu atau lebih neuron yang berfungsi untuk memproses informasi yang dikirimkan oleh sinyal input.
Pembelajaran Perceptron
Seperti yang telah dijelaskan sebelumnya, fitur penting dalam jaringan Syaraf manusia adalah kemampuannya untuk belajar dan beradaptasi terhadap lingkungan baru, sehingga manusia dapat bertindak ataupun mengambil kesimpulan berdasarkan hasil pembelajaran dan pengetahuan yang telah dimiliki. Begitu juga JST yang merupakansimplifikasi dari jaringan syaraf manusia.
JST memiliki kemampuan untuk belajar seperti halnya pada jaringan syaraf manusia. Prinsip pembelajaran sederhana adalah mem perbolehkan neuron untuk belajar dari kesalahan, yaitu, jika dalam proses pembelajaran, neuron mengeluarkan ou tput yang salah, maka diusahakan agar kesalahan diperkecil ketika akan dilakukan pembelajaran berikutnya. Jika pada proses pembelajaran menghasilkan output yang benar maka tidak ada yüng dilakukan.
Melalui pembelajaran inilah, JST dapat menentukan bobot dan bias yang tepat untuk data yang telah disediakan, berdasarkan kriteria yang sudah ditentukan, misalkan jumlah epoch tertentu (satu proses pembelajaran untuk seluruh set data pelatihan disebut dengan satu epoch, satu epoch terdiri dari beberapa iterasi, sebanyak jumlah data pelatihan), ataukah error terkecil yang ingin dicapai.
3. Pembelajaran
Seperti yang sudah dijelaslan sebelumnya, bahwa tujuan dari proses pembelajaran adalah mencari nilai bobot (dan bias) dari Jaringan Syaraf Tiruan IST) berdasarkan kriteria tertentu (seperti jumlah iterasi Tiruan pembelajaran, nilai error) dari data yang sudah diberikan. Data ini biasa dikenal dengan data pembelajaran/pelatihan (training data). Algoritmma pembelajaran dibangun berdasarkan aturan tertentu, yang sering sering digunakan untuk JST ini adalah Gradient Descent Learning Rule. Untuk membangun algoritma pembelajaran berdasarkan aturan ini, diperlukan perhitungan fungsi error antara target yang diinginkan dengan output yang dihasilkan oleh JST. Fungsi ini diperlukan agar hasil dari proses pembelajaran didapatkan nilai bobot (dan bias) dengan error yang minimal. Perhitungan error yang biasa digunakan adalah Sum of Squarred Errors.
Algoritma Pembelajaran untuk Multilayer Perceptron dibagi menjadi dua model pembelajaran, yaitu:
· Pembelajaran terawasi (supervised learning), merupakan pembelajaran di mana terdapat set data pelatihan, yaitu data input sekaligus data target dari masing-masing input tersebut. Data target ini berfungsi untuk mengawasi proses pembelajaran, dengan cara nilai bobot JST pada diperbaharui pada proses pembelajaran, dengan tujuan meminimalkan nilai selisih (error) antara data target dengan output dari JST.
· Pembelajaran tidak terawasi (unsupervised learning), merupakan pembelajaran di mana data pelatihan yang diberikan hanya berupa data input saja (tidak dilengkapi dengan data target yang berfungsi sebagai pengawas). Model pembelajaran ini biasanya digunakan untuk mencari pola dari data input (atau fitur) yang disediakan berdasarkan kesamaan fitur atau data input tersebut.
Kedua algoritma pembelajaran tersebut akan dijelaskan sebagai berikut :
Pembelajaran Terawasi
Fembelajaran terawasi adalah pembelajaran di mana terdapat supervisor yang bertugas untuk meminimalkan error ketika update bobot pada proses pembelajaran, dengan cara menyediakan set data training yang berupa data input (tau fitur) sekaligus target dari masing-masing data input tersebut. Data target inilah yang disebut dengan supervisor. Sebelum pembahasan lebih detail mengenai algoritma Pembelajaran terawasi ini, berikut akan dijelaskan terlebih dahulu mengenai arsitektur Jaringan Syaraf Tiruan ((ST).
1. Arsitektur Jaringan Syaraf Tiruan
Perceptron tunggal dengan Pembelajaran terawasi seperti yang terdapat pada bab sebelumnya, hanya dapat memisahkan kelas yang linearly separable, akan tetapi jika kelas tidak bisa dipisahkan secara linear atau untuk data input yang lebih kompleks, maka diperlukan Multilayer Perceptron atau yang dikenal dengan nama Feedforward Neural Networks (FFNN).
Pada FFNN ini terdapat lebih dari satu lapisan (layer ), yaitu lapisan tersembunyi (hidden layer) dan lapisan ou tput. Jumlah hidden layer ini bisa lebih dari satu. Arsitektur untuk FFNN dengan satu (hidden layer) tersebut terdapat sejumlah d neuron pada input layer yang merepresentasikan tiap data input terdapat d fitur, satu (hidden layer) dengan J neuron, serta terdapat k neuron pada output layer.
Setiap sinyal input pola ke-p (x,) dari data pelatihan yang diterima pada saat proses pembelajaran, diteruskan ke seluruh neuron pada JST dengan cara maju (forward ), mulai dari input ke neuron-neuron pada hidden layer, kemudian hasil dari hidden layer diteruskan lagi menuju ke output layer.
Terdapat dua cara meng-update bobot pada proses pembelajaran ini yaitu:
· Stochastic/online learning, pada pembelajaran ini, bobot diupdate pada setiap iterasi pembelajaran pada setiap data pelatihan (bobot diupdate pada tiap iterasi pada tiap epoch)
· Batch/offline learning, perubahan bobot pada setiap iterasi diakumulasi, dan diupdate ketika seluruh data pelatihan sudah mengalami proses pembelajaran (bobot diupdate tiap epoch).
2. Algoritma Pembelajaran
Algoritma Pembelajaran yang dikenal dan berdasarkan pada aturan Gradient Descent Algorithma adalah algoritma pembelajaran Backpropagation. Pada algoritma Backpropagation ini terdapat dua buah tahap, yaitu:
· Feedforward Pass, yaitu, sinyal input diproses oleh setiap neurtn pada hidden layer, kemudian diteruskan ke setiap neuron pada output layer, sehingga menghasilkan nilai output JST.
· Backward propagation, pada tahapan ini, nilai error (selisih antara output JST dengan target data pelatihan) di propagasikan dari output layer sampai ke input, yang mengakibatkan bobot antara hidden dan output layer, serta antara input dan hidden laver diupdate.
Pembelajaran Tidak Terawasi
Jenis pembelajaran yang kedua dari JST adalah Pembelajaran tidak terawasi atau yang dikenal dengan unsupervised learning. Berbeda dengan Pembelajaran terawasi yang membutuhkan data target pada training data set yang digunakan pada proses pelatihan untuk update bobot, maka pada Pembelajaran tidak terawasi ini, hanya dibutuhkan data input pada training data set.
K-SOM (Kohonen-Self Organizing Map) merupakan JST Pembelajaran tidak terawasi yang dikembangkan oleh Prof. Teuvo Kohonen. K-SOM memetakan data input yang memiliki dimensi besar menjadi dua memetakan dimensi saja atau dapat divisualisasikan dengan sebuah peta yang berbentuk rectangular atau hexagonal grid dua dimensi. Pemetaan data input ke menjadi lokasi di dalam peta output, melalui sebuah pembelajaran yang kompetitif (competitive learning), yaitu suatu pembelajaran di mana bobot yang menuju neuron tertentu hanya akan diupdate ketika neuron tersebut memiliki jarak terdekat dengan sinyal data input atau biasa juga disebut dengan winning neuron.
Jika dua buah vektor data input berdekatan atau memiliki ciri yang hampir sama, maka setelah proses pembelajaran yang kompetitif ini, lokasi dua buah input tersebut pada peta dari K-SOM juga berdekatan. Pada sub bab berikut akan dijelaskan mengenai arsitektur JST ini beserta algoritma pembelajaran yang digunakan oleh K-SOM.
1. Arsitektur Jaringan Syaraf Tiruan
Arsitektur K-SOM sedikit berbeda dengan arsitektur JST yang terdapat padapembelajaran terawasi. Perbedaan ini terdapat pada output K-OM yang berupa peta grid 2D, dan di dalam gridgrid ini terdapat euron-neuron output. Neuron-neuron ini merepresentasikan kelompok output, oleh karena itu jumlah neuron maksimal adalah sebanyak jumlah data. Setiap neuron pada peta ini diasosiasikan dengan code vector atau bobot, yang merupakan representasi centroid dari centroid dari kelompok tersebut. Sedangkan pada input layer, tidak ada perbedaan dengan arsitektur pada pembelajaran terawasi.
2. Algoritma Pembelajaran
Tujuan dari pembelajaran K-SOM ini adalah pengelompokkan data input berdasarkan kesamaan fitur data input tersebut. Untuk input mencapai tujuan tersebut, pembelajaran K-SOM berdasarkan pada pembelajaran competitive, yaitu tidak semua bobot atau code vector diupdate selama proses pembelajaran. Hanya code vector tertentu saja atau yang 'menang' saja yang mengalami perubahan nilai. Code Vector merupakan bobot atau centroid dari neuron yang terdapat pada map, wkj= (wkj1, wkj2, ., WKjI), di mana k merupakan baris ke-k dan j- merupakan kolom ke-j dari map. Sebuah code vector dikatakan 'menang', jika pada saat pembelajaran, code vector tersebut memiliki jarak paling minimal terhadap sinyal input, yang menunjukkan bahwa sinyal input tersebut termasuk dalam kelompok yang diwakili oleh code vector.
Ringkasan
· Salah satu keistimewaan yang dimiliki oleh jaringan syaraf manusia adalah kemampuan untuk belajar sehingga mampu beradaptasi dengan lingkungan yang baru, dapat mengambil keputusan berdasarkan informasi yang ada.
· Jaringan Svaraf Tiruan adalah abstraksi dari jaringan syaraf manusia, sehingga memiliki kemampuan untuk belajar dari informasi yang ada, di mana seperti halnya jaringan syaraf manusia, jaringan syaraf tiruan memiliki neuron sebagai pengolah informasi dan antara neuron dihubungkan melalui suatu synapse yang memiliki bobot.
· Net input digunakan untuk mengolah semua sinyal yang masuk ke dalam suatu neuron, dan dihitung dengan cara menjumlahkan hasil perkalian masing-masing sinyal input dengan bobotnya.
· Output yang dihasilkan oleh neuron dihitung melalui fungsi aktivasi yang terdapat pada neuron. Terdapat berbagai macam furngsi aktivasi, seperti stepwise, sigmoid, Gaussian, dan lain-lain.
· Perceptrom atau single layer perceptron merupakan arsitektur jaringan syaraf yang pertama, yang mampu menyelesaikan permasalahan-permasalahan yang linearly separable, akan tetapi gagal menyelesaikan permasalahan yang unlinearly separable (tidak dapat dipisahkan secara
linear), seperti data logika XOR.
· Multilayer Perceptron digunakan untuk menyelesaikan permasalahan yang lebih kompleks, yang tidak dapat dipisahkan secara linear. Arsitektur ini setidaknya memiliki tiga buah lapisan, yaitu lapisan input, lapisan tersembunyi (hidden layer), dan lapisan output.
· Jaringan Syaraf Tiruan memiliki dua jenis pembelajaran, yaitu pembelajaran terawasi (supervised learning), dan pembelajaran tidak terawasi (unsupervised learning). Pada supervised learning, data yang digunakan untuk pembelajaran harus memiliki data target atau label. Label atau target inilah yang digunakan sebagai supervisor. Sedangkan pada pembelajaran tidak terawasi, data yang digunakan adalah data fitur saja (tanpa adanya data target/label).
· Tujuan dari pembelajaran pada Jaringan Syaraf Tiruan adalah menca nilai bobot penghubung antara neuron pada suatu layer ke neuron pada layer yang lain.
· Terdapat dua cara untuk update bobot pada proses pembelajaran yaitu stochastic/online learning dan batch learning. Pada stochastuc learning, bobot diupdate pada setiap iterasi dalam tiap epoch. Sedangkan batch learning, bobot diupdate pada tiap epoch.
· Backpropagation adalah algoritmna penmbelajaran untuk arsitektur multilayer perceptron yang didasarkan pada aturan gradient descent learning. Pada algoritma ini terdapat dua proses utama, yaitu proses feedforward pass (yang bertujuan untuk menghitung output dari jaringan syaraf tiruan), dan backward propagation (yang bertujuan untuk update bobot berdasarkan selisih error antara output jaringan syaraf tiruan dan target dari data pelatihan).
Comments
Post a Comment