Home » Machine Learning » Algoritma Deep Learning: – Arsitektur dan Cara Kerjanya

Algoritma Deep Learning: – Arsitektur dan Cara Kerjanya

by Wahyu Saputra S.Kom
by Wahyu Saputra S.Kom

Deep learning menggunakan lapisan algoritma neural network untuk menguraikan informasi ke tingkat yang lebih tinggi di lapisan lain berdasarkan inputan raw data. Misalnya, dalam aplikasi image recognition,

  • Satu lapisan dapat mengidentifikasi fitur seperti tepi yang tajam atau kontras dalam cahaya,
  • Sementara yang lain dapat mengidentifikasi bagaimana bentuk yang berbeda muncul.
  • Selanjutnya, lapisan ketiga dapat menguraikan apa yang ditunjukkan gambar.

Ini semua dicapai dengan mempelajari berbagai cara informasi dari lapisan sebelumnya disatukan untuk membentuk objek yang dapat dibedakan.

Algoritma neural network dirancang untuk mengenali pola data berdasarkan pemahaman awal tentang bagaimana otak manusia berfungsi.

Neural network dapat membantu mengelompokkan titik dalam sampel data yang besar berdasarkan kesamaan fiturnya, mengklasifikasikan data berdasarkan label dari data sebelumnya, dan mengekstrak fitur yang berbeda dari data.

Pola numerik yang dikenali jaringan ini disimpan dalam vektor yang menggambarkan input dunia nyata.

Neural network dalam dapat dianggap sebagai komponen aplikasi machine learning yang sangat penting dengan melibatkan algoritma untuk reinforcement learning, klasifikasi, dan regresi.

Deep learning menggunakan metoe self-taught learning dan algoritma yang dibangun dengan banyak lapisan tersembunyi, big data, dan sumber daya komputasi yang powerful. Kerangka kerja algoritmanya disebut neural network, sementara lapisan tersembunyi dalam jaringan disebut moniker deep learning.

Proyek Tim Google Brain dan perangkat lunak deep learning seperti TensorFlow telah memberikan traksi lebih lanjut untuk pengembangan teknik deep learning. Teknik semacam itu didasarkan pada fungsi dan parameter matematika untuk mencapai output yang diinginkan.

Arsitektur Deep Learning

Arsitektur deep learning diterapkan pada pemfilteran jejaring sosial, deteksi penipuan,pengenalan gambar dan ucapan, pengenalan audio, computer vision, pemrosesan citra medis, bioinformatics, manajemen hubungan pelanggan, dan banyak lagi bidang  yang menggunakannya.

Model deep learning ada di mana-mana, dan tim yang mampu melatih neural network untuk memberikan hasil yang mengesankan adalah salah satu profesi yang paling dicari saat ini.

Analisa big data adalah bidang yang perlahan-lahan berevolusi untuk memasukkan keahlian deep learning sebagai tidak hanya tambahan yang berharga tetapi juga sebagai kemampuan utama yang diperlukan.

Artificial Neural Network (ANN)

Konsep deep learning dimodelkan pada pola perilaku di lapisan neuron dalam neokorteks otak manusia. Umumnya, semakin banyak lapisan yang ada, semakin dalam modelnya, dan semakin tinggi kinerjanya.

Neural network adalah komposisi persepsi yang terhubung dengan cara yang berbeda dan yang beroperasi pada fungsi aktivasi yang berbeda. Persepsi adalah algoritma yang digunakan dalam metode supervised learning dari pengklasifikasi biner. Pengklasifikasi biner adalah fungsi yang memutuskan apakah input (dinyatakan sebagai vektor angka) termasuk dalam salah satu dari dua kelas.

Network Perceptrons disebut perceptron multilayer dan bisa juga disebut sebagai Artificial Neural Network (ANN).

Arsitektur deep learning yang digunakan saat ini terutama didasarkan pada ANN yang menggunakan beberapa lapisan pemrosesan nonlinear untuk ekstraksi dan transformasi fitur.

Algoritma Deep Learning

