“kompyuter injiniring” fakulteti IV bosqich ki 11-19 guruh talabasining
Download 118.04 Kb. Pdf ko'rish
|
3-mustaqil ish.mashinali o\'qitish .Eshmurodova Dinara
- Bu sahifa navigatsiya:
- “Mashinali o’qitishga kirish ” fanidan Mustaqil ishi
0’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI “KOMPYUTER INJINIRING” FAKULTETI IV BOSQICH KI 11-19 GURUH TALABASINING “Mashinali o’qitishga kirish ” fanidan Mustaqil ishi Bajardi: Eshmurodova D Qabul qildi: Ochilova S Mavzu: O‘qituvchisiz (Unsupervised) o‘qitish algoritmlari O‘qituvchisiz o‘qitish tushunchasi va uning usullari. Reja: 1. O‘qituvchisiz (Unsupervised) o‘qitish algoritmlari O‘qituvchisiz o‘qitish tushunchasi va uning usullari. 2. Sun’iy neyron tarmoqlariga kirish 3. Ko‘p sathli neyron tarmoqlari 4. Instrumental dasturiy vositalar asosida neyron tarmog‘ini qurish. 5. Neyron tarmoqni o‘qitish masalasi. 6. Neyron tarmoq asosida sinflashtirish masalasini yechish va neyron tarmoq aniqligini oshirish yo‘llari 7. Chuqur o‘qtish usullari. Mashinali o‘qitish va neyron tarmoqlarining turli sohalarda qo‘llanilishi 8. Bir o‘zgaruvchili va ko‘p o‘zgaruvchili chiziqli regressiya masalalari va ularni dasturlash. 9. Logistik regressiya tushunchasi va ularning mashinali o‘qitishda qo‘llanilishi Unsupervised Learning “Unsupervised Learning’’ da o’qituvchi yoki o’rgatuvchiga hojat yo’q! Algoritm ushbu qo’llanmasiz ma’lumotlarni tushuna olishi kerak.” Unsupervised Learning’ni regressiya yoki tasniflash muammosiga to‘g‘ridan-to‘g‘ri qo‘llash mumkin emas, chunki Supervised Learning’dan farqli o‘laroq, bizda kirish ma’lumotlari mavjud, lekin tegishli chiqish ma’lumotlari yo‘q. Unsupervised Learning’ning maqsadi ma’lumotlar to’plamining asosiy tuzilishini topish, ma’lumotlarni o’xshashliklari bo’yicha guruhlash va ushbu ma’lumotlar to’plamini tartiblangan formatda taqdim etishdir. Unsupervised Learning qanday ishlaydi?Tegishli algoritmni qo’llaganidan so’ng, algoritm ma’lumotlar ob’ektlarini ob’ektlar orasidagi o’xshashlik va farqlarga ko’ra guruhlarga ajratadi. Unsupervised Learning.Bu erda biz yorliqsiz kirish ma’lumotlarini oldik, ya’ni u toifalarga ajratilmagan va tegishli chiqishlar ham berilmagan. Endi ushbu yorliqsiz kirish ma’lumotlari uni o’qitish uchun Machine Learning modeliga beriladi. Birinchidan, u ma’lumotlardan yashirin belgilarni topish uchun xom ma’lumotlarni sharhlaydi va keyin K-means clustering, Anomaly detection va boshqalar kabi mos algoritmlarni qo’llaydi. Semi – Sepervised Learning(SSL). “Semi – Sepervised Learning(SSL) nazorat ostida va nazoratsiz o’rganish o’rtasidagi yarmidir. Belgilanmagan ma’lumotlarga qo’shimcha ravishda, algoritm ba’zi nazorat ma’lumotlari bilan ta’minlangan — lekin barcha misollar uchun shart emas. Ko’pincha, bu ma’lumotlar ba’zi misollar bilan bog’liq bo’lgan maqsadlar bo’ladi.” Semi – Sepervised Learning(SSL) misollar: Nutqni tahlil qilish: Ovozli fayllarni etiketlash (label’lash) juda intensiv ish bo’lganligi sababli, Semi – Supervised Learning bu muammoni hal qilish uchun juda tabiiy yondashuvdir. Internet-kontent tasnifi: Har bir veb-sahifani belgilash amaliy va amalga oshirib bo’lmaydigan jarayondir va shuning uchun Semi – Supervised Learning ostida o’rganish algoritmlaridan foydalanadi. Hatto Google qidiruv algoritmi ham berilgan soʻrov uchun veb-sahifaning dolzarbligini baholash uchun Semi – Supervised Learning variantidan foydalanadi. Reinforement Learning (RL).Reinforement Learning (RL) qaror qabul qilishga qaratilgan bo’limdir. Bu maksimal mukofot olish uchun muhitda maqbul vaziyatni o’rganishdir. Bu optimal darajada atrof-muhit bilan o’zaro ta’sir qilish va uning qanday munosabatda bo’lishini kuzatish orqali o’rganiladi, xuddi bolalar atrofdagi dunyoni o’rganishlari va maqsadga erishishga yordam beradigan harakatlarni o’rganishlari kabi. Aytaylik, musobaqada nazoratchi yo’q bo’lganda, Reinforcement Learning mukofotni maksimal darajada oshiradigan harakatlar ketma-ketligini mustaqil ravishda kashf qilishi kerak. Ushbu kashfiyot jarayoni sinov va xato qidiruviga o’xshaydi. Harakatlarning sifati nafaqat ular qaytaradigan darhol mukofot, balki ular olishi mumkin bo’lgan kechiktirilgan mukofot bilan ham o’lchanadi. Nazoratchining yordamisiz ko’rinmas muhitda yakuniy muvaffaqiyatga olib keladigan harakatlarni o’rganishi mumkinligi sababli, mustahkamlashni o’rganish juda kuchli algoritmdir. U qabul qilayotgan barcha ma’lumotlarini saqlaydi va eslab qoladi. Keyin eng optimal variantlarni taqdim etadi. Misol uchun AIchatbot’lari yoki yaqindagina Instagram tarmog’iga qo’shilgan taxminiy javob berish xizmati: http://fayllar.org Sun'iy neyron tarmog'i (ANN) - bu inson miyasini axborotni tahlil qilish va qayta ishlash usulini taqlid qilishga mo'ljallangan hisoblash tizimining bir qismi. Bu sun'iy intellekt (AI) ning asosidir va inson yoki statistik standartlar tomonidan imkonsiz yoki qiyin bo'lishi mumkin bo'lgan muammolarni hal qiladi. ANN-lar o'z-o'zini o'rganish qobiliyatiga ega, bu esa ko'proq ma'lumot paydo bo'lishi bilan yanada yaxshi natijalarga erishish imkonini beradi. Sun'iy neyron tarmoq (ANN) - bu inson miyasining ishlashini taqlid qilishga mo'ljallangan sun'iy aqlning tarkibiy qismi. Qayta ishlash bloklari ANNlarni tashkil qiladi, ular o'z navbatida kirish va chiqishlardan iborat. Kiritilgan ma'lumotlar ANN kerakli natijani olish uchun o'rgangan narsadir. Backpropagation - bu sun'iy neyron tarmoqlarini boshqarish uchun ishlatiladigan o'rganish qoidalarining to'plami. ANN uchun amaliy dasturlar moliya, shaxsiy aloqa, sanoat, ta'lim va boshqa sohalarni qamrab olgan juda kengdir. Sun'iy neyron tarmoqlari inson miyasiga o'xshab qurilgan, neyron tugunlari to'r singari bog'langan. Inson miyasida yuzlab milliardlab neyronlar deb nomlangan hujayralar mavjud. Har bir neyron ma'lumotni miyaga (kirishga) va undan tashqariga (chiqish) tashish orqali ma'lumotlarni qayta ishlash uchun mas'ul bo'lgan hujayrali tanadan iborat.ANNda tugunlar bir-biriga bog'langan qayta ishlash birliklari deb nomlangan yuzlab yoki minglab sun'iy neyronlar mavjud. Ushbu qayta ishlash birliklari kirish va chiqish birliklaridan iborat. Kirish bloklari ichki tortish tizimiga asoslangan turli xil shakllar va tuzilmalarni oladi va neyron tarmoq bitta chiqish hisobotini tayyorlash uchun taqdim etilgan ma'lumotni o'rganishga harakat qiladi. Odamlarga natija yoki natijani ishlab chiqish uchun qoidalar va ko'rsatmalar kerak bo'lganidek, ANNlar, shuningdek, natijalarni takomillashtirish uchun xatolarni orqaga surish uchun qisqartirish deb ataladigan "backpropagation" deb nomlangan qoidalar to'plamidan foydalanadilar.ANN dastlab vizual, tabiiy yoki matnli ma'lumotlardan namunalarni tanib olishni o'rganishni boshlaydi. Ushbu nazorat qilinadigan bosqichda tarmoq o'z ishlab chiqargan mahsuloti bilan kerakli ishlab chiqarish hajmini taqqoslaydi. Ikkala natija o'rtasidagi farq backpropagation yordamida o'rnatiladi. Bu shuni anglatadiki, tarmoq haqiqiy va istalgan natija o'rtasidagi farq eng kam xato yuzaga kelgunga qadar birliklar orasidagi ulanish og'irligini sozlash uchun chiqish blokidan kirish birliklariga qadar orqaga ishlaydi.Trening va nazorat bosqichida, ikkilik raqamlari bo'lgan savollarga "Ha / yo'q" turlaridan foydalanib, ANN nimani qidirish kerakligi va uning natijasi qanday bo'lishi kerakligi o'rgatiladi. Masalan, kredit karta firibgarligini o'z vaqtida aniqlamoqchi bo'lgan bankda quyidagi savollarga javob beradigan to'rtta kirish birligi bo'lishi mumkin: (1) foydalanuvchi yashaydigan mamlakatda boshqa mamlakatdagi operatsiya bormi? (2) Ushbu karta veb-sayt kompaniya nazorati ostida bo'lgan kompaniyalar yoki kompaniyalar bilan aloqador bo'ladimi? (3) Bitim summasi 2000 AQSh dollaridan kattaroqmi? (4) Bitim vekselidagi nom karta egasining ismi bilan bir xilmi?Bank "firibgarlik aniqlangan" javoblarning bo'lishini xohlaydi Ha Ha Yo'q, ikkilik formatda 1 1 1 0 bo'ladi. Agar tarmoqning haqiqiy chiqishi 1 0 1 0 bo'lsa, u mos keladigan natijani bermaguncha natijalarini moslashtiradi. 1 1 1 0. Treningdan so'ng kompyuter tizimi bankka ko'plab pullarni tejab, soxta bitimlar to'g'risida xabar berishi mumkin. Sun'iy neyron tarmoqlari hayotni o'zgartiradigan ilovalarni iqtisodiyotning barcha sohalarida foydalanish uchun ishlab chiqishga yo'l ochmoqda. ANN-larda qurilgan sun'iy intellekt platformalari odatdagi ishlarni buzmoqda. Veb-sahifalarni boshqa tillarga tarjima qilishdan virtual yordamchiga buyurtma beradigan oziq-ovqat do'konlariga ega bo'lishgacha, muammolarni echish uchun chatbotlar bilan suhbatlashishga qadar, AI platformalari tranzaktsiyalarni soddalashtiradi va arzimagan harajatlar bilan barcha xizmatlarni taqdim etadi. Sun'iy neyron tarmoqlari operatsiyalarning barcha sohalarida qo'llanilgan. Elektron pochta xizmatlarini etkazib beruvchilar ANN-larni foydalanuvchining kirish qutisidan spamni yo'q qilish va yo'q qilish uchun ishlatadilar; aktivlarni boshqaruvchilar undan kompaniya aktsiyalari yo'nalishini prognoz qilishda foydalanadilar; kredit reyting kompaniyalari undan skoring usullarini takomillashtirish uchun foydalanadilar; Elektron tijorat platformalari bundan foydalanib, o'zlarining auditoriyalari uchun tavsiyalarni shaxsiylashtirish uchun foydalanadilar; chatbotlar ANN bilan tabiiy tilda ishlov berish uchun ishlab chiqilgan; chuqur o'rganish algoritmlari voqea ehtimolini taxmin qilish uchun ANN-dan foydalanadi; va ANN birlashmasining ro'yxati ko'plab tarmoqlar, tarmoqlar va mamlakatlar bo'ylab tarqaladi. Sun'iy neyron tarmoqlari hayotni o'zgartiradigan ilovalarni iqtisodiyotning barcha sohalarida foydalanish uchun ishlab chiqishga yo'l ochmoqda. ANN-larda qurilgan sun'iy intellekt platformalari odatdagi ishlarni buzmoqda. Veb-sahifalarni boshqa tillarga tarjima qilishdan virtual yordamchiga buyurtma beradigan oziq-ovqat do'konlariga ega bo'lishgacha, muammolarni echish uchun chatbotlar bilan suhbatlashishga qadar, AI platformalari tranzaktsiyalarni soddalashtiradi va arzimagan harajatlar bilan barcha xizmatlarni taqdim etadi.Sun'iy neyron tarmoqlari operatsiyalarning barcha sohalarida qo'llanilgan. Elektron pochta xizmatlarini etkazib beruvchilar ANN-larni foydalanuvchining kirish qutisidan spamni yo'q qilish va yo'q qilish uchun ishlatadilar; aktivlarni boshqaruvchilar undan kompaniya aktsiyalari yo'nalishini prognoz qilishda foydalanadilar; kredit reyting kompaniyalari undan skoring usullarini takomillashtirish uchun foydalanadilar; Elektron tijorat platformalari bundan foydalanib, o'zlarining auditoriyalari uchun tavsiyalarni shaxsiylashtirish uchun foydalanadilar; chatbotlar ANN bilan tabiiy tilda ishlov berish uchun ishlab chiqilgan; chuqur o'rganish algoritmlari voqea ehtimolini taxmin qilish uchun ANN-dan foydalanadi; va ANN birlashmasining ro'yxati ko'plab tarmoqlar, tarmoqlar va mamlakatlar bo'ylab tarqaladi. Sunʼiy neyron tarmoqlari (SNT), odatda oddiygina neyron tarmoqlari(NT) deb ataladi, hayvonlar miyasini tashkil etuvchi biologik neyron tarmoqlardan ilhomlangan hisoblash tizimlari. SNT sunʼiy neyronlar deb ataladigan bogʻlangan birliklar yoki tugunlar toʻplamiga asoslanadi, ular biologik miyadagi neyronlarni erkin modellashtiradi. Sunʼiy neyron signallarni oladi, keyin ularni qayta ishlaydi va unga ulangan neyronlarga signal berishi mumkin. Ulanishdagi „signal“ haqiqiy raqam boʻlib, har bir neyroNTing chiqishi uning kirishlari yigʻindisining chiziqli boʻlmagan funksiyasi bilan hisoblanadi. Ulanishlar deyiladi qirralar. Neyronlar va chekkalar odatda oʻrganish davom etayotganda sozlanadigan vaznga ega. Neyronlar shunday chegaraga ega boʻlishi mumkinki, signal faqat yigʻilgan signal ushbu chegarani kesib oʻtgan taqdirdagina yuboriladi. Odatda, neyronlar qatlamlarga yigʻiladi. Signallar birinchi qatlamdan (kirish qatlami), oxirgi qatlamga (chiqish qatlami), ehtimol, qatlamlarni bir necha marta bosib oʻtgandan keyin oʻtadi. SNT anʼanaviy algoritmlar unchalik muvaffaqiyatli boʻlmagan vazifalarni bajarish uchun inson miyasining arxitekturasidan foydalanishga urinish sifatida boshlandi. Neyronlar bir-biri bilan turli naqshlarda bogʻlangan, bu baʼzi neyronlarning chiqishi boshqalarning kirishiga aylanishiga imkon beradi. Tarmoq yoʻnaltirilgan, vaznli grafik hosil qiladi.[40] Sunʼiy neyron tarmogʻi simulyatsiya qilingan neyronlar toʻplamidan iborat.Har bir neyron boshqa tugunlarga biologik mos keladigan bogʻlanishlar orqali bogʻlangan tugundir.Har bir boʻgʻiNTing vazni bor, bu bir tuguNTing boshqasiga taʼsir kuchini belgilaydi.[41] SNT kontseptual ravishda biologik neyronlardan olingan sunʼiy neyronlardan iborat. Har bir sunʼiy neyron kirishga ega va bir nechta boshqa neyronlarga yuborilishi mumkin boʻlgan bitta chiqishni ishlab chiqaradi.[42] Kirishlar tasvirlar yoki hujjatlar kabi tashqi maʼlumotlar namunasining xususiyat qiymatlari boʻlishi mumkin yoki ular boshqa neyronlarning chiqishi boʻlishi mumkin. NeyroNTing chiqishini topish uchun, avvalo, kirishlardan neyronga boʻlgan ulanishlar ogʻirligi bilan oʻlchangan barcha kirishlarning vaznli yigʻindisini olishimiz kerak. Biz bu summaga noaniq atama qoʻshamiz.[43] Ushbu vaznli summa baʼzan faollashtirish deb ataladi.Dastlabki maʼlumotlar tasvirlar va hujjatlar kabi tashqi maʼlumotlardir. Yakuniy natijalar tasvirdagi ob’ektni tanib olish kabi vazifani bajaradi.[44] Neyronlar odatda bir nechta qatlamlarga, ayniqsa chuqur oʻrganishda tashkil etilgan.Neyronlari faqat oldingi va keyingi qatlamlarning neyronlari bilan bogʻlanadi. Yakuniy natijani beradigan qatlam chiqish qatlamidir.Ular birlashma boʻlishi mumkin, bu erda bir qatlamdagi neyronlar guruhi keyingi qatlamdagi bitta neyronga ulanadi va shu bilan bu qatlamdagi neyronlar sonini kamaytiradi.[45] Faqatgina shunday ulanishga ega boʻlgan neyronlar yoʻnaltirilgan asiklik grafikni hosil qiladi va oldinga besleme tarmoqlari sifatida tanilgan.[46] Shu bilan bir qatorda, bir xil yoki oldingi qatlamlardagi neyronlar oʻrtasida ulanishga imkon beruvchi tarmoqlar takroriy tarmoqlar deb nomlanadi Murakkablarga kirish neyron tarmoqlari, unda kirish ma'lumotlari sun'iy neyronlarning ko'p qatlamlari orqali yo'naltiriladi. Bu butunlay bog'langan neyron tarmoqdir, chunki har bir tugun keyingi qatlamdagi barcha neyronlarga ulangan. Kirish va chiqish qatlamlarida bir nechta yashirin qatlamlar, ya'ni kamida uch yoki undan ortiq qatlamlar mavjud. U ikki tomonlama tarqalishga ega, ya'ni u oldinga va orqaga tarqala oladi. Kirishlar og'irliklarga ko'paytiriladi va faollashtirish funktsiyasiga yuboriladi, bu erda ular yo'qotishni minimallashtirish uchun orqaga tarqalish orqali o'zgartiriladi. Og'irliklar oddiy qilib aytganda, Neyron tarmoqlaridan mashina tomonidan o'rganilgan qiymatlardir. Kutilayotgan natijalar va o'quv kirishlari o'rtasidagi nomutanosiblikka qarab, ular o'z-o'zidan sozlanadi. Softmax chiziqli bo'lmagan faollashtirish funktsiyalaridan keyin chiqish qatlamini faollashtirish funktsiyasi sifatida ishlatiladi. Ko’p sathli neyron tarmoqlar Neyron tarmoqlari — bu insonning asab tizimini ko’paytirishga urinishlarga asoslangan sun’iy intellekt sohasidagi tadqiqotlar yo’nalishlaridan biri. Aynan: asab tizimining xatolarni o’rganish va tuzatish qobiliyati, bu bizga odam miyasining ishlashini taqlid qilishga imkon beradi. Inson nerv sistemasi yoki asab tizimi — bu tananing barcha tizimlarining o’zaro bog’liq xatti-harakatlarini ta’minlaydigan murakkab tuzilmalar tarmog’i. Biologik neyron — bu yadrodan, hujayrali tanadan va jarayonlardan iborat bo’lgan maxsus hujayradir. Neyronning asosiy vazifalaridan biri boshqa neyronlar bilan ulanish orqali neyron tarmog’iga elektrokimyoviy impulsni yuborishdir. Bundan tashqari, har bir aloqa sinaptik aloqaning kuchi deb nomlanadigan ma’lum bir miqdor bilan tavsiflanadi. Ushbu qiymat boshqa neyronga o’tkazilganda elektrokimyoviy impuls bilan nima sodir bo’lishini aniqlaydi: u kuchayadi yoki zaiflashadi yoki o’zgarishsiz qoladi. Biologik neyron tarmoq yuqori darajadagi ulanishga ega: boshqa neyronlar bilan bir necha mingta aloqa bitta neyronga tushishi mumkin. Ammo, bu taxminiy qiymat va har bir holatda u boshqacha. Bir neyrondan ikkinchisiga impulslarning uzatilishi butun neyron tarmog’ining ma’lum bir qo’zg’alishini keltirib chiqaradi. Ushbu qo’zg’alishning kattaligi neyron tarmoqning ba’zi kirish signallariga javobini aniqlaydi. Masalan, odamning eski tanishi bilan uchrashuvi, agar ba’zi tanish va yoqimli hayot xotiralari ushbu tanishish bilan bog’liq bo’lsa, neyron tarmog’ining kuchli qo’zg’alishiga olib kelishi mumkin. O’z navbatida, neyron tarmog’ining kuchli qo’zg’alishi yurak urish tezligining oshishiga, ko’zlarning tez- tez yonib turishiga va boshqa reaktsiyalarga olib kelishi mumkin. Neyron tarmoq uchun notanish odam bilan uchrashuv deyarli imkonsiz bo’ladi, Biologik neyron tarmog’ining quyidagi juda soddalashtirilgan modelini berish mumkin: Har bir neyron yadrodan tashkil topgan hujayrali tanadan iborat. Dendrit deb ataladigan ko’plab qisqa tolalar hujayraning tanasidan ajralib chiqadi. Uzoq dendritlarga aksonlar deyiladi. Aksonlar uzoq masofalarni bosib o’tishadi, bu raqam o’lchovida ko’rsatilgandan ancha kattadir. Aksonlar odatda 1 sm uzunlikka ega (bu hujayra tanasining diametridan 100 baravar ko’p), ammo 1 metrga yetishi mumkin. XX asrning 60–80-yillarida ekspert tizimlari sun’iy intellekt sohasida izlanishlarning ustuvor yo’nalishlaridan biri bo’lgan . Ekspert tizimlari yaxshi ishladi, ammo faqat yuqori ixtisoslashgan sohalarda. Ko’proq universal aqlli tizimlarni yaratish uchun boshqacha yondashuv talab qilindi. Ehtimol, bu sun’iy intellekt tadqiqotchilari e’tiborini inson miyasining ostidagi biologik neyron tarmoqlarga qaratganligiga olib keldi. Sun’iy intellektdagi neyron tarmoqlari biologik neyron tarmoqlarining soddalashtirilgan modelidir. O’xshashlik shu yerda tugaydi. Inson miyasining tuzilishi yuqorida aytib o’tilganlarga qaraganda ancha murakkab va shuning uchun uni hech bo’lmaganda aniqroq ko’paytirish mumkin emas. Neyron tarmoqlari juda ko’p muhim xususiyatlarga ega, ammo asosiysi bu o’rganish qobiliyatidir. Neyron tarmog’ini o’rganish birinchi navbatda neyronlar orasidagi sinaptik aloqalarning «kuchini» o’zgartirishni o’z ichiga oladi. Buni quyidagi misol yaqqol ko’rsatib turibdi. Pavlovning klassik tajribasida har safar itni boqishdan oldin qo’ng’iroq jiringladi. It tezda qo’ng’iroqni ovqat bilan bog’lashni o’rganib oldi. Bunga miyaning eshitish uchun javob beradigan qismlar va tuprik bezlari orasidagi sinaptik aloqalar kuchayganligi sabab bo’lgan. Va qo’ng’iroq sadosi bilan neyron tarmoqning keyingi qo’zg’alishi itda kuchli tupurikka olib kela boshladi. Bugungi kunda neyron tarmoqlar sun’iy intellekt sohasidagi tadqiqotlarning ustuvor yo’nalishlaridan biridir. Neyron tarmoqlari hozir juda mashhur va buning sababi yaxshi. Ularning yordami bilan, masalan, rasmlardagi narsalarni tanib olishingiz yoki aksincha, Salvador Dalining dahshatli tushlarini chizishingiz mumkin. Qulay kutubxonalar tufayli eng oddiy neyron tarmoqlari atigi bir necha qator kodlar bilan yaratiladi va IBM sun'iy intellektiga murojaat qilish uchun boshqa vaqt kerak bo'lmaydi. Biologlar hali ham miyaning qanday ishlashini aniq bilishmaydi, ammo asab tizimining alohida elementlarining ishlash printsipi yaxshi tushuniladi. U neyronlardan iborat - bir-biri bilan elektrokimyoviy signallarni almashinadigan maxsus hujayralar. Har bir neyronda ko'plab dendritlar va bitta akson mavjud. Dendritlarni ma'lumotlar neyronga kiradigan kirishlar bilan taqqoslash mumkin, akson esa uning chiqishi sifatida xizmat qiladi. Dendritlar va aksonlar orasidagi bog'lanishlar sinapslar deb ataladi. Ular nafaqat signallarni uzatadi, balki ularning amplitudasi va chastotasini ham o'zgartirishi mumkin. Alohida neyronlar darajasida sodir bo'ladigan transformatsiyalar juda oddiy, ammo juda kichik neyron tarmoqlar ham ko'p narsaga qodir. Caenorhabditis elegans qurtining barcha xulq-atvori - harakat, oziq-ovqat izlash, tashqi ogohlantirishlarga turli reaktsiyalar va boshqalar - atigi uch yuz neyronda kodlangan. Va yaxshi qurtlar! Hatto chumolilarda ham yetarlicha 250 000 neyron bor va ular qiladigan ishi, albatta, mashinalar kuchidan tashqarida. Taxminan oltmish yil oldin amerikalik tadqiqotchi Frenk Rozenblat miya tasviri va o'xshashligida kompyuter tizimini yaratishga harakat qildi, ammo uni yaratish imkoniyatlari nihoyatda cheklangan edi. O'shandan beri neyron tarmoqlarga qiziqish qayta-qayta kuchaydi, lekin qayta-qayta ma'lum bo'ldiki, hisoblash quvvati hech qanday ilg'or neyron tarmoqlar uchun etarli emas. So'nggi o'n yil ichida bu borada ko'p narsa o'zgardi. Dvigatelli elektromexanik miya Rosenblatt mashinasi Mark I Perceptron deb nomlangan. Bu tasvirni aniqlash uchun mo'ljallangan edi, bu vazifani kompyuterlar hali ham yomon bajarmoqda. Mark I retinaning bir turi bilan jihozlangan edi: 400 fotoseldan iborat kvadrat qator, vertikal ravishda yigirma va gorizontal holda yigirma. Fotosellar neyronlarning elektron modellariga tasodifiy ulangan va ular o'z navbatida sakkizta chiqishga ulangan. Elektron neyronlar, fotosellar va chiqishlarni birlashtiruvchi sinapslar sifatida Rosenblatt potansiyometrlardan foydalangan. Perseptronni o'rgatishda 512 qadamli motorlar potansiyometrlarning tugmachalarini avtomatik ravishda aylantirib, chiqish natijasining to'g'riligiga qarab neyronlardagi kuchlanishni sozladi. Xulosa qilib aytganda, neyron tarmoq qanday ishlaydi. Sun'iy neyron, xuddi haqiqiy kabi, bir nechta kirish va bitta chiqishga ega. Har bir kiritishda og'irlik koeffitsienti mavjud. Ushbu koeffitsientlarni o'zgartirib, biz neyron tarmoqni o'rgatishimiz mumkin. Chiqish signalining kirish signallariga bog'liqligi faollashtirish funktsiyasi deb ataladi. Rosenblatt perseptronida faollashtirish funktsiyasi mantiqiy qabul qilingan barcha kirishlarning og'irligini qo'shdi va natijani chegara qiymati bilan taqqosladi. Uning minus tomoni shundaki, ushbu yondashuv bilan og'irlik omillaridan birining ozgina o'zgarishi natijaga nomutanosib ravishda katta ta'sir ko'rsatishi mumkin. Bu o'rganishni qiyinlashtiradi. Zamonaviy neyron tarmoqlar odatda chiziqli bo'lmagan faollashtirish funktsiyalaridan foydalanadi, masalan, sigmasimon. Bundan tashqari, eski neyron tarmoqlar juda kam qatlamlarga ega edi. Endi neyronlarning bir yoki bir nechta yashirin qatlamlari odatda kirish va chiqish o'rtasida joylashgan. O‘sha yerda barcha qiziqarli voqealar sodir bo‘ladi. Nima xavf ostida ekanligini tushunishni osonlashtirish uchun ushbu diagrammaga qarang. Bu bitta yashirin qatlamga ega bo'lgan oldinga yo'naltirilgan neyron tarmoq. Har bir doira neyronga mos keladi. Chap tomonda kirish qatlamining neyronlari joylashgan. O'ng tomonda chiqish qatlami neyroni joylashgan. O'rtada to'rtta neyronli yashirin qatlam mavjud. Kirish qatlamining barcha neyronlarining chiqishlari birinchi yashirin qatlamning har bir neyroniga ulanadi. O'z navbatida, chiqish qatlami neyronining kirishlari yashirin qatlam neyronlarining barcha chiqishlariga ulanadi. Hamma neyron tarmoqlar ham shunday ishlab chiqilmagan. Masalan, bizning sxemamizdan oldinga tarqalish tarmog'ida bo'lgani kabi, neyronlardan keladigan signal nafaqat keyingi qatlamga, balki teskari yo'nalishda ham ta'minlangan (kamroq tarqalgan bo'lsa-da) tarmoqlar mavjud. Bunday tarmoqlar takrorlanuvchi deb ataladi. To'liq bog'langan qatlamlar ham variantlardan biri bo'lib, biz muqobil variantlardan biriga ham tegamiz. Neyron - bu axborotni qabul qiluvchi, unda oddiy hisob-kitoblarni amalga oshiradigan va uni uzatuvchi hisoblash birligi. Ular uchta asosiy turga bo'linadi: kirish (ko'k), yashirin (qizil) va chiqish (yashil). Bundan tashqari, biz keyingi maqolada gaplashadigan noto'g'ri neyron va kontekstli neyron mavjud. Agar neyron tarmoq ko'p sonli neyronlardan iborat bo'lsa, qatlam atamasi kiritiladi. Shunga ko'ra, axborotni qabul qiluvchi kirish qatlami, uni qayta ishlovchi n ta yashirin qatlam (odatda 3 tadan ko'p bo'lmagan) va natijani ko'rsatadigan chiqish qatlami mavjud. Neyronlarning har biri ikkita asosiy parametrga ega: kirish ma'lumotlari (kirish ma'lumotlari) va chiqish ma'lumotlari (chiqish ma'lumotlari). Kirish neyroni holatida: kirish = chiqish. Qolganlarida, oldingi qatlamdagi barcha neyronlarning umumiy ma'lumotlari kirish maydoniga tushadi, shundan so'ng u faollashtirish funktsiyasi yordamida normallashtiriladi (hozircha uni f (x) tasavvur qiling) va chiqish maydoniga kiradi. Sinaps - bu ikki neyron o'rtasidagi aloqa. Sinapslar 1 parametrga ega - og'irlik. Unga rahmat, kirish ma'lumotlari bir neyrondan ikkinchisiga uzatilganda o'zgaradi. Aytaylik, ma'lumotni keyingisiga uzatuvchi 3 ta neyron mavjud. Keyin bizda ushbu neyronlarning har biriga mos keladigan 3 ta vazn mavjud. Kattaroq og'irlikdagi neyron uchun bu ma'lumot keyingi neyronda ustun bo'ladi (masalan, ranglarni aralashtirish). Aslida, neyron tarmog'ining og'irliklari to'plami yoki vazn matritsasi butun tizimning o'ziga xos miyasidir. Aynan shu og'irliklar tufayli kiritilgan ma'lumotlar qayta ishlanadi va natijaga aylanadi. Esda tutish muhim neyron tarmog'ini ishga tushirish vaqtida og'irliklar tasodifiy bo'ladi. Neyron tarmoq qanday ishlaydi? DA bu misol neyron tarmog'ining bir qismi ko'rsatilgan, bu yerda I harflari kirish neyronlarini, H harfi yashirin neyronni va w harfi og'irliklarni bildiradi. Formuladan ko'rinib turibdiki, kiritilgan ma'lumotlar barcha kiritilgan ma'lumotlarning ularning mos keladigan og'irliklariga ko'paytirilgan yig'indisidir. Keyin 1 va 0 kiritishni beramiz. w1=0.4 va w2 = 0.7 boʻlsin, H1 neyronining kirish maʼlumotlari quyidagicha boʻladi: 1*0.4+0*0.7=0.4. Endi bizda kirish mavjud, biz kirishni faollashtirish funksiyasiga ulab chiqishni olishimiz mumkin (bu haqda keyinroq). Endi bizda chiqish bor, biz uni uzatamiz. Shunday qilib, biz chiqish neyroniga yetguncha barcha qatlamlar uchun takrorlaymiz. Bunday tarmoqni birinchi marta ishga tushirganimizda, biz javob to'g'ri emasligini ko'ramiz, chunki tarmoq o'qitilmagan. Natijalarni yaxshilash uchun biz uni mashq qilamiz. Ammo buni qanday qilishni o'rganishdan oldin neyron tarmoqning bir nechta atamalari va xususiyatlarini tanishtiramiz. Chiziqli funksiya Bu funksiyadan deyarli foydalanilmaydi, faqat neyron tarmoqni sinab ko'rish yoki qiymatni o'zgartirmasdan o'tkazish kerak bo'lganda. Sigmasimon Bu eng keng tarqalgan faollashtirish funktsiyasi, uning qiymatlari diapazoni . U Internetdagi ko'pgina misollarni ko'rsatadi va ba'zan logistika funktsiyasi deb ham ataladi. Shunga ko'ra, agar sizning holatingizda salbiy qiymatlar mavjud bo'lsa (masalan, aktsiyalar nafaqat yuqoriga, balki pastga tushishi mumkin), unda sizga salbiy qiymatlarni ham qamrab oladigan funktsiya kerak bo'ladi. Giperbolik tangens Sizning qiymatlaringiz ham salbiy, ham ijobiy bo'lishi mumkin bo'lgan taqdirdagina giperbolik tangensdan foydalanish mantiqan to'g'ri keladi, chunki funktsiya diapazoni [-1,1]. Ushbu funktsiyani faqat ijobiy qiymatlar bilan ishlatish tavsiya etilmaydi, chunki bu sizning neyron tarmog'ingiz natijalarini sezilarli darajada yomonlashtiradi. Trening to'plami Trening to'plami - bu neyron tarmoq ishlaydigan ma'lumotlar ketma-ketligi. Bizning holatda eksklyuziv yoki (xor) bizda faqat 4 xil natijaga ega bo'lamiz, ya'ni bizda 4 ta o'quv to'plami bo'ladi: 0xor0=0, 0xor1=1, 1xor0=1,1xor1=0. Yechim H1kiritish = 1*0,45+0*-0,12=0,45 H1output = sigmasimon (0,45) = 0,61 H2kiritish = 1*0,78+0*0,13=0,78 H2 chiqishi = sigmasimon (0,78) = 0,69 O1 kirish = 0,61*1,5+0,69*-2,3=-0,672 O1chiqish = sigmasimon (-0,672)=0,33 O1ideal = 1 (0xor1=1) Xato = ((1-0,33)^2)/1=0,45 Natija 0,33, xatolik 45% ni tashkil qiladi. Neyron tarmoq- sun'iy intellektga ega mashinalarni yaratish uchun matematik modellar yordamida inson miyasining ishini takrorlashga urinish. Sun'iy neyron tarmog'i odatda o'qituvchi bilan o'qitiladi. Bu haqiqiy qiymatlarga ega bo'lgan misollarni o'z ichiga olgan o'quv majmuasi (ma'lumotlar to'plami) mavjudligini anglatadi: teglar, sinflar, ko'rsatkichlar. Yorliqsiz to'plamlar neyron tarmoqlarni o'rgatish uchun ham qo'llaniladi, ammo biz buni bu erda ko'rib chiqmaymiz. Misol uchun, agar siz matn hissiyotini baholash uchun neyron tarmoq yaratmoqchi bo'lsangiz, maʼlumotlar toʻplami har biriga mos keladigan hissiy baholarga ega bo'lgan jumlalar ro'yxati bo'ladi. Matnning ohangi aniqlanadi belgilar salbiy yoki ijobiy ma'no beruvchi (so'zlar, iboralar, jumlalar tuzilishi). Og'irliklar matn hissiyotini yakuniy baholashdagi xususiyatlar (ijobiy, salbiy, neytral) neyron tarmog'ini o'rgatish jarayonida hisoblangan matematik funktsiyaga bog'liq. Ilgari odamlar xususiyatlarni qo'lda yaratgan. Ko'proq xususiyatlar va aniqroq tanlangan og'irliklar, javob qanchalik aniq bo'lsa. Neyron tarmoq bu jarayonni avtomatlashtirdi. Sun'iy neyron tarmog'i uchta komponentdan iborat: Kirish qatlami; Yashirin (hisoblash) qatlamlar; chiqish qatlami. Neyron tarmoqlar ikki bosqichda o'qitiladi: Xatoning orqaga tarqalishi. Xatolarni oldinga yo'naltirish vaqtida javobning bashorati amalga oshiriladi. Orqaga tarqalish bilan haqiqiy javob va taxmin qilingan javob o'rtasidagi xatolik minimallashtiriladi. to'g'ridan-to'g'ri tarqalish Keling, dastlabki og'irliklarni tasodifiy o'rnatamiz: Yashirin qatlamni yaratish uchun kiritilgan ma'lumotlarni og'irliklarga ko'paytiring: h1 = (x1 * w1) + (x2 * w1) h2 = (x1 * w2) + (x2 * w2) h3 = (x1 * w3) + (x2 * w3) Yashirin qatlamdan chiqish tarmoqning chiqishini olish uchun chiziqli bo'lmagan funktsiya (faollashtirish funktsiyasi) orqali o'tkaziladi: y_ = fn(h1 , h2, h3) orqaga tarqalish Umumiy xatolik (total_error) xarajat funktsiyasidan o'tib, kutilgan "y" qiymati (o'quv majmuasidan) va olingan "y_" qiymati (xatoning oldinga siljishi bosqichida hisoblangan) o'rtasidagi farq sifatida hisoblanadi. Xatoning qisman hosilasi har bir vazn bo'yicha hisoblanadi (bu qisman farqlar har bir vaznning umumiy xatoga qo'shgan hissasini aks ettiradi (total_loss)). Keyin bu farqlar o'rganish tezligi (ē) deb ataladigan raqamga ko'paytiriladi. Keyin olingan natija mos keladigan og'irliklardan chiqariladi. Bu quyidagi yangilangan vaznlarga olib keladi: w1 = w1 - (ē * ∂(xato) / ∂(w1)) w2 = w2 - (ē * ∂(xato) / ∂(w2)) w3 = w3 - (ē * ∂(xato) / ∂(w3)) Og'irliklarni tasodifiy qabul qilishimiz va ishga tushirishimiz va ular aniq javob berishlari juda mantiqiy tuyulmaydi, lekin u yaxshi ishlaydi. Nerv tarmoqlaridagi aksariyat maqolalar ularni tasvirlashda miyaga o'xshashliklarni keltirib chiqaradi. Nerv tarmoqlarini tafsilotlarga berilmasdan berilgan natijani kerakli natijaga ko'rsatadigan matematik funktsiya deb ta'riflash men uchun osonroq. Endi biz oldinga va orqaga tarjima qilish uchun to'liq Python kodimizga ega bo'lsak, keling, neyron tarmog'imizni misollar orqali ko'rib chiqamiz va u qanday ishlashini ko'rib chiqamiz. Bizning neyron tarmog'imiz ushbu funksiyani namoyish etish uchun ideal vazn to'plamini o'rganishi kerak. Keling, neyron tarmoqni 1500 ta takrorlash uchun mashq qilaylik va nima bo'lishini ko'rib chiqaylik. Quyidagi iteratsiyani yo'qotish grafigiga qarab, yo'qotish monoton ravishda minimal darajaga tushishini aniq ko'rishimiz mumkin. Bu biz ilgari aytib o'tgan gradient tushish algoritmiga mos keladi. 1500 ta takrorlashdan so'ng neyron tarmoqdan yakuniy bashoratni (chiqishni) ko'rib chiqamiz. Ko‘p sathli neyron tarmoqlarini qurish. Ko‘p sathli neyron tarmog‘ida kiruvchi, chiquvchi va yashirin sathlar. Ko‘p sathli neyron tarmog‘ida og‘irlik koeffitsentlari qiymatlarini yangilash amallari (backpropogation). Ko‘p sathli perseptron orqali regressiya va sinflashtirish masalasini yechish malakasiga ega bo’ladi. Instrumental dasturiy vositalar asosida neyron tarmog‘ini qurish. Matlab/Python muhitida neyron tarmog‘ini qurish funksiyalari va mavjud kutubxonalardan foydalanish. Neyron tarmoq modelini yaratish va chop qilish Brain.js - bu asab tarmog'ini yaratishning ajoyib usuli. Oddiy qilib aytganda, asab tarmog'i - bu inson miyasiga o'xshash tarzda ishlaydigan mashinani o'rganish usuli. Savolga to'g'ri javobni hisobga olgan holda ("foydalanuvchi qaysi variantni tanlaydi?" Kabi), u asta-sekin kirish va javoblar o'rtasidagi naqsh va munosabatlarni o'rganadi. Neyron tarmoqning bir misoli - bu Facebookning yuzni aniqlash tizimi, DeepFace. Ammo neyron tarmoqlarning murakkab domen tili va aftidan tik o'rganish egri chizig'i tufayli boshlash qiyin bo'lishi mumkin. Ushbu o'quv qo'llanmada biz bilishni talab qiladigan nazariyani tarqatamiz va, eng muhimi, asab tarmog'ini yaratish uchun brain.js-dan foydalanish bilan bog'liq bo'lamiz. Oxir-oqibat, sizda foydalanuvchining optimizmi to'g'risida bir nechta tanlov savollarini beradigan veb-ilovangiz bo'ladi. Taqdim etilganida, ushbu javoblar neyron tarmoqni bizning foydalanuvchimiz yangi savol uchun har bir variantni tanlash ehtimoliga o'rgatadi. Ko'proq foydali veb-dizayn vositalarini xohlaysizmi? Eng zo'r veb-sayt ishlab chiqaruvchisini tanlash bo'yicha bizning xabarimizga qarang. Yoki fayllarni xavfsiz saqlash uchun biror joy kerak bo'lsa, bizning eng yaxshi bulutli saqlash joyimiz bilan tanishing. Murakkab veb-saytni rejalashtirmoqdamisiz? Sizga barqaror veb-xosting xizmati kerak bo'ladi, bu esa uni ushlab turishi mumkin. Loyihani o'rnating Birinchidan, kerakli bog'liqliklarni yuklab oling va o'rnating. Ushbu o'quv qo'llanmada siz React haqida yaxshi ma'lumotga egasiz yoki afzal qilingan alternativaga teng keladigan xaritalashni bilasiz. Kerakli usuldan foydalanib React dasturini yarating. Siz Facebook-ni sinab ko'rishingiz mumkin yaratish-reaksiya-ilova quyidagilar yordamida o'rnatilgan asbob: npm install-react-app -g o'rnatish Ilovangizni ishga tushiring Endi biz brain.js-ni yaratishimiz, o'rnatishimiz va dasturimizni ishga tushirishimiz mumkin: npx yaratish-reaksiya-ilovasi optimizmi-nd cd optimizm-nn npm install brainjs npm start Biz neyron tarmoq hisobini brauzerda amalga oshirmoqchimiz. Neyron tarmoqlari juda ko'p resurslarga ega va ularni serverga yuklash kerak. Biroq, bu usul tezda o'rnatiladi va bizning asosiy ehtiyojlarimiz uchun javob beradi. Endi kirish joyimizga brain.js-ni qo'shaylik (mening ishimda App.js). Keyingi mashg'ulot savollarimizni aniqlashimiz kerak. Alohida questions.js fayl, bizga a kerak bo'ladi o'quv savollari va tekshirish savollari qator. Siz mening ro'yxatimni Git reposidan topishingiz yoki o'zingiz yaratishingiz mumkin. Treningga oid savollaringiz qancha ko'p bo'lsa, natijalaringiz shunchalik aniq bo'ladi. Ularni kirish joyingizga import qilishni unutmang. export const trainingQuestions = [{id: 'q1', savol: 'Siz ko'pincha narsalarning yaxshisini ko'rasizmi?', variantlar: [{id: 'q1a', yorliq: 'Haqiqatan ham emas', qiymati: 0,2,}, { id: 'q1b', yorliq: 'Har doim', qiymati: 1.0,}, {id: 'q1c', yorliq: 'Odatda, ha', qiymati: 0.7,}, {id: 'q1d', yorliq: 'Hech qachon ! ', qiymati: 0.0,},],},]; Ikkala qator uchun bizda savol, yorliq va optimizm qiymatini o'z ichiga olgan to'rtta variant qatori kerak. Ushbu qiymat bizning neyron tarmog'imiz uchun kirish bo'ladi. Qadriyatlar tartibi va muvozanatini o'zgartirishingizga ishonch hosil qiling, aks holda neyron tarmoq massivdagi parametrlar indeksiga juda ko'p e'tibor qaratishi mumkin! Bizning neyron tarmog'imiz to'rtta kirishni oladi va to'rtta chiqishni beradi. Bizning o'quv ma'lumotimiz bunga mos kelishi kerak, shuning uchun bizning konstruktorimizda viktorina va foydalanuvchi parametrlari uchun biron bir holat kerak: this.state = {trainingAnswers: trainingQuestions.map (() => Array (4) .fill (0)), training: false, prognozlar: undefined,}; davomi bor Download 118.04 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling