Memahami Dasar-Dasar – Menuju AI

Memahami Dasar-Dasar – Menuju AI

Author(s): Pranay Rishith

Awalnya diterbitkan di Menuju AI.

Menjelajahi betapa hebatnya CNN: dari dasar

Foto oleh Denys Nevozhai di Unsplash

pengantar

Jaringan saraf convolutional CNN Source adalah konsep pembelajaran mendalam yang secara khusus dibangun untuk memproses gambar. Pembelajaran mesin adalah konsep di mana komputer belajar dari pengalaman masa lalu. Deep Learning adalah bagian lanjutan dari pembelajaran mesin. CNN dirancang untuk menemukan pola visual. Ketika kita manusia melihat gambar, kita melihat objek, warna, dll. Kita mempelajari hal-hal ini saat kita tumbuh dewasa, tetapi komputer hanya dapat memahami 0 dan 1, yaitu nilai biner. Lalu bagaimana komputer akan melihat gambar? Setiap gambar terdiri dari piksel. Gambar di bawah ini adalah gambaran yang baik tentang bagaimana komputer membaca gambar. Ada dua jenis gambar, Grayscale dan Color. Grayscale (hitam dan putih) terdiri dari array nilai yang berkisar dari 0 hingga 255 (hitam ke putih). Citra berwarna memiliki 3 larik, larik merah, larik hijau, dan larik biru (RGB). Juga masing-masing array tersebut mulai dari 0 hingga 255 (hitam hingga warna yang sesuai).

Ini adalah gambar skala abu-abu di sebelah kiri dan gambar yang sama dalam jumlah piksel (cara komputer membaca gambar)Kuliah pembelajaran mendalam MIT 3 sumber

Jika gambar skala abu-abu memiliki ukuran 1080×1080 maka jumlah total nilainya adalah 1080x1080x1 sedangkan gambar berwarna memiliki 1080x1080x3(3 seperti pada R+G+B).

Arsitektur

Jaringan saraf convolutional memiliki 3 jenis lapisan: lapisan konvolusi, lapisan penyatuan, dan lapisan yang terhubung sepenuhnya.

Lapisan Konvolusional

Convolutional Layer adalah lapisan di mana fitur-fitur penting diekstraksi dari gambar input. Lapisan ini menggunakan kotak kecil untuk mengekstraksi fitur dari gambar masukan. Kotak kecil ini disebut kernel atau filter. Untuk menjelaskan, Ada operasi matematis di lapisan ini antara gambar input dan filter untuk mempertahankan dan mengekstrak fitur. Ini disebut ekstraksi Fitur di CNN.

Ukuran peta fitur: n-f+1

n = ukuran masukan

f = ukuran saringan

Oleh penulis

Dengan filter yang berbeda, operasi yang berbeda dapat dilakukan seperti deteksi tepi, buram, dll.

Kuliah Deep Learning MIT 3 Sumber

Untuk melakukan operasi konvolusi, filter harus ditentukan dengan ukuran tertentu. Filter bergerak melintasi matriks gambar input dan mengalikan nilai dengan filter dan penjumlahan. Hasilnya lebih kecil ukurannya daripada ukuran matriks gambar masukan.
Singkatnya, dalam lapisan convolutional CNN adalah langkah atau lapisan yang paling penting. Ini digunakan untuk mengekstraksi fitur-fitur penting dari matriks gambar input. CNN dapat terdiri dari sejumlah lapisan konvolusional.

Lapisan Non-Linear

Lapisan ini ditambahkan setelah setiap lapisan konvolusi untuk memperkenalkan non-linearitas ke matriks. Non-linearitas diperkenalkan sehingga keluaran tidak dipengaruhi oleh masukan atau keluaran tidak sebanding dengan masukan. Nonlinier ini dilakukan oleh fungsi aktivasi. Topik itu untuk artikel lain.

Mengapa kita membutuhkan non-linearitas di jaringan saraf? mungkin sebuah pertanyaan. Jika data tidak memiliki non-linearitas, maka masukan secara langsung mempengaruhi keluaran, dan tidak peduli berapa banyak lapisan yang kita gunakan. Hasilnya akan sama. Dengan meningkatkan kekuatan non-linier, jaringan dibuat untuk menemukan lebih banyak pola baru dan unik dalam data.

Fungsi aktivasi yang umum digunakan adalah RELU, Tanh, dll.

Lapisan

Sekarang Anda telah memahami betapa pentingnya lapisan konvolusional. Kernel atau filter digunakan untuk mengekstrak fitur-fitur penting. Saya menyebutkan bahwa lapisan konvolusional dapat digunakan berkali-kali, dan setiap kali ukuran peta fitur berkurang. Kami tidak membutuhkan itu. Pertimbangkan matriks input 5×5 dan filter ukuran 3×3. Ukuran feature map adalah 5–3+1 = 3. Jika kita menambahkan layer lain, maka ukurannya adalah 1.

Untuk membuat peta fitur dengan ukuran yang sama dengan matriks input, kami menggunakan padding. Mari kita merekayasa balik. Kita membutuhkan peta fitur ukuran 5. Ukuran filter adalah 3. dari rumus di atas, n = 5+f-1 = 5+3–1 = 7. Kita membutuhkan matriks input ukuran 7 dari matriks input ukuran 5 . Kami menambahkan padding, yaitu baris di atas, bawah, dan kolom di kiri dan kanan, menghasilkan matriks berukuran 7×7. sekarang matematika, n-f+1 = 7–3+1 = 5. Karenanya terbukti.

Rumus padding = n+2p-f+1

p = bantalan

Jika p = 1, maka satu baris dan satu kolom, makanya kita tambahkan 2p, jadi kita dapatkan 2 baris dan 2 kolom.

Baris dan kolom yang ditambahkan di atas diisi dengan nol, disebut sebagai padding nol.

oleh penulis

Ini adalah bagaimana padding diterapkan.

Melangkah

Kami berbicara tentang filter di lapisan konvolusional. Strides didefinisikan sebagai jumlah piksel yang bergerak ke segala arah untuk menerapkan filter. Jika langkahnya adalah [1,1]filter akan memindahkan 1 piksel sekaligus ke salah satu arah, dan jika ya [2,2] lalu filter bergerak 2 piksel ke salah satu arah.

Parameter ini terutama berguna ketika ada gambar masukan dengan resolusi tinggi, kemudian lebih banyak piksel untuk difilter. Semakin besar langkahnya, semakin kecil peta fitur konvolusi.

oleh penulis

SEBUAH [1,1] terlihat seperti di atas.

oleh penulis

SEBUAH [2,2] langkahnya terlihat seperti di atas.

Singkatnya, Strides adalah nilai di mana kernel atau filter akan berpindah pada matriks input.

Lapisan Penyatuan

Jika menyimpulkan gambar input menjadi 1/4 menentukan apa yang digambarkan oleh keseluruhan gambar, maka tidak ada gunanya memproses keseluruhan gambar. Di sinilah penyatuan terjadi.

Ini adalah lapisan dimana matriks fitur besar dikurangi dengan mempertahankan fitur. Ini disebut spasi spasial. Pooling juga memiliki kernel dan langkah. Ada berbagai jenis spasi spasial.

oleh penulis Max Pooling: Di sinilah elemen terbesar dalam filter dipilih. Min Pooling: Di sinilah elemen paling sedikit dalam filter dipilih. Mean Pooling: Ini adalah rata-rata dari semua elemen dalam filter. Pengumpulan Rata-Rata: Ini adalah rata-rata dari semua elemen dalam filter.

Pooling layer ini terutama digunakan untuk menghubungkan Convolutional Layer dan Fully connected layer. Alasan utama pooling layer digunakan setelah convolutional layer adalah untuk mengurangi ukuran peta fitur untuk menghemat sumber daya komputasi.

Lapisan yang Terhubung Sepenuhnya

Jadi hingga saat ini, kami telah menerima matriks dengan fitur-fitur penting. Matriks ini diratakan menjadi vektor 1d dan memasukkannya ke dalam jaringan saraf yang terhubung sepenuhnya. Ini disebut lapisan yang terhubung sepenuhnya karena setiap neuron terhubung ke setiap neuron di lapisan berikutnya.

Lapisan yang terhubung sepenuhnya, Sumber gambar

Lapisan keluaran pada dasarnya menggunakan fungsi aktivasi softmax. Aktivasi softmax digunakan, sehingga jumlah dari semua probabilitas keluaran adalah 1. Dari sini, jaringan bertindak sebagai jaringan saraf.

Kesimpulan:

CNN adalah konsep pembelajaran mendalam untuk mengekstraksi fitur dan pola dari gambar. CNN adalah JST dasar tetapi memiliki 2 lapisan lagi yang disebut lapisan konvolusional dan lapisan penyatuan.

CNN sebagian besar mendapat manfaat dari industri perawatan kesehatan.

Referensi:

Pembelajaran Mendalam MIT — Kuliah 3

Nah, ini yang saya pelajari tentang CNN. Konsep yang lebih maju untuk artikel lain. Mari kita bertemu di yang berikutnya. Jika Anda menikmati konten ini, memberikan tepuk tangan👏 akan memberi saya sedikit motivasi ekstra.

Anda dapat menghubungi saya di:

LinkedIn: https://www.linkedin.com/in/pranay16/

GitHub: https://github.com/pranayrishith16

Pengantar CNN: Memahami Dasar awalnya diterbitkan di Towards AI on Medium, di mana orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jeffrey Hayes