Konsep Dasar Convolutional Neural Network (CNN)

Dengan munculnya era data besar/big data, Convolutional Neural Network (CNN) memiliki lapisan yang lebih tersembunyi dan arsitektur yang lebih kompleks. Selain itu, CNN memiliki kemampuan pembelajaran fitur dan representasi fitur yang lebih canggih.

blank

Perhatian : pembahasan ini hanyalah konsep dasar pada Convolutional Neural Network


Pengantar

Deep Learning/pembelajaran mendalam telah membuat kemajuan dan terobosan dalam pengenalan ucapan dan pengenalan gambar/video. Dengan munculnya era data besar/big data, Convolutional Neural Network (CNN) memiliki lapisan yang lebih tersembunyi dan arsitektur yang lebih kompleks. Selain itu, CNN memiliki kemampuan pembelajaran fitur dan representasi fitur yang lebih canggih. Sejak algoritma pembelajaran mendalam/Deep Learning diusulkan, Convolutional Neural Network telah mencapai kinerja yang sangat baik dalam banyak tugas pengenalan skala besar dalam visi komputer.

Desain algoritma Deep Learning mirip dengan fungsi korteks serebral manusia. Algoritma ini mewakili Deep Neural Network, yaitu jaringan Neural dengan banyak lapisan tersembunyi. Convolutional Neural Network adalah algoritma pembelajaran mendalam/Deep Learning yang dapat melatih kumpulan data besar dengan jutaan parameter dan mengambil bentuk gambar 2D sebagai masukan, kemudian menggabungkannya dengan Filter untuk menghasilkan keluaran yang diinginkan.

blank
Proses algoritma Convolutional Neural Network

Convolutional Neural Network (CNN) adalah jenis jaringan saraf yang mendominasi berbagai tugas visi komputer dan telah menarik perhatian di berbagai bidang. CNN bertujuan untuk secara otomatis dan adaptif mempelajari struktur hierarki elemen spasial dengan menggunakan propagasi mundur dari beberapa blok penyusun (seperti lapisan konvolusional, lapisan komposit, dan lapisan yang sepenuhnya terhubung).

CNN adalah konstruksi matematis, biasanya terdiri dari tiga jenis lapisan (atau blok penyusun): lapisan konvolusional, lapisan sambungan, dan lapisan yang sepenuhnya terhubung. Dua yang pertama adalah lapisan konvolusi dan penggabungan yang melakukan ekstraksi fitur, sedangkan yang ketiga adalah lapisan yang sepenuhnya terhubung memetakan fitur yang diekstraksi ke keluaran akhir, seperti klasifikasi.

Lapisan konvolusi memainkan peran kunci dalam CNN. Lapisan ini terdiri dari sekumpulan operasi matematika, seperti konvolusi, yang merupakan operasi linier khusus. Dalam gambar digital, nilai piksel disimpan dalam kisi dua dimensi (2D), yang merupakan deretan angka dan kisi parameter kecil yang disebut kernel diterapkan ke setiap Fitur lokasi dapat membuat CNN sangat efektif untuk pemrosesan gambar.

Konvolusi dalam Neural Network

blank
Ilustrasi konvolusi dalam Convolutional Neural Network

Dalam Convolutional Neural Network, konvolusi adalah operasi linier yang melibatkan penggandaan sekumpulan bobot dengan masukan, seperti jaringan saraf tradisional. Dengan asumsi bahwa teknik ini dirancang untuk masukan dua dimensi, perkalian dilakukan antara larik data masukan dan larik bobot dua dimensi (disebut filter atau kernel). Filter lebih kecil dari data masukan, dan jenis perkalian yang diterapkan antara filter dan patch warna masukan dari ukuran filter adalah perkalian titik. Produk titik adalah perkalian input dan patch berukuran filter dan elemen di antara filter, lalu jumlahnya selalu berupa nilai.

Lapisan konvolusi