Sementara algoritma deep learning menampilkan representasi dari metode self-learning, dimana bergantung pada ANN yang mencerminkan cara otak menghitung informasi. Selama proses pelatihan, algoritma menggunakan elemen yang tidak dikenal dalam distribusi input untuk mengekstrak fitur, mengelompokkan objek, dan menemukan pola data yang berguna. Sama seperti mesin pelatihan untuk metode self-learning, hal ini terjadi di beberapa tingkat dengan menggunakan algoritma untuk membangun model.

Model deep learning memanfaatkan beberapa algoritma. Meskipun tidak ada jaringan yang dianggap sempurna, beberapa algoritma lebih cocok untuk melakukan tugas tertentu. Untuk memilih yang tepat, ada baiknya untuk kita mendapatkan pemahaman yang kuat tentang semua algoritma utama.

Berikut adalah beberapa algoritma yang digunakan dalam arsitektur deep learning:

1. Multilayer Perceptron Neural Network (MLPNN)

Apa itu : Perceptron multilayer berfungsi sebagai pengantar yang powerful untuk deep learning. Algoritma ini menggunakan metode algoritma supervised learning feed-forward dengan lebih dari dua lapisan tersembunyi untuk menghasilkan serangkaian output dari serangkaian input yang diberikan. Seperti namanya, algoritma itu terdiri dari lebih dari satu persepsi.

Cara kerjanya : Jaringan menghubungkan beberapa lapisan neuron dalam grafik yang telah diarahkan sehingga sinyal melewati node dalam satu arah.

Vektor output dihitung dari input yang diberikan dan melakukan pemilihan bobot secara acak dalam aliran komputasi feed-forward.

Model dilatih untuk mempelajari korelasi atau dependensi antara input dan output dari kumpulan data pelatihan. Kuantitas kesalahan antara apa yang harus menjadi output untuk input yang diberikan dilakukan penghitungan dan pelatihan dengan melibatkan pengaturan bobot dan bias untuk mengurangi kesalahan pada lapisan output.

Proses ini diulang untuk lapisan tersembunyi yang akan melakukan langkah mundur. Backpropagation digunakan untuk membuat bobot dan penyesuaian bias relatif terhadap kesalahan. Kesalahan itu sendiri juga dapat diukur dalam berbagai cara, termasuk dengan root-mean-squared error (RMSE).

Manfaat : MLPNN dapat mengklasifikasikan titik data yang tidak dapat disesuaikan secara linear, memecahkan masalah kompleks yang melibatkan beberapa parameter, dan menangani kumpulan data dalam jumlah yang besar dengan beberapa fitur, terutama yang tidak linear.

Studi kasus : MLPNN digunakan untuk menyelesaikan masalah yang memerlukan metode supervised learning dan pemrosesan paralel yang terdistribusi, seperti dalam contoh berikut :

  • Verifikasi dan rekonstruksi gambar
  • Pengenalan ucapan
  • Mesin terjemahan
  • Klasifikasi data
  • E-commerce, di mana banyak parameter terlibat

2. Backpropagation

Apa itu : Algoritma Backpropagation adalah fondasi neural network training.  Metode algortima supervised learning menghitung penurunan gradien dengan bobot yang diperbarui ke belakang yaitu dari output menuju input atau backpropagation.

Cara kerjanya : Awalnya, neural network terdiri dari bobot dan bias yang dikalibrasi dengan buruk untuk membaca data. Interpretasi data neural network dan dunia fisik dilakukan melalui nilai-nilai bobot dan biasnya. 

Oleh karena itu, neural network yang dikalibrasi dengan buruk menyiratkan model yang buruk. Kesalahan apa pun yang ada pada lapisan prediksi akhir dikirim kembali melalui jaringan untuk menyesuaikan bobot dan bias sehingga prediksi di masa depan memiliki nilai kesalahan yang lebih rendah.

Algoritma menghitung setiap kontribusi kesalahan neuron menggunakan teknik yang disebut aturan delta, atau optimasi turunan gradien. Berat neuron disesuaikan untuk mengurangi kesalahan pada lapisan output. Turunan gradien menyiratkan tingkat perubahan target yang ditandai sebagai Y untuk perubahan parameter yang ditandai sebagai X.

Dalam masalah ini, Y akan menjadi kesalahan yang dihasilkan dalam prediksi neural network, dan X akan mewakili berbagai parameter dalam data.

