Rumah > Peranti teknologi > AI > Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

WBOY
Lepaskan: 2024-06-04 20:19:27
asal
472 orang telah melayarinya

Saya percaya bahawa rakan-rakan yang menyukai teknologi dan mempunyai minat yang kuat dalam AI seperti penulis mesti biasa dengan rangkaian saraf konvolusi, dan pastinya telah lama keliru dengan nama "maju" sedemikian. Penulis akan memasuki dunia rangkaian neural konvolusi dari awal hari ini ~ kongsi dengan anda!

Sebelum kita menyelami rangkaian neural konvolusi, mari kita lihat prinsip imej dahulu.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Prinsip imej

Imej diwakili oleh nombor (0-255) dalam komputer Setiap nombor mewakili kecerahan atau maklumat warna piksel dalam imej. Antaranya:

  • Imej hitam dan putih: Setiap piksel hanya mempunyai satu nilai, dan nilai ini berbeza antara 0 (hitam) dan 255 (putih).

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

  • Imej berwarna: Setiap piksel mengandungi tiga nilai, yang paling biasa ialah model RGB (Merah-Hijau-Biru), iaitu cahaya merah, hijau dan biru digabungkan pada keamatan yang berbeza untuk menghasilkan pelbagai warna. Setiap saluran warna mempunyai 256 tahap kecerahan, dari 0 hingga 255, jadi setiap warna boleh dinyatakan dengan nombor binari 8-bit, contohnya (255,0,0) mewakili merah, (0,255,0) mewakili hijau, ( 0 ,0,255) mewakili biru, dan kombinasi lain sepadan dengan pelbagai warna. Dalam komputer, struktur data imej berwarna biasanya tatasusunan atau tensor tiga dimensi dengan bentuk (lebar, tinggi, kedalaman), di mana kedalaman ialah bilangan saluran Untuk imej RGB, kedalaman ialah 3. Ini bermakna bagi setiap kedudukan piksel, terdapat tiga nilai yang mewakili kecerahan tiga saluran merah, hijau dan biru. Sebagai contoh, imej RGB 100*100 piksel akan menduduki 100x100x3 bait memori.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

"Bagaimana anda memahami "nombor binari 8-bit" di sini?"

Dalam model warna RGB, setiap saluran warna (merah, hijau, biru) boleh mempunyai 256 tahap kecerahan yang berbeza, setiap satu Saluran mewakili perwakilan perduaan 8-bit Nilai maksimum nombor perduaan 8-bit ialah 11111111, iaitu 255 apabila ditukar kepada nilai perpuluhan ialah 00000000, iaitu 0 apabila ditukar kepada perpuluhan.

Apakah rangkaian neural convolutional CNN?

CNN melaporkan senario permohonan yang terkenal di CV. Mengambil saiz imej asal sebagai 10x10 sebagai contoh, seperti yang ditunjukkan dalam rajah di bawah, separuh kiri mempunyai nilai piksel yang lebih besar dan merupakan kawasan terang yang separuh kanan mempunyai nilai piksel yang lebih kecil dan merupakan kawasan kedalaman. Garis pemisah di tengah adalah tepi untuk dikesan.

"Jadi bagaimana untuk mengesan tepi?" Pada masa ini, penapis (juga dipanggil kernel) muncul, seperti yang ditunjukkan dalam rajah di bawah, saiz kernel ialah 3x3.

Penapis meluncur ke atas imej input, berhenti seketika di setiap kawasan, mendarab dan menambah elemen yang sepadan, dan kemudian meluncur ke kawasan lain untuk meneruskan pengiraan sehingga ia meluncur ke kawasan terakhir imej asal. Proses ini dipanggil "konvolusi". tercermin. "Jadi boleh disimpulkan bahawa pengesanan tepi diiktiraf melalui operasi lilitan imej input dan penapis yang sepadan

Selain itu, gelongsor di sini juga melibatkan konsep asas, "langkah". Langkah 1 bermakna setiap kali anda meluncur satu bingkai, anda akan kekal dalam jumlah kawasan 8x8, jadi hasil keluaran akhir ialah matriks 8x8. Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

"Jadi, apakah sebenarnya rangkaian neural convolutional?"

Selepas analisis di atas terhadap senario pengesanan sasaran khusus pengesanan tepi, tidak sukar untuk kita memahami bahawa CNN (Convolutional neural network) menggunakan pelbagai Penapis secara berterusan mengekstrak ciri imej, daripada setempat kepada keseluruhan, dan kemudian mengenal pasti sasaran.

Dalam rangkaian saraf, setiap nombor dalam penapis ini adalah parameter, yang boleh diperolehi melalui latihan dengan sejumlah besar data (iaitu, proses pembelajaran mendalam).

Konsep asas dalam CNN

1. Convolution (Convolution)

(1) Convolution Calculation

Convolution ialah kaedah transformasi integral dalam analisis matematik, yang digunakan dalam pemprosesan imej ialah bentuk diskret konvolusi. Dalam rangkaian neural convolutional CNN, intipati pelaksanaan lapisan convolutional ialah pengiraan korelasi silang (korelasi silang) yang ditakrifkan dalam matematik. Proses pengiraan khusus ditunjukkan dalam rajah di bawah.

Antaranya:

Gambar (a): Saiz gambar kiri ialah 3×3, menunjukkan bahawa data input ialah tatasusunan dua dimensi dengan dimensi 3×3 saiz gambar tengah ialah 2×2, menunjukkan dua tatasusunan -dimensi dengan dimensi 2×2 , juga dikenali sebagai "irung lilitan". Sudut kiri atas kernel lilitan diselaraskan dengan sudut kiri atas (0,0) data input, dan data kedudukan yang sepadan bagi kedua-duanya didarabkan dan kemudian ditambah untuk mendapatkan hasil pertama keluaran lilitan 25.

Dengan analogi, Rajah (b), (c), dan (d) masing-masing ialah hasil keluaran kedua, ketiga dan keempat bagi keluaran lilitan.

(2) Operasi lilitan imej

Jadi apakah sebenarnya operasi lilitan imej? Seperti yang ditunjukkan dalam rajah di bawah, proses lilitan imej berwarna ditunjukkan.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Untuk imej berwarna saluran 1 (Merah), saluran 2 (Hijau) dan saluran 3 (Biru), gunakan Kernel1, Kernel2 dan Kernel3 masing-masing. Setiap kernel lilitan meluncur pada imej monokrom yang sepadan, melakukan operasi pendaraban titik demi titik pada nilai piksel dalam kawasan kecil (saiz kernel) pada setiap kedudukan dan elemen sepadan kernel lilitan, dan kemudian menambah produk ini Dapatkan a nilai. Kemudian tambahkan nilai yang diperoleh daripada setiap saluran dan tambahkan bias keseluruhan untuk mendapatkan nilai dalam peta ciri yang sepadan.

Kesan tiga dimensi ditunjukkan dalam rajah di bawah:

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

2.Padding

Dalam contoh pengesanan tepi seperti yang dinyatakan di atas, anda boleh melihat bahawa saiz imej asal ialah 10x10, dan selepas menapis ia adalah 8x8. Jika anda melakukan operasi lilitan yang lain, ia akan menjadi 6x6... Dalam kes ini, akan terdapat dua kelemahan:

  • Setiap kali anda melakukan operasi lilitan, saiz imej output akan dikurangkan
  • Lebih sedikit piksel di sudut atau kawasan tepi akan digunakan dalam output Oleh itu, adalah mudah untuk kehilangan banyak maklumat mengenai kedudukan tepi imej.

Seperti yang ditunjukkan dalam gambar di bawah, bayang merah di sudut kiri atas hanya disentuh oleh satu output, manakala piksel tengah (ditandakan dengan kotak ungu) akan mempunyai banyak kawasan 3x3 yang bertindih dengannya. Oleh itu, piksel di sudut atau kawasan tepi kurang digunakan dalam output, dan banyak maklumat tentang kedudukan tepi imej mudah hilang.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Untuk menyelesaikan masalah ini, kami biasanya menggunakan kaedah Padding Sebelum operasi lilitan, terlebih dahulu mengisi tepi imej asal dengan lapisan piksel saiz 12x12, dan kelantangan Saiz imej selepas pendaraban ialah 8x8, iaitu saiz yang sama dengan imej asal Ini membolehkan piksel di kawasan tepi imej asal digunakan beberapa kali.

Pilih bilangan piksel yang perlu diisi Biasanya terdapat dua pilihan:

  • Konvolusi yang sama: Seperti yang dinyatakan di atas, saiz imej selepas pengisian dan lilitan adalah sama dengan imej asal.
  • Belitan sah: tiada operasi pengisian, lilitan langsung.

3.stride

Konsep langkah telah disebut dalam pengenalan, yang mewakili panjang setiap slaid penapis penapis dalam arah mendatar dan menegak dalam imej asal, juga dipanggil panjang langkah.

