MIRZO ULUG’BEK NOMIDAGI O’ZBEKISTON MILLIY UNIVERSITETINING JIZZAX FILIALI SIRTQI BO`LIMNING “AXBOROT TIZIMLARI VA TEXNOLOGIYALARI” YO’NALISHI 914-20 GURUH TALABASI ZAITOV ABDUMARUFNING SUNIY INTELEKT VA NEYRONTO’RLI TEXNOLOGIYALAR FANIDAN MUSTAQIL ISHI Mavzu: Xopfild to’rlar REJA: 1.Xopfild neyron to’rlarini algoritmlash 2.Xopfild tarmog’ining strukturasi 3.Xopfildnig neyron tarmog’i dasturiy vositasi 1. Kirish Xopfild neyron tarmog'i 1982 yilda Jon Xopfild tomonidan ixtiro qilingan takrorlanuvchi sun'iy neyron tarmog'ining bir turi. Bu assotsiativ xotira tarmog'ining shakli bo'lib, naqshni aniqlash, optimallashtirish va boshqa vazifalar uchun ishlatilishi mumkin. Xopfild tarmoqlari bir-biriga bog'langan neyronlar to'plamidan iborat bo'lib, ular to'liq bog'langan, ya'ni har bir neyron tarmoqdagi har bir boshqa neyron bilan bog'langan. Xopfild tarmog'ida har bir neyron ikkita holatdan birida bo'lishi mumkin: "yoqilgan" yoki "o'chirilgan" (shuningdek, "+1" yoki "-1" deb ataladi). Har bir neyronning holati sinxron ravishda yangilanadi, ya'ni barcha neyronlar bir vaqtning o'zida yangilanadi. Tarmoq boshlang'ich holati bilan ishga tushirilishi mumkin va tarmoq vaqt o'tishi bilan tarmoq energiyasi minimallashtirilgan barqaror holatga o'tadi. Barqaror holat - bu tarmoq o'z ta'lim ma'lumotlaridan "o'rgangan" namunadir. Xopfild tarmoqlari shovqinli yoki to'liq bo'lmagan ma'lumotlardan naqshlarni olish va bir nechta naqshlarni bitta tarmoqda saqlash qobiliyati kabi bir qator qiziqarli xususiyatlarga ega. Ular tasvir va nutqni aniqlash, optimallashtirish muammolari va kombinatoriy optimallashtirish kabi turli xil ilovalarda qo'llanilgan. Xopfild neyron tarmog'i simmetrik ulanish matritsasi bilan to'liq bog'langan neyron tarmoqdir. Ishlash jarayonida bunday tarmoqlarning dinamikasi muvozanat pozitsiyalaridan biriga yaqinlashadi (birlashadi). Bu muvozanat pozitsiyalari o'quv jarayonida oldindan aniqlanadi, ular tarmoq energiyasi deb ataladigan funksionalning mahalliy minimallari (eng oddiy holatda, n o'lchovli kubdagi manfiy aniq kvadratik shaklning mahalliy minimallari). Bunday tarmoq avtomatik assotsiativ xotira sifatida, filtr sifatida, shuningdek, ba'zi optimallashtirish muammolarini hal qilish uchun ishlatilishi mumkin. Ma'lum miqdordagi tsikllardan so'ng javob olinmaguncha ishlaydigan ko'plab neyron tarmoqlardan farqli o'laroq, Xopfild tarmoqlari muvozanatga erishilgunga qadar, tarmoqning keyingi holati avvalgisiga to'liq teng bo'lganda ishlaydi: boshlang'ich holat - kirish tasviri, va muvozanat holatida ular chiqish tasvirini oladilar. Sunniy neyron to’rlari konfigurasiyalari orasida klassifikasiyalashda o’qitish prinsiplari bo’yicha o’qituvchi yordamida o’rgatish va o’qituvchisiz o’rgatish prinsiplariga to’g’ri kelmaydi. Bunday hollarda og’irlik koeffisiyentlari qayta ishlanayotgan axborotlar yordamida izlab topiladi va barcha o’rgatishlar xuddi shu hisoblashga keltiriladi. Birtomondan aprior axborotlarni o’qituvchining yordami sifatida qabul qilish kerak, boshqa tomondan tarmoq tasvirlarni haqiqiy ma’luotlar kelguncha xotirada saqlab qoladi. Bunday mantiqiy bog’lanishli tarmoqlar sifatida Xopfild va Ximming to’rlarini yaxshi tanilgan. Quyida qirishi va chiqishi bitta bo’lgan bir qatlamli Xopfildnig neyron tarmog’i keltirilgan. Dasturiy vositani С++ dasturlash tilida yaratamiz, buning uchun Borland C++ Bulder dasturini ishga tushiramiz va shaklga zarur elementlarni o’rnatamiz (1-rasm) shakl nomini “Xopfild neyronto'ri” deb nomlaymiz va unga StringGrid1, StringGrid2, StringGrid3 larni o’rnatamiz. Shundan sung, zarur tugmachalarni shaklga qo’yib chiqamiz. Ularga mos datur kodlarini ilovada keltiramiz. Eng oldin paydo bo’ladigan “Matrisaning o’lchamlarini kiritish” shaklni yaratamiz, bu shaklda dastur matrisadagi qatorlar soni, ustunlar soni, bosh shakldagi kataklar o’lchami, qo’shish dialog oynasidagi kataklar o’lchami, ko’rishdagi kataklar o’lchami va ularni ishga to’shiruvchi tugmalardan shaklni hosil qilish, bekor qilish, chiqish tugmachalarini o’rnatamiz va ularga mos dastur kodlarini kiritamiz. Dastur kodlarini ilovada keltiramiz.(2-rasm) Dastur haqida ma’lumotlarni beruvchi shaklni yaratamiz, buning uchun unga oddiy Label elementlaridan foydalanib, dasstur nomi, dastur versiyasi, tayerlangan joyi, qaysi tilda yaratilganligi va kim tomonidan yaratilganligi haqida ma’lumotlarnikiritamiz va u elementlarni mosravishda nomlaymiz. Ushbu shakl dasturni yaratilganligi to’g’risidagi barcha ma’lumotlarni chiqarish uchun ishlatiladi. Keyingi shakl, yangi shablonlarni yaratish uchun yordam beruvchi dasturiy kodlarni shakllantiradi. Bu shaklni yaratish uchun RadioGroup, StringGrid va Button elementlaridan foydalanamiz, bu elementlar mos ravishda shaklni yarattishda, unga ishlov berish usullari va unga yuklattilgan vazifalarni bajarish uchun foydalaniladi. Tugmachalarga mos kodlarni yaratamiz, bu tugmachalar buyash, tozalash, invertlashvaishni bajarish uchun foydalaniladi. Xopfild tomonidan ixtiro qilingan Xopfild neyron tarmoqlari "n" to'liq bog'langan takrorlanuvchi neyronlarning bir qatlamidan iborat. U odatda avtomatik assotsiatsiya va optimallashtirish vazifalarini bajarishda ishlatiladi. U birlashtiruvchi interaktiv jarayon yordamida hisoblab chiqiladi va u bizning oddiy neyron tarmoqlarimizdan farqli javob hosil qiladi. Diskret Xopfild tarmog'i: Bu to'liq o'zaro bog'langan neyron tarmoq bo'lib, unda har bir birlik boshqa har bir blokga ulanadi. U diskret tarzda harakat qiladi, ya'ni odatda ikkita turdagi cheklangan aniq natijalarni beradi: Ushbu tarmoq bilan bog'liq og'irliklar tabiatan nosimmetrikdir va quyidagi xususiyatlarga ega.