Jaringan saraf tiruan

**Jaringan saraf tiruan (JST)** (; ANN, atau *simulated neural network* (SNN), atau *neural network* (NN)), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan sistem saraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Oleh karena sifatnya yang adaptif, JST juga sering disebut dengan jaringan adaptif.

Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data. Menurut suatu teorema yang disebut "teorema penaksiran universal", JST dengan minimal sebuah lapis tersembunyi dengan fungsi aktivasi non-linear dapat memodelkan seluruh fungsi terukur Boreal apapun dari suatu dimensi ke dimensi lainnya.

## Sejarah
Saat ini bidang kecerdasan buatan dalam usahanya menirukan intelegensi manusia, belum mengadakan pendekatan dalam bentuk fisiknya melainkan dari sisi yang lain. Pertama-tama diadakan studi mengenai teori dasar mekanisme proses terjadinya intelegensi. Bidang ini disebut *Cognitive Science*. Dari teori dasar ini dibuatlah suatu model untuk disimulasikan pada komputer, dan dalam perkembangannya yang lebih lanjut dikenal berbagai sistem kecerdasan buatan yang salah satunya adalah jaringan saraf tiruan. Dibandingkan dengan bidang ilmu yang lain, jaringan saraf tiruan relatif masih baru. Sejumlah literatur menganggap bahwa konsep jaringan saraf tiruan bermula pada makalah Warren McCulloch dan Walter Pitts pada tahun 1943. Dalam makalah tersebut mereka mencoba untuk memformulasikan model matematis sel-sel otak. Metode yang dikembangkan berdasarkan sistem saraf biologi ini, merupakan suatu langkah maju dalam industri komputer.

## Model
Model pada JST pada dasarnya merupakan fungsi model matematika yang mendefinisikan fungsi f: X \rightarrow Y. Istilah "jaringan" pada JST merujuk pada interkoneksi dari beberapa *neuron* yang diletakkan pada lapisan yang berbeda. Secara umum, lapisan pada JST dibagi menjadi tiga bagian:
* Lapis masukan (*input layer*) terdiri dari *neuron* yang menerima data masukan dari variabel X. Semua *neuron* pada lapis ini dapat terhubung ke *neuron* pada lapisan tersembunyi atau langsung ke lapisan luaran jika jaringan tidak menggunakan lapisan tersembunyi.
* Lapisan tersembunyi (*hidden layer*) terdiri dari *neuron* yang menerima data dari lapisan masukan.
* Lapisan luaran (*output layer*) terdiri dari *neuron* yang menerima data dari lapisan tersembunyi atau langsung dari lapisan masukan yang nilai luarannya melambangkan hasil kalkulasi dari X menjadi nilai Y.

Secara matematis, *neuron* merupakan sebuah fungsi yang menerima masukan dari lapisan sebelumnya g_i(x) (lapisan ke-i). Fungsi ini pada umumnya mengolah sebuah vektor untuk kemudian diubah ke nilai skalar melalui komposisi *nonlinear weighted sum,* di mana f(x) = K(\sum_i w_i g_i(x)), K merupakan fungsi khusus yang sering disebut dengan fungsi aktivasi dan w merupakan beban atau *weight*.

## Jenis
JST kini telah berkembang menjadi beragam teknik yang secara signifikan mendorong kemajuan di berbagai bidang. Tipe yang paling dasar memiliki satu atau lebih elemen yang statis atau tetap, seperti jumlah unit, jumlah lapisan, bobot unit, dan arsitekturnya (topologi). Sementara itu, tipe dinamis memungkinkan satu atau lebih elemen tersebut untuk berubah dan beradaptasi melalui proses pembelajaran. Meskipun tipe dinamis ini jauh lebih kompleks, tipe ini berpotensi mempercepat waktu pembelajaran dan memberikan hasil yang superior. Selain itu, ada JST yang membutuhkan pembelajaran "terawasi" (*supervised*) oleh operator, sementara jenis lainnya mampu beroperasi secara mandiri. Terakhir, beberapa tipe JST dirancang untuk bekerja sepenuhnya dalam hardware, sementara tipe yang lain berupa software murni dan dijalankan pada komputer umum (*general purpose*).

Beberapa terobosan meliputi:

* Jaringan saraf konvolusional (*Convolutional Neural Networks* - CNN) yang terbukti sangat berhasil dalam memproses data visual dan data dua dimensi lainnya;  di mana memori jangka pendek panjang (*Long Short-Term Memory* - LSTM) menghindari masalah gradien menghilang (*vanishing gradient problem*)  dan dapat menangani sinyal yang memiliki campuran komponen frekuensi rendah dan tinggi, membantu pengenalan ucapan dengan kosakata besar,  sintesis teks-ke-ucapan (*text-to-speech*), [162][163][164] dan kepala berbicara yang tampak *photo-real*. [165] *Convolutional Neural Networks* juga telah diterapkan pada deteksi penipuan (*fraud detection*). [166][167]
* Jaringan kompetitif (*Competitive Networks*) seperti jaringan permusuhan generatif (*Generative Adversarial Networks* - GAN) dimana banyak jaringan (dengan struktur yang bervariasi) bersaing satu sama lain, pada tugas-tugas seperti memenangkan permainan [168] atau menipu lawan mengenai keaslian suatu *input*. [94]

## Desain jaringan
Penggunaan JST membutuhkan pemahaman tentang karakteristik JST.

* Pemilihan model: Pemilihan ini bergantung pada representasi data dan aplikasi yang digunakan. Parameter model mencakup jumlah, jenis, dan keterhubungan lapisan jaringan, serta ukuran masing-masing lapisan dan jenis koneksi (penuh, *pooling*, dll.). Model yang terlalu kompleks cenderung belajar secara perlahan.
* Algoritma pembelajaran: Terdapat banyak pertukaran (*trade-off*) di antara algoritma pembelajaran. Hampir semua algoritma akan berfungsi dengan baik jika memiliki hiperparameter yang tepat [169] untuk pelatihan pada himpunan data tertentu. Namun, memilih dan menyetel algoritma untuk pelatihan pada data yang belum pernah dilihat (*unseen data*) membutuhkan eksperimen yang signifikan.
* Ketahanan (*Robustness*): Jika model, fungsi biaya (*cost function*), dan algoritma pembelajaran dipilih dengan tepat, JST yang dihasilkan dapat menjadi tangguh (robust).
* Pencarian arsitektur saraf (*Neural Architecture Search* - NAS) menggunakan pembelajaran mesin (*machine learning*) untuk mengotomatisasi desain JST. Berbagai pendekatan NAS telah merancang jaringan yang dapat dibandingkan dengan baik dengan sistem yang dirancang secara manual. Algoritma pencarian dasarnya adalah mengajukan model kandidat, mengevaluasinya terhadap himpunan data, dan menggunakan hasilnya sebagai umpan balik untuk mengajarkan jaringan NAS. [170] Sistem yang tersedia meliputi AutoML dan AutoKeras. [171] Pustaka scikit-learn menyediakan fungsi untuk membantu membangun jaringan dalam (*deep network*) dari awal. Kemudian, jaringan dalam dapat diimplementasikan dengan TensorFlow atau Keras.
* Hiperparameter juga harus didefinisikan sebagai bagian dari desain (hiperparameter tidak dipelajari), mengatur hal-hal seperti berapa banyak neuron di setiap lapisan, laju pembelajaran (*learning rate*), langkah (*step*), *stride*, kedalaman (*depth*), bidang reseptif (*receptive field*), dan *padding* (untuk CNN), dan lain-lain. [172]

## Pemantauan dan deteksi ''Concept Drift'' pada JST
Ketika JST diterapkan dalam aplikasi dunia nyata, sifat statistik data *input* dapat berubah seiring waktu. Fenomena ini dikenal sebagai pergeseran konsep (*concept drift*) atau non-stasioneritas.

*Concept drift* dapat mengurangi akurasi prediksi dan menyebabkan keputusan yang tidak dapat diandalkan atau bias jika tidak dideteksi dan diperbaiki. Secara praktis, ini berarti akurasi model saat digunakan mungkin berbeda secara substansial dari tingkat akurasi yang diamati selama pelatihan atau *cross-validation*.

Beberapa strategi telah dikembangkan untuk memantau JST terhadap *drift* (pergeseran) dan degradasi (penurunan kualitas):

* Pemantauan berbasis kesalahan (*Error-based monitoring*): Strategi ini membandingkan prediksi saat ini dengan label kebenaran dasar (*ground-truth labels*) ketika label tersebut tersedia. Pendekatan ini secara langsung mengukur kinerja prediksi, tetapi mungkin tidak praktis ketika label tertunda atau mahal untuk diperoleh.
* Pemantauan distribusi data (*Data distribution monitoring*): Strategi ini mendeteksi perubahan dalam distribusi data *input* menggunakan uji statistik, ukuran divergensi (*divergence measures*), atau estimasi rasio kepadatan (*density-ratio estimation*).
* Pemantauan representasi (*Representation monitoring*): Strategi ini melacak distribusi *embedding* internal atau fitur lapisan tersembunyi (*hidden-layer features*). Pergeseran dalam representasi laten dapat mengindikasikan non-stasioneritas meskipun label tidak tersedia. Metode statistik seperti diagram kontrol proses statistik (*statistical process control charts*) telah diadaptasi untuk tujuan ini. [173]

## Aplikasi
Berkat kemampuannya untuk memodelkan dan mereproduksi proses nonlinier, JST telah menemukan aplikasi di banyak disiplin ilmu. Aplikasi tersebut meliputi:

* Aproksimasi fungsi, [174] atau analisis regresi, [175] (termasuk prediksi deret waktu (*time series*), aproksimasi kebugaran (*fitness approximation*), [176] dan pemodelan)

* Pemrosesan data [177] (termasuk penyaringan (*filtering*), pengelompokan (*clustering*), pemisahan sumber buta (*blind source separation*), [178] dan kompresi)
* Identifikasi sistem nonlinier [93] dan kontrol (termasuk kontrol kendaraan, prediksi lintasan, [179] kontrol adaptif, kontrol proses, dan manajemen sumber daya alam)
* Pengenalan pola (*pattern recognition*) (termasuk sistem radar, identifikasi wajah, klasifikasi sinyal, [180] deteksi hal baru (*novelty detection*), rekonstruksi 3D, [181] pengenalan objek, dan pengambilan keputusan sekuensial [182])
* Pengenalan urutan (*sequence recognition*) (termasuk pengenalan gestur, ucapan, dan teks tulisan tangan serta cetak [183])
* Analisis data sensor [184] (termasuk analisis citra)
* Robotika (termasuk pengarahan manipulator dan prostesis)
* Penambangan data (*data mining*) (termasuk penemuan pengetahuan dalam basis data)
* Keuangan [185] (seperti model *ex-ante* untuk perkiraan jangka panjang keuangan spesifik dan pasar keuangan artifisial)
* Kimia kuantum [186]
* Permainan umum (*General game playing*) [187]
* AI Generatif (*Generative AI*) [188]
* Visualisasi data
* Terjemahan mesin (*Machine translation*)
* Penyaringan jejaring sosial (*Social network filtering*) [189]
* Penyaringan *spam* surel (*E-mail spam filtering*)
* Diagnosis medis [190]

JST telah digunakan untuk mendiagnosis beberapa jenis kanker [191][192] dan untuk membedakan jalur sel kanker yang sangat invasif dari jalur sel yang kurang invasif hanya dengan menggunakan informasi bentuk sel. [193][194]

JST telah digunakan untuk mempercepat analisis keandalan infrastruktur yang rentan terhadap bencana alam [195][196] dan untuk memprediksi penurunan fondasi. [197] JST juga dapat berguna untuk mitigasi banjir dengan pemodelan curah hujan-limpasan (*rainfall-runoff*). [198] JST juga telah digunakan untuk membangun model *black-box* dalam ilmu kebumian (*geoscience*): hidrologi, [199][200] pemodelan laut dan teknik pantai, [201][202] serta geomorfologi. [203]

JST telah digunakan dalam keamanan siber (*cybersecurity*) dengan tujuan membedakan antara aktivitas yang sah dan aktivitas yang berbahaya (*malicious*). Sebagai contoh, pembelajaran mesin (*machine learning*) telah digunakan untuk mengklasifikasikan *malware* Android, [204] untuk mengidentifikasi domain milik aktor ancaman, dan untuk mendeteksi URL yang menimbulkan risiko keamanan. [205] Penelitian sedang dilakukan pada sistem JST yang dirancang untuk pengujian penetrasi (*penetration testing*), untuk mendeteksi *botnet*, [206] penipuan kartu kredit, [207] dan intrusi jaringan.

JST telah diusulkan sebagai alat untuk memecahkan persamaan diferensial parsial dalam fisika [208][209][210] dan mensimulasikan sifat-sifat sistem kuantum terbuka *many-body*. [211][212][213][214]

Dalam penelitian otak, JST telah mempelajari perilaku jangka pendek neuron individu, [215] dinamika sirkuit saraf yang muncul dari interaksi antar neuron individu, dan bagaimana perilaku dapat muncul dari modul saraf abstrak yang merepresentasikan subsistem lengkap. Penelitian mempertimbangkan plastisitas jangka panjang dan jangka pendek sistem saraf serta hubungannya dengan pembelajaran dan memori, mulai dari neuron individu hingga tingkat sistem.

JST yang dilatih untuk pengenalan objek memungkinkan untuk membuat profil minat pengguna dari gambar. [216]

Di luar aplikasi tradisional, JST semakin banyak digunakan dalam penelitian interdisipliner, seperti ilmu material. Misalnya, jaringan saraf graf (*graph neural networks* - GNN) telah menunjukkan kemampuannya dalam meningkatkan *deep learning* untuk penemuan material stabil baru dengan memprediksi total energi kristal secara efisien. Aplikasi ini menggarisbawahi kemampuan beradaptasi dan potensi JST dalam menangani masalah kompleks di luar bidang pemodelan prediktif dan kecerdasan buatan, membuka jalur baru untuk penemuan dan inovasi ilmiah. [217]

## Lihat pula

* 20Q
* Artificial life
* Autoassociation memory
* Autoencoder
* Biological neural network
* Biologically-inspired computing
* Clinical decision support system
* Connectionist expert system
* Decision tree
* Sistem pakar
* Logika Fuzzy
* Algoritme genetik
* Gnod, a Kohonen network application
* Linear discriminant analysis
* Regresi logistik
* Multilayer perceptron
* Nearest neighbor (pattern recognition)
* Jaringan saraf
* Neuroevolution, NeuroEvolution of Augmented Topologies (NEAT)
* Neural network software
* Ni1000 chip
* Jaringan saraf optik
* Particle swarm optimization
* Perceptron
* Predictive analytics
* Principal components analysis
* Regression analysis
* Simulated annealing
* Systolic array
* Systolic automaton
* Time delay neural network (TDNN)

## Daftar pustaka
* 
* 
*  Please see Chapter 3
* Bhagat, P.M. (2005) *Pattern Recognition in Industry*, Elsevier. ISBN 0-08-044538-1
* Bishop, C.M. (1995) *Neural Networks for Pattern Recognition*, Oxford: Oxford University Press. ISBN 0-19-853849-9 (hardback) or ISBN 0-19-853864-2 (paperback)
* Duda, R.O., Hart, P.E., Stork, D.G. (2001) *Pattern classification (2nd edition)*, Wiley, ISBN 0-471-05669-3
* Gurney, K. (1997) *An Introduction to Neural Networks* London: Routledge. ISBN 1-85728-673-1 (hardback) or ISBN 1-85728-503-4 (paperback)
* Haykin, S. (1999) * Neural Networks: A Comprehensive Foundation*, Prentice Hall, ISBN 0-13-273350-1
* Fahlman, S, Lebiere, C (1991). *The Cascade-Correlation Learning Architecture*, created for National Science Foundation, Contract Number EET-8716324, and Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976 under Contract F33615-87-C-1499. electronic version 
* Hertz, J., Palmer, R.G., Krogh. A.S. (1990) *Introduction to the theory of neural computation*, Perseus Books. ISBN 0-201-51560-1
* Lawrence, Jeanette (1994) *Introduction to Neural Networks*, California Scientific Software Press. ISBN 1-883157-00-5
* Masters, Timothy (1994) *Signal and Image Processing with Neural Networks*, John Wiley & Sons, Inc. ISBN 0-471-04963-8
* Ness, Erik. 2005. SPIDA-Web . *Conservation in Practice* 6(1):35-36. On the use of artificial neural networks in species taxonomy.
* Ripley, Brian D. (1996) *Pattern Recognition and Neural Networks*, Cambridge
* Smith, Murray (1993) *Neural Networks for Statistical Modeling*, Van Nostrand Reinhold, ISBN 0-442-01310-8
* Wasserman, Philip (1993) *Advanced Methods in Neural Computing*, Van Nostrand Reinhold, ISBN 0-442-00461-3

## Referensi


## Pranala luar
* Selayang pandang Algoritma Jaringan Saraf Tiruan
* Pranala Open Directory 
* Artikel tentang Jaringan Saraf Tiruan