Arsitektur CNN Dasar: Menjelaskan 5 Lapisan Convolutional Neural Network [US]

Diterbitkan: 2023-04-16

CNN (Convolutional Neural Network) adalah jenis jaringan saraf pembelajaran mendalam yang menggunakan kombinasi lapisan konvolusional dan subsampling untuk mempelajari fitur dari kumpulan data yang besar. Ini biasanya digunakan untuk pengenalan gambar dan tugas klasifikasi. Lapisan convolutional menerapkan filter ke data masukan, dan lapisan subsampling mengurangi ukuran data masukan. Arsitektur Convolutional Neural Network bertujuan untuk mempelajari fitur dari data yang dapat digunakan untuk mengklasifikasikan atau mendeteksi objek pada input. Di bawah ini adalah 5 lapisan CNN yang dijelaskan .

Daftar ke Kursus Pembelajaran Mesin dari Universitas top Dunia. Dapatkan Program Master, PGP Eksekutif, atau Sertifikat Lanjutan untuk mempercepat karier Anda.

Daftar isi

5 Lapisan Jaringan Syaraf Konvolusional

1. Lapisan Konvolusional:

Lapisan ini melakukan operasi konvolusi pada data masukan, yang mengekstrak berbagai fitur dari data.

Convolutional Layers dalam arsitektur model CNN adalah salah satu komponen paling vital dari CNN layer . Lapisan ini bertanggung jawab untuk mengekstraksi fitur dari data input dan membentuk dasar untuk pemrosesan dan pembelajaran lebih lanjut.

Lapisan convolutional terdiri dari satu set filter (juga dikenal sebagai kernel) yang diterapkan pada data masukan dalam gaya jendela geser. Setiap filter mengekstrak sekumpulan fitur tertentu dari data input berdasarkan bobot yang terkait dengannya.

Jumlah filter yang digunakan dalam convolutional layer adalah salah satu hyperparameter kunci dalam arsitektur. Itu ditentukan berdasarkan jenis data yang diproses serta akurasi model yang diinginkan. Umumnya, lebih banyak filter akan menghasilkan lebih banyak fitur yang diekstrak dari data input, memungkinkan arsitektur jaringan yang lebih kompleks untuk memahami data dengan lebih baik.

Operasi konvolusi terdiri dari mengalikan setiap filter dengan data di dalam jendela geser dan menjumlahkan hasilnya. Operasi ini diulangi untuk semua filter, menghasilkan beberapa peta fitur untuk satu lapisan konvolusional. Peta fitur ini kemudian digunakan sebagai masukan untuk lapisan berikutnya, memungkinkan jaringan mempelajari fitur yang lebih kompleks dari data.

Lapisan konvolusional adalah dasar dari arsitektur pembelajaran mendalam dan digunakan dalam berbagai aplikasi, seperti pengenalan gambar, pemrosesan bahasa alami, dan pengenalan suara. Dengan mengekstraksi fitur paling kritis dari data input, lapisan konvolusi memungkinkan jaringan untuk mempelajari pola yang lebih kompleks dan membuat prediksi yang lebih baik.

2. Lapisan Penyatuan:

Lapisan ini melakukan operasi downsampling pada peta fitur, yang mengurangi jumlah perhitungan yang diperlukan dan juga membantu mengurangi overfitting.

Lapisan penyatuan merupakan komponen penting dari arsitektur CNN . Ini biasanya digunakan untuk mengurangi ukuran volume input sambil mengekstraksi informasi yang berarti dari data. Pooling layer biasanya digunakan pada tahap selanjutnya dari CNN, memungkinkan jaringan untuk fokus pada fitur yang lebih abstrak dari sebuah gambar atau jenis input lainnya. Lapisan penyatuan beroperasi dengan menggeser jendela di atas volume input dan menghitung statistik ringkasan untuk nilai-nilai di dalam jendela.

Statistik umum termasuk mengambil maksimum, rata-rata, atau jumlah nilai dalam jendela. Hal ini mengurangi ukuran volume input sekaligus mempertahankan informasi penting tentang data.

Lapisan penyatuan juga biasanya digunakan untuk memperkenalkan invarian spasial, yang berarti bahwa jaringan akan menghasilkan keluaran yang sama terlepas dari lokasi masukan di dalam gambar. Ini memungkinkan jaringan untuk mewarisi fitur yang lebih umum tentang gambar daripada hanya mengingat lokasi persisnya.