Karena ada lebih dari satu parameter, turunan parsial digunakan untuk setiap parameter. Juga, karena lapisan neural network beroperasi secara berurutan maka untuk menemukan turunan di setiap lapisan yaitu dengan cara menetapkan hubungan perubahan kesalahan pada setiap lapisan untuk parameter dibandingkan dengan lapisan sebelumnya dan berikutnya. Proses ini mirip dengan aturan rantai turunan dalam kalkulus.

Manfaat : Backpropagation memungkinkan pengembang mengetahui bagaimana titik-titik kesalahan berkontribusi pada bobot dan dapat dilatih sehingga jaringan dapat memetakan sekaligus menyesuaikan semua bobot.

Proses ini bekerja dengan baik dalam proyek-proyek yang rawan kesalahan dan dapat digunakan untuk melatih neural network lebih dalam.

Studi kasus : Backpropagation dapat digunakan dalam pengenalan gambar dan ucapan untuk meningkatkan akurasi prediksi dalam data mining dan machine learning, dan dalam proyek di mana turunan harus dihitung dengan cepat.

3. Convolutional Neural Network (CNN)

Apa itu : Convolutional Neural Network (CNN) adalah multilayer feed-forward neural network yang menggunakan persepsi untuk metode supervised learning dan untuk menganalisis data. Algoritma ini digunakan terutama dengan data visual, seperti klasifikasi gambar.

Perkembangan yang masif dalam deep learning sebagian disebabkan oleh penerapan CNN yang menarik dalam kompetisi yang diadakan pada tahun 2012.

Keberhasilan arsitektur konvolusional mendalam yang disebut AlexNet, merupakan dasar untuk ImageNet Large Scale Visual Recognition Competition (ILSVRC), adalah alasan utama mengapa dilakukan penelitian secara dipercepat dan signifikan di bidang deep learning selama beberapa tahun terakhir.

Namun, CNN tidak terbatas pada pengenalan gambar. Algoritman ini telah diterapkan secara langsung untuk analisa teks dan dapat diterapkan pada suara ketika diwakili secara visual sebagai data spektrogram dan grafik menggunakan jaringan konvolusional grafik.

Cara kerjanya : Arsitektur CNN berbeda dari neural network lainnya. Untuk lebih memahami perbedaan ini, kita dapat mempertimbangakan gambar sebagai data. Biasanya dengan computer vision, gambar diperlakukan sebagai matriks angka dua dimensi. Namun, dalam CNNs, gambar diperlakukan sebagai tensor atau matriks angka dengan dimensi tambahan. Gambar di bawah ini membantu mengilustrasikan konsep ini:

skymind

Tensor dibentuk oleh array yang bersarang dalam array, dengan bersarang tersebut berpotensi terjadi tanpa batas.

Gambar diatas khususnya diperlakukan sebagai tensor empat dimensi. Jika skalar adalah objek nol dimensi, vektor adalah satu dimensi, matriks atau koleksi vektor adalah dua dimensi, dan setumpuk matriks tersebut (digambarkan sebagai kubus) adalah tiga dimensi. Kemudian tensor empat dimensi terdiri dari beberapa objek tiga dimensi tersebut di mana setiap elemen dalam kubus memiliki setumpuk fitur peta yang melekat padanya.

skymind-2

Lapisan tersembunyi dalam CNN mengandung lapisan konvolusional, lapisan normalisasi, lapisan pooling, dan lapisan yang sepenuhnya terhubung. Dibutuhkan gambar input dengan menetapkan bobot dan bias yang signifikan ke berbagai aspek gambar adalah untuk memungkinkan diferensiasi dan menerapkan filter dengan pre-processing yang minimum.

Sementara lapisan konvolusi pertama menangkap fitur tingkat rendah, lapisan berikutnya mengekstrak fitur tingkat yang lebih tinggi, menciptakan jaringan dengan analisis gambar yang canggih dalam sekumpulan data.

Manfaat : Algoritma CNN merupakan algoritma yang efisien dan sangat mudah beradaptasi. Algoritma ini juga mudah dilatih karena ada lebih sedikit parameter pelatihan, dan dapat diukur ketika ditambah dengan backpropagation.

Studi kasus : Algoritma CNN dapat digunakan untuk :

  • Pemrosesan, pengenalan, dan Ppengklasifikasian citra
  • Pengenalan video
  • Natural language-processing
  • Pengenalan Pola
  • Mesin rekomendasi
  • Analisa citra medis

4. Recurrent Neural Network (RNN)

Apa itu : Recurrent Neural Network (RNN) dirancang untuk mengenali atribut berurutan kumpulan data dan menggunakan pola untuk memprediksi skenario kemungkinan berikutnya. Algoritma ini memiliki pendekatan yang powerful untuk memproses data berurutan seperti suara, data time-series, dan written natural language. Stochastic gradient descent (SGD) digunakan untuk melatih jaringan bersama dengan algoritma backpropagation.

Cara kerjanya : Tidak seperti jaringan tradisional, di mana input dan output independen satu sama lain, dalam RNN lapisan tersembunyi mempertahankan informasi berurutan dari langkah-langkah sebelumnya. Proses ini berarti output dari langkah sebelumnya diberi masukan sebagai input ke langkah saat ini, menggunakan bobot dan bias yang sama berulang kali untuk tujuan prediksi. Lapisan kemudian bergabung untuk membuat satu lapisan berulang.

Loop feedback ini memproses data berurutan, memungkinkan informasi untuk bertahan, seperti dalam memori, dan menginformasikan output akhir.

Jika RNN bertugas menebak huruf berikutnya dari surat masukan sebelumnya, hal itu dapat dilatih dengan memberi masukan huruf kata yang diketahui huruf demi huruf, sehingga menentukan pola yang relevan. RNN berlapis untuk memproses informasi dalam dua arah: feed-forward (untuk memproses data dari input awal ke output akhir) dan loop feedback menggunakan backpropagation (informasi looping kembali ke jaringan).

RNN berbeda dari jaringan feed-forward karena jaringan feed-forward menerima satu input dan memberikan satu output pada satu waktu. Batasan one-to-one ini tidak ada dengan RNN, yang dapat merujuk ke contoh sebelumnya untuk membentuk prediksi berdasarkan memori bawaan mereka.

Manfaat : CNN dapat mempelajari konteks dalam masalah prediksi urutan, serta memproses data berurutan dan temporal. CNN juga dapat digunakan dalam berbagai aplikasi.

Studi kasus : CNN dapat digunakan untuk :

  • Klasifikasi sentimen
  • Memberikan keterangan pada gambar
  • Pengenalan ucapan
  • Natural language processing
  • Mesin terjemahan
  • Prediksi pencarian
  • Klasifikasi video

5. Long Short-Term Memory (LSTM)

Apa itu : Long Short-Term Memory (LSTM) adalah algoritma jenis RNN yang memungkinkan jaringan berulang secara mendalam dilatih tanpa membuat gradien yang memperbarui bobot menjadi tidak stabil. Pola dapat disimpan dalam memori untuk jangka waktu yang lebih lama, dengan kemampuan untuk secara selektif memanggil kembali atau menghapus data.

Cara kerjanya : Algoritma ini menggunakan backpropagation tetapi dilatih untuk mempelajari data urutan menggunakan blok memori yang terhubung ke lapisan neuron sebaliknya. Karena informasi diproses melalui lapisan, arsitektur dapat menambahkan, menghapus, atau memodifikasi data sesuai kebutuhan.

Manfaat : Algoritma ini paling cocok untuk klasifikasi dan prediksi berdasarkan data time-series, memberikan hasil yang canggih untuk berbagai masalah. Algoritma ini memungkinkan data scientist untuk membuat model yang mendalam menggunakan jaringan bertumpuk dalam jumlah yang besar dan menangani masalah urutan yang kompleks dalam machine learning lebih efisien.

Studi kasus : LSTM sangat ideal untuk :

  • Memberikan keterangan pada gambar dan video
  • Translate Bahasa dan permodelan
  • Analisa Sentimen
  • Prediksi pasar saham

6. Generative Adversial Network (GAN)

Apa itu : Generative Adversial Network (GAN) adalah algoritma powerful yang digunakan untuk metode unsupervised learnng. Memberi sejumlah rangkaian pelatihan, jaringan secara otomatis menemukan dan mempelajari keteraturan dan pola dalam input data sehingga dapat belajar secara mandiri untuk menghasilkan data baru. Proses ini pada dasarnya dapat meniru setiap set data dengan variasi kecil.