Karena gambar bisa sangat besar, tidak valid untuk menggunakan setiap piksel sebagai input. Faktanya, tidak hanya perlu memasukkan setiap piksel, tetapi juga setiap nilai RGB dari setiap piksel. Oleh karena itu, sebelum menerapkan jaringan saraf tradisional ke suatu gambar, perlu melakukan pemrosesan awal dan melalui serangkaian lapisan yang muncul di awal jaringan saraf untuk mengurangi menjadi masukan yang lebih kecil. Lapisan terpenting dalam lapisan ini adalah lapisan konvolusional. Seperti namanya, lapisan konvolusional ini terdiri dari blok bangunan dasar yang disebut konvolusi. Terapkan konvolusi ke sebagian kecil gambar, buat sampel nilai piksel di area itu, lalu ubah menjadi satu piksel. Terapkan ke setiap area piksel pada gambar untuk menghasilkan gambar baru. Idenya adalah bahwa piksel dalam gambar baru menyertakan informasi tentang piksel sekitarnya untuk mencerminkan seberapa baik fitur tersebut diekspresikan di area tersebut. Konvolusi memiliki dua sifat penting yaitu size dan step size. Konvolusi berikut diterapkan pada gambar 3×3 dan langkah 1, yang memiliki ukuran 3×3 karena berjalan pada kisi 3×3 piksel. Ukuran langkahnya adalah 1 karena jarak antar daerah yang diterapkan konvolusi adalah 1. Dengan kata lain, pra-konvolusinya adalah 1 per suku. Ukuran dan ukuran langkah konvolusi menentukan ukuran gambar keluaran. Misalnya, lakukan konvolusi 3×3 dengan langkah 1 untuk mengubah gambar 5×5 menjadi gambar 3×3. Pertanyaan yang muncul adalah bagaimana konvolusi mengubah grid piksel menjadi satu piksel. pada dasarnya melewati grid piksel melalui perceptron, dengan kata lain, mendapatkan jumlah piksel input yang dibobot. Bagian kanan bawah piksel menunjukkan bobot yang diterapkan ke piksel. Pada konvolusi berikut, tidak ada bias (atau offset), tetapi seperti halnya perceptron, konvolusi biasanya juga memiliki bias.

Output dari konvolusi yang diterapkan ke input tunggal akan tetap sebagai piksel tunggal, dan output dari konvolusi yang diterapkan ke seluruh gambar 3 dimensi akan menjadi gambar 2 dimensi. Kita mungkin berpikir bahwa ini berarti gambar kehilangan kedalaman, padahal sebenarnya tidak. Faktanya, ketika gambar melewati lapisan konvolusional, kedalaman biasanya meningkat. setiap lapisan konvolusi tidak menerapkan konvolusi ke gambar. namun akan menghasilkan beberapa keluaran 2D untuk setiap konvolusi, yang ditumpuk bersama untuk menghasilkan gambar 3D baru. Oleh karena itu, kedalaman keluaran dari lapisan konvolusional adalah jumlah konvolusi yang diterapkan.

blank
Berbagai lapisan konvolusi

Normalisasi

Output dua dimensi tunggal dari kernel disebut peta fungsi atau peta aktivasi. Setelah menerapkan setiap lapisan konvolusional, fungsi aktivasi diterapkan ke keluaran 3 dimensi. Umumnya, fungsi aktivasi yang diterapkan disebut ULT atau Rectified Linear Unit Layer. Saat ini, itu adalah fungsi yang banyak digunakan yang dirancang untuk mensimulasikan kemampuan neuron biologis untuk diaktifkan atau tidak.

Lapisan penggabungan

Convolutional Network dapat menyertakan lapisan koneksi lokal atau global untuk menyederhanakan penghitungan dasar. Lapisan komposit mengurangi dimensi data dengan menggabungkan keluaran dari gabungan neuron dalam satu lapisan menjadi satu neuron di lapisan berikutnya. Selain itu, ada jenis lapisan lain yang disebut max pooling atau down sampling layer. Lapisan konvolusional tidak mengurangi ukuran gambar secara signifikan. Sebaliknya, mereka memastikan bahwa setiap piksel mencerminkan tetangganya. dapat mengurangi skala melalui konsolidasi tanpa kehilangan informasi penting. Metode umum untuk melakukan ini melibatkan penggabungan maksimal, dengan kata lain, menggunakan nilai maksimum sekelompok neuron di lapisan sebelumnya. Padahal, pooling layer maksimum memiliki ukuran dan lebar. Berbeda dengan lapisan konvolusional, lapisan ini diterapkan pada irisan kedalaman gambar dua dimensi, sehingga gambar yang dihasilkan memiliki kedalaman yang sama tetapi lebar dan tinggi lebih kecil. Ukuran lapisan komposit terbesar yang ditunjukkan di bawah ini adalah 2×2, sehingga menempati area masukan dua dimensi 2×2 dan mengeluarkan masukan maksimum yang diterimanya. Ini juga memiliki 2 langkah, setiap kali Anda harus maju 2 langkah.

