24 – Neural Konvolusional
Jaringan
IF4073 Interpretasi dan Pengolahan Citra
Referensi
• Sebagian besar materi di dalam PPT ini diambil dari tugas matematika, antara lain:
a ) https://www.mathworks.com/help/deeplearning/ug/deep-learning-in-
matlab.html
b) https://www.mathworks.com/discovery/convolutional-neural-network-
matlab.html
• Beberapa slide juga diambil dari materi kuliah deep learning tentang CNN
2
Machine Translated by Google
Pembelajaran Mendalam
• Pembelajaran mendalam (deep learning) adalah jenis pembelajaran mesin
(machine learning) yang dalam hal ini model belajar untuk melakukan tugas
klasifikasi langsung dari gambar, teks, atau suara.
3
Machine Translated by Google
4
Machine Translated by Google
Visi Komputer
• Salah satu kegunaan pembelajaran mendalam adalah di dalam
computer vision
Klasifikasi Gambar Transfer Gaya Neural
Kucing? (0/1)
64x64
Deteksi objek
Kumpulan data seperti ImageNet, COCO, PASCAL VoC tersedia secara gratis,
dan berguna untuk melatih berbagai jenis objek.
6
Machine Translated by Google
7
Machine Translated by Google
Model seperti AlexNet dapat dibor ulang untuk melakukan tugas pengenalan baru
menggunakan teknik yang disebut pembelajaran transfer (transfer learning).
Sementara AlexNet dibor pada 1,3 juta gambar beresolusi tinggi untuk mengenali
1000 objek berbeda, pembelajaran transfer yang akurat dapat dicapai dengan jauh
lebih cepat.
8
Machine Translated by Google
• CNN dapat disebut juga jaringan syaraf tiruan yang melibatkan konvolusi
(CNN = ANN + konvolusi)
13
Machine Translated by Google
Lapisan Penggabungan
Perlengkapan latihan
Lilitan Penggabungan
Lapisan Konvolusional
• Melakukan operasi konvolusi pada masukan citra dengan sejumlah penapis. tiap
penapis menghasilkan luaran yang disebut feature map
16
Machine Translated by Google
tepi vertikal
tepi horizontal
Sumber gambar: Bahan kuliah Deep Learning
19
Machine Translated by Google
• Pada dasarnya ReLU adalah operasi per-piksel dengan cara mengganti nilai piksel
negatif di dalam feature map menjadi nol.
20
Machine Translated by Google
Lapisan Penggabungan
• Hal ini berguna untuk mengurangi daya komputasi yang diperlukan untuk
memproses data melalui pengurangan dimensi
6. ZFNet
7.dll
Machine Translated by Google
Sumber: Matematika 31
Machine Translated by Google
32
Machine Translated by Google
33
Machine Translated by Google
34
Machine Translated by Google
35
Machine Translated by Google
Lapisan Input Gambar imageInputLayer adalah tempat Anda menentukan ukuran gambar, yang dalam hal ini adalah 28-kali- 28-
oleh-1. Angka-angka ini sesuai dengan tinggi, lebar, dan ukuran saluran. Data digit terdiri dari gambar skala abu-abu,
sehingga ukuran saluran (saluran warna) adalah 1. Untuk gambar berwarna, ukuran saluran adalah 3, sesuai
dengan nilai RGB. Anda tidak perlu mengacak data karena trainNetwork, secara default, mengacak data di awal
pelatihan. trainNetwork juga dapat mengacak data secara otomatis di awal setiap periode selama pelatihan.
Lapisan Konvolusional Pada lapisan konvolusional, argumen pertama adalah filterSize, yang merupakan tinggi dan
lebar filter yang digunakan fungsi pelatihan saat memindai sepanjang gambar. Dalam contoh ini, angka 3 menunjukkan
bahwa ukuran filter adalah 3-kali-3. Anda dapat menentukan ukuran berbeda untuk tinggi dan lebar filter.
Argumen kedua adalah jumlah filter, numFilters, yang merupakan jumlah neuron yang terhubung ke wilayah masukan
yang sama. Parameter ini menentukan jumlah peta fitur. Gunakan pasangan nama-nilai 'Padding' untuk menambahkan
padding ke peta fitur masukan. Untuk lapisan konvolusional dengan langkah default 1, padding 'sama' memastikan
bahwa ukuran keluaran spasial sama dengan ukuran masukan. Anda juga dapat menentukan langkah dan kecepatan
pembelajaran untuk lapisan ini menggunakan argumen pasangan nama-nilai dari convolution2dLayer.
Lapisan Normalisasi Batch Lapisan normalisasi batch menormalkan aktivasi dan gradien yang menyebar melalui
jaringan, membuat pelatihan jaringan menjadi masalah pengoptimalan yang lebih mudah. Gunakan lapisan
normalisasi batch antara lapisan konvolusional dan nonlinier, seperti lapisan ULT, untuk mempercepat pelatihan
jaringan dan mengurangi sensitivitas terhadap inisialisasi jaringan. Gunakan batchNormalizationLayer untuk
36
membuat lapisan normalisasi batch.
Machine Translated by Google
Lapisan ReLU Lapisan normalisasi batch diikuti oleh fungsi aktivasi nonlinier. Fungsi aktivasi yang paling umum
adalah unit linier yang diperbaiki (ReLU). Gunakan reluLayer untuk membuat lapisan ReLU.
Max Pooling Layer Lapisan konvolusional (dengan fungsi aktivasi) terkadang diikuti dengan operasi pengambilan
sampel bawah yang mengurangi ukuran spasial peta fitur dan menghilangkan informasi spasial yang berlebihan.
Pengambilan sampel bawah memungkinkan peningkatan jumlah filter di lapisan konvolusional yang lebih dalam tanpa
meningkatkan jumlah komputasi yang diperlukan per lapisan. Salah satu cara down-sampling adalah menggunakan
max pooling, yang Anda buat menggunakan maxPooling2dLayer. Lapisan pengumpulan maksimal mengembalikan nilai
maksimum wilayah masukan berbentuk persegi panjang, yang ditentukan oleh argumen pertama, poolSize. Pada
contoh ini, luas daerah persegi panjang adalah [2,2]. Argumen pasangan nama-nilai 'Stride' menentukan ukuran
langkah yang diambil fungsi pelatihan saat memindai sepanjang input.
Lapisan Terhubung Sepenuhnya Lapisan konvolusional dan pengambilan sampel bawah diikuti oleh satu atau lebih
lapisan yang terhubung sepenuhnya. Seperti namanya, lapisan terhubung penuh adalah lapisan di mana neuron-
neuron terhubung ke semua neuron di lapisan sebelumnya. Lapisan ini menggabungkan semua fitur yang dipelajari oleh
lapisan sebelumnya di seluruh gambar untuk mengidentifikasi pola yang lebih besar. Lapisan terakhir yang
terhubung sepenuhnya menggabungkan fitur untuk mengklasifikasikan gambar. Oleh karena itu, parameter OutputSize
di lapisan terakhir yang terhubung sepenuhnya sama dengan jumlah kelas dalam data target. Dalam contoh ini, ukuran
keluarannya adalah 10, sesuai dengan 10 kelas. Gunakan fullConnectedLayer untuk membuat lapisan yang terhubung sepenuhnya.
37
Machine Translated by Google
Lapisan Softmax Fungsi aktivasi softmax menormalkan output dari lapisan yang terhubung sepenuhnya.
Output dari lapisan softmax terdiri dari bilangan positif yang berjumlah satu, yang kemudian dapat digunakan
sebagai probabilitas klasifikasi oleh lapisan klasifikasi. Buat lapisan softmax menggunakan fungsi
softmaxLayer setelah lapisan terakhir yang terhubung sepenuhnya.
Lapisan Klasifikasi Lapisan terakhir adalah lapisan klasifikasi. Lapisan ini menggunakan probabilitas yang
dikembalikan oleh fungsi aktivasi softmax untuk setiap masukan untuk menetapkan masukan ke salah satu kelas yang
saling eksklusif dan menghitung kerugiannya. Untuk membuat lapisan klasifikasi, gunakan classificationLayer.
38
Machine Translated by Google
Setelah menentukan struktur jaringan, tentukan opsi pelatihan. Melatih jaringan menggunakan penurunan
gradien stokastik dengan momentum (SGDM) dengan kecepatan pemelajaran awal 0,01. Tetapkan jumlah
maksimum epoch menjadi 4. Epoch adalah siklus pelatihan penuh pada seluruh kumpulan data pelatihan.
Pantau keakuratan jaringan selama pelatihan dengan menentukan data validasi dan frekuensi validasi.
Acak data setiap periode. Perangkat lunak ini melatih jaringan pada data pelatihan dan menghitung keakuratan
data validasi secara berkala selama pelatihan. Data validasi tidak digunakan untuk memperbarui bobot jaringan.
Aktifkan plot kemajuan pelatihan, dan matikan output jendela perintah.
39
Machine Translated by Google
Latih jaringan menggunakan arsitektur yang ditentukan oleh lapisan, data pelatihan, dan opsi pelatihan.
Secara default, trainNetwork menggunakan GPU jika tersedia, jika tidak, ia akan menggunakan CPU.
Pelatihan GPU memerlukan Parallel Computing Toolbox™ dan perangkat GPU yang didukung. Untuk
informasi tentang perangkat yang didukung, lihat Persyaratan Komputasi GPU (Kotak Peralatan Komputasi
Paralel). Anda juga dapat menentukan lingkungan eksekusi dengan menggunakan argumen pasangan nama-
nilai 'ExecutionEnvironment' dari trainingOptions.
Plot kemajuan pelatihan menunjukkan kehilangan dan akurasi mini-batch serta kehilangan dan akurasi
validasi. Untuk informasi selengkapnya tentang plot kemajuan pelatihan, lihat Memantau Kemajuan
Pelatihan Pembelajaran Mendalam. Kerugiannya adalah kerugian lintas entropi. Akurasi adalah persentase
gambar yang diklasifikasikan oleh jaringan dengan benar.
40
Machine Translated by Google
41
Machine Translated by Google
Prediksi label data validasi menggunakan jaringan terlatih, dan hitung akurasi validasi akhir. Akurasi
adalah sebagian kecil dari label yang diprediksi oleh jaringan dengan benar. Dalam kasus ini, lebih
dari 99% label yang diprediksi cocok dengan label sebenarnya dari kumpulan validasi.
42
Machine Translated by Google
B. Menggunakan jaringan yang ada, seperti GoogLeNet, CNN yang dilatih pada lebih dari satu juta gambar.
GoogLeNet paling umum digunakan untuk klasifikasi gambar. Ia dapat mengklasifikasikan gambar ke dalam 1000
kategori berbeda, termasuk keyboard, mouse komputer, pensil, dan peralatan kantor lainnya, serta berbagai ras
anjing, kucing, kuda, dan hewan lainnya.
43
Machine Translated by Google
44
Machine Translated by Google
45