Andaikan bahawa s mewakili panjang langkah, p mewakili panjang padding, saiz imej asal ialah nxn, dan saiz penapis ialah fxf, maka saiz imej berbelit ialah:

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

4. Intipati penyatuan Ia pengurangan dimensi.

Peranan lapisan pengumpulan dalam rangkaian konvolusi: mengurangkan bilangan parameter peta ciri, meningkatkan kelajuan pengiraan dan meningkatkan medan penerimaan, yang merupakan operasi pensampelan rendah.

Pengumpulan yang biasa digunakan dalam pengesanan objek: Pengumpulan Maks dan Pengumpulan Purata.

(1) Pengumpulan maksimum

bermaksud mengambil nilai maksimum dalam kawasan gelongsor penapis tanpa operasi belitan. Sebilangan besar bermakna ciri tertentu mungkin dikesan dan nilai lain diabaikan, mengurangkan kesan hingar dan meningkatkan keteguhan model. "Tambahan pula, hiperparameter yang diperlukan untuk pengumpulan Maks hanyalah saiz penapis f dan panjang langkah s. Tidak perlu melatih parameter lain, dan jumlah pengiraan adalah kecil."

Iaitu, dalam penapis Kira nilai purata dalam kawasan gelongsor penapis.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

5.Shape

Apabila berurusan dengan data berbilang dimensi, terutamanya data imej, terdapat perbezaan antara Tensorflow dan Data Pytorch Shape.

TensorFlow:(saiz_batch, tinggi, lebar, dalam_saluran)

Pytorch:(saiz_batch, dalam_saluran, tinggi, lebar)Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

di mana:

  • saiz_batch: Bilangan sampel yang diproses dalam kelompok.
  • in_channels: Bilangan saluran imej input, biasanya 3 (merah, hijau, biru) untuk imej berwarna.
  • tinggi dan lebar ialah ketinggian dan lebar imej masing-masing.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Seperti yang ditunjukkan dalam gambar di atas:

  • Imej input Bentuk: [tinggi, lebar, saluran], iaitu, [8,8,3], yang mewakili imej 8x8 dengan 3 saluran (R, G, B).
  • Bentuk kernel lilitan: [kernel_height, kernel_width, in_channels, out_channels], iaitu, [3,3,3,5], menunjukkan kernel lilitan 3x3 dengan 3 saluran (R, G, B), saluran keluaran Nombornya ialah 5.
  • Imej output Bentuk: [tinggi, lebar, saluran_luar], iaitu, [6,6,5], menunjukkan imej output 6x6 dengan 5 saluran (R, G, B).
out_height = (height - kernel_height + 1) / strideout_width = (width - kernel_width + 1) / stride
Salin selepas log masuk

Untuk imej 8x8 dan kernel lilitan 3x3, saiz output ialah (8 - 3 + 1) / 1 = 6, jadi bentuk output ialah [6, 6, 5], menunjukkan peta ciri 6x6 dengan 5 saluran keluaran .

Bilangan saluran input (dalam_saluran) kernel lilitan ditentukan oleh bilangan saluran imej input Contohnya: imej format RGB mempunyai bilangan saluran input sebanyak 3.

Bilangan saluran matriks keluaran (saluran_keluar) ditentukan oleh bilangan saluran keluaran kernel lilitan, iaitu, berapa banyak penapis berbeza yang ada pada kernel lilitan. Dalam contoh ini, kernel lilitan mempunyai 5 penapis, jadi output mempunyai 5 saluran.

6. Fungsi pengaktifan

Tidak semua hubungan pemetaan boleh dinyatakan dengan tepat oleh hubungan linear. Oleh itu, fungsi pengaktifan diperlukan untuk mewakili pemetaan tak linear.

Fungsi pengaktifan juga merupakan pemetaan tak linear. Jika rangkaian saraf hanya disusun oleh operasi linear, ia tidak akan dapat membentuk ruang ekspresi yang kompleks, dan ia akan menjadi sukar untuk mengekstrak maklumat semantik tinggi Oleh itu, adalah perlu untuk menambah hubungan pemetaan bukan linear.

(1) fungsi sigmoid

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

fungsi sigmoid memampatkan ciri -ciri ke dalam selang (0,1). kecerunan di bahagian tengah adalah yang terbesar.

(2) Fungsi Relu

Unit Linear Dibetulkan (ReLU). Biasanya digunakan untuk mengurangkan fenomena kecerunan yang hilang.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Dalam bahagian yang kurang daripada 0, nilai dan kecerunan ialah 0, dan terbitan yang lebih besar daripada 0 ialah 1, yang mengelakkan masalah kehilangan kecerunan yang disebabkan oleh kecerunan dalam fungsi Sigmoid menghampiri 0.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

(3) Fungsi Softmax

Pengkelas yang lebih biasa digunakan untuk pelbagai kategori objek ialah fungsi Softmax.

Dalam tugas pengelasan khusus, input fungsi Softmax selalunya merupakan markah berbilang kategori, dan output adalah kebarangkalian yang sepadan dengan setiap kategori Nilai kebarangkalian semua kategori adalah antara 0 dan 1, dan jumlah ialah 1.

Formula fungsi Softmax adalah seperti berikut:

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

di mana, Vi mewakili skor kategori ke-i, C mewakili jumlah bilangan kategori yang dikelaskan, dan output Si ialah kebarangkalian bagi kategori ke-i.

Struktur keseluruhan CNN

Rangkaian saraf konvolusi CNN terdiri daripada lapisan input, lapisan konvolusi, Relu, lapisan penyatuan, lapisan bersambung sepenuhnya dan lapisan keluaran.

Seperti yang ditunjukkan dalam rajah di bawah ialah contoh rangkaian berbelit Lapisan berbelit ialah lapisan pertama rangkaian berbelit, diikuti dengan lapisan berbelit lain atau lapisan menghimpun, dan lapisan terakhir ialah lapisan bersambung sepenuhnya. Lapisan kemudian mengenal pasti bahagian imej yang lebih besar, dan lapisan awal biasanya memfokuskan pada ciri mudah (seperti warna dan tepi). Apabila data imej maju melalui lapisan dalam CNN, ia mula mengenal pasti elemen atau bentuk objek yang lebih besar sehingga akhirnya ia mengenal pasti objek yang dimaksudkan.

Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!

Antaranya:

  • Lapisan input: menerima data imej asal sebagai input kepada rangkaian.
  • Lapisan konvolusi: Ia terdiri daripada penapis dan fungsi pengaktifan Ia adalah lapisan teras CNN. Ia terdiri daripada data input, penapis (atau kernel lilitan) dan peta ciri. Jika data input adalah imej RGB, ini bermakna input akan mempunyai tiga dimensi - ketinggian, lebar dan kedalaman. Intipati penapis ialah matriks berat dua dimensi, yang akan bergerak dalam medan penerimaan imej untuk memeriksa sama ada ciri itu wujud. Proses operasi lilitan adalah seperti yang diterangkan di atas. Hiperparameter biasanya ditetapkan untuk lapisan konvolusi termasuk bilangan penapis, langkah, kaedah pelapik (sah atau sama), fungsi pengaktifan, dsb.
  • Lapisan penggabungan: Intinya adalah pensampelan rendah Ia menggunakan prinsip korelasi setempat bagi imej untuk mensubsampel imej dan mengurangkan jumlah pemprosesan data sambil mengekalkan maklumat yang berguna.
  • Lapisan bersambung sepenuhnya: Setiap nod lapisan ini disambungkan kepada semua nod lapisan sebelumnya, yang digunakan untuk mensintesis ciri yang diekstrak sebelum ini. Biasanya, lapisan yang disambungkan sepenuhnya mempunyai paling banyak parameter.
  • Lapisan keluaran: Dapatkan hasil dengan kebarangkalian tertinggi berdasarkan maklumat lapisan bersambung sepenuhnya.

Kelebihan CNN

Berbanding dengan rangkaian neural tradisional, CNN mempunyai kelebihan sambungan tempatan, perkongsian berat, dll., yang sangat mengurangkan jumlah parameter yang dipelajarinya dan rangkaian menumpu lebih cepat.

  • Disambung separa: Setiap nilai output peta ciri tidak perlu disambungkan kepada setiap nilai piksel dalam imej input, tetapi hanya perlu disambungkan ke medan penerimaan penapis yang digunakan, jadi lapisan konvolusi sering dipanggil "lapisan separa bersambung" ”, ciri ini juga dipanggil sambungan tempatan.
  • Perkongsian berat: Apabila kernel lilitan bergerak pada imej, beratnya kekal tidak berubah. Itu perkongsian berat.

Atas ialah kandungan terperinci Anda boleh memahami prinsip rangkaian saraf konvolusi walaupun dengan asas sifar! Sangat terperinci!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan