ALGORITMA
DEEP LEARNING
PERTEMUAN KE 2 – PENGENALAN DEEP LEARNING
R P S
Aplikasi Deep Learning
04
ML VS DL
0 5
Sejarah & Konsep Dasar
01
Supervised – Unsupervised Learning
0 2
Arsitektur Deep Learning
0 3
Konsep UtamaDeep Learning
0 6
Deep Supervised Learning
(Pendekatan Modular)
0 7
Sejarah & Konsep Dasar
01
Big Data (Kumpulan data besar)
01 02 03
04 05
IoT dan Sensor untuk
menangkap semua jenis data dan menghasilkan big data
Peningkatan daya
komputasi: GPU dan CPU
Munculnya platform dan tools perangkat lunak
Kemampuan penanganan memori besar
(Zainal a. hasibuan, 2020)
Teknologi Cloud
06
Deep learning merupakan cabang dari machine learning yang semakin berkembang pesat dalam beberapa tahun terakhir.
Teknologi ini telah banyak diaplikasikan dalam berbagai bidang, mulai dari pengenalan gambar, pemrosesan bahasa alami, hingga pembuatan keputusan yang kompleks.
Deep learning mampu mempelajari fitur-fitur data dari level yang paling
sederhana hingga ke level yang sangat kompleks.
Melalui arsitektur jaringan yang dalam, deep learning dapat membangun
representasi data secara bertingkat, sehingga dapat menangkap hubungan yang lebih kaya dan abstrak.
Representasi Hirarki
Berbeda dengan machine learning konvensional yang membutuhkan fitur-fitur yang dirancang secara manual, deep learning mampu mempelajari fitur- fitur tersebut secara
otomatis dari data mentah.
Hal ini memungkinkan deep learning untuk menangani masalah yang lebih kompleks dengan lebih sedikit intervensi manusia.
Pembelajaran Otomatis
Deep learning dapat diterapkan pada dataset yang sangat besar, baik dari segi jumlah data maupun dimensi fitur. Dengan
kemampuan komputasi yang semakin meningkat, deep learning dapat dilatih pada dataset berukuran terabyte dan memberikan hasil yang lebih akurat.
Scalability
Konsep Dasar Deep Learning
⚫ Fukushima (1975), Cognitron: A self-organizing multilayered neural network, Biological Cybernetics, 20(3-4), 121–136. doi:10.1007/bf00342633
1 Kelahiran Perceptron
Konsep dasar deep learning berawal dari lahirnya perceptron, sebuah algoritma sederhana yang meniru cara kerja neuron di otak manusia. Perceptron diciptakan oleh Frank Rosenblatt pada tahun 1958, menjadi cikal bakal pengembangan jaringan saraf tiruan (artificial neural network).
2 Perkembangan Jaringan Saraf Tiruan
Pada tahun 1980-an, penelitian tentang jaringan saraf tiruan semakin pesat. Algoritma backpropagation menjadi terobosan penting dalam saraf tiruan yang lebih dalam dan kompleks.
3 Era Kebangkitan Deep Learning
Setelah hampir tiga dekade, deep learning mengalami kebangkitan pada awal 2000 awal 2000-
- an. Peningkatan kapasitas komputasi dan ketersediaan data besar
an.
besar mendorong pengembangan arsitektur jaringan saraf yang lebih dalam dan dalam dan kompleks.
Sejarah Deep Learning
Arsitektur Deep Learning
03
• Theoretician's dilemma: “Kita dapat memperkirakan fungsi apa pun sedekat yang kita inginkan dengan arsitektur dangkal. Mengapa kita memerlukan arsitektur yang mendalam?”
• Mesin kernel (dan jaringan saraf 2-lapis) bersifat “universal”.
• Deep learning machines
• Mesin dalam lebih efisien dalam merepresentasikan kelas fungsi tertentu , terutama yang terlibat dalam pengenalan visual.
• Mereka dapat mewakili fungsi yang lebih kompleks dengan lebih sedikit
“perangkat keras”
arsitektur yang mendalam?
• Arsitektur yang mendalam menukar ruang dengan waktu (atau keluasan dengan kedalaman)
• Lebih banyak lapisan (lebih banyak komputasi berurutan),
• Tetapi perangkat kerasnya lebih sedikit (komputasi paralelnya lebih sedikit).
• Contoh 1: Paritas N-bit
• membutuhkan N-1 gerbang XOR dalam pohon dengan kedalaman log(N).
• Bahkan lebih mudah jika kita menggunakan gerbang ambang batas
• membutuhkan jumlah gerbang eksponensial jika kita membatasi diri pada 2 lapisan (rumus DNF dengan jumlah minterm eksponensial ).
• Contoh 2: rangkaian penjumlahan 2 bilangan biner N-bit
• Memerlukan gerbang O(N) dan lapisan O(N) yang menggunakan N penjumlah satu-bit dengan propagasi pembawa riak.
• Memerlukan banyak gerbang (beberapa polinomial dalam N) jika kita membatasi diri pada dua lapisan (misalnya Bentuk Normal Disjungtif).
[Bengio & LeCun 2007 “Scaling Learning Algorithms Towards AI”]
3 Tipe Deep Architectures
• Inisialisasi parameter secara acak Berlatih dalam mode supervised
• Biasanya dengan SGD, menggunakan backprop untuk menghitung gradien
• Digunakan dalam sebagian besar sistem praktis untuk pengenalan suara dan gambar
• Unsupervised, layerwise + supervised classifier on top
• Latih setiap lapisan tanpa pengawasan, satu demi satu
• Latih pengklasifikasi yang diawasi di atas, pertahankan lapisan lainnya tetap
• Baik bila sampel berlabel yang tersedia sangat sedikit
• Unsupervised, layerwise + global supervised fine-tuning
• Latih setiap lapisan tanpa pengawasan, satu demi satu
• Tambahkan lapisan pengklasifikasi, dan latih ulang semuanya dengan pengawasan
• Baik jika set labelnya buruk (misalnya deteksi pejalan kaki)
Jaringan Saraf Konvolusional (CNN)
CNN adalah arsitektur deep learning yang populer untuk masalah pengenalan citra. CNN memanfaatkan konsep konvolusi untuk mengekstrak fitur visual secara hierarkis, mulai dari garis sederhana hingga pola kompleks.
Jaringan Saraf Berulang (RNN)
RN N ad alah arsitektur d eep learning yang co co k untuk m enang ani d ata sekuensial, sep erti teks atau suara. RN N m am p u info rm asi ko ntekstual sehing g a d ap at m em b uat p red iksi atau m eng hasilkan o utp ut yang leb ih akurat.
Jaringan Saraf Generatif (GAN)
GAN adalah arsitektur deep learning yang terdiri dari dua model jaringan saraf yang saling bersaing, yaitu generator dan disk diskriminator. GAN mampu menghasilkan data sintetis yang mirip dengan data asli, seperti gambar atau suara.
riminator. GAN
Autoencoder
A uto enco d er ad alah arsitektur d eep learning yang d ilatih untuk m em p elajari rep resentasi d ata yang leb ih efisien.
enco d er yang m em p elajari rep resentasi d ata d an d eco d er yang m ereko nstruksi d ata asli d ari rep resentasi terseb ut.
⚫ Jaringan Syaraf Konvolusional menggunakan fungsi yang disebut konvolusi.
Konsep di baliknya adalah bahwa alih-alih menghubungkan setiap neuron dengan semua neuron berikutnya, kita menghubungkannya hanya dengan segelintir di antaranya (medan reseptif).
⚫ Dengan cara tertentu, mereka mencoba untuk mengatur jaringan umpan maju guna menghindari overfitting (ketika model hanya mempelajari data yang telah terlihat sebelumnya dan tidak dapat melakukan generalisasi), yang membuatnya sangat baik dalam mengidentifikasi hubungan spasial antara data.
⚫ RNN sangat cocok untuk data yang berkaitan dengan waktu dan digunakan dalam peramalan deret waktu. Jaringan ini menggunakan beberapa bentuk umpan balik, di mana output dikembalikan ke input. Anda dapat menganggapnya sebagai loop dari output ke input untuk meneruskan informasi kembali ke jaringan. Oleh karena itu, jaringan ini mampu mengingat data masa lalu dan menggunakan informasi tersebut dalam prediksinya.
⚫ Untuk mencapai kinerja yang lebih baik, para peneliti telah memodifikasi neuron asli menjadi struktur yang lebih kompleks seperti unit GRU dan unit LSTM . Unit LSTM telah digunakan secara luas dalam pemrosesan bahasa alami dalam tugas-tugas seperti penerjemahan bahasa, pembangkitan ucapan, sintesis teks ke ucapan.
⚫ GAN diperkenalkan pada tahun 2016 oleh Ian Goodfellow dan didasarkan pada ide yang sederhana namun elegan: Anda ingin menghasilkan data, misalnya gambar. Apa yang Anda lakukan?
⚫ Anda membangun dua model. Anda melatih model pertama untuk menghasilkan data palsu (generator) dan model kedua untuk membedakan data asli dari data palsu (diskriminator). Dan Anda menempatkan
keduanya untuk saling bersaing.
⚫ Generator menjadi semakin baik dalam pembuatan gambar, karena tujuan utamanya adalah untuk mengelabui diskriminator. Diskriminator menjadi semakin baik dalam membedakan gambar palsu dari
gambar asli, karena tujuannya adalah untuk tidak tertipu. Hasilnya adalah kita sekarang memiliki data palsu yang sangat realistis dari diskriminator.
⚫ Autoencoder sebagian besar digunakan sebagai algoritma tanpa pengawasan dan kasus penggunaan utamanya adalah pengurangan dan kompresi dimensionalitas.
Triknya adalah mereka mencoba membuat output sama dengan input. Dalam karya lain, mereka mencoba merekonstruksi data.
⚫ Terdiri dari encoder dan decoder. Encoder menerima input dan mengodekannya
dalam ruang laten berdimensi lebih rendah. Decoder mengambil vektor tersebut dan mendekodenya kembali ke input asli.
10 top Deep Learning Algorithms
⚫ Convolutional Neural Networks (CNNs). CNN adalah algoritma pembelajaran mendalam yang memproses data grid terstruktur seperti gambar. CNN telah berhasil dalam tugas klasifikasi gambar, deteksi objek, dan pengenalan wajah.
⚫ Recurrent Neural Networks (RNNs) RNN dirancang untuk mengenali pola dalam rangkaian data, seperti deret waktu atau bahasa alami. RNN mempertahankan status tersembunyi yang menangkap informasi tentang masukan sebelumnya.
⚫ Long Short-Term Memory Networks (LSTMs) LSTM adalah jenis RNN khusus yang mampu mempelajari ketergantungan jangka panjang. LSTM dirancang untuk menghindari masalah ketergantungan jangka panjang, sehingga lebih efektif untuk tugas-tugas seperti pengenalan ucapan dan prediksi deret waktu.
⚫ Generative Adversarial Networks (GANs) GAN menghasilkan data realistis dengan melatih dua jaringan saraf dalam lingkungan yang kompetitif. GAN telah digunakan untuk membuat gambar, video, dan audio yang realistis.
⚫ Transformer Networks Transformer merupakan tulang punggung banyak model NLP modern . Mereka memproses data input menggunakan self-attention, yang memungkinkan paralelisasi dan penanganan dependensi jarak jauh yang lebih baik.
⚫ Autoencoders Autoencoder adalah model pembelajaran tanpa pengawasan untuk tugas-tugas seperti kompresi data, penghilangan derau, dan pembelajaran fitur. Model ini belajar mengodekan data ke dalam representasi berdimensi lebih rendah dan kemudian mendekodekannya kembali ke data asli
⚫ Deep Belief Networks (DBNsDBN adalah model generatif yang terdiri dari beberapa lapisan variabel laten stokastik. DBN digunakan untuk ekstraksi fitur dan pengurangan dimensionalitas.
⚫ Deep Q-Networks (DQNs) DQN menggabungkan deep learning dengan Q-learning , algoritma reinforcement learning, untuk menangani lingkungan dengan ruang status berdimensi tinggi. DQN telah berhasil diterapkan pada tugas-tugas seperti bermain gim video dan mengendalikan robot.
⚫ Variational Autoencoders (VAEs). VAE adalah model generatif yang menggunakan inferensi variasional untuk menghasilkan titik data baru yang mirip dengan data pelatihan. VAE digunakan untuk tugas generatif dan deteksi anomali .
⚫ Graph Neural Networks (GNNs) GNN menggeneralisasi jaringan syaraf ke data berstruktur grafik. GNN digunakan untuk analisis jaringan sosial, analisis struktur molekuler, dan sistem rekomendasi.
Memaksimalkan kinerja data tidak terstruktur dalam aplikasi atau situs web
Menghilangkan kebutuhan teknologi untuk rekayasa fitur
Memberikan tampilan output yang
jauh lebih berkualitas
Aplikasi Deep Learning
04
Natural Language Processing
APLIKASI DL
• Penerjemahan mesin
• Sentiment analysis
• Chatbots dan asisten virtual
• Ringkasan teks otomatis
• Generasi teks
01
Computer Vision
• Pengenalan objek dan wajah
• Segmentasi gambar
• Deteksi pose
• Autonomous vehicles
• Medical imaging
Speech Recognition
• Transkripsi ucapan ke teks
• Asisten suara (Siri, Alexa, Google Assistant)
• Identifikasi pembicara
• Analisis emosi dari suara
Robotika
• Persepsi visual robot
• Navigasi otonom
• Manipulasi objek
• Interaksi manusia-robot
• Pembelajaran reinforcement untuk kontrol robot
02 03
04
Contoh Deep Learning
ML VS DL
05
Perbandingan dengan Machine Learning
Arsitektur
Deep learning menggunakan arsitektur jaringan saraf yang lebih kompleks dan dalam, sedangkan machine learning konvensional umumnya menggunakan model yang lebih sederhana.
Representasi Fitur
Deep learning dapat mempelajari fitur-fitur data secara otomatis, machine learning konvensional membutuhkan ekstraksi fitur yang secara manual.
Kinerja
Deep learning cenderung memberikan kinerja yang lebih baik pada masalah masalah kompleks dengan data yang besar, sementara machine learning learning konvensional lebih cocok untuk masalah yang lebih sederhana.
Machine Learning → Deep Learning
KONSEP UTAMA DALAM DEEP LEARNING
06
Neuron Buatan
Apa itu Neuron Buatan?
Neuron buatan adalah unit komputasional sederhana yang menerima beberapa input, memprosesnya, dan menghasilkan output tunggal. Model ini berperan sebagai blok penyusun dalam jaringan saraf buatan, yang meniru cara kerja otak manusia.
Input
Data yang diterima neuron sebagai masukan, berupa angka atau sinyal.
Bobot
Nilai yang menentukan pengaruh setiap input terhadap output.
Fungsi Aktivasi
Menentukan output neuron berdasarkan kombinasi input dan bobot.
Output
Hasil proses neuron yang dapat digunakan untuk pembelajaran atau pengambilan keputusan.
Pelatihan Neuron Buatan
Proses pelatihan bertujuan untuk mengoptimalkan nilai bobot neuron agar jaringan saraf dapat melakukan tugas yang diinginkan dengan akurasi tinggi.
1 Pengumpulan Data
Mengumpulkan data pelatihan yang relevan dengan tugas yang ingin dipelajari.
2 Penentuan Fungsi Aktivasi
Memilih fungsi aktivasi yang sesuai dengan jenis data dan tugas yang dihadapi.
3 Inisialisasi Bobot
Menetapkan nilai awal untuk bobot neuron secara acak.
4 Propagasi Maju
Melakukan proses perhitungan dari input hingga output, menghasilkan prediksi.
5 Perhitungan Error
Menghitung selisih antara prediksi dan hasil yang diharapkan.
6 Propagasi Mundur
Menyesuaikan bobot neuron berdasarkan error yang terjadi.
7 Evaluasi
Mengevaluasi performa jaringan dengan data uji dan melakukan penyesuaian parameter.
Optimasi Neuron Buatan
Optimasi bertujuan untuk menemukan nilai bobot yang optimal, meminimalkan error dan meningkatkan performa jaringan.
Algoritma Deskripsi
Gradien Desenden Menyesuaikan bobot ke arah yang mengurangi error.
Momentum Mempercepat proses konvergensi
dengan mempertimbangkan momentum perubahan sebelumnya.
Adam Menggabungkan momentum dan
adaptive learning rate untuk konvergensi yang lebih cepat dan stabil.
Aplikasi Neuron Buatan
Neuron buatan telah diaplikasikan dalam berbagai bidang, menyelesaikan masalah kompleks yang sulit diatasi oleh metode tradisional.
Kendaraan Otonom
Sistem navigasi dan pengambilan keputusan untuk kendaraan otonom.
Pengenalan Wajah
Sistem keamanan, autentikasi, dan analisis wajah.
Diagnosis Medis
Deteksi dini penyakit, analisis gambar medis, dan rekomendasi pengobatan.
Perceptron
Apa itu Perceptron?
1 Unit Komputasi Dasar
Perceptron merupakan unit komputasi dasar dalam jaringan saraf buatan. Ia berfungsi
sebagai neuron sederhana yang menerima input, memprosesnya, dan menghasilkan output.
Perceptron terdiri dari sejumlah input, bobot (weights), bias, dan fungsi aktivasi.
2 Model Linier
Perceptron menggunakan model linier untuk menghitung output. Output dihitung berdasarkan kombinasi linear dari input, bobot, dan bias.
Model ini mampu memisahkan data dengan batas linear.
3 Pelatihan Supervised
Perceptron dilatih menggunakan pembelajaran terawasi (supervised learning). Algoritma
pembelajaran perceptron menggunakan set data pelatihan yang berisi input dan output yang benar untuk menyesuaikan bobot dan bias agar dapat memprediksi output yang benar untuk
4 Klasifikasi Biner
Perceptron awal dirancang untuk menyelesaikan masalah klasifikasi biner, yaitu
mengklasifikasikan data ke dalam dua kategori.
Misalnya, untuk mengenali apakah gambar berisi angka "0" atau "1".
• Arsitektur sederhana dalam
jaringan syaraf tiruan terdiri dari satu layer input unit (yang jumlah neuronnya sesuai dengan
banyaknya jumlah komponen dari data yang ingin dikenali) dan satu output unit
Struktur Dasar Perceptron
Input
Input merupakan data yang diterima oleh
perceptron. Input dapat berupa nilai numerik, vektor, atau representasi data lainnya. Setiap input memiliki bobot yang
terkait.
Bobot (Weights)
Bobot merupakan nilai yang dikaitkan dengan setiap input. Bobot menentukan seberapa besar pengaruh setiap input terhadap output.
Bobot ini akan diubah selama proses pelatihan.
Bias
Bias merupakan nilai konstan yang
ditambahkan ke hasil perhitungan linear. Bias membantu menyesuaikan titik potong garis pemisah yang dibuat oleh
perceptron. Bias juga akan diubah selama
Kelebihan dan Kekurangan Perceptron
Perceptron memiliki beberapa keunggulan dan kelemahan.
Kelebihan
• Sederhana dan mudah dipahami.
• Efisien untuk masalah klasifikasi linier.
Kekurangan
• Tidak dapat menyelesaikan masalah non-linier.
• Rentan terhadap data yang tidak seimbang.
Fungsi Aktivasi Perceptron
Fungsi Linear
Hasil perhitungan linear dari input, bobot, dan bias diubah menjadi output menggunakan fungsi aktivasi. Fungsi aktivasi ini menentukan apakah perceptron akan aktif atau tidak.
Fungsi Step
Perceptron awal menggunakan fungsi aktivasi step. Fungsi step menghasilkan output "1"
jika hasil perhitungan linear lebih besar dari nol, dan menghasilkan output
"0" jika hasil perhitungan linear kurang dari nol.
Fungsi Sigmoid
Fungsi aktivasi sigmoid adalah fungsi kontinu yang menghasilkan output antara 0 dan 1.
Fungsi ini menghasilkan output yang lebih halus dibandingkan dengan fungsi step dan
digunakan dalam berbagai aplikasi.
Pembelajaran Perceptron
• Pembelajaran dengan perceptron memiliki asumsi bahwa prosedur pembelajaran terbukti untuk mengarahkan bobot menjadi konvergen. Perbedaan mendasar dengan Hebb net
adalah pada perceptron terdapat error pada input pattern yang dilatihkan, maka bobot akan berubah sesuai dengan formula
w i (new) = w i (old) + tx i
• dan jika tidak terdapat error maka nilai bobot tidak akan
berubah, atau dengan kata lain bahwa bobot hanya berubah mengikuti kondisi tertentu.
Perceptron
Algoritma
Langkah 0 Inisialisasi semua bobot dan bias
Untuk kemudahan, set bobot dan bias = 0 Set learning rate ( 0 1) Untuk kemudahan, set =1 Langkah 1
selama kondisi stop tidak terpenuhi, lakukan langkah 2 – 6 Langkah 2
untuk setiap pasangan vektor input dan target output , s : t, lakukan langkah 3 – 5
Langkah 3 Set aktivasi input :
xi = si , Langkah 4 Hitung output :
y_in = b + i xi wi
Perceptron
Algoritma
y = 1 jika y_in >
0 jika - y_in -1 jika y_in <
Langkah 5 update nilai bobot dan bias jika terjadi error If y t
wi (new) = wi (old) + tx i b (new) = b (old) + t else
wi (new) = wi (old) b (new) = b (old) Langkah 6 Tes kondisi stop
Jika tidak ada bobot yang berubah pada step 2, maka stop,
Multilayer Perceptron
Multi-Layer Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung.
Neuron-neuron tersebut disusun dalam lapisan- lapisan yang terdiri dari satu lapisan input (input layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer).
Lapisan input menerima sinyal dari luar, kemudian melewatkannya ke lapisan tersembunyi pertama, yang akan diteruskan sehingga akhirnya mencapai lapisan output.
Multilayer Perceptron
Tidak ada batasan banyaknya hidden layer dan jumlah neuron pada setiap layernya.
Setiap neuron pada input layer terhubung dengan setiap neuron pada hidden layer. Demikian juga, setiap neuron pada hidden layer terhubung ke setiap neuron pada output layer.
Setiap neuron, kecuali pada layer input, memiliki input tambahan yang disebut bias.
Bilangan yang diperlihatkan pada gambar di atas digunakan untuk mengidentifikasi setiap node pada masing-masing layer.
Multilayer Perceptron
Kemudian, jaringan dilatih agar keluaran jaringan sesuai dengan pola pasangan masukan-target yang telah ditentukan.
Proses pelatihan adalah proses iteratif untuk menentukan bobot-bobot koneksi antara neuron yang paling optimal.
Kata back propagation yang sering dikaitkan pada MLP merujuk pada cara bagaimana gradien perubahan bobot dihitung.
Jaringan MLP yang sudah dilatih dengan baik akan memberikan keluaran yang masuk akal jika diberi
Tahapan Dalam Penyelesaian Masalah Menggunakan Metode jst Multilayer
Percepteron
Identifikasi masalah
• 🞑 Tahap ini merupakan identifikasi masalah yang hendak diselesaikan dengan jaringan syaraf tiruan, meliputi identifikasi jenis dan jumlah masukan serta keluaran pada jaringan.
Menyiapkan training data set
• 🞑 Training data set merupakan kumpulan pasangan data masukan-keluaran berdasarkan pengetahuan yang telah dikumpulkan sebelumnya.
• 🞑 Banyaknya data set harus mencukupi dan dapat mewakili setiap kondisi yang hendak diselesaikan. Terbatasnya data set akan menyebabkan akurasi jaringan menjadi rendah.
Inisialisasi dan pembentukan jaringan
• 🞑 Tahap inisialisasi meliputi penentuan topologi, pemilihan fungsi aktivasi, dan pemilihan fungsi pelatihan jaringan.
• 🞑 Penentuan topologi adalah penentuan banyaknya hidden layer dan penentuan jumlah neuron pada input layer, hidden layer dan output layer.
Tahapan Dalam Penyelesaian Masalah Menggunakan Metode jst Multilayer
Percepteron
Simulasi jaringan
• 🞑 Simulasi jaringan dilakukan untuk melihat keluaran jaringan berdasarkan masukan, bobot neuron dan fungsi aktivasinya.
Pelatihan/training jaringan
• 🞑 Sebelum melakukan pelatihan, dilakukan penentuan parameter training terlebih dahulu, seperti penentuan jumlah iterasi, learning rate, error yang diijinkan. Setelah itu dilakukan pelatihan yang merupakan proses iteratif untuk menentukan bobot koneksi antar neuron.
Menggunakan jaringan untuk pengenalan pola
• 🞑 Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk pengenalan pola.
Kemampuan jaringan dalam mengenal pola sangat bergantung dari bagaimana jaringan tersebut dilatih.
Konsep Dasar
Backpropagation
Backpropagation adalah metode penurunan gradien untuk meminimalkan kuadrat error keluaran.
Ada tiga tahap yang harus dilakukan dalam pelatihan jaringan, yaitu :
• Tahap perambatan maju (forward propagation)
• Tahap perambatan-balik,
• Tahap perubahan bobot dan bias.
Backpropagation
Arsitektur jaringan ini terdiri dari input layer, hidden layer dan output layer seperti
Algoritma Backpropagation
Output aktual
Output target
+
-
LAPISAN OUTPUT
Tahap Umpan Maju
LAPISAN TERSEMBUNYI Tahap pemropagasi-
balikan error
LAPISAN INPUT Error
z _ inj = v0j +
xiviji=1
Inisialisasi bobot (ambil nilai random yang cukup kecil).
Selama kondisi berhenti bernilai salah, kerjakan :
• 🞑 Tahap Perambatan Maju (forward propagation)
a) Setiap unit input (Xi, i=1,2,3,...,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semuaunit pada lapisan tersembunyi.
b) Setiap unit tersembunyi (Zi, j=1,2,3,...,p) menjumlahkan bobot sinyal input dengan persamaan berikut:
• n
Algoritma Backpropagation
p
y _ ink = w0k +
ziwjki=1
Algoritma Backpropagation
◼ Dan menerapkan fungsi aktivasi untuk menghitung sinyal outputnya :
◼ zj = f(z_inj)
◼ Biasanya fungsi aktivasi yang digunakan adalah fungsi sigmoid.
◼ Kemudian mengirimkan sinyal tersebut ke semua unit output.
c) Setiap unit output (Yk, k=1,2,3,...,m) menjumlahkan bobot sinyal input
Algoritma Backpropagation
◼ Dan menerapkan fungsi aktivasi untuk menghitung
◼ sinyal outputnya : yk = f(y_ink)
d) Setiap unit output (Yk, k=1,2,3,...,m) menerima pola target yang sesuai dengan pola input pelatihan, kemudian hitung error dengan persamaan berikut:
◼ k = (tk– yk) f’(y_ink)
◼ f ‘ adalah turunan dari fungsi aktivasi
◼ kemudian hitung koreksi bobot dengan persaamaan berikut:
◼
w
jk=
kz
j◼ Dan menghitung koreksi bias dengan persamaan berikut :
◼
w
0k=
k◼ Sekaligus mengirimkan
k ke unit-unit yang ada di lapisan paling kanan. _ inj =
m kwjk k=1• Untuk menghitung informasi error, kalikan nilai ini dengan turunan dari fungsi aktivasinya:
• j= _inj f’(z_inj)
• Kemudian hitung koreksi bobot dengan persamaan berikut:
• vjk = j xi
koreksi bias dengan persamaan
• Setelah itu hitung juga berikut:
Algoritma Backpropagation
e) Setiap unit tersembunyi (Zj, j=1,2,3,...,p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan di kanannya)
Tahap Perubahan Bobot dan Bias
f) Setiap unit output (Yk, k=1,2,3,...,m) dilakukan perubahan bobot dan bias (j=0,1,2,...,p) dengan persamaan berikut
◼ wjk(baru) = wjk(lama) + Δwjk
◼ Setiap unit tersembunyi (Zj, j=1,2,3,...,p) dilakukan perubahan bobot dan bias (i=0,1,2,...,n) dengan persamaan berikut:
◼ vij(baru) = vij(lama) + Δvij
g) Tes kondisi berhenti
Arsitektur Backpropagation
Arsitektur backpropagation terdiri dari beberapa lapisan neuron.
Input Layer Menerima data masukan.
Hidden Layer Melakukan proses transformasi
data.
Output Layer Memberikan hasil prediksi.
Proses Pelatihan Backpropagation
Proses pelatihan backpropagation melibatkan beberapa langkah.
Forward Propagation
Menghitung output berdasarkan input dan bobot.
Perhitungan Error
Menghitung selisih antara prediksi dan nilai sebenarnya.
Backward Propagation
Menyebarkan error ke belakang untuk mengoptimalkan bobot.
Penyesuaian Bobot
Mengubah bobot berdasarkan error untuk meningkatkan akurasi.
Kelebihan dan Kekurangan Backpropagation
Backpropagation memiliki beberapa keunggulan dan kekurangan.
Kelebihan
Dapat melatih jaringan saraf yang kompleks.
Meningkatkan akurasi prediksi.Beradaptasi dengan berbagai jenis data.
Kekurangan
Rentan terhadap overfitting.
Membutuhkan banyak data pelatihan.
dalam Algoritma
Deep Learning
ILUSTRASI FUNGSI AKTIVASI
JENIS FUNGSI AKTIVASI
KLASIK
• Linear
• Sigmoid
• Tanh
MODERN
• ReLu
• Leaky ReLu
• ELU
• Softmax
GRAFIK FUNGSI AKTIVASI
Hardlimiter Purelinear
Sigmoid
a=f(n)
KEGUNAAN AKTIVASI
Untuk pengambilan keputusan biasanya digunakan Hardlimit
Untuk pengenalan pola/jaringan back propagation biasanya digunakan sigmoid Untuk prediksi/a proksimasi linear
biasanya digunakan linear
Fungsi Aktivasi Linier
Fungsi aktivasi linier adalah fungsi yang paling sederhana, di mana outputnya merupakan perkalian linear dari inputnya.
1 Rumus
f(x) = x
2 Keuntungan
Perhitungan yang mudah dan efisien.
3 Kekurangan
Tidak dapat mempelajari hubungan non-linear.
4 Contoh
Pada jaringan saraf regresi linear.
Fungsi Aktivasi Sigmoid
Fungsi aktivasi sigmoid memetakan output neuron ke dalam rentang antara 0 dan 1, yang seringkali digunakan untuk representasi probabilitas.
1 Rumus
f(x) = 1 / (1 + exp(-x))
2 Keuntungan
Output ternormalisasi dalam rentang 0 sampai 1.
3 Kekurangan
Kemiringan gradien mendekati nol pada nilai input yang besar,
menyebabkan masalah vanishing gradient.
4 Contoh
Dalam klasifikasi biner, di mana output mewakili probabilitas kelas.
Fungsi Aktivasi Tanh
Fungsi aktivasi Tanh (Hyperbolic Tangent) memetakan output neuron ke dalam rentang antara -1 dan 1.
1 Rumus
f(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))
2 Keuntungan
Output terpusat di sekitar nol, mengurangi masalah
vanishing gradient.
3 Kekurangan
Masih rentan terhadap vanishing gradient pada nilai input yang besar.
4 Contoh
Dalam jaringan saraf rekuren, di mana output bergantung pada input sebelumnya.
Fungsi Aktivasi ReLU
Fungsi aktivasi ReLU (Rectified Linear Unit) menghasilkan output yang sama dengan inputnya jika inputnya positif, dan nol jika inputnya negatif.
1 Rumus
f(x) = max(0, x)
2 Keuntungan
Perhitungan yang cepat dan efisien, tidak rentan terhadap vanishing gradient.
3 Kekurangan
Neuron dapat mati jika inputnya negatif,
menyebabkan informasi hilang.
4 Contoh
Dalam jaringan saraf
konvolusional, di mana ReLU membantu menjaga
informasi spasial.
Fungsi Aktivasi ELU
Fungsi Aktivasi ELU (Exponential Linear Unit) adalah variasi lain dari ReLU yang mengatasi masalah neuron "mati" dengan menggunakan fungsi eksponensial untuk nilai input negatif. ELU memiliki kemiringan yang sama dengan ReLU untuk input positif, tetapi menghasilkan nilai negatif kecil untuk input negatif, sehingga mencegah neuron menjadi "mati".
Kelebihan
Mempromosikan pembelajaran yang lebih
Kekurangan
Komputasi lebih mahal dibandingkan
Penggunaan
Jaringan saraf rekuren (RNN), pengenalan
Fungsi Aktivasi Leaky ReLU
Fungsi aktivasi Leaky ReLU mengatasi masalah neuron yang mati pada ReLU dengan memberikan output kecil untuk input negatif.
1
Rumusf(x) = max(0.01x, x)
2
KeuntunganMeningkatkan
stabilitas dan kinerja model deep learning.
3
KekuranganParameter α
(kemiringan untuk input negatif) harus dipilih dengan hati-
4
ContohDalam jaringan saraf konvolusional untuk pengenalan objek.
Fungsi Aktivasi Softmax
Fungsi Aktivasi Softmax adalah fungsi non-linear yang digunakan untuk memetakan vektor input ke dalam distribusi probabilitas, di mana semua nilai output berjumlah 1. Fungsi ini biasanya digunakan dalam lapisan output jaringan saraf untuk masalah klasifikasi multi-kelas, di mana model perlu memprediksi probabilitas dari setiap kelas yang mungkin.
Kelebihan
Output mewakili probabilitas dari setiap kelas, memungkinkan interpretasi hasil yang
Kekurangan
Komputasi yang mahal, terutama untuk jumlah kelas yang besar.
Penggunaan
Klasifikasi multi-kelas, pemrosesan bahasa alami.
Pemilihan Fungsi Aktivasi yang Tepat
Pemilihan fungsi aktivasi yang tepat sangat penting untuk kinerja model deep learning. Tidak ada fungsi aktivasi yang terbaik secara universal, dan pemilihan terbaik akan bergantung pada jenis data, arsitektur model, dan tujuan pembelajaran. Beberapa faktor yang perlu dipertimbangkan saat memilih fungsi aktivasi meliputi:
• Jenis data yang digunakan
• Arsitektur jaringan saraf
• Tujuan pembelajaran (klasifikasi, regresi, dll.)
• Komputasi dan kompleksitas
Fungsi aktivasi merupakan elemen penting dalam algoritma deep learning yang memungkinkan model untuk mempelajari representasi data yang kompleks dan membuat prediksi yang akurat.
Fungsi Aktivasi Keuntungan Kekurangan
Linier Sederhana dan efisien. Tidak dapat mempelajari hubungan non-linear.
Sigmoid Output ternormalisasi
dalam rentang 0 sampai 1.
Rentan terhadap vanishing gradient.
Tanh Output terpusat di sekitar
nol.
Masih rentan terhadap vanishing gradient.
ReLU Cepat dan efisien, tidak
rentan terhadap vanishing gradient.
Neuron dapat mati jika inputnya negatif.
Leaky ReLU Meningkatkan stabilitas dan kinerja model deep
Parameter α harus dipilih dengan hati-hati.
Loss Function
dalam Deep
Learning
Loss Function
Loss function adalah fungsi matematika yang mengukur kesalahan prediksi model deep learning terhadap data sebenarnya.
Menghitung Kesalahan
Loss function menghitung perbedaan antara prediksi model dan data target.
Meminimalkan Kesalahan
Tujuan utama dari proses pelatihan model deep learning adalah meminimalkan nilai loss function.
Jenis-jenis Loss Function
Terdapat berbagai jenis loss function yang dirancang untuk tugas yang berbeda.
1 Regression
Untuk tugas prediksi nilai kontinu seperti harga saham.
2 Classification
Untuk tugas klasifikasi seperti identifikasi gambar.
3 Object Detection
Untuk tugas deteksi objek pada gambar.
4 Sequence Modelling
Untuk tugas pemrosesan bahasa alami.
Mean Squared Error (MSE)
MSE menghitung rata-rata kuadrat selisih antara nilai prediksi dan nilai sebenarnya.
Rumus
MSE = ∑(y_prediksi - y_aktual)^2 / N
Kegunaan
Biasanya digunakan untuk tugas regresi seperti prediksi harga.
Cross-Entropy Loss
Cross-entropy mengukur perbedaan antara distribusi probabilitas prediksi dan distribusi probabilitas sebenarnya.
Rumus
Cross-Entropy = -∑(y_aktual * log(y_prediksi))
Kegunaan
Digunakan dalam klasifikasi multi-kelas, seperti pengenalan objek pada gambar.
Categorical Cross-Entropy
Hitung cross-entropy untuk prediksi probabilitas pada setiap kategori.
Rumus
Categorical Cross-Entropy = -∑(y_aktual * log(y_prediksi))
Kegunaan
Digunakan dalam tugas klasifikasi multi-kelas dengan output one-hot encoded.
Sparse Categorical Cross-Entropy
Mirip dengan Categorical Cross-Entropy, namun input target berupa label tunggal.
Rumus
Sparse Categorical Cross-Entropy = -∑(y_aktual * log(y_prediksi))
Kegunaan
Digunakan dalam tugas klasifikasi multi-kelas dengan input target berupa label tunggal.
Focal Loss
Focal loss dimodifikasi dari cross-entropy untuk mengatasi ketidakseimbangan kelas.
Rumus
Focal Loss = (1 - y_prediksi)^γ * -∑(y_aktual * log(y_prediksi))
Kegunaan
Digunakan dalam tugas deteksi objek dan klasifikasi gambar dengan kelas tidak seimbang.
Hubungan Loss Function dengan Optimasi
Loss function digunakan dalam optimasi model deep learning.
Gradien
Algoritma optimasi menghitung gradien dari loss function untuk menemukan arah penurunan loss.
Pembaruan Parameter
Parameter model diperbarui berdasarkan gradien loss function untuk meminimalkan kesalahan prediksi.
Contoh Implementasi Loss
Function dalam Deep Learning
Loss function dapat diterapkan menggunakan framework deep learning seperti TensorFlow dan PyTorch.
Definisi Model
Tentukan jenis model deep learning yang akan digunakan.
Kompilasi Model
Pilih loss function yang sesuai dengan tugas.
Pelatihan Model
Latih model dengan data dan optimasi berdasarkan loss function.
Hyperparameter dalam Deep
Learning
Apa Itu Hyperparameter?
Parameter vs Hyperparameter
Parameter adalah variabel yang dipelajari oleh model selama pelatihan. Mereka mewakili bobot dan bias yang
menentukan hubungan antara input dan output. Hyperparameter, di sisi lain,
Contoh Hyperparameter
Beberapa contoh hyperparameter
termasuk tingkat pembelajaran (learning rate), jumlah lapisan tersembunyi (hidden layers), fungsi aktivasi (activation
function), dan ukuran batch (batch size).
Peran Penting
Hyperparameter berperan penting dalam menentukan kinerja model. Mereka memengaruhi kecepatan konvergensi, akurasi, dan generalisasi model.
Menyesuaikan hyperparameter dengan
Jenis-jenis Hyperparameter
1 Hyperparameter Arsitektur
Jenis ini menentukan struktur model, seperti jumlah lapisan, jumlah neuron per lapisan, dan jenis lapisan. Misalnya, dalam jaringan saraf konvolusional,
hyperparameter arsitektur meliputi ukuran filter (filter size), jumlah filter (number of filters), dan langkah (stride).
2 Hyperparameter Optimasi
Hyperparameter ini mengontrol proses pelatihan model, seperti tingkat pembelajaran, momentum, dan fungsi kerugian. Hyperparameter ini
memengaruhi bagaimana model mempelajari parameternya dari data pelatihan.
3 Hyperparameter Regulasi
Hyperparameter ini digunakan untuk mencegah overfitting, di mana model mempelajari data pelatihan terlalu baik dan gagal menggeneralisasi pada data baru.
Contohnya adalah regularisasi L1 dan L2, yang menambahkan penalti pada parameter model.
4 Hyperparameter Data
Hyperparameter ini terkait dengan data pelatihan, seperti ukuran batch, ukuran dataset, dan metode augmentasi data.
Mereka memengaruhi bagaimana data pelatihan digunakan dalam proses pelatihan.
Pengaruh Hyperparameter pada Kinerja Model
Akurasi
Hyperparameter yang tepat dapat meningkatkan akurasi model. Misalnya, meningkatkan jumlah lapisan
tersembunyi atau neuron dapat
meningkatkan kemampuan model untuk mempelajari pola yang kompleks, tetapi juga dapat menyebabkan overfitting.
Kecepatan Konvergensi
Tingkat pembelajaran memengaruhi kecepatan konvergensi model. Tingkat pembelajaran yang terlalu tinggi dapat menyebabkan model "melompat" di atas minimum global, sedangkan tingkat pembelajaran yang terlalu rendah dapat menyebabkan konvergensi yang lambat.
Generalisasi
Hyperparameter dapat memengaruhi kemampuan model untuk
menggeneralisasi pada data baru.
Overfitting dapat terjadi jika model terlalu kompleks atau dilatih pada data pelatihan terlalu lama. Regulasi dapat membantu mengatasi masalah ini.
Teknik Optimasi Hyperparameter
1 Pencarian Grid (Grid Search)
Teknik ini melibatkan pencarian sistematis melalui ruang hyperparameter dengan mengevaluasi kinerja model pada berbagai kombinasi nilai hyperparameter. Ini merupakan pendekatan yang komprehensif tetapi bisa memakan waktu lama untuk model yang kompleks.
2 Pencarian Acak (Random Search)
Teknik ini memilih kombinasi hyperparameter secara acak dari ruang hyperparameter, yang lebih efisien daripada pencarian grid, terutama untuk ruang hyperparameter yang besar.
3 Optimasi Bayesian (Bayesian Optimization)
Teknik ini menggunakan pendekatan statistik untuk membangun model probabilistik dari fungsi objektif, yang kemudian digunakan untuk memilih kombinasi hyperparameter yang paling mungkin mengarah pada kinerja model yang optimal.
4 Pencarian Berbasis Gradien (Gradient-Based Search)
Teknik ini menggunakan algoritma gradien untuk mencari kombinasi hyperparameter yang optimal. Namun, pendekatan ini hanya dapat digunakan jika fungsi objektif dapat dibedakan terhadap hyperparameter.
Hyperparameter untuk Jaringan Saraf Konvolusional
Hyperparameter Deskripsi Pengaruh
Ukuran Filter Lebar dan tinggi filter konvolusional. Filter yang lebih besar dapat menangkap pola yang lebih
luas, tetapi mengharuskan lebih banyak komputasi. Filter yang lebih kecil dapat menangkap detail lokal.
Jumlah Filter Jumlah filter dalam setiap lapisan konvolusional. Jumlah filter yang lebih banyak dapat meningkatkan kemampuan model untuk mempelajari pola yang kompleks, tetapi juga dapat meningkatkan kompleksitas komputasi.
Langkah Jumlah pixel yang dilompati oleh filter pada setiap
langkah.
Langkah yang lebih besar dapat mengurangi jumlah komputasi, tetapi dapat kehilangan detail lokal.
Hyperparameter untuk Recurrent Neural Network
Jumlah Lapisan
Jumlah lapisan tersembunyi dalam RNN dapat memengaruhi kemampuan model untuk mempelajari pola temporal yang kompleks. Lebih banyak lapisan dapat menangkap dependensi jangka panjang yang lebih kompleks, tetapi juga meningkatkan kompleksitas komputasi.
Jumlah Neuron
Jumlah neuron per lapisan tersembunyi memengaruhi kemampuan model untuk mewakili informasi. Lebih banyak neuron memungkinkan model untuk mempelajari representasi yang lebih kompleks.
Fungsi Aktivasi
Fungsi aktivasi yang digunakan dalam sel RNN memengaruhi bagaimana model memproses informasi. Fungsi aktivasi yang berbeda memiliki karakteristik yang berbeda, memengaruhi kemampuan model untuk mempelajari pola temporal.
Ukuran Jendela (Window Size)
Ukuran jendela menentukan jumlah langkah waktu sebelumnya yang dipertimbangkan oleh model.
Jendela yang lebih besar dapat menangkap dependensi jangka panjang, tetapi juga meningkatkan kompleksitas komputasi.
Model
Jumlah Lapisan Attention
Jumlah lapisan attention dalam transformer memengaruhi kemampuan model untuk menangkap interaksi yang kompleks antara kata-kata dalam suatu kalimat. Lebih banyak lapisan attention dapat menangkap interaksi yang lebih kompleks, tetapi juga meningkatkan kompleksitas komputasi.
Jumlah Head Attention
Jumlah head attention per lapisan attention menentukan jumlah sub-attention yang dilakukan oleh model. Lebih banyak head attention dapat menangkap aspek yang berbeda dari interaksi kata, tetapi juga meningkatkan kompleksitas komputasi.
Dimensi Embedding
Dimensi embedding menentukan jumlah dimensi yang digunakan untuk merepresentasikan setiap kata. Dimensi embedding yang lebih tinggi dapat menangkap informasi yang lebih kompleks tentang
Tingkat Dropout
Tingkat dropout menentukan probabilitas neuron yang dinonaktifkan selama pelatihan untuk mencegah overfitting. Tingkat dropout yang lebih tinggi dapat mengurangi overfitting, tetapi juga
Studi Kasus: Optimasi Hyperparameter pada Proyek Anda
Bayangkan Anda sedang membangun model Deep Learning untuk klasifikasi gambar. Anda telah memilih arsitektur model, tetapi perlu menentukan hyperparameter yang optimal. Anda dapat menggunakan teknik pencarian grid, pencarian acak, atau optimasi Bayesian untuk mencari kombinasi hyperparameter yang optimal. Anda juga dapat menggunakan teknik validasi silang (cross-validation) untuk menilai kinerja model pada berbagai
kombinasi hyperparameter.
Setelah menemukan kombinasi hyperparameter yang optimal, Anda dapat melatih model dengan hyperparameter tersebut dan mengevaluasi
kinerjanya pada dataset uji. Anda dapat mengulangi proses ini jika Anda merasa kinerja model dapat ditingkatkan lebih lanjut.
Deep Supervised Learning (Pendekatan Modular)
07
Multimodule systems: Cascade
–Mesin pembelajaran yang
kompleks dapat dibangun dengan merakit modul menjadi jaringan –Contoh sederhana: arsitektur
umpan maju berurutan/berlapis (cascade)
–Forward Propagation:
– Setiap modul adalah sebuah objek
– Berisi parameter yang dapat dilatih – Input adalah argumen Output
dikembalikan, tetapi juga disimpan secara internal
– Contoh: 2 modul m1, m2
– Torch7 (by hand)
– hid = m1:forward(in) – out = m2:forward(hid)
– Torch7 (menggunakan kelas nn.Sequential )
– model = nn.Sequential() – model:add(m1)
– model:add(m2)
Computing gradien dalam multi-layer systems
–Untuk melatih sistem multi-modul, kita harus menghitung gradien E terhadap semua parameter dalam sistem (semua W i ).
–Mari kita pertimbangkan modul I yang metode fpropnya menghitung X i = F i (X i-1 , W i ).
–Mari kita asumsikan bahwa kita sudah tahu , dengan kata lain, untuk setiap komponen vektor X i , kita tahu seberapa besar E akan bergerak jika kita menggerakkan komponen X i
multi-layer systems
– Turunan terhadap vektor kolom adalah vektor garis (dimensi):
– (dimensions:
– Kita mungkin lebih suka menulis persamaan tersebut dengan vektor kolom:
Untuk menghitung semua turunannya, kita menggunakan sapuan mundur yang disebut algoritma back-propagation yang menggunakan persamaan rekursif untuk
– – – – –
– …… dst , hingga kita mencapai modul pertama.
– Sekarang kita memiliki semuanya
Implementasi
–Backpropagation melalui modul
– Berisi parameter yang dapat dilatih – Input adalah argumen Gradien
terhadap input dikembalikan.
– Argumen adalah input dan gradien terhadap output
–Torch7 (by hand)
– hidg = m2:backward(hid,outg) – ing = m1:backward(in,hidg)
–Torch7 (using the nn.Sequential c