Sun'iy Intellekt

Chuqurlashamiz: murakkab neyrotarmoqlar qanday oʻqitiladi?

Neyrotarmoq tashqi yordamsiz mushuklarni boyqushlardan ajratishi yoki inson nutqini aniqlashi uchun maxsus oʻqitish algoritmlari kerak. Bunday algoritmlar chuqur oʻqitish deb ataladi. Mavzuni batafsil koʻrib chiqamiz.

Chuqur oʻqitish (Deep Learning) nima?

Sunʼiy neyron tarmoqlar tasvir yoki nutqni aniqlash kabi murakkab vazifalarni bajarishi mumkin. Shu maqsadda ularga oʻrganish uchun algoritm va maʼlumotlar beriladi hamda hajmi doimiy ravishda oshirib boriladi. Neyrotarmoq arxitekturasi qanchalik murakkab boʻlsa va koʻp maʼlumotni qayta ishlasa, oʻqitish shunchalik samarali boʻladi. Bunday jarayon deep learning yoki chuqur oʻqitish deb ataladi.

Chuqur oʻqitish uchun koʻp qatlamli neyrotarmoqlar kerak. Bu modellar bir-biri bilan bogʻliq boʻlgan bir nechta qatlamlardan iborat. Bunday arxitektura neyrotarmoqlarga maʼlumotlardan murakkab iyerarxik xususiyatlarni olish imkonini beradi.

Deep learning mashinani oʻqitishning ishlash tamoyili boshqacha boʻlgan kichik boʻlimidir. Mashinani oʻqitish uchun algoritm yoʻnaltiriladigan maʼlumotlar alomatlari inson tomonidan belgilanadi. Deep learning neyrotarmogʻi esa ularni tashqi yordamsiz topadi.

Neyron tarmoqlar qanday tuzilgan?

Sunʼiy neyron — bir nechta kirish faktlarini chiqishda bittaga aylantiradigan funksiya. U buni qanday amalga oshirishi faktlarning ahamiyati (salmogʻi) va neyronning sozlamalariga bogʻliq. Bunday neyronlardan tashkil topgan neyrotarmoq kirish maʼlumotlarini tahlil qiladi va qaror qabul qila oladi. Bu xuddi kundalik hayotda turli omillarni tahlil qilish orqali qaror qabul qilishimizga oʻxshaydi.

Tasavvur qilaylik, sunʼiy neyronga oʻrnimizga uydan chiqish yoki chiqmaslik borasida qaror qabul qilishni ishonib topshirdik. Qaror ob-havo, kayfiyat va boʻsh vaqt kabi bir necha omillarga bogʻliq boʻladi. “Agar ob-havo yaxshi (1), boʻsh vaqt (1) va kayfiyat (1) boʻlsa, uydan chiqaman (1). Agar boʻlmasa (0), hech qayerga bormayman (0)” koʻrinishida qatʼiy fikr yuritish mumkin.

Ammo bu uchta omil har kuni ham ish bermasligi mumkin, kimdir uchun esa yaxshi ob-havo kayfiyatdan koʻra muhimroq. Sunʼiy neyron uchun faktning salmogʻi ahamiyatliroq. Agar omilni salmoqqa koʻpaytirsak, uning taʼsiri hosil boʻladi. Endi “Agar ob-havo, kayfiyat va vaqtning taʼsiri “tole yor ayladi” qiymatidan kattaroq boʻlsa, uydan chiqaman” deyishimiz mumkin.

Salmoqning turli qiymatlarida natija quyidagicha boʻladi:

  • agar barcha salmoqlar kichik boʻlsa, uydan umuman chiqmasligimiz mumkin;

  • agar barcha salmoqlar oshirilsa, hatto yomgʻir yoki ish koʻp boʻlganda ham chiqamiz;

  • talab chegarasi tushirilganda ham tez-tez chiqamiz;

  • boʻsh vaqt salmogʻi oshirilsa, oʻzimizni hatto boʻron paytida va tushkun kayfiyatda ham sayrga chiqishga majbur qilamiz.

Bu eng oddiy neyrotarmoq boʻlib, unda faqat bitta neyron mavjud. Agar natija belgilangan chegaradan katta boʻlsa, sunʼiy neyron sayr qilish (1), agar kichik boʻlsa chiqmaslik qarorini beradi (0).

Neyron omillarni salmoqlarga koʻpaytirib, qiymat (chegara) bilan taqqoslaydigan amal faollashtirish funksiyasi deb ataladi. Bu neyronga olingan miqdor asosida qaror qabul qilishga yordam beradi. Inson tanasi ham oʻz faollashtirish funksiyalariga ega. Masalan, turnikka tortilishni oʻrganayotganimizda biz uchun tananing boshqa qismlaridan koʻra qoʻl va orqa mushaklardan keladigan signallar muhimroq. Yuklamani kerakli joyda his qilsak, texnikani oʻzgartirmaymiz. Aksincha, yelkadagi ogʻriq sizni toʻxtashga va nimada xato qilayotganingizni aniqlashga majbur qiladi.

Yaxshi ob-havo, kayfiyat va boʻsh vaqt nisbiy tushunchalardir. Baʼzilar uchun yomgʻirning yoʻqligi koʻchaga chiqish uchun sabab boʻla oladi, kimdir uchun esa sayr kamida ikki soat davom etishi kerak. Qaror qabul qilishda moslashuvchanlikni yanada oshirish uchun qatʼiy 1 va 0 qiymatlar oʻrniga foizlardan foydalanamiz. Masalan, “shamol va yomgʻir yoʻq, ob-havo yetarlicha yaxshi” (70%), “kayfiyat unchalik quvonchli ham, tushkun ham emas” (50%), “bir soat boʻsh vaqt bor” (80%).

Neyronning javobi 0 yoki 1 emas, balki bu ikki qiymat orasidagi diapazonda boʻladi. Masalan: neytral kayfiyat, tashqarida maqbul ob-havo, boʻsh vaqt yetarli, shuning uchun tashqariga chiqishni afzal koʻraman.

Endi sxemani murakkablashtiramiz. Tashqariga chiqqanimizda nima bilan shugʻullanishimiz borasida qaror qabul qilishimiz kerak. Toza havodan nafas olish va qushlarni tomosha qilish uchun parkka boramiz, oziq-ovqat sotib olish kabi uy ishlarini qilamiz yoki doʻstlarimiznikiga mehmonga boramiz. Buning uchun har biri oʻziga oid masalani hal qiladigan koʻproq neyronlar kerak boʻladi.

  • Parkda sayr qilish uchun vaqt va yaxshi ob-havo talab qilinadi, kayfiyat esa jarayon mobaynida yaxshilanishi mumkin.

  • Doʻkon va pochtaga borish uchun asosiysi vaqt kerak boʻladi. Ob-havo va kayfiyat unchalik ahamiyatli boʻlmasligi ham mumkin.

  • Mehmonga borish uchun kayfiyat va vaqt zarur, yomgʻirli havoda taksi chaqirish mumkin.

Oʻzimiz va neyronlarning hayotini murakkablashtirishda davom etamiz. Endi ular qayerga borishimiz va buning uchun qancha vaqt hozirlik koʻrishimizga qarab, nima kiyish va qachon chiqishimiz kerakligi toʻgʻrisida qaror qabul qiladi. Bunday sxema murakkab neyrotarmoq hisoblanadi. U qatlamlar koʻrinishida guruhlangan bir nechta neyronlardan iborat. Kirish qatlami maʼlumotlarni qabul qiladi, yashirin qayta ishlaydi, chiqishi esa natijani koʻrsatadi. Neyronlarning har bir qatlami qoʻshnisi bilan bogʻliq. Kuchli bogʻlanishlar koʻproq toʻgʻri xulosalar chiqaradi.

Vazifa qanchalik qiyin boʻlsa, shunchalik koʻproq neyron va qatlamlar kerak boʻladi. Neyrotarmoqning bunday arxitekturasi “koʻp qatlamli perseptron” deb ataladi

Endi neyrotarmoq yuzlab qatlam va minglab neyronlardan iborat deb tasavvur qilaylik. U boshqa qarorlar qabul qilishi va yangi maʼlumotlarni ham qayta ishlashi kerak. Bunday neyrotarmoqni qoʻlda sozlash ming soatlab vaqtni oladi. Yaxshi yangilik bor, jarayonni avtomatlashtirish mumkin. Bunday vazifa bilan Data Science mutaxassisi shugʻullanadi. U neyrotarmoq kirish maʼlumotlari bilan ishlashda foydalaniladigan chuqur oʻqitish algoritmini ishlab chiqadi. Masalan, xaridor yoqtiradigan narsalari va buyurtmalari asosida mahsulotlarni tavsiya qilishni oʻrgatadi.

Neyrotarmoqlar Deep Learningʼda qanday oʻqitiladi?

