Internetdagi konvolyutsion neyron tarmoqlarning eng yaxshi izohi!

CNN-lar tasvir va videoni tanib olish, tavsiya etuvchi tizimlar va tabiiy tillarni qayta ishlashda keng qo'llanmalarga ega. Ushbu maqolada men olib boradigan misol Computer Vision bilan bog'liq. Biroq, asosiy tushuncha bir xil bo'lib qoladi va uni boshqa har qanday holatda ham qo'llash mumkin!

Neyron tarmoqlarni tezda ko'rib chiqish uchun bu erda juda aniq tushuntirilgan maqolalar seriyasi.

CNNlar, neyron tarmoqlari singari, o'rganish mumkin bo'lgan og'irliklar va xayollarga ega neyronlardan iborat. Har bir neyron bir necha kirishlarni qabul qiladi, ular bo'yicha og'irlikni oladi, uni faollashtirish funktsiyasidan o'tkazadi va natija bilan javob beradi. Butun tarmoq yo'qotish funktsiyasiga ega va biz neyron tarmoqlari uchun ishlab chiqqan barcha maslahatlar va nayranglar hali ham CNN-larda qo'llaniladi. Juda sodda, to'g'rimi?

Xo'sh, konvolyutsion neyron tarmoqlari neyron tarmoqlaridan qanday farq qiladi?

CNN-lar tovushlar ustidan ishlaydi!

Bu nimani anglatadi?

1. RGB-rasmning misoli (uni

Kirish vektor bo'lgan neyron tarmoqlardan farqli o'laroq, bu erda kirish ko'p kanalli tasvirdir (bu holda 3 kanalli).

Birozdan keyin gaplashadigan boshqa farqlar ham bor.

Biron bir chuqurroq o'rganishimizdan oldin, keling, yig'ilish nimani anglatishini tushunaylik.

Konvolyutsiya

2. Tasvirni filtr bilan bog'lash

Biz 5 * 5 * 3 filtrini olamiz va uni to'liq rasm ustiga suring va yo'l davomida filtr va kirish rasmining qismlari o'rtasida nuqta mahsulotini olamiz.

3. Ko'rinishi shunday

Qabul qilingan har bir nuqta mahsuloti uchun natija skaladir.

Shunday qilib, biz to'liq rasmni filtr bilan yig'ib olsak nima bo'ladi?

4. Bu!

"28" ning qanday paydo bo'lishini aniqlash uchun uni sizga qoldiraman. (Maslahat: 28 * 28 ta noyob pozitsiyalar mavjud, ularda filtrni rasmga qo'yish mumkin)

Endi CNNga qaytaylik

Konvulsiya qatlami konvulsion neyron tarmoqning asosiy qurilish blokidir.

5. Konvolyutsiya qatlami

Yig'ish qatlami mustaqil filtrlar to'plamidan iborat (ko'rsatilgan misolda 6). Har bir filtr mustaqil ravishda rasm bilan birlashtiriladi va biz 28 * 28 * 1 shakldagi 6 ta maxsus xaritaga ega bo'lamiz.

Aytaylik, bizda ketma-ket yig'ilish qatlamlari bor. Keyin nima bo'ladi?

6. Konvolyutsiya qatlamlari ketma-ketlikda

Ushbu filtrlarning barchasi tasodifiy ravishda ishga tushiriladi va keyinchalik bizning tarmoq tomonidan o'rganiladigan parametrlarimizga aylanadi.

Men sizga o'rgatilgan tarmoqning namunasini ko'rsataman.

7. Tayyorlangan tarmoqdagi filtrlar

Birinchi qatlamdagi filtrlarni ko'rib chiqing (bular bizning 5 * 5 * 3 filtrlarimiz). Orqa tarafdagi tarqalish orqali ular o'zlarini rang-barang bo'laklar va qirralarning po'stlog'iga aylantirishdi. Boshqa yig'ilish qatlamlariga chuqurroq kirib borar ekanmiz, filtrlar oldingi yig'ilish qatlamlarining kirish qismiga nuqta mahsulotlarini kiritmoqda. Shunday qilib, ular kichikroq rangli bo'laklarni yoki qirralarni olib, ulardan kattaroq bo'laklarni yasashmoqda.

4-rasmga qarang va 28 * 28 * 1 panjarani 28 * 28 neyronlar tarmog'i sifatida tasavvur qiling. Muayyan xususiyat xaritasi uchun (ma'lum filtr yordamida tasvirni yig'ishda olingan natija xususiyat xaritasi deb ataladi) har bir neyron faqat kirish rasmining kichik bir qismiga ulanadi va barcha neyronlar bir xil ulanish og'irliklariga ega. Shunday qilib, yana CNN va neyron tarmoq o'rtasidagi farqlarga qaytamiz.

CNN-larda parametr almashish va mahalliy ulanish deb nomlangan bir nechta tushunchalar mavjud

Parametr almashish - bu ma'lum bir xaritadagi barcha neyronlarning vaznlarini taqsimlash.

Mahalliy ulanish - bu har bir neyron faqat kirish tasvirining pastki qismiga bog'langan tushunchasi (barcha neyronlar to'liq bog'langan neyron tarmoqdan farqli o'laroq).

Bu butun tizimdagi parametrlar sonini kamaytirishga yordam beradi va hisoblash samaradorligini oshiradi.

Men bu erda nol to'ldirish tushunchasi haqida gapirmayman, chunki uni sodda saqlash kerak. Bu haqda qiziquvchilar alohida o'qishlari mumkin!

Hovuzlarni yotqizish

Hovuz qatlami CNNning yana bir qurilish blokidir.

Basseyn

Uning vazifasi tarmoqdagi parametrlar va hisoblashlarning hajmini kamaytirish uchun vakillikning fazoviy hajmini asta-sekin kamaytirishdir. Basseyn qatlami har bir xususiyat xaritasida mustaqil ravishda ishlaydi.

Basseynda ishlatiladigan eng keng tarqalgan yondashuv - bu maksimal puling.

Maks Pooling

CNNning odatiy arxitekturasi

CNNning odatiy arxitekturasi

Biz allaqachon konvolyutatsiya qatlamlari (CONV bilan belgilangan) va pulmoner qatlamlar (POOL bilan belgilangan) haqida gaplashdik.

RELU shunchaki neyron tarmoqlarga o'xshash chiziqli emas.

FC CNN oxirida to'liq bog'langan neyronlar qatlamidir. To'liq ulangan qatlamdagi neyronlar odatdagi Neyron tarmoqlarida ko'rinib turganidek, oldingi qavatdagi barcha aktivatsiyaga to'liq ulanadi va shunga o'xshash tarzda ishlaydi.

Umid qilamanki, endi CNN arxitekturasini tushunasiz. Ushbu arxitekturada juda ko'p tafovutlar mavjud, ammo yuqorida aytib o'tganimdek, asosiy tushuncha bir xil bo'lib qolmoqda. Agar biron bir shubha / fikringiz bo'lsa, iltimos, izohlang.

Sizning muhabbatingiz menga yoqadi! Shunday qilib, agar siz ushbu maqolani o'qishni yoqtirsangiz, iltimos, yashil rangdagi yashil tugmachani bosing!

Siz ko'proq TechnologyMadeEasy maqolalarini o'qish uchun menga ergashishingiz mumkin!

Do'stlaringiz buni o'qishini xohlasangiz, ulashishni bosing!

Adabiyotlar: http://cs231n.github.io/convolutional-networks/#overview