2021

Wednesday, January 20, 2021

ARTIFICIAL NEURAL NETWORK (ANN)


 Apa itu Artificial Neural Network

Ilustrasi Artificial Neural Network

Jaringan Syaraf Tiruan (Artificial Neural Network) adalah sebuah model matematik yang berupa kumpulan unit yang terhubung secara parallel yang bentuknya menyerupai jaringan saraf pada otak manusia (neural). Algoritma ANN lahir dari gagasan seorang psikolog Warren McCulloch dan Walter Pitts pada 1943 yang menjelaskan cara kerja jaringan syaraf dengan perangkat jaringan elektronik. Di dalam dunia seismik eksplorasi, algoritma ANN sudah cukup populer diaplikasikan, diantaranya untuk identifikasi noise, estimasi wavelet, analisa kecepatan, analisis gelombang geser, autotracking reflector, prediksi hidrokarbon, karakterisasi reservoir, dll.
Jaringan syaraf tiruan sering digunakan juga dalam bidang kecerdasan buatan. Kecerdasan buatan bertujuan untuk membuat sebuah mesin dapat mengerjakan suatu pekerjaan layaknya seperti manusia. Menurut seorang ahli jaringan syaraf tiruan bernama Haykin S. Jaringan syaraf tiruan itu seperti sebuah prosesor yang dapat menyimpan pengetahuan dan pengalaman sehingga prosesor ini dapat bekerja menyerupai otak manusia yang dapat beradapatasi dengan masalah. Jadi, Jaringan syaraf tiruan itu adalah metode/algoritma yang dapat membuat komputer mempunyai otak pintar seperti manusia yang bisa beradaptasi terhadap masalah. 

Sejarah
1943    : Waffen McCulloh dan Walter Pitts merancang model matematis dari sel-sel otak.
1949    : Hebb menyatakan informasi dapat disimpan dalam koneksi-koneksi antar neuron.
1958    : Rosenblatt mengembangkan konsep dasar tentang perceptron untuk klasifikasi pola.
1982    : Kohonen mengembangkan metode jaringan syaraf buatan unsupervised learning.
1982    : Grossberg mengenalkan sejumlah arsitektur jaringan (ART,ART2,ART3).
1982    :   Hopfield mengembangkan jaringan syaraf reccurent untuk menyimpan informasi.

Inspirasi Jaringan Syaraf Tiruan (Neural Network)
Jaringan Syaraf Tiruan (Neural Network) terinspirasi dari penelitian kecerdasan buatan, terutama percobaan untuk menirukan fault-tolerence dan kemampuan untuk belajar dari sistem syaraf biologi dengan model struktur low-level dari otak. Otak terdiri dari sekitar (10.000.000.000) sel syaraf yang saling berhubungan. Sel syaraf mempunyai cabang struktur input (dendrites), sebuah inti sel dan percabangan struktur output (axon). Axon dari sebuah sel terhubung dengan dendrites yang lain melalui sebuah synapse. Ketika sebuah sel syaraf aktif, kemudian menimbulkan suatu signal electrochemical pada axon. Signal ini melewati synapses menuju ke sel syaraf yang lain. Sebuah sel syaraf lain akan mendapatkan signal jika memenuhi batasan tertentu yang sering disebut dengan nilai ambang atau (threshold).

Bagaimana Jaringan Syaraf Tiruan Bekerja ?

Ada tiga paradigma bagaimana jaringan syaraf tiruan dapat berfikir dan beradaptasi terhadap suatu masalah, tiga paradigma tersebut diantaranya :
  1. Supervised Learning
  2. Unsupervised Learning
  3. Reinforced Learning