3. Lapisan Aktivasi:

Lapisan ini menambahkan non-linieritas pada model dengan menerapkan fungsi aktivasi non-linier seperti ReLU atau tanh.

Lapisan aktivasi dalam CNN adalah lapisan yang berfungsi sebagai transformasi non-linier pada keluaran lapisan konvolusional. Ini adalah komponen utama jaringan, yang memungkinkannya mempelajari hubungan kompleks antara data masukan dan keluaran.

Lapisan aktivasi dapat dianggap sebagai fungsi yang mengambil keluaran dari lapisan konvolusional dan memetakannya ke kumpulan nilai yang berbeda. Ini memungkinkan jaringan untuk mempelajari pola yang lebih kompleks dalam data dan menggeneralisasi dengan lebih baik.

Fungsi aktivasi umum yang digunakan di CNN antara lain ReLu (Rectified Linear Unit), sigmoid, dan tanh. Setiap fungsi aktivasi melayani tujuan yang berbeda dan dapat digunakan dalam skenario yang berbeda.

ReLu adalah fungsi aktivasi yang paling umum digunakan di sebagian besar jaringan konvolusional. Ini adalah transformasi non-linier yang menghasilkan 0 untuk semua nilai negatif dan nilai yang sama dengan input untuk semua nilai positif. Hal ini memungkinkan jaringan menyerap pola yang lebih kompleks dalam data.

Sigmoid adalah fungsi aktivasi lain yang umum digunakan, yang menghasilkan nilai antara 0 dan 1 untuk setiap masukan yang diberikan. Ini membantu jaringan untuk memahami hubungan kompleks antara data input dan output tetapi lebih mahal secara komputasi daripada ReLu.

Tanh adalah fungsi aktivasi yang paling jarang digunakan, yang menghasilkan nilai antara -1 dan 1 untuk setiap masukan yang diberikan.

Lapisan aktivasi adalah komponen penting dari CNN, karena mencegah linearitas dan meningkatkan non-linearitas pada output. Memilih fungsi aktivasi yang tepat untuk jaringan sangatlah penting, karena setiap fungsi aktivasi memiliki tujuan yang berbeda dan dapat digunakan dalam skenario yang berbeda. Memilih fungsi aktivasi yang sesuai dapat menghasilkan kinerja struktur CNN yang lebih baik .

4. Lapisan yang Terhubung Sepenuhnya:

Lapisan ini menghubungkan setiap neuron dalam satu lapisan ke setiap neuron di lapisan berikutnya, menghasilkan jaringan yang terhubung sepenuhnya.

Lapisan yang terhubung penuh di CNN adalah lapisan neuron yang terhubung ke setiap neuron di lapisan sebelumnya di jaringan. Hal ini berbeda dengan convolutional layer, dimana neuron hanya terhubung dengan subset neuron pada layer sebelumnya berdasarkan pola tertentu.

Dengan menghubungkan setiap neuron dalam satu lapisan ke setiap neuron di lapisan berikutnya, lapisan yang terhubung sepenuhnya memungkinkan informasi dari lapisan sebelumnya dibagikan ke seluruh jaringan, sehingga memberikan kesempatan untuk pemahaman data yang lebih komprehensif.

Lapisan yang terhubung sepenuhnya di CNN biasanya digunakan menjelang akhir arsitektur model CNN , setelah lapisan konvolusional dan lapisan penyatuan, karena mereka membantu mengidentifikasi pola dan korelasi yang mungkin tidak dikenali oleh lapisan konvolusional.

Selain itu, lapisan yang terhubung sepenuhnya digunakan untuk menghasilkan batas keputusan non-linier yang dapat digunakan untuk klasifikasi. Kesimpulannya, lapisan yang terhubung sepenuhnya merupakan bagian integral dari CNN mana pun dan menyediakan alat yang ampuh untuk mengidentifikasi pola dan korelasi dalam data.

5. Lapisan Keluaran:

Ini adalah lapisan terakhir dari jaringan, yang menghasilkan label atau nilai keluaran.

