Beranda Topics Apa itu Convolutional Neural Network? Apa itu convolutional neural network?
Jelajahi solusi neural networks IBM Berlangganan pembaruan AI
Ilustrasi dengan kolase piktogram awan, diagram lingkaran, piktogram grafik
Apa itu convolutional neural network?

Jaringan neural konvolusi menggunakan data tiga dimensi untuk klasifikasi gambar dan tugas pengenalan objek.

Jaringan neural adalah bagian dari machine learning, dan merupakan inti dari algoritma pembelajaran mendalam. Jaringan ini terdiri dari lapisan node, yang terdiri atas sebuah lapisan input, satu atau lebih lapisan tersembunyi, dan lapisan output. Node saling terhubung satu sama lain serta memiliki bobot dan ambang batas yang terkait. Jika output dari setiap node individu berada di atas nilai ambang batas yang ditentukan, node itu diaktifkan, data dikirim ke lapisan jaringan berikutnya. Jika tidak, tidak ada data yang diteruskan ke lapisan jaringan berikutnya.

Meskipun kami utamanya berfokus pada jaringan feedforward dalam artikel tersebut, ada berbagai jenis jaringan saraf, yang digunakan untuk berbagai contoh penggunaan dan tipe data. Contohnya, neural networks tiruan biasanya digunakan untuk pemrosesan bahasa alami dan pengenalan suara, sedangkan neural network konvolusi (ConvNets atau CNN) lebih sering digunakan untuk tugas-tugas klasifikasi dan visi komputer. Sebelum CNN, untuk mengidentifikasi objek dalam gambar digunakan metode ekstraksi fitur yang dilakukan secara manual dan memakan waktu. Namun, neural networks konvolusi kini menghadirkan pendekatan yang lebih terukur untuk tugas klasifikasi gambar dan pengenalan objek, yang memanfaatkan prinsip-prinsip aljabar linier, khususnya perkalian matriks, untuk mengidentifikasi pola di dalam gambar. Meskipun demikian, model ini bisa jadi sangat banyak persyaratannya secara komputasi, sehingga membutuhkan unit pemrosesan grafis (GPU) untuk melatih model.

Penyimpanan data untuk AI

Temukan manfaat mengintegrasikan strategi data lakehouse ke dalam arsitektur data Anda, yang mencakup peningkatan untuk meningkatkan skala AI dan peluang pengoptimalan biaya.

Konten terkait

Baca panduan untuk para pemimpin data

Bagaimana cara kerja convolutional neural network?

Convolutional neural network dibedakan dari jaringan saraf lainnya berdasarkan kinerja superiornya pada input gambar, ucapan, atau sinyal audio. CNN memiliki tiga jenis lapisan utama, yaitu:

  • Lapisan konvolusi
  • Lapisan penyatuan (pooling)
  • Lapisan yang sepenuhnya terhubung (FC-fully connected)

Lapisan konvolusi adalah lapisan pertama dari convolutional network. Meskipun lapisan konvolusional dapat diikuti oleh lapisan konvolusional tambahan atau lapisan penyatuan, lapisan yang terhubung penuh adalah lapisan terakhir. Pada setiap lapisannya, kompleksitas CNN meningkat, untuk mengidentifikasi bagian gambar yang lebih besar. Lapisan awal fokus pada fitur sederhana, seperti warna dan tepi. Ketika data gambar maju melewati lapisan-lapisan CNN, lapisan mulai mengenali elemen atau bentuk objek yang lebih besar hingga akhirnya mengidentifikasi objek yang dimaksud.

Lapisan konvolusi

Lapisan konvolusional adalah blok bangunan inti dari CNN, dan di sinilah terjadinya sebagian besar komputasi. Ini memerlukan beberapa komponen, yaitu data input, filter, dan peta fitur. Mari asumsikan inputnya adalah gambar berwarna, yang terdiri atas matriks piksel dalam bentuk 3D. Ini artinya akan ada tiga dimensi pada input akan memiliki tiga dimensi—tinggi, lebar, dan kedalaman—yang sesuai dengan RGB dalam gambar. Kita juga memiliki detektor fitur, juga dikenal sebagai kernel atau filter, yang akan bergerak melintasi bidang reseptif gambar, memeriksa apakah fitur tersebut ada. Proses ini dikenal sebagai konvolusi.

Detektor fitur adalah susunan berat dua dimensi (2-D), yang merepresentasikan bagian gambar. Meskipun ukurannya bisa bervariasi, tetapi ukuran filter biasanya berupa matriks 3x3; hal ini juga menentukan ukuran bidang reseptif. Filter kemudian diterapkan ke area gambar, dan dot product dihitung antara piksel input dan filter. Dot product ini kemudian dimasukkan ke dalam output array. Setelahnya, filter bergeser satu langkah, mengulangi prosesnya sampai kernel menyapu seluruh gambar. Hasil akhir dari serangkaian dot product dari input dan filter dikenal sebagai peta fitur, peta aktivasi, atau convolved feature.