GAN adalah arsitektur deep neural network yang terdiri dari dua jaring, beradu satu dengan yang lain, sehingga muncul istilah adversarial.

Cara kerjanya : GAN menggunakan dua submodel: generator dan diskriminator. Generator membuat contoh data baru, sementara diskriminator membedakan antara data domain yang real dan sampel palsu yang dihasilkan. Proses ini dilakukan berulang kali, sehingga membuat mereka semakin kuat dengan setiap pengulangan.

Algoritma generatif dan diskriminatif dapat diberikan dalam beberapa cara yang mendasar yaitu :

  • Algoritma diskriminatif mencoba memisahkan kumpulan data ke dalam kelas yang berbeda berdasarkan kesamaan dalam fitur mereka, seperti mengklasifikasikan email ke spam dan bukan spam. Dalam kondisi probabilitas bersyarat, Kita dapat mengatakan kemungkinan titik data adalah kelas Yi yang diberikan fitur Xi – p (y|x).
  • Algoritma generatif mencoba menentukan kemungkinan sekumpulan fitur dalam titik data yang sudah diklasifikasikan. Misalnya, email yang diklasifikasikan sebagai bukan spam akan dianalisis oleh algoritma generatif untuk mengetahui seberapa besar kemungkinan kata-kata aktual yang ada dalam email akan ada dalam pesan jenis non-spam. Dalam kondisi probabilitas bersyarat, probabilitas fitur xi yang ada untuk titik data sudah diklasifikasikan sebagai Yi – p(x|y)0.

Manfaat : GANS dapat menangkap dan menyalin variasi dalam kumpulan data tertentu, menghasilkan gambar dari kumpulan data gambar tertentu, membuat data berkualitas tinggi, dan memanipulasi data.

Studi kasus : GAN berguna untuk :

  • Cyber security
  • Diagnostik kesehatan
  • Natural language processing
  • Pemrosesan ucapan

7. Restricted Boltzmann Machine (RBM)

Apa itu : Restricted Boltzmann Machine (RBM) adalah model grafis probabilistik atau jenis neural network stochastic. Algoritma ini adalah arsitektur yang powerful untuk pemfilteran kolaboratif dan melakukan analisis faktor biner dengan komunikasi terbatas antara lapisan untuk pembelajaran yang efisien.

Cara kerjanya : Jaringan memiliki satu lapisan unit yang terlihat, satu lapisan unit tersembunyi, dan unit bias yang terhubung ke semua unit yang terlihat dan tersembunyi. Unit tersembunyi independen sebagai cara untuk memberikan sampel yang tidak bias. Neuron dalam grafik bipartit memiliki koneksi simetris. Namun, tidak ada koneksi antara node dalam grup.

Manfaat : RBM menawarkan keunggulan pembelajaran berbasis energi seperti fleksibilitas desain, berguna untuk model statistik probabilistik dan non-probabilistik, membatasi konektivitas untuk memudahkan pembelajaran, dan digunakan dengan model klasifikasi, regresi, dan generatif.

Studi kasus : RBM berguna untuk :

  • Sistem rekomendasi
  • Filtering
  • Fitur Pembelajaran 
  • Pengurangan dimensi
  • Permodelan topik

8. Deep Belief Network (BDN)

Apa itu : Deep Belief Network (DBN) adalah algoritma deep learning unsupervised probabilistik di mana jaringan memiliki model pembelajaran generatif.

Algoritma ini merupakan campuran dari jaringan grafis yang diarahkan dan tidak terarah, dengan lapisan atas RBM yang tidak terarah dan lapisan bawah diarahkan ke bawah. Algoritma ini memungkinkan untuk tahap pra-pelatihan dan jaringan feed-forward untuk tahap penghalusan.

Manfaat : DBN menawarkan pembelajaran berbasis energi dan bisa memperoleh manfaat dari data yang tidak berlabel.

Studi kasus : DBN berguna untuk :

  • Pengenalan citra dan wajah
  • Pengenalan urutan video
  • Menangkap gerakan data
  • Mengklasifikasikan data citra satelit beresolusi tinggi

You may also like