Lapisan keluaran CNN adalah lapisan terakhir dalam jaringan dan bertanggung jawab untuk menghasilkan keluaran. Ini adalah lapisan yang mengambil fitur yang diekstraksi dari lapisan sebelumnya dan menggabungkannya dengan cara yang memungkinkannya menghasilkan keluaran yang diinginkan.

Lapisan yang terhubung sepenuhnya biasanya digunakan ketika keluarannya adalah nilai tunggal, seperti masalah klasifikasi atau regresi. Lapisan neuron tunggal umumnya digunakan ketika hasilnya adalah vektor, seperti distribusi probabilitas.

Fungsi aktivasi softmax digunakan ketika output adalah distribusi probabilitas, seperti distribusi probabilitas atas kelas. Lapisan keluaran CNN juga bertanggung jawab untuk melakukan perhitungan yang diperlukan untuk mendapatkan keluaran yang diinginkan. Ini termasuk menyelesaikan transformasi linear atau non-linear input yang diperlukan untuk menerima output yang dibutuhkan.

Terakhir, lapisan output dari CNN juga dapat digunakan untuk melakukan teknik regularisasi, seperti dropout atau normalisasi batch, untuk meningkatkan performa jaringan.

Kesimpulan

Arsitektur CNN adalah alat yang ampuh untuk tugas pemrosesan gambar dan video. Ini adalah kombinasi dari convolutional layer, pooling layer, dan fully connected layer. Ini memungkinkan untuk mengekstraksi fitur dari gambar, video, dan sumber data lainnya dan dapat digunakan untuk berbagai tugas, seperti pengenalan objek, klasifikasi gambar, dan pengenalan wajah. Secara keseluruhan, jenis arsitektur ini sangat efektif bila diterapkan pada fungsi dan kumpulan data yang sesuai.

Dapatkan keahlian mahir dalam ML dan DL dengan upGrad

Dengan Program Sertifikat Lanjutan upGrad dalam Pembelajaran Mesin & Pembelajaran Mendalam yang ditawarkan oleh IIIT-B, Anda dapat memperoleh kemahiran dalam Pembelajaran Mesin dan Pembelajaran Mendalam. Program ini mencakup dasar-dasar ML dan DL, termasuk topik seperti pembelajaran yang diawasi dan tidak diawasi, regresi linier dan logistik, jaringan saraf konvolusional, pembelajaran penguatan, dan pemrosesan bahasa alami. Anda juga akan belajar membuat dan menerapkan model ML dan DL di Python dan TensorFlow dan mendapatkan pengalaman praktis dengan mengerjakan proyek dunia nyata.

Kursus ini juga mencakup manfaat seperti:

  • Bimbingan dan bimbingan dari pakar industri
  • Bantuan penempatan untuk membantu Anda menemukan pekerjaan yang tepat
  • Sertifikat Lanjutan dari IIIT Bangalore

Anda juga dapat melihatkursus gratis kamiyang ditawarkan oleh upGrad dalam Manajemen, Ilmu Data, Pembelajaran Mesin, Pemasaran Digital, dan Teknologi.Semua kursus ini memiliki sumber belajar terbaik, kuliah langsung mingguan, tugas industri, dan sertifikat penyelesaian kursus – semuanya gratis!

Apa perpustakaan di Python yang dapat digunakan untuk CNN?

Pustaka dengan Python yang dapat digunakan untuk CNN termasuk TensorFlow, Keras, PyTorch, Caffe, Theano, Scikit-learn, MxNet, CNTK, OpenCV, dan SciPy. Pustaka ini dapat digunakan untuk mendapatkan modul pra-bangun untuk membuat aplikasi dan mengimplementasikan algoritma CNN dengan mudah.

Berapa banyak dimensi yang ada di lapisan CNN?

Jaringan saraf convolutional mengandung neuron yang diatur dalam 3 dimensi: lebar, tinggi, dan kedalaman. Struktur neuron tiga dimensi ini hadir dalam lapisan konvolusi, yang bekerja melalui proses komputasi dengan input yang diberikan untuk menghasilkan output yang dihasilkan.

Bisakah saya mengembangkan CNN di R?

Ya, CNN dapat dikembangkan menggunakan Python dan R. Dengan R menyediakan perpustakaan yang sangat detail, membuat jaringan saraf konvolusi dengan R cukup mudah.