Introduction to Neural Network

Datasans
5 min readApr 6, 2023

--

Neural Network (Jaringan Saraf) adalah metode komputasi yang terinspirasi dari cara kerja otak manusia. Dalam neural network, komputasi dilakukan oleh kumpulan unit kecil yang disebut neuron, yang saling terhubung dan membentuk lapisan-lapisan yang disebut layer. Neural network telah diterapkan di berbagai bidang seperti pengenalan gambar, pemrosesan bahasa alami, dan prediksi keuangan. Dalam artikel ini, kita akan membahas konsep dasar neural network, termasuk jenis-jenisnya dan cara kerja mereka.

https://www.investopedia.com/terms/n/neuralnetwork.asp

Konsep Dasar Neural Network

Neuron

Neuron adalah unit dasar dari neural network. Neuron menerima input dari neuron-neuron lain atau dari input eksternal, dan menghasilkan output berdasarkan fungsi aktivasi tertentu.

https://www.researchgate.net/figure/Comparison-between-biological-neuron-and-artificial-neuron-40_fig4_351372032

Input yang diterima oleh neuron diberi bobot (weight) tertentu, yang menentukan seberapa penting input tersebut bagi neuron. Output neuron dihitung dengan menjumlahkan semua input yang diberi bobot dan diaplikasikan pada fungsi aktivasi. Bobot dapat dianggap sebagai parameter yang dipelajari oleh neural network selama proses pelatihan (training).

Layer
Neuron-neuron dalam sebuah neural network biasanya dibagi menjadi beberapa lapisan (layer). Ada tiga jenis layer yang umum digunakan: input layer, hidden layer, dan output layer.

https://www.researchgate.net/figure/An-example-of-a-deep-neural-network-with-two-hidden-layers-The-first-layer-is-the-input_fig6_299474560

Input layer adalah lapisan pertama dari neural network yang menerima input eksternal. Jumlah neuron dalam input layer sama dengan jumlah fitur pada data input. Misalnya, jika data input berupa gambar berukuran 28x28 piksel, maka input layer akan terdiri dari 784 neuron (28x28).

Hidden layer adalah lapisan yang terletak di antara input layer dan output layer. Hidden layer dapat memiliki banyak neuron, dan jumlah hidden layer yang digunakan tergantung pada kompleksitas masalah yang ingin dipecahkan. Hidden layer adalah tempat di mana “pemrosesan” terjadi, yaitu input diubah menjadi representasi yang lebih abstrak oleh neuron-neuron dalam hidden layer.

Output layer adalah lapisan terakhir dari neural network, yang menghasilkan output berdasarkan representasi yang dihasilkan oleh hidden layer. Jumlah neuron dalam output layer tergantung pada jenis masalah yang ingin dipecahkan. Misalnya, jika masalah yang ingin dipecahkan adalah klasifikasi gambar menjadi 10 kategori, maka output layer akan terdiri dari 10 neuron.

Fungsi Aktivasi

Fungsi aktivasi adalah fungsi matematis yang digunakan untuk menghitung output sebuah neuron berdasarkan input yang diterima. Fungsi aktivasi biasanya tidak linear, sehingga memungkinkan neural network untuk memodelkan hubungan yang kompleks antara input dan output.

https://stats.stackexchange.com/questions/263768/can-a-perceptron-with-sigmoid-activation-function-perform-nonlinear-classificati

Ada beberapa jenis fungsi aktivasi yang umum digunakan dalam neural network:

  • Sigmoid: fungsi sigmoid menghasilkan output dalam rentang 0 hingga 1. Fungsi ini digunakan untuk masalah klasifikasi biner.
  • ReLU (Rectified Linear Unit): fungsi ReLU menghasilkan output yang sama dengan input jika inputnya positif, dan menghasilkan output 0 jika inputnya negatif. Fungsi ini digunakan untuk masalah regresi dan klasifikasi.
  • Tanh (Hyperbolic Tangent): fungsi tanh menghasilkan output dalam rentang -1 hingga 1. Fungsi ini sering digunakan pada lapisan hidden karena bisa menghasilkan representasi yang simetris terhadap nilai 0.

Backpropagation

Backpropagation adalah algoritma yang digunakan untuk menghitung gradien (derivative) loss function terhadap bobot-bobot dalam neural network. Backpropagation merupakan salah satu teknik yang penting dalam proses pelatihan neural network.

https://www.analyticsvidhya.com/blog/2023/01/gradient-descent-vs-backpropagation-whats-the-difference/

Proses pelatihan neural network terdiri dari beberapa tahap:

  • Feedforward: input diberikan ke input layer, dan output dihitung dengan propagasi nilai input melalui hidden layer ke output layer.
  • Perhitungan error: error dihitung dengan membandingkan output yang dihasilkan oleh neural network dengan nilai target (ground truth).
  • Backpropagation: gradien loss function dihitung terhadap semua bobot dalam neural network, dan nilai bobot diperbarui dengan menggunakan gradien tersebut melalui algoritma optimisasi seperti stochastic gradient descent (SGD).
  • Proses berhenti: pelatihan dihentikan ketika tercapai kriteria berhenti, misalnya ketika error sudah cukup kecil atau jumlah iterasi sudah mencapai batas maksimum.

Jenis-Jenis Neural Network

Feedforward Neural Network

Feedforward Neural Network (FFNN) adalah jenis neural network yang paling sederhana dan paling banyak digunakan. FFNN terdiri dari input layer, beberapa hidden layer, dan output layer. Input diberikan ke input layer, dan output dihasilkan melalui propagasi nilai input melalui hidden layer ke output layer. FFNN sering digunakan untuk masalah klasifikasi dan regresi.

Convolutional Neural Network

Convolutional Neural Network (CNN) adalah jenis neural network yang dirancang khusus untuk memproses data gambar dan video. CNN menggunakan filter (kernel) untuk melakukan konvolusi pada data gambar, sehingga memungkinkan neural network untuk mengenali pola-pola visual seperti tepi, sudut, dan bentuk objek. CNN terdiri dari beberapa layer, termasuk lapisan konvolusi (convolution layer), lapisan pooling (pooling layer), dan lapisan fully connected (FC) yang mirip dengan FFNN.

Recurrent Neural Network

Recurrent Neural Network (RNN) adalah jenis neural network yang dirancang untuk memproses data berurutan, seperti teks dan suara. RNN menggunakan memori internal (hidden state) untuk menyimpan informasi dari input sebelumnya, dan menghasilkan output berdasarkan input dan memori internal tersebut. RNN sering digunakan untuk masalah pemrosesan bahasa alami (natural language processing) dan pengenalan suara.

Generative Adversarial Network

Generative Adversarial Network (GAN) adalah jenis neural network yang dirancang untuk membangkitkan data baru dari data yang sudah ada. GAN terdiri dari dua bagian: generator dan discriminator. Generator membangkitkan data baru berdasarkan distribusi data latih, sementara discriminator mencoba membedakan antara data yang asli dan data yang dibangkitkan oleh generator. Proses pelatihan GAN dilakukan secara iteratif, di mana generator dan discriminator saling bersaing hingga generator mampu menghasilkan data yang cukup realistis dan sulit dibedakan dari data asli.

Autoencoder

Autoencoder adalah jenis neural network yang dirancang untuk melakukan kompresi data dengan menghasilkan representasi yang lebih ringkas dari data asli. Autoencoder terdiri dari encoder yang mengubah data asli menjadi representasi ringkas, dan decoder yang mengubah representasi tersebut kembali ke data asli. Autoencoder sering digunakan untuk melakukan reduksi dimensi data dan menghapus noise pada data.

Aplikasi Neural Network

Neural network memiliki banyak aplikasi di berbagai bidang, seperti:

Computer Vision

Neural network digunakan dalam computer vision untuk memproses data gambar dan video, seperti deteksi objek, pengenalan wajah, dan pengenalan aksi. CNN adalah jenis neural network yang paling banyak digunakan dalam computer vision.

Natural Language Processing

Neural network digunakan dalam natural language processing untuk memproses data teks dan suara, seperti terjemahan otomatis, analisis sentimen, dan pengenalan suara. RNN dan transformer adalah jenis neural network yang paling banyak digunakan dalam natural language processing.

Autonomous Driving

Neural network digunakan dalam autonomous driving untuk memproses data dari sensor-sensor seperti kamera dan lidar, dan menghasilkan output berupa keputusan pengemudi seperti mengemudi, memperlambat, atau berhenti. CNN dan RNN adalah jenis neural network yang paling banyak digunakan dalam autonomous driving.

Finansial

Neural network digunakan dalam finansial untuk memprediksi harga saham, deteksi penipuan, dan pengambilan keputusan investasi. FFNN adalah jenis neural network yang paling banyak digunakan dalam finansial.

--

--

Datasans
Datasans

Written by Datasans

All things about data science that are discussed “sans ae”, data sains? sans lah…

No responses yet