blank

Fully Connected Layer

Jaringan neural yang terhubung sepenuhnya terdiri dari serangkaian lapisan yang terhubung sepenuhnya. Setiap ukuran keluaran bergantung pada masing-masing ukuran masukan. Sebagai ilustrasi, lapisan yang terhubung sepenuhnya direpresentasikan sebagai berikut

https://sds-platform-private.s3-us-east-2.amazonaws.com/uploads/74_blog_image_1.png
sds-platform-private.s3

Padding

Padding adalah istilah yang terkait dengan Convolutional Neural Network karena mengacu pada jumlah piksel yang ditambahkan ke gambar saat kernel CNN memprosesnya. Misalnya, jika padding di CNN disetel ke nol, maka nilai setiap piksel yang ditambahkan adalah nol. Namun, jika padding nol disetel ke 1, piksel yang ditambahkan ke gambar dengan nilai piksel nol akan dibatasi.

Padding bekerja dengan memperluas area tempat Deep Neural Network memproses gambar. Kernel adalah filter jaringan saraf yang dapat dipindahkan pada gambar, memindai setiap piksel dan mengubah data menjadi format yang lebih kecil atau terkadang lebih besar. Untuk membantu kernel memproses citra, sebuah bantalan ditambahkan ke bingkai citra untuk memberikan lebih banyak ruang bagi kernel untuk menutupi citra. Menambahkan padding pada citra yang diproses oleh CNN dapat melakukan analisis citra dengan lebih akurat.

blank

Deep stacking

Berbagai jenis lapisan yang dijelaskan digabungkan melalui proses penumpukan berulang yang disebut penumpukan dalam/Deep Stacking. Lapisan konvolusional dan fungsi aktivasi serta lapisan sampling tersebar pada dasarnya menggantikan lebar dan tinggi kedalaman hingga citra relatif kecil.

Kesimpulan

Kesimpulan dari artikel ini adalah bahwa Deep Learning, khususnya dalam bentuk Convolutional Neural Network (CNN), telah membuat kemajuan signifikan dalam pengenalan ucapan dan gambar/video. Dengan adanya era big data, CNN memiliki lapisan yang lebih dalam dan arsitektur yang lebih kompleks, memungkinkan pembelajaran fitur dan representasi fitur yang lebih canggih. CNN, yang merupakan jenis jaringan saraf mendalam, telah berhasil dalam berbagai tugas pengenalan skala besar dalam visi komputer, seperti klasifikasi dan deteksi objek.

Penjelasan tentang lapisan-lapisan dalam CNN, seperti lapisan konvolusional, lapisan penggabungan, lapisan yang sepenuhnya terhubung, dan normalisasi, memberikan pemahaman lebih lanjut tentang bagaimana CNN bekerja dalam memproses dan memahami data gambar. Konsep konvolusi dalam CNN dijelaskan, termasuk peran penting lapisan konvolusional dalam ekstraksi fitur dari gambar 2D.

Artikel ini juga membahas beberapa konsep seperti padding, lapisan penggabungan, dan normalisasi, yang semuanya berperan penting dalam meningkatkan kinerja CNN. Selain itu, penjelasan tentang lapisan yang sepenuhnya terhubung memberikan gambaran tentang bagaimana CNN melakukan klasifikasi berdasarkan fitur-fitur yang telah diekstraksi.

Referensi:

Yuk Gabung di Komunitas Warung Sains Teknologi!

Ingin terus meningkatkan wawasan Anda terkait perkembangan dunia Sains dan Teknologi? Gabung dengan saluran WhatsApp Warung Sains Teknologi!

Yuk Gabung!

Di saluran tersebut, Anda akan mendapatkan update terkini Sains dan Teknologi, webinar bermanfaat terkait Sains dan Teknologi, dan berbagai informasi menarik lainnya.

2 komentar untuk “Konsep Dasar Convolutional Neural Network (CNN)”

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *



Scroll to Top