Biror narsani oʻrganish uchun tajriba orttirish kerak. Masalan, batterflyay uslubida suzishni oʻrganish uchun oʻquv videosini tomosha qilish, suzishga urinib koʻrish yoki suzish boʻyicha murabbiy topish mumkin.

Neyrotarmoq bu qadar mustaqil emas. Tajriba orttirishi uchun uni sozlash kerak. Aytaylik, algoritm tasvirlarni ikkita meva: olma va apelsin toifasiga koʻra ajratishini xohlaymiz.

Anʼanaviy mashinani oʻqitish uslubi insondan xususiyatlarni maʼlumotlar toʻplamidan qoʻlda tanlashni talab qiladi. Masalan, algoritmga olma yashil va silliq, apelsin qobigʻi esa toʻq sariq rangda va gʻadir-budur ekani maʼlum qilinishi kerak. Shunda algoritm bu mevalarning boshqa rasmlarini koʻrganida ularni taniydi.

Mashinani oʻqitish va chuqur oʻqitish qarindoshdir, ammo ular maʼlumotlar bilan turlicha ishlaydi

Xuddi shu vazifa uchun chuqur oʻqitish modeli boshqacha yondashuvni qoʻllaydi. Unga strukturalangan yoki belgilangan maʼlumotlar kerak emas. Neyrotarmoq tasvirlarni bir necha qatlamlardan oʻtkazadi. Ularning har birida iyerarxik ravishda olma va apelsin bilan bogʻliq boʻlishi mumkin boʻlgan xususiyatlarni toʻplaydi. Dogʻ va chiziqlar kabi oddiy elementlardan boshlab har bir keyingi qatlamda tobora murakkab shakllarni toʻplaydi.

Agar maʼlumotlarga ananas rasmlari qoʻshilsa, chuqur oʻqitilayotgan neyrotarmoq uni ham taniydi va yuqoridagi ikki toifadan biriga kiritishga urinmaydi. Bunday vaziyatda anʼanaviy mashinani oʻqitish algoritmining miyasi gangib qolar edi. Chunki u faqat oldindan belgilangan funksiyalar toʻplamini samarali bajaradi va tizimga yangi maʼlumotlar kiritilganda xato ishlay boshlaydi.

Har bir chuqur oʻqitilgan aqlli va mustaqil neyrotarmoq ortida Data Science mutaxassisi turadi. U quyidagi ishlarni bajaradi:

  1. Maʼlumotlarni toʻplaydi. Ochiq toʻplamlar yoki datasetlardan foydalanishi mumkin. Masalan, qoʻlda yozilgan raqamlarni tanib olish uchun MNIST, rasmlarni tasniflash uchun CIFAR-10 yoki Kaggle, UCI Machine Learning Repository platformalaridagi datasetlar. Agar kompaniyaning ixtisoslashgan maʼlumotlari kerak boʻlsa, ularni toʻplashga boshqa mutaxassis – ML muhandis yordam beradi.

  2. Neyrotarmoqning strukturasi vazifaga koʻra qatlamlar soni va ularning xususiyatlarini belgilaydi. Masalan, oʻrama neyrotarmoqlar tasvirlarni aniqlashga mos keladi. Ularning yashirin qatlamlari iskovuch it kabi ishlaydi, obyektning eʼtiborga loyiq xususiyatlarini topadi. Rekurrent tarmoqlardan matnni qayta ishlashda foydalaniladi. Ularning qatlamlari maʼlumotni zanjir boʻylab bir-biriga uzatadi va shu tarzda model “xotirasini” saqlab turadi.

  3. Algoritmni sozlaydi. Maʼlumotlardagi murakkab bogʻliqliklarni oʻrganishda neyronga yordam beradigan faollashtirish funksiyalarini tanlaydi. Yoʻqotishlar funksiyasini ajratadi, oʻqish jarayonida model ularni minimallashtiradi. Neyrotarmoq parametrlarini sozlash uchun optimizatorni tanlaydi. Oʻqitish parametrlari: oʻqitish tezligi (learning rate) va oʻqitishda foydalaniladigan misollar sonini (batch size) belgilaydi. Data Science mutaxassisi tajribasi, vazifa borasidagi bilimi va empirik tadqiqotlari asosida sozlamalarni tanlaydi. Bu ijodiy jarayon boʻlib, maʼlum bir vazifa uchun optimal parametrlarni topishda mutaxassis koʻpincha tajriba oʻtkazadi.

  4. Testdan oʻtkazadi va qayta sozlaydi. Neyrotarmoq vazifani qanchalik muvaffaqiyatli bajarayotganini tekshiradi. Agar xatolar mavjud boʻlsa, Data Science mutaxassisi neyrotarmoq parametrlarini oʻzgartirish yoki koʻproq maʼlumot qoʻshish orqali tuzatishlar kiritishi mumkin.

Muvaffaqiyatli oʻqitilgandan va sozlangandan soʻng neyrotarmoq haqiqiy loyihalarga tayyor boʻladi. Masalan, telefon kamerasi yordamida narsalarni tanib olish uchun foydalansa boʻladi.

Deep learningʼni oʻrganib, oʻz SI modellaringizni yarating

Platformamizdagi Data Science va SI kursida machine learning va deep learningʼni oʻrganasiz. Portfoliongizni 7 ta amaliy loyiha bilan toʻldirasiz. Darslarni Mohirdev asoschisi Anvar Narzullayev oʻtadi.

Kurs rasmi

Deep Learning vositalari

Neyrotarmoqlarni oʻqitish uchun maxsus vositalar kerak. Ularning baʼzilarini koʻrib chiqamiz.

Python:

Modellarni oʻqitish uchun maʼlumotlarni uzatish va parametrlarni sozlashda ishlatiladigan asosiy dasturlash tili.

Jupyter Notebook:

Neyrotarmoq sozlanadigan veb ilova.

TensorBoard va W&B:

Oʻqitish koʻrsatkichlari, neyrotarmoq strukturasini vizualizatsiya qilish vositalari. Ular model qanday ishlayotganini yaxshiroq tushunishga yordam beradi.

Optuna, Hyperopt, Ray Tune:

Neyrotarmoq giperparametrlarini tanlashni avtomatlashtiradigan freymvorklar. Bular neyrotarmoq oʻqitishda tayanadigan sozlamalardir. Masalan, yashirin qatlamlar soni, oʻqitish tezligi boʻlishi mumkin.

Google Colab, AWS (Amazon Web Services), Microsoft Azure Machine Learning:

Bulutli hisoblash resurslarini taqdim etadigan platformalar. Ular bilan ishlash uchun lokal kompyuterga chuqur oʻqitish dasturlarini oʻrnatish shart emas.

Qanaqa chuqur oʻqitish algoritmlari mavjud?

Turli vazifalar uchun oʻz chuqur oʻqitish modellaridan foydalaniladi. Asosiylarini koʻrib chiqaylik:

  • Oʻrama neyron tarmoqlar (CNN) tasvirlarni qayta ishlashda ishlatiladi. Bunday tarmoqlarda matematik amallar: oʻrama yordamida kirayotgan maʼlumotlardan ahamiyatli xususiyatlarni ajratib oladigan qatlamlar mavjud. Nomi shundan kelib chiqqan. Tarmoq tasniflash, obyektlarni aniqlash va tasvirlarni segmentatsiyalash uchun foydali boʻladigan tasvirlardagi obyekt va patternlarni farqlashni oʻrganadi. Misol uchun, mushuk tasvirida oʻrama qatlamlar uning tumshugʻi, quloqlari va yoʻl-yoʻl rangini aniqlashi mumkin.

  • Rekurrent neyron tarmoqlar (RNN) oldingi holatlarni eslab qolishi mumkin va bu ularni kontekst hamda oldingi bosqichlarga bogʻliqlik muhim boʻlgan vazifalar uchun munosib qiladi. Inson ham xuddi shu tamoyilga koʻra jumladagi har bir soʻzni oʻqiydi, eslab qoladi va shuning uchun maʼnosini tushunadi. RNNʼlar mashina tarjimasi, matnlarni tahlil qilish, nutqni generatsiya qilish va maʼlumotlarning izchil strukturasi muhim boʻlgan boshqa sohalarda qoʻllanadi.

  • Generativ-tortishuvli tarmoqlar (GAN) ikki qism: generator va diskriminatordan iborat. Generator rasmlar yoki matn kabi yangi maʼlumotlarni yaratadi, diskriminator esa ularni haqiqiysi bilan taqqoslaydi. Bunday neyrotarmoqni oʻqitish rassom va tanqidchi oʻrtasidagi doimiy kurashga oʻxshaydi. Generator tobora haqiqiyroq maʼlumotlarni yaratishga, diskriminator esa ularni originalidan ajratishga intiladi. GAN real tasvirlarni yaratish, maʼlumotlar sifatini yaxshilash, matn tuzish va haqiqatga yaqin kontent kerak boʻlgan boshqa vazifalar uchun ishlatiladi.

Baʼzan vazifa uchun bitta algoritm yetarli boʻlmaydi. Masalan, Midjourney kabi vositani ishlab chiqish uchun GAN, RNN, shuningdek, tasvirni vektorga (yoki aksincha) oʻzgartiradigan maxsus dekoderlar kerak boʻladi.

Deep Learning qayerda qoʻllanadi?

Mashinani chuqur oʻqitishdan foydalanish texnologiya va tadqiqotlar rivojlanishi bilan birga doimiy ravishda kengayib bormoqda. U ishlatiladigan ayrim sohalar:

Marketing. Chuqur oʻqitish tufayli kompyuterlar inson tilini tushunadi va qayta ishlaydi. Masalan, ChatGPT va Alisa matn generatsiya qilishi, savollarga javob berishi va hatto badiiy asarlar yaratishi mumkin. Deyarli inson kabi muloqot qiladigan chat-botlardan qoʻngʻiroqlar markazi, veb-sayt va ilovalardagi koʻmak xizmati operatorlari oʻrnida foydalanish mumkin.

Chuqur oʻqitish isteʼmolchilarning xatti-harakatlari, yoqtiradigan narsalari va xaridlari tarixi haqidagi maʼlumotlarni tahlil qilishda ishlatiladi. Bu maʼlumotlar asosida shaxsiy tavsiyalar va reklama takliflari yaratiladi. Masalan, pochta xabarlari, bannerlar yoki push xabarlar. Bu maʼlumotlar kompaniyaga mahsulotlarga boʻladigan talabni prognoz qilish va marketing kampaniyalarini rejalashtirishda yordam beradi.

Murakkab neyrotarmoqlar ijtimoiy tarmoqlardagi fikrlar hamda fikr-mulohazalar, sharhlar kabi matnli maʼlumotlardagi hissiyotlarni tahlil qilishi mumkin. Kompaniya maʼlumotlarni qoʻlda qayta ishlashga vaqt sarflamaydi.

Xavfsizlik. Chuqur oʻqitish kompyuterlarning tasvirlarni koʻrish va tushunish qobiliyatini yaxshiladi. Deep learningʼdan aeroportlar yoki tadbirlarda yuz orqali tanib olish kabi xavfsizlik tizimlarida foydalaniladi.

Tibbiyot. Chuqur oʻqitish algoritmlari rentgen suratlarini tahlil qilib, diagnostika aniqligi va tezligini oshirishi mumkin. Masalan, suratlar orqali xavfli kasalliklar alomatlarini dastlabki bosqichlardayoq aniqlash mumkin.

Media va ijodkorlik. Hozircha neyrotarmoqlarning matnlariga shikoyatlar hali koʻp, ammo Midjourney yaratgan illyustratsiyalarni baʼzan rassomlarning asarlaridan ajratib boʻlmaydi. Neyrotarmoqlardan banner va plakatlar, jurnal muqovalari, oʻyin qahramonlari, video va komikslar yaratishda foydalaniladi.

Midjourney modelining 1,5 yil ichida rivojlanishi

Haydovchisiz avto. Chuqur oʻqitilgan neyrotarmoqlar avtomobillarni tashqi dunyo bilan oʻzaro aloqada boʻlishga oʻrgatish uchun ishlatiladi. Masalan, piyoda va boshqa yoʻl harakati ishtirokchisining harakatini taxmin qilish uchun.

Moliya. Chuqur oʻqitish bozorlarni tahlil qilish, trendlarni prognoz qilish, firibgarlarga qarshi tizimlar va shaxsiylashtirilgan moliyaviy tavsiyalar uchun qoʻllanadi. Masalan, fond bozoridagi narxlar oʻzgarishini bashorat qiladigan va moliya portfelni optimallashtirish boʻyicha tavsiyalar beradigan algoritmlar mavjud.

Manba: Глубокие познания: как учатся сложные нейросети

#Sunʼiy intellekt
#deep learning
#data science
Mohirdev Telegram

Telegram kanalimizga obuna bo’lishni unutmang

Obuna bo'lish
https://mohirdevbucket.s3.eu-central-1.amazonaws.com/practicum/images/51376cbb-4bcc-4fd9-a79f-bdde293c182f.original.png

Yandex Praktikum