1.      Supervised Learning (pembelajaran terawasi) adalah metode pembelajaran yang menyimpulkan pemetaan data dengan membandingkan ketidaksesuaian antara pemetaan data saat ini ( yang mengandung knowledge saat ini) dengan pemetaan data sebelumnya (yang mengandung knowledge sebelumnya).
2.      Unsupervised Learning (pembelajaran tidak terawasi) adalah metode pembelajaran yang mengelompokkan unit-unit yang hampir sama dalam area tertentu. Metode ini biasa digunakan untuk pengklafisikasian pola.
3.      Reinforced Learning adalah metode yang membuat system dapat belajar dari keputusan yang diambil sebelumnya dengan cara memberikan reward setiap kali system melakukan suatu hal yang benar. Dengan pemberian reward ini system akan mencari hal apa yang harus dilakukan agar mendapatkan lebih banyak lagi reward, sehingga system dapat terus berkembang. System (learner) dibiarkan belajar sendiri dengan lingkungan, ketika system bermain berdasarkan rule maka akan diberi reward, ketika tidak akan diberi punishment.
Sebelum menggunakan Jaringan Syaraf Tiruan kita harus mempertimbangkan tiga hal yaitu :
  1.  Model apa yang akan kita gunakan.
  2. Algoritma belajar apa yang akan kita gunakan.
  3. Bagaimana caranya agar JST tahan terhadap masalah.
Manfaat Jaringan Syaraf Tiruan
Dalam kehidupan sehari-hari jaringan syaraf tiruan digunakan dalam aplikasi yang berkaitan dengan hal-hal berikut :
  1. Identifikasi dan control : Kontrol kendaraan, Natural Resources Management.
  2. Pengambil keputusan dalam video game: Chess, Poker, Backgammon.
  3. Pengenal Pola : Radar, Pengenal wajah, Pengenal objek.
  4. Diagnosa Medis untuk mendeteksi penyakit kanker.
CONTOH PENERAPAN ARTIFICIAL NEURAL NETWORK

Algoritma ANN lahir dari gagasan seorang psikolog Warren McCulloch dan Walter Pitts pada 1943 yang menjelaskan cara kerja jaringan syaraf dengan perangkat jaringan elektronik.

Didalam dunia seismik eksplorasi, algoritma ANN sudah cukup populer diaplikasikan, diantaranya untuk identifikasi noise, estimasi wavelet, analisa kecepatan, analisis gelombang geser, autotracking reflector, prediksi hidrokarbon, karakterisasi reservoir, dll.

Konfigurasi sederhana algoritma ANN dapat dijelaskan pada gambar dibawah ini:



Courtesy Hampson Russell
Dari gambar di atas terlihat bahwa, prinsip dasar ANN adalah sejumlah parameter sebagai masukan (input layer) diproses sedemikian rupa didalam hidden layer (perkalian, penjumlahan, pembagian, dll.), lalu diproses lagi didalam output layer untuk menghasilkan sebuah output.



Courtesy Hampson Russell

Gambar diatas menunjukkan contoh penerapan ANN untuk data seismik, katakanlah kita memiliki beberapa input seperti impedance (x1), reflection strength (x2), instantaneous frequency (x3),… dll . yang akan digunakan untuk memprediksi porositas reservoir sebagai output. Maka secara sederhana porositas reservoir akan didapatkan dengan mengkalikan setiap sampel data input dengan suatu pembobotan (weight) lalu dijumlahkan, lalu hasil penjumlahan tersebut menjadi input untuk fungsi aktivasi untuk menghasilkan parameter porositas.

Fungsi aktivasi tersebut dapat berupa sigmoid function ataupun hyperbolic tangent function (perhatikan keterangan dibawah ini).



Courtesy Hampson Russell
Tentu kita menginginkan agar nilai porositas yang diprediksi semirip mungkin dengan nilai porositas yang sesungguhnya, dengan kata lain kita harus memiliki nilai selisih (baca error) antara nilai prediksi dengan nilai sesungguhnya yang sekecil mungkin, untuk tujuan ini didalam algoritma ANN di atas, kita harus melakukan updating nilai weight untuk masing-masing input.

Sumber: