Kompyuter uchun rasm — sonlar zich joylashgan panjara. Inson belgilagan belgilar ham, piksellarni bir qatorga tizib chiqadigan neyron tarmoq (MLP) ham bu panjara oldida osongina chalgʻiydi. Kichik bitta filtrni panjara ustida siljitib oʻtadigan konvolyutsion neyron tarmoq (CNN) nimani hal qildi va nimani hali hal qila olmadi — har bir sonni oʻzimiz hisoblab, bosqichma-bosqich kuzatamiz.
Ekrandagi rasmni juda katta qilib kattalashtirsak, kichik kvadratchalar (piksellar) koʻrinadi. Bitta piksel — yorugʻlikni bildiruvchi bitta son, rangli boʻlsa qizil·yashil·koʻk degan uchta son.
Sonlar panjarasi odatda 0 (qora) dan 255 (oq) gacha boʻlgan butun sonlar bilan saqlanadi. Neyron tarmoqqa berishda koʻpincha 255 ga boʻlib, 0~1 oraligʻiga oʻtkaziladi. Bu sahifadagi hisoblar ham 0~1 dan foydalanadi. Telefondagi bitta rasm (masalan, 4000×3000 rangli) 36 million sondan iborat. Sonlar panjarasi shunchalik katta ekani keyingi boʻlimlarning boshlangʻich nuqtasidir.
Uch xil shaklni (+, ×, ○) farqlash kerak. Inson ikkita ishorani belgiladi: “oʻrtasi boʻyalganmi”, “gorizontal·vertikal chiziqlar diagonal chiziqlardan toʻqroqmi”. Mashina faqat shu ikki songa beriladigan vaznlarni oʻrganadi.
Bu misoldagi belgilar ataylab sodda qilingan. Haqiqiy tadqiqotchilar uzoq yillar davomida qirralar yoʻnalishini sohalar boʻyicha sanash kabi ancha murakkab belgilarni ishlab chiqdilar. Shunga qaramay, rasmdagi narsalarning joylashuvi·oʻlchami·yoritilishi·burchagi cheksiz oʻzgargani uchun inson barcha oʻzgarishlarni oldindan oʻylab, belgilarga kiritishi qiyin edi. 2012-yilda 1000 turdagi rasmlarni tasniflaydigan ImageNet tanlovida belgilarni ham oʻzi oʻrganadigan CNN top-5 xatosi 15.3% bilan 2-oʻrindan (26.2%) ancha oʻzib ketgach, yoʻnalish oʻzgardi [R4].
3-2 dagi MLP (koʻp qatlamli perseptron) ga rasm berish uchun panjarani bir qatorga yoyish kerak. Yoyilgan zahoti paydo boʻladigan muammolarni birma-bir koʻrib chiqamiz.
Mahalliy bogʻlanish · vaznlarni ulashish · pooling · qatlamlarni ustma-ust qoʻyishFukushima 1980 → LeCun 1998
| MLP muammosi | CNN yechimi | Qay darajada hal qilindi |
|---|---|---|
| ① Qoʻshnichilik munosabati yoʻqoladi | Mahalliy bogʻlanish: bitta neyron faqat 3×3 kabi qoʻshni boʻlakni koʻradi | Qoʻshni piksellarni birga koʻrish tuzilmaning oʻziga joylangan |
| ② Vaznlar portlashi | Vaznlarni ulashish: bir xil filtr barcha joylarda ishlatiladi | Filtrlar soni × 9 ta yetarli. Rasm oʻlchamiga bogʻliq emas |
| ③ Joylashuv oʻzgarishi | Vaznlarni ulashish + pooling: qayerda boʻlmasin bir xil filtr topadi, pooling esa kichik siljishni yutib yuboradi | Nisbatan kamroq chalgʻiydi. Mukammal emas. Koʻp siljitilsa, aniqlik pasayadi (8-boʻlim) [R6] |
| ④ Piksellar tartibi eʼtiborsiz qoladi | Qatlamlarni ustma-ust qoʻyish: yaqin piksellarni guruhlab, tobora kengroq shakllarni hosil qiladi | Buning evaziga “yaqin piksellar oʻzaro bogʻliq” degan farazga tayanadi. Piksellar aralashtirilsa, samaradorlik pasayadi (8-boʻlim) |
Hubel va Wiesel mushukning koʻrish poʻstlogʻida tor sohadagi muayyan yoʻnalishdagi tayoqchaga javob beradigan “oddiy hujayralar”ni va yoʻnalish bir xil boʻlsa, joylashuv biroz farq qilsa ham javob beradigan “murakkab hujayralar”ni ajratdilar [R1]. Fukushima neokognitroni shu ikki hujayraga taqlid qilib, “belgi topish qatlami” va “joylashuvni xiralashtirish qatlami”ni navbatma-navbat ustma-ust qoʻydi [R2]. Bugungi CNN ning konvolyutsiya va pooling qatlamlari ularning avlodlaridir. Biroq neokognitron teskari tarqalish emas, boshqa usul bilan oʻrgangan; teskari tarqalish bilan oʻrganadigan CNN ni qoʻlyozmani tanishda muvaffaqiyatli qoʻllaganlar esa LeCun va hamkasblaridir [R3].
Chiqish = Σ (kirish boʻlagi × filtr)6×6 kirish · 3×3 filtr → 4×4 chiqish
Filtr oynasini kirishning bir joyiga ustma-ust qoʻyamiz. Ustma-ust tushgan 9 ta katakni oʻzaro koʻpaytirib, hammasini qoʻshgan qiymat chiqishning bitta katagi boʻladi. Oynani bir katakdan siljitib, takrorlaymiz. 6×6 kirishda 3×3 oyna gorizontal boʻyicha 4 ta, vertikal boʻyicha 4 ta joyga qoʻyilishi mumkin, shuning uchun chiqish 4×4 boʻladi (chetlarni 0 bilan toʻldiradigan padding qilinmaganda).
Vertikal qirra filtrining chap ustunida +1, oʻng ustunida −1 bor. Shuning uchun “chapi yorugʻ, oʻngi qorongʻi” joyda musbat, aksincha boʻlsa manfiy, bir tekis boʻlsa 0 ga yaqin qiymat chiqadi. Neyron tarmoq bunday filtr sonlarini inson belgilamasdan, teskari tarqalish orqali oʻrganadi. Qoʻshimcha qilib aytsak, chuqur oʻrganishdagi “konvolyutsiya” matematikadagi konvolyutsiyadan farqli ravishda filtrni agʻdarmaydi (oʻzaro korrelyatsiya). Sonlar oʻqitish orqali aniqlangani uchun natija bir xil boʻladi [R8].
5-boʻlimdagi 4×4 chiqishni ReLU (manfiy → 0) dan oʻtkazgach, har bir 2×2 oynadan faqat bitta son qoldiramiz (maksimum yoki oʻrtacha). Rasm bir katak siljitilganda nima oʻzgarishini ham koʻramiz.
Pooling sonlarni 4 baravar kamaytirib, keyingi qatlam hisobini yengillashtiradi va 2×2 oyna ichidagi kichik siljishni yutib yuboradi. Oyna chegarasidan oʻtadigan siljish yoki 2 katak va undan ortiq siljish natijani toʻgʻridan-toʻgʻri oʻzgartiradi. Shuning uchun “CNN joylashuv oʻzgarishiga chidamli” deyishdan koʻra “nisbatan kamroq chalgʻiydi” deyish aniqroq. Haqiqatan ham, mashhur katta CNN lar ham rasm bor-yoʻgʻi bir necha pikselga siljitilsa, javobini oʻzgartirishi mumkinligi haqida tadqiqot bor [R6].
Oxirgi belgilar xaritalarini bir qator songa aylantirib, toʻliq bogʻlangan qatlam va softmax orqali “+ boʻlish ehtimoli, × boʻlish ehtimoli, ○ boʻlish ehtimoli”ni chiqaramiz. 8-boʻlimdagi CNN ni oldindan oʻqitib, shundayicha ishlatamiz.
LeNet kabi klassik CNN lar oxirgi xaritalarni shundayicha ketma-ket ulab (yoyish, Flatten), toʻliq bogʻlangan qatlamga berardi [R3]. Bu usul “belgi xaritaning qaysi katagida edi” degan maʼlumotni ham uzatgani uchun yana joylashuvga sezgir boʻlib qoladi. Har bir xaritadan faqat bitta son (maksimum yoki oʻrtacha) qoldiradigan global pooling joylashuv maʼlumotini oʻchirib, siljishdan kamroq chalgʻiydi va parametrlari ham kam boʻladi [R5]. Bu sahifadagi CNN global maksimal poolingdan foydalanadi.
Softmax 3 ta ballni yigʻindisi 1 ga teng boʻlgan 3 ta ehtimollikka aylantiradi. Ball qancha katta boʻlsa, ehtimollik ham shuncha katta. Ehtimollik yuqori boʻlishi har doim toʻgʻri degani emas. Oʻqitishda koʻrmagan koʻrinishda notoʻgʻri javobga ham yuqori ehtimollik berishi mumkin (3-1, 4-boʻlim).
12×12 oʻlchamli 3 xil shaklning 120 ta rasmida (har biridan 40 ta) oʻqitamiz. Oʻqitish rasmlarining barchasi oʻrtada (±0.5 katak) joylashgan va ularga shovqin·xalaqit chiziqlari·burilish·qalinlik oʻzgarishi qoʻshilgan. Test uchun har biri ilgari koʻrilmagan 150 tadan rasm olinadi.
Ikkala kod ham faqat Colabda oldindan oʻrnatilgan kutubxonalardan foydalanadi. “Notebook (.ipynb) yuklab olish” tugmasini bosib, Colabda Fayl → Notebookni yuklash orqali oching yoki nusxalab, yangi notebook katagiga joylashtiring.
5·6-boʻlimlardagi bilan bir xil 6×6 “7” raqami va bir xil 4 ta filtr bilan konvolyutsiya → ReLU → maksimal·oʻrtacha poolingni hisoblaydi. Chiqish sonlari sahifadagi sonlar bilan katagigacha mos keladi. Oʻz maʼlumotingizga almashtirish uchun koddagi [Oʻz maʼlumotingizga almashtirish uchun] belgisi turgan joyda faqat IMG ni almashtiring.
8-boʻlimdagi bilan bir xil model tuzilishi va bir xil shakl qoidalari asosida tajribani amaliy kutubxonada qayta oʻtkazamiz. Optimizator Adam (40 epoxa) ga almashtirildi, 3 ta seed bilan takrorlanib, oʻrtacha qiymat olinadi. Piksellarni aralashtirishda bir xil qoida bilan aralashtirilgan maʼlumotlarda boshidan qayta oʻqitiladi.
ChatGPT, Qwen, Claude kabi AI yordamchilarga joylashtiriladigan promptlar. “Nusxalash” tugmasi bosilganda prompt ortidan tanlangan kod ham qoʻshiladi. 〔 〕 ichidagini oʻz vaziyatingizga moslab yozsangiz boʻladi.
AI javobi faqat boshlangʻich nuqta. Taklif qilingan maqolalar, raqamlar va kutubxona funksiyalarini albatta asl manba va rasmiy hujjatlar orqali tekshiring. Tanlov yoki maqola uchun AI yordamidan foydalangan boʻlsangiz, tashkilotchilar va jurnal qoidalariga koʻra foydalanish faktini va koʻlamini maʼlum qiling.
Bu matndagi sariq punktir tagchiziqlar bilan bir xil lugʻat. Butun turkumda bir xil yozuv ishlatiladi. Boʻlim nomini bossangiz, atama birinchi uchragan joyga oʻtasiz.
Oʻxshatish tushunishning birinchi qadami, lekin notoʻgʻri tushunchaning urugʻi ham boʻlishi mumkin. Drozofila va miya oʻxshatishlariga kuch darajasi belgilangan. Bevosita haqiqatan ham bir xil ishni bajarishiga dalil bor · Qisman faqat ayrim xususiyatlari oʻxshash · Yoʻq mos keladigan narsa maʼlum emas
| Tushuncha | Kundalik hayotdan oʻxshatish | Drozofila va miya oʻxshatishi | Oʻxshatish xato boʻladigan joy |
|---|---|---|---|
| Piksel | Mozaikaning bitta plitkasi | Qisman Drozofila fasetkali koʻzining bitta ommatidiysi | Ommatidiylar oltiburchak shaklida joylashgan va yorugʻlik oʻzgarishiga sezgir. Rasmdagi piksel esa kvadrat panjaradagi qotib qolgan qiymat |
| Filtr | Faqat muayyan naqshni yoritib koʻrsatadigan lupa | Qisman Birlamchi koʻrish poʻstlogʻidagi yoʻnalishni tanlovchi hujayralar [R1] | Neyronlarning retseptiv maydoni har bir joyda biroz farq qiladi. CNN filtri esa barcha joylarda mutlaqo bir xil |
| Vaznlarni ulashish | Bir xil muhrni qogʻozning turli joylariga bosish | Qisman Drozofila koʻrish tizimida bir turdagi neyronlar butun koʻrish maydoni boʻylab takroran joylashgan | Miyadagi neyronlarning har biri oʻz bogʻlanish kuchiga ega. Sonlarni “ulashmaydi” |
| Pooling | Xaritani kichraytirib nusxalash | Qisman Joylashuv biroz farq qilsa ham javob beradigan murakkab hujayralar [R1] | Murakkab hujayralar aynan maksimumni tanlash hisobini bajaradimi — bu tasdiqlanmagan |
| Qatlamlarni ustma-ust qoʻyish | Nuqta → chiziq → shakl tartibida rasm chizish | Qisman Koʻrish yoʻli V1 → V2 → V4 → pastki chakka poʻstlogʻi (3-1, 5-boʻlim) | Miyada teskari bogʻlanishlar koʻp, CNN da esa signal faqat bir yoʻnalishda oqadi |
| Yoyish | Shashka taxtasidagi toshlarni bir qatorga tizish | Yoʻq | Bir qatorga tizilsa, “kim kimga qoʻshni” degan maʼlumot yoʻqoladi (3-boʻlim ①) |
| Softmax | Ovoz berish natijalarini ovozlar ulushiga aylantirish | Yoʻq | Ovozlar ulushi yuqoriligi javob toʻgʻri degani emas. Ilk bor koʻrilgan rasmda ishonch bilan xato qilishi mumkin |
| Piksellarni aralashtirish | Jumboq boʻlaklarini belgilangan qoida boʻyicha aralashtirish | Yoʻq | Inson aralashtirilgan rasmni deyarli taniy olmaydi, MLP esa xuddi avvalgidek oʻrganadi. “Inson kabi koʻrish” mezoni modellarda turlicha |
E-1 Muallif haqida · E-2 Ilmiy manbalar · E-3 Rasmlar uchun manbalar
Quyidagi materiallar tuzilma va mazmun uchun manba sifatida olindi.
Oʻqituvchilar, ish joyidagi OJT masʼullari va tyutorlar uchun mashgʻulot yoʻriqnomasi. Vaqtlar taxminiy, shuning uchun haqiqiy darsga moslab oʻzgartiring.
| Auditoriya | 3-2 ni tugatgan talabalar va xodimlar. Tasvir maʼlumotlari bilan ishlaydigan mutaxassislar (nazorat tasvirlari, tibbiy tasvirlar, hujjat skanerlari) |
|---|---|
| Talab qilinadigan bilimlar | 3-2 dagi yashirin qatlam·teskari tarqalish tushunchalari. Faqat koʻpaytirish va qoʻshish bilan 5·6-boʻlimlardagi hisoblarni kuzatib borish mumkin |
| Oʻquv maqsadlari | ① Rasm sonlar panjarasi ekanini tushuntiradi va MLP qoqiladigan toʻrtta sababni keltiradi ② Konvolyutsiya·ReLU·poolingni qoʻlda hisoblaydi ③ CNN joylashuv oʻzgarishida “nisbatan kamroq chalgʻiydi, lekin mukammal emas” ekanini tajriba natijalari asosida tushuntiradi |
| Taxminiy vaqt | Oʻqish 40–50 daqiqa · animatsiya namoyishi 25 daqiqa · Colab amaliyoti 30 daqiqa (kod 1 — 10 daqiqa, kod 2 — 20 daqiqa) |
Kirish 5 daqiqa (1-boʻlim, rangli drozofila sonlari) → 3-boʻlim, toʻrtta sabab 10 daqiqa → 5·6-boʻlimlar, qoʻlda hisoblash 15 daqiqa → 8-boʻlim, panel 15 daqiqa → tekshiruv savollari 5 daqiqa.
3-boʻlim ② vaznlar portlashini oʻz kompaniyamiz tasvir oʻlchami bilan hisoblash 10 daqiqa → 8-boʻlim 20 daqiqa (ishlab chiqarishdagi kamera joyi oʻzgarsa-chi?) → kod 2 amaliyoti 30 daqiqa → “Bizning maʼlumotlarimizga qanday kengaytirish kerak?” muhokamasi 20 daqiqa → prompt kartalari 10 daqiqa.
Boshlovchilar uchun faqat 1·3·5·8-boʻlimlar. Oʻrta darajadagilarga 5-boʻlimdagi chiqishning bitta katagini qoʻlda hisoblatib, kod 1 dagi conv2d funksiyasi bilan solishtiring, 7-boʻlimda esa yoyish va global poolingning parametrlari sonini oʻzlari sanab chiqsin.
| Boʻlim | Toʻxtab beriladigan savol | Boshqaruv boʻyicha maslahat |
|---|---|---|
| 1 Sonlar panjarasi | “Drozofila koʻzidagi qizil rang uchta kanalda qanday sonlar boʻladi?” | Rangli drozofilada qizil·yashil·koʻk koʻrinishlarini navbatma-navbat bosing |
| 2 Anʼanaviy mashinaviy oʻrganish | “Inson belgilagan belgilar nega siljitilgan rasmda barbod boʻladi?” | Toza rasm → 2 katak siljitilgan tartibida bosib, aniqlik ustunlarini solishtiring |
| 3 MLP cheklovlari | “Bevosita pastdagi piksel bir qatorda necha katak uzoqlikda boʻladi?” | ② vaznlar portlashida 1000×1000 ni bosib, son kattaligidan hayratga soling |
| 4 CNN yechimi | “Filtr ulashilsa, nega vaznlar rasm oʻlchamiga bogʻliq boʻlmay qoladi?” | Qatlamlarni ustma-ust qoʻyishda bitta neyron koʻradigan doira 3 → 4 → 8 ga kengayishini taʼkidlang |
| 5 Konvolyutsiya | “Bu joydagi chiqish nega manfiy?” | Toʻxtatib, “Bir katak siljitish” bilan formulani birga oʻqing |
| 6 ReLU·pooling | “Bir katak siljitilsa, poolingdan oldingi va keyingi holatdan qaysi biri kamroq oʻzgaradi?” | Asl rasm va 1 katak siljitilgan rasmni navbatma-navbat bosing |
| 7 Ehtimollikkacha | “Yoyish va global pooling — qaysi biri joylashuvga kamroq sezgir?” | “2 katak siljitilgan +” ni tanlab, ikki usulni navbatma-navbat koʻring |
| 8 Taqqoslash paneli | “Oʻrtadagi rasmda kim yutadi, siljitilgan rasmda-chi?” | Avval joylashuvni siljitishni koʻrib, keyin piksellarni aralashtirishga oʻting va natija teskarisiga aylanishini koʻring |
| Notoʻgʻri tushuncha | Toʻgʻri tushuntirish | Koʻrsatiladigan sahna |
|---|---|---|
| CNN joylashuv oʻzgarsa ham bir xil taniydi | U faqat nisbatan kamroq chalgʻiydi. Koʻp siljitilsa aniqlik pasayadi, katta CNN ham bir necha piksellik siljishda javobini oʻzgartirishi mumkin | 8-boʻlim joylashuvni siljitish, 6-boʻlim |
| CNN har doim MLP dan aniqroq | Bu sahifadagi kabi rasm doim bir joyda boʻlsa, MLP ning natijasi yuqoriroq boʻlishi ham mumkin. CNN ning afzalligi — parametrlar samaradorligi va siljishga chidamliligi | 8-boʻlimdagi 0 katakdagi aniqlik |
| Filtrlarni inson belgilaydi | 5-boʻlimdagi filtrlar tushuntirish uchun. Haqiqiy CNN filtr sonlarini teskari tarqalish orqali oʻrganadi | 7-boʻlimdagi oʻrgatilgan xaritalar |
| Pooling maʼlumotni koʻpaytiradi | Pooling sonlarni kamaytirib, maʼlumotning bir qismini tashlab yuboradi. Buning evaziga kichik siljishni yutadi va hisobni kamaytiradi | 6-boʻlimdagi 4×4 → 2×2 |
| CNN miyaning koʻrish poʻstlogʻi bilan bir xil | Oddiy·murakkab hujayralardan gʻoya olingan, lekin oʻqitish usuli va bogʻlanish tuzilishi boshqacha | Umumiy D boʻlimdagi “Qisman” belgisi |
224 × 224 × 3 = 150,528 ta kirish × 1,000 = 150,528,000 ta (taxminan 150 million). 64 ta 3×3 rangli filtrli konvolyutsiya qatlamida 3 × 3 × 3 × 64 = 1,728 ta (siljish bilan 1,792 ta).
(6 − 3 + 1) × (6 − 3 + 1) = 4×4.
Ustma-ust tushgan boʻlakning ikkinchi qatori [0, 3, 3], filtrning har bir qatori esa [1, 0, −1]. 0×1 + 3×0 + 3×(−1) = −3. Birinchi va uchinchi qatorlar butunlay 0 boʻlgani uchun qoʻshilsa ham −3.
Maksimum 6, oʻrtacha (6 + 3 + 0 + 3) / 4 = 3.
CNN. CNN “yaqin piksellar oʻzaro bogʻliq” degan farazni tuzilmasiga (3×3 filtr, pooling) joylagan, aralashtirilganda esa yaqin kataklar bir-biriga hech aloqasi yoʻq piksellarga aylanadi. MLP dastlabdanoq piksellar orasidagi joylashuv munosabatidan foydalanmaydi, shuning uchun aralashtirilsa ham natija deyarli bir xil. Allaqachon oʻqitilgan modelga aralashtirilgan rasm berish emas, balki aralashtirilgan maʼlumotlarda boshidan oʻqitish sharti muhim.
Kod 1 dagi FILTERS ga bitta diagonal qirra filtrini qoʻshing, 6×6 “7” da qaysi katak eng kuchli javob berishini topib, sababini ikki gapda yozing.
Kod 2 ning oʻqitish maʼlumotlariga 1~2 katak siljitilgan rasmlarni qoʻshing (maʼlumotlarni kengaytirish). Ikkala modelning 0~3 katakdagi aniqligi qanday oʻzgarishini jadvalga kiriting va “tuzilma orqali olinadigan chidamlilik” bilan “maʼlumotlar orqali olinadigan chidamlilik”ni solishtiring.
| Yangi boshlovchilar | 2- va 7-boʻlimlarni tashlab ketsa ham mavzu izchilligi buzilmaydi. 8-boʻlimda faqat natija ustunlarini birga oʻqing |
|---|---|
| Chuqurlashtirilgan | 4-boʻlimdagi qatlamlarni ustma-ust qoʻyishda retseptiv maydon hisobini (3 → 4 → 8) umumiy formula koʻrinishida ifodalashni topshiring. 6-boʻlimdagi cheklovlarni [R6] maqolasidagi jadval bilan bogʻlab muhokama qiling |
| Qoʻshimcha oʻrganish | Sangsun Ahn, «Biznes uchun maʼlumotlar fani» maʼruzalar matni (maʼlumotlar fani boʻyicha umumiy) · STEP [K-Digital] Sunʼiy intellekt yordamida tabiiy tilni qayta ishlash (3-5 va 3-8 qismlarga bogʻliq) · STEP [K-Digital] Fintex maʼlumotlarini tahlil qilish asoslari (3-6 qismga bogʻliq) |
| Oʻqituvchilar uchun materiallar | Tekshiruv savollarini baholash mezonlari va topshiriqlarning namunaviy javoblarini Oʻqituvchilar uchun javoblar sahifasi (3-3) da koʻrish mumkin |
«3-3 Tasvirlar va CNN» qismini oxirigacha oʻqidingiz. Laboratoriya jamoasi bir ogʻizdan xulosa qilib beradi.