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.
Temukan manfaat mengintegrasikan strategi data lakehouse ke dalam arsitektur data Anda, yang mencakup peningkatan untuk meningkatkan skala AI dan peluang pengoptimalan biaya.
Baca panduan untuk para pemimpin data
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 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 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:
Setelah setiap operasi konvolusi, CNN menerapkan transformasi Rectified Linear Unit (ReLU) pada peta fitur, memperkenalkan nonlinieritas pada model.
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 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:
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.
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.
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:
Namun, LeNet-5 dikenal sebagai arsitektur CNN klasik.
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:
IBM SPSS Neural Networks dapat membantu Anda menemukan hubungan yang kompleks dan mendapatkan nilai yang lebih besar dari data Anda.
Bangun dan skalakan AI tepercaya di cloud apa pun. Otomatiskan siklus hidup AI untuk ModelOps.
Gunakan Python untuk mengimplementasikan jaringan sederhana yang mengklasifikasikan digit tulisan tangan
Jelajahi berbagai langkah yang dilakukan demi menciptakan neural networks konvolusi.
Dalam makalah ini, penelitian IBM mengusulkan bahwa doubly convolutional neural network (DCNN), sanggup secara signifikan meningkatkan kinerja CNN.
Peneliti IBM mengusulkan konsep baru Deep Part Embeddings (DPEs), yang dapat digunakan untuk mempelajari Convolutional Neural Networks (CNNs) baru untuk kelas yang berbeda.
Menyempurnakan model deteksi objek terlatih.