Neyron tarmoqni o'qitish
Neyron tarmoqni o'qitish uchun, tayyorlangan ma'lumotlarni tahlil qilishdan so'ng, neyron tarmoqning o'zini o'qitish kerak. Bu, ma'lumotlar va aniq natijalarga ko'ra tarmoqning parametrlarini yangilashni o'z ichiga oladi.
O'qitish jarayoni nechta bosqichda amalga oshiriladi:
Tarmoqning ishlatiladigan optimizatsiya usuli va xatolik funktsiyasini aniqlash. Xatolik funktsiyasi, tarmoqning bajarishi kerak bo'lgan vazifani bajarishda qanday holatda xatolik qilishini ta'riflaydi. Optimal parametrlarni aniqlash uchun xatolik funktsiyasining qiymatini minimallashtirish kerak.
Tarmoqning to'g'ri javob berishiga qarab, gradientni hisoblash. Gradient, xatolik funktsiyasining parametrlariga nisbatan o'zgarishlarni ta'riflaydi.
Gradientni foydalanib, parametrlarning qiymatlarini yangilash. Bu bosqichda, gradientning negativ yo'nalishiga muvofiq parametrlar yangilanadi.
O'qitish jarayonining birinchi bosqichi tugagandan so'ng, natijalarning to'g'ri va xatoliklarini tekshirish uchun test qismi aniqlanadi. Bu, tarmoqning ishlashida qanday rivojlanganligini ko'rsatadi.
Agar natijalar to'g'ri kelmasa, tarmoqning parametrlari yana o'zgartiriladi va o'qitish jarayoni takrorlanadi.
Barcha natijalar to'g'ri kelguncha, tarmoqning aniqlik darajasini ko'paytirish uchun qo'shimcha o'qitish jarayonlari amalga oshiriladi.
Keras paketida, neyron tarmoqni o'qitish uchun model.fit() funksiyasi mavjud. Bu funksiya neyron tarmoqni o'qitishni avtomatlashtiradi.
Neyron tarmoqni o'qitish jarayoni ikki qismdan iborat:
Forward propagation (Oldinga tarqatish) - Ushbu jarayonida ma'lumotlar tarmoqdagi kirishning boshida kirib keladi va har bir neyronning yutuqlari hisoblanadi. Bunda, aktivatsiya funksiyalari yordamida yutuqning qiymati hisoblanadi va kelib chiqadigan yutuqning xususiyatlari aniqlanadi.
Backward propagation (Orqaga tarqatish) - Ushbu jarayonda, tarmoqdagi xatolikni hisoblash uchun gradientni hisoblash va neyron tarmoqidagi boblar yoki ko'p qatlama gradientini hisoblash uchun foydalaniladi. Gradientni hisoblashdan so'ng, neyron tarmoqining boblaridagi koeffitsiyentlarni yangilash uchun gradientni foydalanish orqali tarmoq o'qitiladi.
Keras paketi o'zida ushbu jarayonlarni avtomatik tarzda bajaradi. Kerasta, model tuzilishini yaratib, modelni o'qitish uchun optimizatsiya algoritm va kriteriyani belgilash kerak. Keyin model uchun o'qitish jarayoniga o'tkazish mumkin.
Kerasta modelni o'qitish uchun fit funksiyasi ishlatiladi. Ushbu funksiya kiritilgan x train va y train ma'lumotlari bo'yicha modelni o'qitadi. Masalan:
history = model.fit(x_train, y_train, epochs=100, batch_size=32, validation_data=(x_test, y_test))
Bu yerda x_train va y_train tushunchalari tayyorlanmish ma'lumotlar matritsalari bo'lib, epochs necha marta to'liq modelni o'qitishni ifodalaydi, batch_size bir marta modelni o'qitishda nechta ma'lumotlarni ishlatishni, validation_data esa modelni tekshirish maqsadida ishlatiladigan ma'lumotlarni ko'rsatadi.
fit funksiyasi natijasida history deb nomlangan bir o'zgaruvchi hosil bo'ladi, bu yerda tarmoq o'qitilishining tarixi (tarixiy yutuq, xatolik kabi muhim tahlillar) saqlanadi.
Xulosa
Keras - bu Python dasturlash tili uchun yuqori darajali bir Neyron Tarmoq (NT) API-sidir. Keras, model yaratish uchun yorqin xususiyatlarga ega bo'lgan, ko'proq aniqligi bo'lgan va ko'p foydalaniladigan bir paket hisoblanadi.
Neyron tarmoq (NT) - bu muhim ma'lumotlar va ma'lumotlar jamlanmasini olish, qarashlarni aniqlash va qaror qabul qilish yoki ularga ta'sir qilish uchun matematikaviy tuzilma hisoblanadi. NT-lar, kichik va katta tizimlarni avtomatlashtirish uchun foydalaniladi.
Keras paketi, neyron tarmoqlarini model yaratish uchun qulay va oson interfeyslar taqdim etadi. Keras yordamida NT-lar yaratish va o'rganish juda oson va tez amalga oshiriladi. Kerasning boshqa bir qulayliklari orasida - bu yorqin "backend"ni tanlash imkoniyati. TensorFlow, Theano, va CNTK backend'lari Keras bilan ishlay oladi.
NT-lar qurish uchun Kerasda ko'plab sinflar mavjud, bundan tashqari, ko'p turlarda NT-larni qo'llab-quvvatlaydigan tasvirlovchi modellar mavjud. Kerasning asosiy qismi, keras.models sinfi, model qurish uchun qo'llanadi.
Model yaratish jarayoni asosan quyidagi qadamdan iboratdir:
Model tuzish (layerlarni qo'shish)
Modelni tuzish (input va output tuzish)
Modelni tayyorlash (compile)
Modelni o'rganish (fit)
Modelni baholash (evaluate)
Modelni foydalanish (predict)
NT-larni Keras yordamida o'rganish uchun bir nechta bevosita o'quv ma'lumotlari mavjud, shuningdek, ko'plab ko'rsatmalar va misollar.
Keras yordamida NT-larni qurish va o'rganish haqida to'liq ko'rsatmalar Keras rasmiy veb-saytida (https://keras.io/examples/) va Keras resurslaridan foydalanib topish mumkin.
Foydalanilgan adabiyotlar ro'yxati
"Deep Learning with Python" kitobi, Francois Chollet tomonidan yozilgan.
"Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems" kitobi, Aurelien Geron tomonidan yozilgan.
"Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow" kitobi, Sebastian Raschka va Vahid Mirjalili tomonidan yozilgan.
"Mastering TensorFlow 2.0" kitobi, Antonio Gulli va Amita Kapoor tomonidan yozilgan.
Dostları ilə paylaş: |