Mazkur maqolada tasvirlarni tanishda neyron tarmoqlarning dasturiy vositalarini ko’pyadroli prossessorlar muhitida yaratishning dastabki bosqichi ko’rib o’tilgan.
Kalit so’zlar: C++ Builder, neyron to’rlari, Xopfild neyron to’rlari
В статье рассматриваются этапы создания приложения распознавания изображений на основе нейронных сетей в многопроцессорном окружении.
Ключевые слова: C++ Builder, нейронные сети, нейронная сеть Хопфилда.
Hozirgi vaqtda sun’iy neyron to’rlari va masalalarni parallel ishlash ustida nazariy izlanishlar va amaliy qo’llanishlar keskin rivojlanmoqda. Neyron to’rlar analitik tavsifi bo’lmagan va faqatgina eksperimental ma’lumotlar bilan berilgan katta ko’lamdagi amaliy masalalarni yechish imkonini beradi.
Neyron to’rlarini sintez qilishda algoritmlarning nozik tomoni bu qaror qabul qilishni tushuntirish bo’lib hisoblanadi. Bu muammoni yechish bilan ko’pchilik tadqiqotchilar shug’ullanmoqdalar. Bu maqsadda ishlatadigan usullar evristik bo’lganligi uchun ular asosida korrekt qaror qabul qilish foydalanuvchining subektiv mulohazasiga bog’liq bo’ladi.
Ko’p o’lchovli chiziqsiz optimizasiyaning an’anaviy iterativ gradiyent algoritmlari bilan o’rganadigan neyron to’rlari modellarining eng ko’p tarqalgani — bu ko’p qatlamli sun’iy neyron to’rlari sinfidir. Ma’lumki, ko’p qatlamli sun’iy neyron to’rlari o’rganishda iterativ algoritmlar yaqinlashuvi, o’rganiladigan berilganlarning (tanlovning) hajmiga, vaznlarning boshlang’ich qiymatiga, shuningdek, o’rganishdagi maksimal xatolarga (o’rganishning sifat mezonlariga), o’rganishdagi takrorlanishlar soniga (o’rganish vaqtining uzayishi mezonlariga) bog’liq. Shuning uchun, qo’yilgan masalani yechish uchun optimal modellarni tanlashda ularni solishtirish va qaror qabul qilishda neyroto’rlarning xususiyatlarini yetarli darajada baholashga imkon beruvchi xususiy va umumiy mezonlar majmuasini ishlab chiqish zarur.
Bilimlarni ajratib olish algoritmlarini va sifat jihatdan yangi bosqichdagi, kognitolog mutaxassislarga mo’ljallangan, neyron to’rlarining programma vositalarini yaratishga asos bo’luvchi yangi g’oyalar zarur.
Hozirda keng tarqalgan xatolarning teskari tarqalish algoritmlarida va Xopfild neyron to’rlarida qaror qabul qilish jarayonini tushuntirishga harakatlar qilindi. Bu modellardagi algoritmlarning evristik xarakterda ekanligi qaror qabul qilishda neyron to’rlarining shaffoflik muammosini yechishni yetarli darajada matematik formallashtirishga imkon bermaydi. Natijada, tasvirlarni ajratib olish neyron to’rlari bo’yicha mutaxassisga bog’liq va asosan tavsiya xususiyatiga ega bo’ladi.
Ayni paytda, sun’iy neyron to’ri sohasidagi olimlar tomonidan turli xil amaliy masalalarni yechishda neyromodellarni solishtirishga va tanlashga asos bo’ladigan, ko’p qatlamli neyron to’rlarining mantiqiy shaffofligini miqdoriy baholaydigan bir nechta mezonlar va usullar ishlab chiqilgan.
Umumlashgan ko’rsatkichlarni hisoblash orqali tajriba ma’lumotlar bazasidan tasvirlarni ajratib olish va ularni ifodalash va modellarda parallel ishlov berishni joriy etish tadqiqot maqsadi hisoblanadi.
Standart ravishda qo’yilgan obrazlarni anglash masalasi qaraladi. Ikkita o’zaro kesishmaydigan K 1 ,K 2 sinflar vakillarini o’z ichiga olgan E 0 = {S 1 ,…,S m } obektlar to’plami berilgan deb hisoblanadi. Obektlar n ta turli toifadagi (miqdoriy va sifat) alomatlar bilan tavsiflangan bo’lib, ularning ξ tasi intervallarda ( J to’plam), n — ξ tasi nominal ( J to’plam) o’lchamlarda o’lchanadi. O’ng’aylik uchun, K 1 sinf vakillarini ro’y bergan holatlar (no holatlar) va K 2 — ro’y bermagan holatlar (no holatlar) deb hisoblaymiz.
Ikki sinfli masala qaralishiga sabablardan biri — har qanday obektning umumlashgan bahosi nisbiydir, u qarama-qarshi sinf obektlariga qiyoslash natijasida yuzaga keladi. Ikkinchidan, har qanday k (k>2) sinfli masalani ikki sinfli masalalar kaskadi ko’rinishida yechish mumkin.
Har bir miqdoriy alomat uchun, chegaralarida “holat” yoki “no holat” sinfi ustun bo’lgan intervallarni tanlash masalasi tadqiq qilinadi.
Umumlashgan ko’rsatkichlarni hisoblash orqali tajriba ma’lumotlar bazasidan tasvirlarni ajratib olish va ularni modellarda ifodalash jarayoni va uning natijalari medisina, geologiya, sosiyologiya sohalarining asosiy masalasi hisoblanadi va shuning uchun yaratilgan algoritm hamda dasturiy ta’minotdan ushbu sohalarda foydalanish mumkin.
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. Bir tomondan 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.
Rasm. Xopfild tarmog’ining strukturali sxemasi
Dasturiy vositani С++ dasturlash tilida yaratamiz, buning uchun Borland C++ Bulder dasturini ishga tushiramiz va shaklga zarur elementlarni o’rnatamiz (1-rasm) shakl nomini “Xopfild neyron to'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.
1-rasm. Xopfildning neyron to’ri shakli
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)
2-rasm. Matrisaning o’lchamlarini kiritish
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 mos ravishda nomlaymiz.
3-rasm. Dastur haqida
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, invertlash va ishni bajarish uchun foydalaniladi.
4.-rasm. Yangi shablon yaratish shakli
Ushbu yaratilgan shakl yangi shablon yaratishda foydalaniladi.(4-rasm)
Adabiyot:
- Нейронные сети: история развития теории. Книга 5: Учеб. пособие для вузов. / Под общ. руд. А. И. Галушкина, Я. З. Цыпкина. — M.: ИПРЖР, 2001. — 840 с
- Горбан А. Н., Россиев Д. А. Нейронные сети на персональном компьютере.—Новосибирск: Наука, 1996. 275 с.