2 Neyron tarmoqlarni yaratish
2.1 Sun'iy neyron tarmoqlarni ishlab chiqish muhiti
So'nggi bir necha yil ichida neyron tarmoqlarga qiziqish portlashi kuzatildi. Turli tillarda neyron tarmoqlar haqida tobora ko'proq materiallarni Internetda topish mumkin. ANN yaratishni soddalashtirish uchun turli xil ramkalar yaratilgan bo'lib, ularda xatolik funksiyalarini hisoblash, neyronlar va ularning bir-biri bilan sinaptik aloqalarini ifodalash, neyron tarmoqlari arxitekturasini yaratish, ularning turlari va boshqalar uchun mas'ul bo'lgan apparat allaqachon amalga oshirilgan. Ko'proq. Bundan tashqari, kod yozishni talab qilmasdan murakkab neyron tarmoqlarni yaratish imkonini beruvchi dasturiy vositalar paydo bo'la boshladi.
Sun'iy neyron tarmoqlarni yaratishda etakchi tillardan biri bu python skript tilidir . Foydalanish qulayligi va u uchun yozilgan neyron tarmoqlar uchun kutubxonalarning ko'pligi tufayli u ANN yaratishda eng katta qiziqish uyg'otadi.
Eng koʻp foydalaniladigan kutubxonalar Google tomonidan ishlab chiqilgan TensorFlow , Theano , asosiy ishlab chiqaruvchisi Monreal universitetidagi mashinalarni oʻrganish guruhi va Keras kutubxonasi yuqoridagi ramkalardan biriga qoʻshimcha hisoblanadi [1] .
Kerasdagi elementar tarmoq misoli
Kerasda neyron tarmog'ining dasturiy ta'minotini ko'rib chiqing (8-rasm).
Kerasda tarmoqning dasturiy ta'minoti
Bu misolda x 0 dan 10 gacha bo'lgan 5000 ta elementdan iborat numpy massivdir. Bu massiv aralashtiriladi, shundan so'ng y = x * x funksiyasi topiladi . Ushbu massivlarni neyron tarmoq uchun kirish va chiqish ma'lumotlari sifatida ko'rib chiqish mumkin. Keras kutubxonasidan foydalanib , biz ketma-ket modelni yaratamiz , unga biz navbatma-navbat sigmasimon faollashtirish funktsiyasiga ega 64 ta neyron qatlamlarini va bitta neyrondan iborat boshqa qatlamni qo'shamiz, bu esa chiqishdir. Tarmoqni o'rgatish uchun kirish parametrlari vektorini ( x ), chiqish parametrlari vektorini ( y ) va davrlar sonini, bu holda 1000 ni qabul qiladigan fit funktsiyasidan foydalaniladi. Har bir qadamda (davr) xato kamayadi. Tarmoqni o'rgatgandan so'ng, biz unga test sifatida ikkita kirish qiymatini yuboramiz: 11 va 9. Ko'rib turganimizdek (9-rasm), olingan natijalar 114 va 81 aniq emas. Buning sababi, takroriy neyron tarmoqlari ekstrapolyatsiya vazifasi uchun ko'proq mos keladi, neyron tarmoq esa kichik xato bilan yaqinlashish vazifasini bajardi. Neyron tarmog'ining murakkab tuzilmalaridan foydalanish, ko'proq o'quv davrlari va neyron qatlamlarini qo'shish orqali aniqroq natijalarga erishish mumkin.
9-rasm – tarmoqni o'qitish va test natijalarini olish
Keras kutubxonasining barcha imkoniyatlarining faqat kichik bir qismini ko'rsatadi . Uning vositalari takrorlanuvchi va konvolyutsion neyron tarmoqlarni yaratishga ham imkon beradi [8].
|