Sunday, December 7, 2008

Artificial Neural Network (ANN)

Artificial Neural Network (ANN) atau jaringan syaraf tiruan adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan perilaku jaringan syaraf manusia (Wikipedia).

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.

2 comments:

Anonymous said...

Mas,Apakah yang dimaksud dengan nilai weight,dan bagaimana cara menentukan nilai weight yang sesuai untuk masing-masing input?
makasih..

Agus Abdullah, PhD said...

weight adalah konstanta yang berperan untuk memberikan pembobotan terhadap semua elemen input. Semakin besar nilai weight maka input tersebut semakin perpengaruh terhadap output. Dalam Matematika, penentuan nilai weight dilakukan dengan error minimizing dengan melakukan differensiasi (turunan) terhadap persamaan yang dimiliki. Selanjutnya kita membangun beberapa sistem persamaan dari komputasi yang dimiliki kemudian dilakukan solusi persamaan tersebut sebagai solusi matrix.