Perhatikan, bahwa bobot dalam detektor fitur tetap tetap saat bergerak melintasi gambar, yang juga dikenal sebagai pembagian parameter. Beberapa parameter, seperti nilai bobot, menyesuaikan selama pelatihan melalui proses backpropagation dan gradient descent. Namun, ada tiga hiperparameter yang memengaruhi ukuran volume output yang perlu ditetapkan sebelum pelatihan neural networks dimulai. Ini termasuk:

1.  Jumlah filter memengaruhi kedalaman output. Misalnya, tiga filter berbeda akan menghasilkan tiga peta fitur yang berbeda, menciptakan kedalaman tiga. 

2. Langkah adalah jarak, atau jumlah piksel, yang dipindahkan kernel pada matriks input. Meskipun nilai langkah dua atau lebih besar jarang terjadi, langkah yang lebih besar akan menghasilkan output yang lebih kecil.

3. Zero-padding biasanya digunakan ketika filter tidak sesuai dengan gambar input. Ini mengatur semua elemen yang berada di luar matriks input ke nol, menghasilkan output yang lebih besar atau berukuran sama. Ada tiga jenis padding:

  • Padding yang valid: Ini juga dikenal sebagai tanpa padding. Dalam hal ini, konvolusi terakhir dihilangkan jika dimensi tidak sejajar.
  • Padding yang sama: Padding ini memastikan bahwa lapisan output memiliki ukuran yang sama dengan lapisan input.
  • Padding penuh: Jenis padding ini meningkatkan ukuran output dengan menambahkan angka nol ke batas input.

Setelah setiap operasi konvolusi, CNN menerapkan transformasi Rectified Linear Unit (ReLU) pada peta fitur, memperkenalkan nonlinieritas pada model.

Lapisan konvolusi tambahan

Seperti yang kami sebutkan sebelumnya, lapisan konvolusi lain dapat mengikuti lapisan konvolusi awal. Ketika ini terjadi, struktur CNN dapat menjadi hirarkis karena lapisan yang lebih baru dapat melihat piksel di dalam bidang reseptif lapisan sebelumnya.  Contohnya, mari asumsikan bahwa kita sedang mencoba menentukan apakah suatu gambar berisi sepeda. Anda dapat menganggap sepeda sebagai penjumlahan dari bagian-bagian. Yang terdiri dari rangka, setang, roda, pedal, dan lain-lain. Setiap bagian dari sepeda membentuk pola tingkat yang lebih rendah dalam neural networks, dan kombinasi bagian-bagiannya mewakili pola tingkat yang lebih tinggi, yang menciptakan hierarki fitur dalam CNN. Pada akhirnya, lapisan konvolusi mengubah gambar menjadi nilai numerik, yang memungkinkan neural networks untuk menafsirkan dan mengekstrak pola yang relevan.

Lapisan penyatuan (pooling)

Lapisan penyatuan (pooling layer), juga dikenal sebagai downsampling, melakukan reduksi dimensi, mengurangi jumlah parameter dalam input. Serupa dengan lapisan konvolusional, operasi penyatuan menyapu filter di seluruh input, tetapi bedanya adalah filter ini tidak memiliki berat apa pun. Sebaliknya, kernel menerapkan fungsi agregasi pada nilai-nilai dalam bidang reseptif, mengisi output array. Ada dua jenis utama penyatuan:

  • Penyatuan maks: Saat filter bergerak melintasi input, filter memilih piksel dengan nilai maksimum untuk dikirim ke output array. Sebagai tambahan, pendekatan ini cenderung lebih sering digunakan dibandingkan dengan penyatuan rata-rata.
  • Penyatuan rata-rata: Saat filter bergerak melintasi input, filter menghitung nilai rata-rata dalam bidang reseptif untuk dikirim ke output array.

Meski banyak informasi yang hilang di lapisan penyatuan, itu juga memiliki sejumlah manfaat bagi CNN. Hal ini membantu mengurangi kompleksitas, meningkatkan efisiensi, dan membatasi risiko overfitting. 

Lapisan yang Terhubung Penuh

Nama lapisan yang terhubung penuh dengan tepat menggambarkan lapisan itu sendiri. Seperti disebutkan sebelumnya, nilai piksel dari gambar input tidak terhubung langsung ke lapisan output di lapisan yang terhubung sebagian. Namun, pada lapisan yang terhubung penuh, setiap node pada lapisan output terhubung langsung ke node di lapisan sebelumnya.

Lapisan ini melakukan tugas klasifikasi berdasarkan fitur yang diekstraksi melalui lapisan sebelumnya dan filter yang berbeda. Sementara lapisan konvolusional dan penyatuan cenderung menggunakan fungsi ReLu, lapisan FC biasanya memanfaatkan fungsi aktivasi softmax untuk mengklasifikasikan input dengan tepat, menghasilkan probabilitas dari 0 hingga 1.

Jenis-jenis convolutional neural network

Kunihiko Fukushima dan Yann LeCun meletakkan dasar penelitian seputar neural networks konvolusi dalam karya mereka pada tahun 1980 (tautan berada di luar IBM) dan "Backpropagation Applied to Handwritten Zip Code Recognition" pada tahun 1989. Yang lebih tersohor, Yann LeCun berhasil menerapkan backpropagation untuk melatih neural networks untuk mengidentifikasi dan mengenali pola dalam serangkaian kode pos tulisan tangan. Ia melanjutkan penelitiannya bersama timnya sepanjang 1990-an, yang berpuncak pada "LeNet-5", yang menerapkan prinsip-prinsip yang sama dari penelitian sebelumnya untuk pengenalan dokumen. Sejak saat itu, sejumlah varian arsitektur CNN telah muncul dengan diperkenalkannya dataset baru, seperti MNIST dan CIFAR-10, dan kompetisi, seperti ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Beberapa dari arsitektur lain ini meliputi:

  • AlexNet  (tautan berada di luar ibm.com)
  • VGGnet  (tautan berada di luar ibm.com)
  • GoogleNet (tautan berada di luar ibm.com)
  • ResNet  (tautan berada di luar ibm.com)
  • ZFNet

Namun, LeNet-5 dikenal sebagai arsitektur CNN klasik.

Convolutional neural network dan visi komputer

Jaringan neural konvolusi mendukung pengenalan gambar dan tugas-tugas visi komputer. Visi komputer adalah bidang kecerdasan buatan (AI) yang memungkinkan komputer dan sistem untuk memperoleh informasi yang berarti dari gambar digital, video, dan input visual lainnya, dan berdasarkan input tersebut komputer dapat mengambil tindakan. Kemampuan untuk memberikan rekomendasi inilah yang membedakannya dari tugas pengenalan gambar. Beberapa aplikasi umum dari visi komputer ini saat kini dapat dilihat di bidang:

  • Pemasaran: Platform media sosial memberikan saran mengenai siapa saja yang mungkin ada di dalam foto yang telah diposting di profil, sehingga lebih mudah untuk menandai teman di album foto. 
  • Perawatan Kesehatan: Visi komputer telah dimasukkan ke dalam teknologi radiologi, sehingga memungkinkan dokter untuk mengidentifikasi tumor kanker dengan lebih baik dalam anatomi yang sehat.
  • Ritel: Pencarian visual telah dimasukkan ke dalam beberapa platform e-commerce, yang memungkinkan merek merekomendasikan barang-barang yang akan melengkapi isi lemari baju yang sudah ada.   
  • Otomotif: Meskipun era mobil tanpa pengemudi belum sepenuhnya tiba, teknologi yang mendasarinya sudah mulai masuk ke dalam mobil, meningkatkan keselamatan pengemudi dan penumpang lewat berbagai fitur seperti deteksi garis lajur.
Solusi terkait
IBM SPSS Neural Networks

IBM SPSS Neural Networks dapat membantu Anda menemukan hubungan yang kompleks dan mendapatkan nilai yang lebih besar dari data Anda.

Jelajahi IBM SPSS Neural Networks
IBM® Watson Studio

Bangun dan skalakan AI tepercaya di cloud apa pun. Otomatiskan siklus hidup AI untuk ModelOps.

Pelajari tentang IBM Watson Studio
Resources Convolutional neural network dengan Python

Gunakan Python untuk mengimplementasikan jaringan sederhana yang mengklasifikasikan digit tulisan tangan

Pengantar convolutional neural network

Jelajahi berbagai langkah yang dilakukan demi menciptakan neural networks konvolusi.

Doubly convolutional neural networks

Dalam makalah ini, penelitian IBM mengusulkan bahwa doubly convolutional neural network (DCNN), sanggup secara signifikan meningkatkan kinerja CNN.

Mempelajari Convolutional Neural Networks dengan Deep Part Embeddings

Peneliti IBM mengusulkan konsep baru Deep Part Embeddings (DPEs), yang dapat digunakan untuk mempelajari Convolutional Neural Networks (CNNs) baru untuk kelas yang berbeda.

Melatih model deteksi objek YOLOv8 dengan Python

Menyempurnakan model deteksi objek terlatih.

Ambil langkah selanjutnya

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Jelajahi watsonx.ai Pesan demo langsung