METODA JARINGAN SYARAF TIRUAN UNTUK PENENTUAN PERMEABILITAS BATUAN RESERVOIR DARI DATA LOGGING Sudjati Rachmat; Institut Teknologi Bandung. I. ABSTRAK Pelaksanaan logging dalam pemboran sumur eksplorasi diperlukan untuk mengidentifikasi karakteristik reservoir. Data logging ini dalam keadaan tertentu bisa bisa dipergunakan untuk menentukan permeabilitas batuan, sehingga akan diperoleh cara penentuan permeabilitas batuan reservoir yang jauh lebih murah biayanya bila dibandingkan dengan metode coring atau well test ini memerlukan waktu dan biaya yang lebih nahal. Dalam tulisan ini, penulis mencoba menentukan permeabilitas dengan metode Jaringan Syaraf Tiruan dari data logging. Jaringan syaraf tiruan adalah suatu teknik pemrosesan atau perhitungan yang permodelannya diilhami oleh sistem syaraf manusia. Dalam penelitian ini akan ditunjukkan bagaimana jaringan syaraf tiruan ini digunakan untuk memprediksi permeabilitas berdasarkan parameter-parameter yang diolah dalam suatu perhitungan dengan algoritma tertentu. Penelitian ini dilakukan dengan metode estimasi mempergunakan Jaringan Syaraf Tiruan dengan arsitektur multilayer feedforward yang menggunakan algoritma pembelajaran backpropagation dengan dua jenis kombinasi input layer (20 input dan 40 input). Data input yang digunakan dalam penelitian ini adalah tiga data well log (GR, ILD, RHOB), data kedalaman (depth) serta data output permeabilitas. Hasil estimasi kemudian digunakan untuk menghitung harga permeabilitas di sumur-sumur pada lokasi yang lain. Hasil akhir penelitian memperlihatkan bahwa Jaringan Syaraf Tiruan dengan metode multilayer feedforward arsitektur 20 input layer mampu untuk melakukan proses pembelajaran yang baik serta dapat digunakan untuk menentukan penyebaran permeabilitas batuan reservoir secara spasial. II. JARINGAN SYARAF TIRUAN (JST) Jaringan Syaraf Tiruan (JST) pada dasarnya adalah suatu cara melakukan pemodelan terhadap dua komponen dasar jaringan syaraf manusia yaitu nodal dan sinapsis. Setiap nodal diasumsikan sebagai elemen pemroses dengan satu fungsi aktivasi tertentu, dan penghubung antar nodal diasumsikan sebagai faktor perkalian yang besarnya dapat diubah-ubah. 2.1. Sistem Biologis Syaraf Manusia Struktur otak manusia adalah suatu sistem non linear yang sangat kompleks, yang memiliki kemampuan berpikir, mengingat dan memecahkan masalah secara bersamaan (paralel). Terdapat kurang lebih 1010 neuron, sel syaraf dan 6.1013 sinapsis pada otak manusia yang mempunyai kemampuan untuk membangun kaidah melalui apa yang disebut ‘pengalaman’.
Secara umum syaraf otak manusia terdiri dari tiga komponen utama yaitu, cell body atau soma, dendrite, dan axon. Neuron menerima rangsangan atau masukan melalui dendrite. Sinapsis adalah struktur dasar dan unit fungsional yang menghubungkan antar neuron. Rangsangan yang diterima oleh dendrite diteruskan ke soma lalu nukleus. Hasil pemrosesan oleh nukleus dikeluarkan melaui axon dan dihubungkan dengan kurang lebih 1000 neuron lainnya, seperti yang terlihat pada gambar berikut ini.
Gambar 2.1 Skema sistem syaraf manusia[5,10] 2.2 Model Neuron
X1
I N P U T
X2
Wi
Wi
• • • Xn
Σ
Wi
v
ϕ(.)
y
θ tresho
Gambar 2.2 Model Neuron[5,10] n v = ∑ wi xi + θ i=1
(2.1)
y = ϕ (.) v
(2.2)
hubungan dari semua parameter-parameter didalam neuron pada gambar 2.2 secara skematis dijelaskan oleh persamaan (2.1) dan (2.2). Komponen dasar pembentuk jaringan syaraf tiruan adalah neuron. Sebuah neuron terdiri dari : • bobot sinapsis • adder atau penjumlah • fungsi aktivasi
Tahun 1986 Rumelhart mengembangkan algoritma backpropagation sebagai algoritma untuk proses belajar (learning process). Dari sini jaringan syaraf tiruan berkembang hingga memiliki kemampuan komputasi melalui struktur paralel terdistribusi yang kokoh, mampu belajar dan generalisasi. Dengan kemampuan ini memungkinkan jaringan syaraf tiruan untuk menyelesaikan masalah-masalah dengan tingkat kompleksitas yang tinggi. Jaringan syaraf tiruan juga bekerja berdasarkan konsep belajar, yaitu pada saat mendapat rangsangan (memberikan input ke jaringan), memberikan reaksi (keluaran dari neuron), tahap koreksi hingga benar (membandingkan keluaran neuron dengan output yang diinginkan dan mengubah-ubah bobot sinapsis hingga kesalahan mencapai minimal) dan mengingat ciri-ciri yang benar (menyimpan bobot sinapsis yang tersebar didalam jaringan). Berdasarkan cara belajar tersebut diatas, jaringan syaraf tiruan mempunyai dapat diaplikasikan dalam berbagai hal, salah satunya adalah untuk menentukan aproksimasi fungsi (funcional aproximation) untuk menghitung permeabilitas batuan reservoir dari data logging. 2.3 Arsitektur JST Secara umum arsitektur JST dibagi dua yaitu, JST yang tidak memiliki umpan balik dan yang memiliki umpan balik. Haykin[7] mengelompokkan JST dalam empat kelas : 1. Single-layer Feedforward
Gambar 2.3 Single-layer feedforward[7] 2. Multilayer feedforward
Input layer
Hidden layer
Output
Gambar 2.4 Multilayer Feedforward[7]
3. Recurent Network Pada arsitektur feedforward, baik single maupun multilayer, hubungan antar satu layer dengan layer di depannya merupakan hubungan satu arah. Jika pada arsitektur multilayer feedforward ditambahkan sedikit satu hubungan menuju neuron pada layer sebelumnya, maka arsitektur JST menjadi Recurrent Network.
Z-1
2
2 output
Z-1
2
Z-1
2
Contextual input input
2
2 2
Gambar 2.5 Recurrent Network[7] 4. Lattice Structure Lattice strukture dibentuk berdasarkan dimensinya. Dimensi jaringan ditentukan oleh ukuran array yang dibentuk dari node input terhadap neuron.
(a)
(b)
(a) 1 dimensi 2 neuron (b) 2 dimensi 2 x 2 neuron Gambar 2.6 Lattice Struktur[7] 2.4 Fungsi Aktivasi Fungsi aktivasi dengan notasi ϕ (.) , merupakan output dari neuron sebagai fungsi dari inputnya dengan tugas menjaga output neuron jatuh pada rentang harga tertentu. Karena tugas ini, fungsi aktivasi disebut juga Squashing Function. Fungsi aktivasi ini bersifat monotomic increasing yaitu bertambah secara monoton diantara batas atas dan batas bawah dari rentang yang ditentukan. Agar dapat digunakan dalam proses belajar, fungsi aktivasi harus memiliki turunan. Berikut adalah berbagai fungsi aktivasi yang sering digunakan dalam JST dan gambar dalam bentuk grafis.
a. Threshold
1 jika v ≥ 0
ϕ (v) =
(2.3)
1 jika v < 0
b. Logistik y (v) =
1 1 + exp ( − v )
(2.4)
y' ( v ) = y ( v ) 1 − y ( v )
(2.5)
c. Hiperbolic tangen y (v) =
1 − exp ( − v )
(2.6)
1 + exp ( − v )
(
)
2 y' ( v ) = (1 + y ( v ) ) 1 − y ( v ) = 1 − y ( v )
(2.7)
d. Identity / lin y (v) = v
(2.8)
y' ( v ) = 1
(2.9)
Gambar 2.7 Fungsi Aktifasi[5,10] 2.5 Learning Proses (Proses Belajar) Pada JST belajar adalah sebuah proses dimana parameter-parameter bebas dari jaringan syaraf menyesuaikan diri terhadap rangsangan yang diberikan oleh lingkungannya. Jenis-jenis belajar ditentukan oleh cara terjadinya perubahan parameter. Dari definisi ini, urutan kejadian dari proses belajar adalah : a. Jaringan mendapat rangsangan dari lingkungan. b. Jaringan selalu berubah sebagai akibat dari rangsangan. c. Jaringan merespon dengan cara yang baru terhadap lingkungannya sebagai akibat adanya perubahan yang terjadi didalam struktur jaringan. Pada gambar 2.8 dapat ditunjukkan x j dan v j dihubungkan oleh sinapsis w kj . x j menggambarkan keluaran neuron j dan vk menggambarkan aktivitas didalam neuron k, misalkan w kj ( n ) menyatakan nilai sinapsis pada waktu n. Pada waktu n sebuah
penyesuaian ∆w kj ( n ) terjadi pada sinapsis w kj ( n ) menghasilkan nilai baru w kj ( n + 1) . Kejadian ini dapat dituliskan : wkj ( n + 1) = wkj ( n ) + ∆wkj ( n )
(2.10)
2.5.1 Error Corection Learning Jika dk ( n ) menyatakan target output dan yk ( n ) menyatakan output neuron, maka selisih (error) dapat dinyatakan : ek ( n ) = dk ( n ) − yk ( n )
(2.11)
Tujuan utama dari algoritma error correction adalah meminimalkan cost function berdasarkan sinyal error ek ( n ) sedemikian hingga output dari neuron mendekati target output yang dinginkan. Kriteria yang digunakan adalah menghitung “sum square error, ε ( n ) nya, dan didefinisikan sebagai : e( n ) =
1 2 ∑ ek ( n ) 2k
(2.12)
Optimasi JST dilakukan dengan minimisasi ε ( n ) terhadap bobot sinapsis. Sesuai dengan algoritma belajar error correction (disebut juga delta rule atau gradient descent), maka pembobotan sinapsis ∆w kj ( n ) pada waktu n adalah : ∆wkj ( n ) = ηδ k ( n ) .y j ( n )
(2.13)
η adalah learning rate, dk adalah gradien lokal dan y j adalah sinyal input di neuron
k. 2.5.2 Hebbian Learning Ekspresi matematik dari gambar 2.14 menurut hebbian adalah :
(
∆wkj ( n ) = F yk ( n ) ,x j ( n )
)
(2.14)
Sebagai kasus khusus, persamaan (2.13) dapat dituliskan : ∆wkj ( n ) = η yk ( n ) x j ( n )
(2.15)
Kohonen mendefinisikan kembali persamaan (2.15) menjadi : ∆wkj ( n ) = η yk ( n ) x j ( n ) − α yk ( n ) wkj ( n )
(2.16)
∆wkj ( n ) = α yk ( n ) cx j ( n ) − wkj ( n )
(2.17)
α adalah konstanta positip, η adalah learning rate dan c sama dengan η / α .
Persamaan (2.17) disebut generalized activity product rule. Implikasi dari persamaan (2.16) adalah bila x j ( n ) < wkj ( n ) / c ,nilai sinapsis yang baru wkj ( n + 1) pada iterasi n+ 1 akan berkurang secara proporsional sesuai aktifitas yk ( n ) , tetapi jika x j ( n ) > wk ( n ) / c , nilai sinapsis baru wkj ( n + 1) bertambah secara proporsional dengan yk ( n ) .
2.6 Algoritma Belajar Backpropagation (BP) Algoritma belajar BP menggunakan metode gradien descent dengan paradigma belajar supervised, sehingga pasangan data input-output (set data) mutlak harus tersedia. Data ini akan digunakan sebagai pembimbing dalam mengenali polanya. Ada dua cara dalam proses perubahan bobot sinapsisnya yaitu : 1. Pattern mode / on-line Perubahan bobot sinapsis terjadi setelah komputasi 1 set data. 2. Batch mode / off-line Perubahan bobot sinapsis terjadi setelah satu kali komputasi keseluruhan data. Untuk dapat mengubah bobot sinapsis, maka proses komputasi dilakukan dengan cara forward (arah maju) dan backward (arah mundur). Pada gambar 2.8 dapat dinyatakan suatu aliran sinyal. Indeks i menyatakan input layer, indeks j adalah hidden layer, dan k adalah output layer, ϕ menyatakan fungsi aktivasi, v adalah input fungsi aktivasi dan y adalah output neuron. X0
Y1 dk
X1
Wij
Y2 Vj
X2
Xp
ϕ(.)
yj
Vk
ϕ(.)
yk
ek
yq bj
bk
Gambar 2.8 Aliran sinyal komputasi Maju[7] 2.6.1 Komputasi Arah Maju Pada komputasi arah maju output dari suatu node adalah penjumlahan dari outputoutput layer sebelumnya dikalikan dengan bobot ditambahkan dengan suatu bias yang dioperasikan oleh suatu fungsi aktivasi, dapat dituliskan sebagai: p v j (n) = ∑ wij xi (n) + b j i=0
(2.18)
dengan n = pola pelatihan ke-n p = banyaknya input ke neuron j v j = aktivitas internal dari neuron ke-j w ij = bobot dari neuron ke-i menuju neuron ke-j b j = bias dari neuron ke-j
dan y j (n) = ϕ (.)v j (n)
dengan y j (n) = output dari neuron ke-j
(2.19)
ϕ (.) = fungsi aktivasi dari neuron ke-j
sehingga diperoleh : p y j (n) = ϕ ∑ wij yi (n) + b j i= 0
(2.20)
Untuk neuron ke-k output dari neuron ke-j ini menjadi input bagi neuron ke-k dan dapat dituliskan sebagai q vk (n) = ∑ wkj y j (n) + bk j=0
(2.21)
dan output dari neuron ke-k adalah q p yk (n) = ϕk ∑ wkj ϕ j ∑ w ji xi (n) + b j + bk j=0 i = 0
(2.22)
dan sum squared error diberikan oleh: 2 q p 1 ε (n) = ∑ dk (n) − ϕk ∑ wkj ϕ j ∑ w ji xi (n) + b j + bk 2k j=0 i = 0
(2.23)
2.6.2 Komputasi Arah Mundur Pada komputasi arah mundur, perubahan bobot sinapsis ∆w dihitung dari atau proporsional dengan gradien ∂e / ∂w . Dengan menggunakan aturan berantai, gradien ∂e / ∂w dinyatakan sebagai : ∂e( n )
=
∂wkj( n )
∂e( n ) .∂ek ( n ) .∂yk ( n ) .∂vk ( n )
∂ek ( n ) .∂yk ( n ) .∂vk ( n ) .∂wkj ( n )
(2.24)
Bila neuron k adalah output layer, maka : Dari persamaan (2.12), ∂e( n )
∂ek ( n )
= ek ( n )
(2.25)
dari persamaan (2.19), ∂e ( n )
∂yk ( n )
= −1
(2.26)
dari persamaan (2.1) dan (2.2), ∂yk ( n ) = ϕ 'k (.) ∂vk ( n ) ∂vk ( n )
∂wkj ( n )
= y j (n)
δε (n) = −ek (n)ϕk' (n)y j (n) δ wkj (n)
(2.27) (2.28) (2.29)
Lokal gradien δ didefinisikan sebagai : δk (n) = −
∂e( n )
∂vk ( n )
= ek ( n ) ϕk' (.)
(2.30)
Perubahan bobot sinapsis sama dengan : ∆wkj ( n ) = −η
∂e( n )
∂wkj ( n )
(2.31)
Dari persamaan (2.24) sampai persamaan (2.29) disubstitusikan ke persamaan (2.30), maka diperoleh : ∆wkj ( n ) = ηδ k ( n ) y j ( n ) (2.32) Persamaan (2.32) ini sama dengan persamaan (2.12) yang merupakan bentuk umum. Untuk output layer berlaku : ∆wkj ( n ) = η ek ( n ) ϕk' (.) y j ( n )
(2.33)
Bila neuron j adalah hidden layer, maka gradien lokal untuk neuron j adalah : δ j (n) = −
∂e( n )
∂v j ( n )
=−
∂e( n ) .∂y j ( n )
∂y j ( n ) .∂v j ( n )
(2.34)
Analog dengan persamaan (2.27) maka ruas paling kanan dari persamaan (2.34) menjadi : ∂y j ( n )
∂v j ( n )
= ϕ 'j (.)
(2.35)
Bila persamaan (2.12) diturunkan terhadap yj, maka ruas pertama persamaan (2.30) menjadi : ∂e( n )
∂ek ( n ) = ∑ ek ( n ) ∂y j ( n ) k ∂y j ( n ) ∂ek ( n ) .∂vk ( n ) = ∑ ek ( n ) ∂vk ( n ) .∂y j ( n ) k
(2.36)
dari persamaan (2.11) dan persamaan (2.12) diperoleh : ek ( n ) = dk ( n ) − yk ( n ) = dk ( n ) − ϕk (.) vk ( n )
Sehingga : ∂ek ( n ) ∂vk ( n )
= −ϕk' (.)
(2.37)
dari persamaan (2.32) diperoleh : ∂vk ( n ) ∂y j ( n )
= wkj ( n )
(2.38)
dengan menggunakan persamaan (2.37) dan persamaan (2.38) ke dalam persamaan (2.36), dan dengan persamaan (2.35), maka persamaan ( 2.34) menjadi : δ j ( n ) = ϕ 'j (.) ∑ δ k ( n ) wkj ( n ) k
dengan menggunakan persamaan (2.30), maka persamaan diatas dapat disederhanakan menjadi : δ j ( n ) = ϕ 'j (.) ∑ δ k ( n ) wkj ( n ) k
∆w ji ( n ) = ηδ j ( n ) yi ( n )
(2.39) (2.40)
Bila hidden layer lebih dari satu, komputasi untuk gradien lokal analog dengan persamaan (2.39) Algorima belajar backpropagation dirangkum dalam urutan langkah sebagai berikut : 1. Inisialisasi bobot sinapsis 2. Presentation, input diberikan ke JST dan dilakukan komputsi arah maju (persamaan (2.22)) 3. Error computation, membandingkan hasil yang diperoleh JST dengan output yang dinginkan (persamaan (2.11) ) 4. Komputasi arah mundur, dengan persamaan (2.33), persamaan (2.39), persamaan (2.40) 5. Iterasi, ulangi langkah 2-4 sampai error yang diinginkan tercapai. Usaha untuk mempercepat proses belajar : 1. Menambahkan konstanta momentum kedalam persamaan (2.40) sehingga persamaan tersebut menjadi : ∆w ji ( n ) = ηδ j ( n ) yi ( n ) + α∆w ji ( n + 1) (2.41) dimana, harga momentum kecepatan 0 ≤α ≤1
2. dibuat suatu mekanisme sehingga parameter learning rate ( η ) adaptip atau variabel terhadap error. Caranya sebelum melakukan suatu iterasi n+1, error yang terjadi dihitung dulu kemudian dibandingkan dengan iterasi sebelumnya (iterasi n) diperoleh ∆e . Persamaan matematisnya sebagai berikut : ∆e = e ( n + 1) − e ( n ) (2.42) dimana e (n + 1) adalah error yang terjadi pada iterasi n+1 dan e(n) error pada iterasi n. Jika ∆e < 0 , learning rate (η ) diperbesar misalkan dikalikan dengan suatu konstanta ratio learning rate (Learn_inc) akan tetapi jika ∆e > 0 , nilai learning rate dibiarkan dulu (diteruskan iterasinya) sampai ∆e mencapai suatu harga tertentu (misalkan x) dan jika ∆e > x , nilai learning rate (η ) diturunkan sebesar nilai tertentu .
III.
RANCANGAN JARINGAN SYARAF TIRUAN
Dalam merancang suatu jaringan syaraf tiruan terdapat sejumlah pertanyaan yang menyangkut bagaimana menentukan jumlah lapisan (layer), jumlah neuron pada hidden layer, memilih fungsi aktivasi, dan parameter-parameter lainnya. 3.1 Jumlah Rangkaian Data Jaringan syaraf tiruan dikatakan memiliki kemampuan generalisasi bila output jaringan syaraf tiruan memberikan hasil yang benar terhadap data input yang belum pernah digunakan dalam proses belajar [8]. Generalisasi dipengaruhi beberapa faktor yaitu: 1. Efisiensi dan jumlah data training. 2. Arsitektur jaringan syaraf tiruan. 3. Kompleksitas permasalahan. Faktor ketiga merupakan faktor yang tidak dapat dikendalikan. Terhadap dua faktor lainnya, terdapat dua pemikiran yang berbeda [6]: 1. Bila arsitektur jaringan tetap, maka faktor dominan untuk meningkatkan kemampuan generalisasi adalah menentukan jumlah data. 2. Bila jumlah data tetap, maka menentukan arsitektur terbaik menjadi yang terpenting. Widrow dan Stearns (1985) [6] menyatakan bila W adalah jumlah seluruh bobot sinapsis dari jaringan syaraf tiruan dan ε adalah error yang diijinkan, maka untuk memperoleh kemampuan generalisasi, jumlah set data N harus memenuhi kondisi: N>
W
ε
(3.1)
Setelah jumlah set data sudah ditetapkan, langkah berikutnya adalah membagi jumlah set data tersebut menjadi dua yaitu satu bagian untuk keperluan proses training (belajar), dinamakan data training, dan bagian lainnya untuk testing (dinamakan data testing). Aturan untuk menentukan berapa jumlah data training dan data testing, Haykin [6] menyarankan: jumlah data testing 10% sampai dengan 20% dari data training. 3.2 Normalisasi Data Fungsi aktivitas yang sering dipakai dalam merancang jaringan syaraf tiruan adalah fungsi Logistik dan fungsi Hyperbolic Tangent. Rentang input sebelum masuk fungsi aktivitas harus jatuh pada interval tertentu agar keluarannya jatuh pada rentang outputnya. Untuk fungsi aktivitas Logistic Sigmoid rentang inputnya sebaiknya berada pada [-4 4] agar outputnya jatuh antara [0 1], sedangkan untuk fungsi aktivitas Hyperbolic Tangent rentang input berada pada rentang [-2 2] agar outputnya jatuh pada rentang [-1 1]. Jika data input tidak berada pada rentang ini, maka output dari fungsi aktivitas tidak berubah (0 atau 1 pada fungsi Logistic dan –1 atau 1 pada fungsi Hyperbolic Tangent). Akibatnya jaringan syaraf tiruan akan cepat berada pada
keadaan saturasi (saturasi dini) dimana error tidak berkurang walaupun iterasi terus dijalankan. Untuk menghindari hal ini, maka data input harus dinormalisasi terlebih dahulu. Proses penormalan ini ditentukan oleh persamaan : Y=
m(X − Xmin ) Xmax − Xmin
+b
(3.2)
dimana Y adalah data normalisasi, X adalah data asli, Xmin adalah data terkecil dari X, Xmax adalah data terbesar dari X, m adalah selisih antara batas atas dan batas bawah dari data normalisasi yang dikehendaki, dan b adalah batas bawah dari data normalisasi. 3.2.1
Jumlah Layer
Multilayer Feedforward pada umumnya dibangun dengan tiga layer, yaitu input layer, hidden layer dan output layer. Input layer berinteraksi secara langsung dengan input yang diberikan ke jaringan sedangkan output layer berinteraksi langsung dengan target yang diberikan (data output). Jumlah layer biasanya memiliki kaitan dengan jumlah hidden layer. Hidden layer bertindak sebagai lapisan yang melakukan sintesa, mengekstrak pola input. Semakin banyak jumlah hidden layer akan meningkatkan kemampuan proses dari jaringan syaraf tiruan tetapi juga menyebabkan meningkatnya waktu yang dibutuhkan untuk melaksanakan proses belajar serta memerlukan set data training yang lebih banyak. Jumlah hidden layer ditentukan melalui percobaan dengan dimulai dari sebuah hidden layer. Bila sebuah hidden layer belum mampu mengekstrak pola input dengan baik, maka dapat ditambahkan hidden layer. Penggunaan jumlah hidden layer yang lebih sedikit akan lebih baik. 3.2.2
Jumlah Neuron
Menentukan jumlah neuron pada hidden layer seringkali dilakukan melalui eksperimen. Jika jumlah neuron terlalu sedikit, menyebabkan jaringan tidak dapat memetakan pola input secara tepat. Namun terlalu banyak, membuat jaringan hanya mampu mengingat set data yang diberikan pada saat proses belajar saja, sedangkan jika diberikan data input yang baru, jaringan tidak mampu mengeluarkan output yang benar. Keadaan ini disebut overfitting [8]. Sebagai pendekatan untuk menentukan jumlah neuron pada hidden layer, bila m adalah jumlah neuron pada input layer dan n jumlah neuron pada output layer, maka secara geometric progression jumlah neuron h pada hidden layer adalah: h= m . n
(3.3)
3.2.3
Fungsi Aktivasi
Algoritma belajar backpropagation mensyaratkan adanya turunan dari fungsi aktivasi atau dengan kata lain ϕk (.) ≠ 0 . Untuk output kontinu, fungsi aktivasi yang digunakan adalah fungsi linear, Logistic atau Hyperbolic Tangent. 3.2.3.1 Inisialisasi Bobot Sinapsis Inisialisasi bobot sinapsis dilakukan dengan membangkitkan bilangan random yang terdistribusi uniform dengan batas bilangan (atas dan bawah) yang cukup kecil. Batas bilangan ini tidak boleh terlalu besar, karena akan menyebabkan jaringan terjebak dalam keadaan saturasi dini pada saat belajar atau kedalam permukaan (gradien error) yang datar. Fenomena ini dikenal sebagai premature saturation, yaitu situasi ε (n) berada pada suatu bilangan yang hampir konstan untuk satu waktu yang lama pada saat proses belajar[8]. Namun bila bilangan yang digunakan terlalu kecil, membuat gradien error sedemikian kecilnya sehingga proses belajar menjadi lama. 3.2.3.2 Learning Rate dan Momentum Faktor lain yang mempengaruhi efektifitas dan kecepatan konvergensi dari algoritma belajar backpropagation adalah learning rate (η ) dan momentum (α ) . Tidak ada satu nilai yang pasti untuk nilai-nilai ini dan biasanya dipilih berdasarkan percobaan. Hanya saja sebagai pedoman, nilai learning rate (η ) yang terlalu besar memang mempercepat konvergensi tetapi dapat menyebabkan errornya berosilasi (tidak cenderung turun). Sebaliknya nilai learning rate (η ) yang terlalu kecil berdampak sebaliknya. Agar error tidak berosilasi walaupun digunakan nilai learning rate (η ) cukup besar ditambahkan momentum. 3.2.3.3 Validasi Selama proses belajar harus ada ukuran yang digunakan untuk menghentikan proses belajar (training) jaringan syaraf tiruan. Ukuran tersebut biasanya: a. maksimum iterasi. b. besar error. c. nilai minimal gradien. d. gabungan ketiganya. Ada berbagai macam metode mengukur error baik pada saat training maupun testing diantaranya: Root Mean Square Error (RMSE), Mean Square Error (MSE), Sum Square Error (SSE) dan koefisien korelasi (R) yang menunjukkan tingkat korelasi (kedekatan hubungan) antara data output dengan data target ataupun dengan menggunakan regresi linear.
3.3 Pemilihan Input/Output Data-data input dan output yang digunakan adalah data well log dari sumur X-1, dengan permeabilitas terukur pada lapisan tersebut sebesar 16.61 mD. Bentuk data well logging berbentuk grafik kurva log yang menunjukkan kurva log GR, ILD dan RHOB pada interval kedalaman 1596,2 sampai 1603 meter (Gambar 3.1). Dari data-data wel log yaitu GR, ILD dan RHOB kemudian membuat set data input output. Sebagai data input adalah data kedalaman (Depth interval), GR, ILD dan RHOB. Untuk data output adalah data permeabilitas. Set data input-output dapat dilihat pada tabel 3.1 dimana data tersebut dalam bentuk numerik.
Respon ILD 1603,0
1602,0
1602,0
1601,0
1601,0
1600,0
1600,0
Depth
1603,0
1599,0
1599,0
1598,0
1598,0
1597,0
1597,0
1596,0
1596,0 30 40 50 60 70
2
7
Respon RHOB 1603,0 1602,0 1601,0
depth
Depth
Respon Gamma-ray (GR)
1600,0 1599,0 1598,0 1597,0 1596,0 2,2
2,4
2,6
Gambar 3.1 Kurva Well Log[3]
12
Tabel 3.1 Contoh satu set data input-output *depth 1596,2 1596,3 1596,5 1596,6 1596,8 1596,9 1597,1 1597,2 1597,4 1597,6 1597,7 1597,9 1598,0 1598,2 1598,3 1598,5 1598,6 1598,8 1598,9 1599,1 1599,2 1599,4 1599,5 1599,7 1599,8 1600,0 1600,1 1600,3 1600,4 1600,6 1600,8 1600,9 1601,1 1601,2 1601,4 1601,5 1601,7 1601,8 1602,0 1602,1 1602,3 1602,4 1602,6 1602,7 1602,9 1603,0
INPUT *GR *ILD 73,7681 1,7224 69,0837 1,8694 60,6399 1,9989 58,153 2,106 59,5263 2,3027 58,5092 2,5177 57,9109 2,6922 58,9932 3,0325 59,7914 3,5449 56,8936 4,206 55,6075 4,6677 51,4647 4,9176 45,4138 5,1809 40,5268 5,5813 42,8104 6,194 44,1867 6,6233 43,8106 7,0823 43,2912 7,4063 41,8287 7,4075 38,702 7,0858 37,7866 6,5796 39,0692 6,2009 39,398 5,8008 37,5968 4,9271 38,8965 4,4743 41,9572 3,9735 44,0543 3,745 45,1932 3,5034 45,882 3,2291 44,3532 3,0208 46,4959 2,8682 48,3453 2,7436 47,9429 2,605 47,8579 2,4734 49,3053 2,3311 51,4541 2,2465 52,2313 2,1489 53,0774 2,0709 53,6862 1,9518 55,9877 1,8809 59,2474 1,7992 61,0814 1,7862 61,3833 1,7471 61,8178 1,7344 61,8293 1,7219 61,8409 1,7094
*RHOB 2,2898 2,3046 2,338 2,3497 2,3381 2,3494 2,3499 2,3467 2,3492 2,337 2,2859 2,2183 2,1848 2,2011 2,2039 2,2209 2,2377 2,2533 2,2684 2,343 2,4125 2,4723 2,5023 2,4708 2,4142 2,3602 2,2632 2,232 2,2317 2,2331 2,2355 2,2364 2,242 2,2362 2,2418 2,2434 2,2228 2,2208 2,2348 2,2333 2,2481 2,2601 2,266 2,2644 2,2612 2,2738
OUTPUT K
16,61
Untuk setiap sumur kedalamannya berbeda-beda tergantung dari ketebalan lapisan atau tergantung pada saat dilakukan perforasi dinding sumur (agar minyak mengalir). Biasanya berkisar antara 1,5 - 6 meter, sehingga data input seperti kedalaman, GR, ILD, RHOB dari setiap sumur mempunyai jumlah yang bervariasi antara 23 hingga 61 data. Karena jumlah neuron pada input layer harus tetap jumlahnya pada saat proses belajar, maka jumlah data numerik untuk ke empat jenis data tersebut harus dibuat tetap. Untuk penelitian ini dari keempat jenis data tersebut dibuat tetap. Keempat jenis data input tersebut, masing-masing jumlahnya ditetapkan 5 atau 10. Jadi untuk 5 data numerik, satu set data terdiri dari 20 input (5 untuk kedalaman, 5 untuk GR, 5 untuk ILD dan 5 untuk RHOB). Untuk 10 data numerik, satu set terdiri dari 40 input (10 data kedalaman, 10 data GR, 10 data ILD dan 10 data RHOB).
Input Kedalaman
5
GR
5
Permeabilitas 20 neuron layer input
ILD
RHOB
Hidden Layer
Output
5
5
Gambar 3.2 Arsitektur 20 - nHid - 1 Input Kedalaman
GR
10
10
Permeabilitas 40 neuron layer input
ILD
10
RHOB
10
Hidden Layer
Output
Gambar 3.3 Arsitektur 40 - nHid – 1
3.4 Pelaksanaan Perhitungan 3.4.1 Normalisasi Data dan Fungsi Aktivasi Pada penelitian ini digunakan fungsi aktivasi Hyperbolic tangent sehingga data dinormalisasi pada rentang [-1 1].
3.4.2 Jumlah Hidden layer dan Neuron pada Hidden Layer Pada penelitian ini digunakan satu hidden layer dan jumlah neuron dipilih berdasarkan percobaan yang berhubungan dengan validasi. 3.4.3
Inisialisasi Bobot Sinapsis, Learning Rate dan Momentum
Pada penelitian ini dipilih bobot sinapsis awal yang dibangkitkan dari bilangan random yang berdistribusi uniform dikurangi 0.5 sedangkan nilai learning rate adalah 0.01 dan momentum adalah 0.9 untuk kedua arsitektur. 3.4.4 Validasi Pada penelitian ini, metode validasi yang digunakan untuk mengukur hasil keluaran jaringan syaraf tiruan terhadap data target (permeabilitas yang sebenarnya) adalah : RMSE dan koefisien korelasi. 3.5 Tahap-Tahap Pelaksanaan Perhitungan 1. Merancang proses awal dari jaringan syaraf tiruan . 2. Melakukan percobaan terhadap dua arsitektur yaitu 20-nhidd-1 dan 40-nhidd-1 dengan memilih jumlah neuron pada hidden layer yang sesuai dengan validasi yaitu nilai RMSE yang terkecil dan koefisien korelasi (R) yang terbesar . 3. Menggunakan arsitektur terbaik yang diperoleh dari langkah dua untuk menghitung permeabilitas dari sumur-sumur lain. 4. Melakukan validasi balik (reverse validasi) dengan menggunakan data permeabilitas hasil peramalan. IV. HASIL PERHITUNGAN Analisis berikut didasarkan pada hasil eksperimen yang dilakukan dengan menggunakan metode estimasi yaitu jaringan syaraf tiruan dengan arsitektur Multilayer feedforward yang menggunakan algoritma pembelajaran Backpropagation dengan dua jenis kombinasi input layer (20 input dan 40 input). Penelitian dilakukan pada komputer desktop dengan menggunakan perangkat lunak MATLAB 6 dan Microsoft Excel. 4.1 Perbandingan Hasil Metode Estimasi Tabel 4.1 Perbandingan Hasil Metode Estimasi Metode Arsitektur RMSE Multilayer Feedforward 20-5-1 0.6114 Multilayer Feedforward 40-3-1 1.7127
R
Iterasi
0.9956
120
0.9624
71
Hasil pada tabel 4.1 di atas merupakan hasil terbaik yang diperoleh dari simulasi. Dari ini terlihat bahwa metode Multiforward dengan kombinasi 20 input layer adalah yang terbaik, dengan nilai RMSE = 0.6114 (paling kecil) dan R = 0.9956 (paling besar) dibandingkan dengan metode Multiforward dengan kombinasi 40 input layer. Dengan rentang data target antara 6.2400 (data terkecil) sampai dengan 17.0300 (data terbesar), maka kesalahan rata-rata sebesar 0.6114 menunjukkan angka kesalahan yang cukup kecil. Koefisien korelasi R = 0.9956, menunjukkan bahwa tingkat kedekatan hubungan (korelasi) antara data output hasil tes dengan data target sangat dekat (dekat ke nilai maksimum R = 1 yang menyatakan hubungan sangat kuat). Gambar 4.1 dan Gambar 4.2 berturut-turut menunjukkan perbandingan output tes dengan data target untuk JST dengan arsitektur 20-5-1 dan 40-3-1.
Gambar 4.1 Validasi Tes Antara Respon JST 20-5-1 Dengan Target
Gambar 4.2 Validasi Tes Antara Respon JST 40-3-1 Dengan Target
Terlihat bahwa dari dua gambar tersebut arsitektur 20-5-1 memberikan estimasi yang lebih baik. 4.2 Perbandingan Koefisien Korelasi (R) Gambar 4.3 dan Gambar 4.4 menunjukkan tingkat korelasi (R) antara data output tes dan data target beserta analisis regresi dari jaringan syaraf tiruan pada arsitektur 20-51 dan 40-3-1.
Gambar 4.3 Koefisien Korelasi dan Analisis Regresi JST 20-5-1
Gambar 4.4 Koefisien Korelasi dan Analisa Regresi JST 40-3-1 Dari kedua gambar terlihat bahwa JST 20-5-1 menunjukkan arsitektur yang terbaik dengan koefisien korelasi paling besar (R = 0.9956) dan analisis regresi dengan residu (error) paling kecil (residu = -0.38)
4.5 Penggunaan JST 40-12-1 Dan 20-5-1 Untuk Menghitung Permeabilitas Dari Sumur-Sumur Yang Harga Permeabilitasnya Tidak Diketahui Untuk jaringan syaraf tiruan dengan arsitektur 40-12-1 diperoleh hasil sebagai berikut: Tabel 4.2 Hasil Perhitungan JST Arsitektur 40-12-1 Sumur
S1
S2
S3
S4
Permeabilitas 7.3708 8.2230 8.9941 15.0275 Sedangkan untuk jaringan syaraf tiruan dengan arsitektur 20-5-1 diperoleh hasil sebagai berikut: Tabel 4.3 Hasil Perhitungan JST Arsitektur 20-5-1 Sumur
S1
S2
Permeabilitas
6.4617
8.0805
S3
S4
15.9442 16.8989
Gambar 4.5 Perbandingan Nilai Permeabilitas dari Data yang Dianggap tidak Diketahui Permeabilitasnya Terhadap Ramalannya Dari gambar terlihat bahwa hasil peramalan dengan menggunakan arsitektur jaringan syaraf tiruan dengan arsitektur 20-5-1 merupakan arsitektur yang terbaik dalam meramalkan sumur-sumur yang permeabilitasnya tidak diketahui (R = 0.9956) dibandingkan dengan arsitektur 40-3-1 (R = 0.9624). Dalam melakukan validasi balik, kita membangun suatu jaringan syaraf tiruan dengan menggunakan data dari sumursumur yang sudah kita dihitung permeabilitasnya terlebih dahulu. Dari perhitungan diperoleh bahwa konfigurasi arsitektur JST 20-5-1 dalam kasus data penelitian ini merupakan arsitektur yang terbaik.
5. KESIMPULAN 1. Jaringan Syaraf Tiruan (JST) merupakan salah satu metoda yang mampu untuk melakukan proses pembelajaran dan dapat digunakan secara sederhana untuk menentukan permeabilitas batuan reservoir. 2. Dari hasil simulasi memperlihatkan bahwa JST dengan metode multilayer feedforward arsitektur 20 input layer adalah yang terbaik dibandingkan dengan arsitektur 40 input layer. Berdasarkan rentang data target antara 6.2400 (data terkecil) sampai dengan 17.0300 (data terbesar), untuk arsitektur 20-5-1 menghasilkan angka kesalahan rata-rata (RMSE) cukup kecil yaitu 0.6114 dan koefisien korelasi (R) 0.9956 menunjukkan bahwa tingkat kedekatan hubungan antara data output hasil tes dengan data target sangat dekat (dekat ke nilai maksimum R = 1 yang menyatakan hubungan sangat kuat), dibandingkan dengan arsitektur 40-3-1 yang mempunyai RMSE 1.7127 dan R = 0.9624. 3. Dalam melakukan perhitungan permeabilitas kearah areal yang lain dengan mempergunakan arsitektur JST 20-5-1, juga diperoleh hasil yang lebih baik dibandingkan dengan arsitektur 40-3-1. Dalam kasus penelitian ini dapat ditunjukkan juga oleh hasil Reverse Validation yang lebih konsisten. DAFTAR NOTASI n = Pola pelatihan ke n p = Banyaknya input ke p v j = Aktivitas internal dari neuron wij = Bobot dari neoron ke i menuju ke j b j = Bias dari neuron ke-j ϕ (.) = Fungsi aktivasi y j ( n ) = Output neuron
ek ( n ) = Selisih error dk ( n ) = Target output
ε ( n) = RMSE
SIMBOL
η α δ ε ϕ
= = = = =
learning rate momentum gradient lokal sum square error fungsi aktivasi
INDEKS i j k
= = =
indeks input layer indeks hidden layer indeks outpul layer
DAFTAR PUSTAKA 1. Atiya, A.F., El-Shoura, S.M., Shahen, SI., El-Sherif, M.S., : “A Comparison Between Neural Network Forecasting Technique – Cash Study : River Flow Forecasting”, IEEE Transaction on Neural Network, Vol 10, No 2, 1999. 2. Bachtar, Y.Z., : “Jaringan Syaraf Tiruan Untuk Memprediksi Permeabilitas Batuan”, ITB, Bandung, 2002. 3. Djuartono : ”Estimasi Permeabilitas Batuan Menggunakan Metode Jaringan Syaraf Tiru n”, ITB, Bandung, 2000. 4. Duanne H. and Littlefield, B. : ”The Student Edition of MATLAB”, Prentice Hall, Inc., New Jersey, 1997. 5. Fauset, L. : “Fundamentals Of Neural Network”, A Paramount Communications Company Englewood Cliffs, New Jersey 07632, 1994. 6. Gencay, A.F., Liau, T. : “Nonlinear Modelling and Prediction with Feedforward and Recurent Network”, IEEE Neural Network Aplication, 1999. 7. Haykin. S. : “Neural Network A Comprehensive Foundation”, MacMillan College Publishing Company, Inc., 1994. 8. Kermanshahi, B.S., Poscar, C.H., Swift, G., MacLaren, P., Pedricz, W., Silk, A. : “Artificial Neural Network for ForecastingDaily Loads of a Canadian Electric Utility”, IEEE Transaction on Neural Network, 1996. 9. Lin, C. T., Lee, C.S.G. : “Neural Fuzzy Sistems”, Prentice Hall, Inc., 1996. 10. Laurene F. : “Fundamental of Neural Networks”, A Paramount Communication, New Jersey, 1994.
RIWAYAT HIDUP Name: Job Title: Company/University: Address: Phone: Fax: Email:
Sudjati Rachmat Lecturer Institut Teknologi Bandung Jl. Ganesha 10, Bandung 40132, Indonesia 022 250 4955
[email protected] [email protected]