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: TensorFlow paketi asosida mashinani o‘qitish modellari.
Reja:
1. TensorFlow paketi asosida mashinani o‘qitish modellari.
2. Python muhitida keras paketidan foydalanib neyron tarmoq qurish.
3. Neyron tarmoqlarida CNN (Convolutional Neural Networks) usulidan
foydalanish.
4. Chiziqli algebraga kirish. Vektor va matritsalar bilan ishlash
5. Ko‘p o‘zgaruvchili chiziqli regressiya
6. Logistik regressiya.
7. Mashinali o‘qitishda sinflashtirish masalalari
8. O‘qitish jarayonida regulyarizatsiyalash
9. O‘rgatuvchi tanlanma (Dataset). Mashinali o‘qitishda tanlanmani yaratish
usullari .
TensorFlow paketi asosida mashinani o‘qitish modellari
TensorFlow bizga tensorlar yordamida kompyuterni o'rganish algoritmlarini
bajarish uchun natija olish imkonini beradi. TensorFlow bilan chuqur o'rganish
modellarini qurish va o'qitish ancha osonlashadi. Yuqorida aytib o'tilganidek,
TensorFlow bilan ishlash hisoblash grafikasini yaratish va amalga oshirish atrofida
qurilgan. Hisoblash grafigi matematik operatsiyalar tugun shaklida taqdim etilgan
ma'lumotlar oqimlari grafigi va ma'lumotlar bu tugunlar orasidagi qovurg'alar
shaklida bo'ladi. Keling, qanday ishlashini ko'rish uchun juda oddiy kod parchasini
yozamiz:
import tensorflow as tf
x = tf.constant(5)
y = tf.constant(6)
z = x * y
print(z)
Ushbu misolni boshlaganimizda, biz quyidagi xulosani ko'rib chiqamiz: Nima
uchun ko'paytirish noto'g'ri ishlaydi? Bu biz kutgan narsalar emas. Buning sababi,
TensorFlow operatsiyalari boshqacha tarzda amalga oshiriladi. Birinchidan, biz
sessiyani yaratishimizva unda hisoblash grafigini bajarishimiz kerak. Sessiya
ob'ekti grafik operatsiyalari amalga oshiriladigan va tensor hisoblangan muhitni
qamrab oladi. Bu shuni anglatadiki, sessiya keyingi operatsiyani bajarish uchun
hisoblash grafigining natijasini saqlab qolishi mumkin. Keling, to'g'ri ko'paytirish
natijasini olish uchun sessiya yarataylik:
# sessiya ob'ektini yaratish
session = tf.Session()
# sessiya yordamida qiymatni hisoblang va uni saqlang
result = session.run(z)
# hisob-kitoblarning natijasini ko'rsatadi
print(result)
# sessiyani yoping
session.close()
Bu safar biz sessiya yaratdik va sessiyada grafik operatsiyalarni bajardik. Ushbu
misolni boshlaganimizda, biz quyidagi xulosani ko'rib chiqamiz: TensorFlow
ogohlantirishiga qaramasdan, biz hali ham to'g'ri hisoblash natijalarini oldik
TensorFlow keng qamrovli ochiq manba kodli kompyuterni o'rganish
platformasi. Tadqiqotchilarga eng zamonaviy ML texnologiyalaridan
foydalanishga imkon beruvchi keng qamrovli, moslashuvchan jamoa vositalari,
kutubxonalar va resurslari ekosistemasiga ega va ishlab chiquvchilar ML-ga
asoslangan ilovalarni yaratish va tarqatish oson. TensorFlow haqida ko'proq
biliboling bu yerga, Ushbudemouchun Google Colab-dan
foydalanamiz.GoogleColab Keras, TensorFlow, PyTorch va OpenCV kabi
mashhur kutubxonalardan foydalanib, chuqur o'rganish dasturlarini ishlab chiqish
uchun ishlatilishi mumkin bo'lgan bepul bulut xizmati. Google Colab haqida
ko'proq bilib olish uchun, bu yerni bosing, TensorFlow va Machine-Learning
tushunchalaridan foydalanib, biz hal qilmoqchi bo'lgan muammoning namunasiga
to'g'ridan-to'g'ri murojaat qilaylik. Keling, so'nggi 8 oy davomida media-provayder
tomonidan sarflangan marketing byudjeti (minglab dollar), shuningdek, quyidagi
jadvalda bir vaqtning o'zida yangi abonentlar soni (shuningdek, minglab)
berilishini taxmin qilaylik: Ma'lumotlar to'plami Ko'rib turganingizdek, sarflangan
mablag ' va yangi abonentlar soni o'rtasidagi tendentsiya yoki munosabatlar
mavjud. Soni oshgani sayin, yangi abonentlar soni ham oshib bormoqda. Agar siz
chiziqli tenglama nazariyasidan foydalanib matematikani rivojlantirsangiz,
quyidagilarni bilib olasiz: Qabul qilingan abonentlar = 2 * + 40 sarflandi. Bizning
maqsadimiz marketingga sarflangan mablag ' va kompyuterni o'rganish texnikasi
orqali olingan abonentlar soni o'rtasidagi bu aloqani topishdir. Yuqoridagi
munosabatlardan foydalanib, agar tashkilot marketingga bir necha "x" sarf qilsa,
qancha yangi abonentni kutish mumkinligini taxmin qilishimiz mumkin.
Modellashtirish jarayoniga kirishdan oldin ba'zi bir asosiy kompyuterni o'rganish
terminologiyasini bilib olaylik: Xarakterli xususiyat:bizning modelimizga kirish
(lar). Bunday holda, yagona qiymat marketing byudjeti hisoblanadi. Teglar:bizning
modelimiz chiqishi taxmin qilinadi. Bunday holda, yagona qiymat-yangi
abonentlar soni. Misol:trening davomida ishlatiladigan bir nechta kirish / chiqish.
Bizning holatdamar_budgetNew_subs, ma'lum bir indeks bilan bir qatorda
(80,200) kabi qadriyatlar juftligi. Model:haqiqiy jarayonning matematik vakili.
Mashinani o'rganishda model-algoritm sinfidan foydalangan holda yaratilgan va
funktsiyalar va teglar bilan o'qitiladigan asarlar yoki ob'ekt. Keling,
modellashtirish jarayoni bilan boshlaylik.
Qadam 1. Yangi noutbukni yaratish
Colab-ga tashrif buyurish uchun quyidagi linkni bosingvafaylni bosing, keyinyangi
Python 3 tizza kompyuteri,
https://colab.research.google.com/notebooks/welcome.ipynb
2 qadam:ikkinchi qadam-bu demoda foydalanadigan qaramlik / kutubxonalarni
import qilishdir: quyidagi qismda ko'rsatilgandek numpy, matplotlib va oqim
tensorini import qilish:
import tensorflow as tftf.logging.set_verbosity(tf.logging.ERROR)import numpy
as npimport matplotlib.pyplot as plt view rawTensorflow for Beginners(Importing
Packages).py hosted with by GitHub
3 qadam : ma'lumotlar nuqtalarini yaratish / import qilish
Keling, bizning modeli o'rgatish uchun foydalanamiz ma'lumotlar nuqtalari
majmuini hosil qilaylik, nomlari bilan ikki tillo shaklida mar_budget va mos
ravishda mar_budget har bir qiymati uchun Subs_gained.
mar_budget = np.array([60, 80, 100 , 30, 50, 20, 90, 10], dtype=float)subs_gained
= np.array([160, 200, 240, 100, 140, 80, 220, 60], dtype=float) for i,c in
enumerate(mar_budget): print("{} Market budget = {} new subscribers
gained".format(c, subs_gained[i]))
Bundan tashqari, mar_budget va Subs_gained o'rtasidagi munosabatni tushunish
uchun bizning qatorlarni quramiz.
plt.scatter(mar_budget,subs_gained)plt.xlim(0,120)plt.ylim(0,260)plt.xlabel('Mark
eting Budget(in thousand of Dollars)')plt.ylabel('Subscribers Gained(in
thousand)')plt.show()
Olingan grafik Ko'rib turganingizdek, sarflangan marketing byudjeti va yangi
subwooferlar o'rtasida lineer bog'liqlik mavjud. Bizning maqsadimiz-barcha
nuqtalarni tanlash uchun ishlatilishi mumkin bo'lgan chiziq tenglamasini topish,
ya'ni bu lineer qaramlikni tushuntirish va keyin ko'rinmas ma'lumotlar / predmet
nuqtalari uchun yorliqlarni taxmin qilish uchun ishlatiladi.(Eslatma: ma'lumotlar
o'rtasidagi munosabatlar har doim ham mukammal lineer bo'lmasligi kerak. Ushbu
misolda men mukammal chiziqli ma'lumotlar nuqtalaridan foydalanaman, ammo
haqiqiy stsenariylarda mutlaqo chiziqli ma'lumotlar to'plami mavjud emas. Bizning
maqsadimiz eng taxminiy chiziqni / egri chiziqni topish, shuningdek,
bashoratchilar va teglar o'rtasidagi munosabatni tushuntirish uchun ishlatilishi
mumkin bo'lgan model deb ataladi. Bundan tashqari, ushbu misol uchun chiziqli
bo'lmagan ma'lumotlar nuqtalarini yaratishingiz yoki ishlatishingiz mumkin.)
Lineer regressiyani taxmin qilish printsipi:chiziq tenglamasi belgilari va
koeffitsientlari o'rtasidagi chiziqli aloqa bo'lishi kerak.
4 qadam:keyingi qadam bizning ma'lumotlarimizni ta'lim va test ma'lumotlariga
bo'lishdir. Ta'lim ma'lumotlari bizning modelimizni o'qitish uchun ishlatiladi, test
ma'lumotlari alohida saqlanadi va keyin test ma'lumotlarining haqiqiy yorlig'ini
test ma'lumotlari uchun modelimiz tomonidan prognoz qilingan yorliq bilan
taqqoslash orqali modelimizning ishlashini tekshirish uchun ishlatiladi.
from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test
= train_test_split(mar_budget,subs_gained,random_state=42, train_size=0.8,
test_size=0.2)
5-qadam: bir model yaratish
Eng oddiy modelni - zich tarmoqni ishlatamiz. Muammo oddiy bo'lgani uchun,
bu tarmoq faqat bitta neyron bilan bitta qatlamni talab qiladi. Bizlayer_0 qatlamini
qo'ng'iroqva tf misollar yaratish orqali uniyaratish.keras.layers.Quyidagi
konfiguratsiya bilan Dense: input_shape = [1]: ushbu qatlam uchun kirish bitta
qiymat ekanligini bildiradi. Ya'ni, shakl bir a'zo bilan bir o'lchovli qatordir. Bu
birinchi (va yagona) qatlam bo'lgani uchun, kirish shakli butun modelning kirish
shakli hisoblanadi. Faqatgina qiymat marketing_budget ni ifodalovchi suzuvchi
nuqta soni.birlik = 1: bu qatlamdagi neyronlarning sonini ko'rsatadi. Neyronlarning
soni ichki o'zgaruvchilar qatlami muammoni hal qilish uchun qanday o'rganish
uchun harakat qilish kerak qancha belgilaydi. Bu oxirgi daraja bo'lgani uchun, u
ham modelning chiqish hajmi-yangi abonentlarni ifodalovchi suzuvchi nuqta
qiymati. (Ko'p qatlamli tarmoqda qatlamning kattaligi va shakli keyingi
qatlamning "input_shape" ga mos kelishi kerak.) layer_0 =
tf.keras.layers.Dense(units=1, input_shape=[1])
Qatlamlarni modelga to'plang: Qatlamlar aniqlangandan so'ng ular modelga
to'planishi kerak. Ketma-ket modelning ta'rifi qatlamlarning ro'yxatini hisobga
olish tartibini belgilovchi dalillar sifatida qabul qiladi. Ushbu model faqat layer_0
qatlamiga ega. model = tf.keras.Sequential([layer_0])
Eslatma: siz tez-tez quyida ko'rinib turganidek, oldindan o'rniga model ta'rifi
ichida belgilangan qatlamlarini ko'rasiz: model = tf.keras.Sequential([
tf.keras.layers.Dense(units=1, input_shape=[1])])
6 qadam: modelni yo'qotishlar va optimallashtiruvchi xususiyatlar bilan
kompilyatsiya qiling. Treningdan oldin modelni tuzish kerak. Ta'lim olish uchun
tayyorlashda model beriladi:
Yo'qotish funktsiyasi: prognozlarning istalgan natijadan qanchalik uzoqligini
o'lchash usuli. (O'lchangan farq "zarar" deb ataladi.)Optimizer funktsiyasi:
yo'qotishlarni kamaytirish uchun ichki qiymatlarni sozlash usuli.
model.compile(loss='mean_squared_error',
optimizer=tf.keras.optimizers.Adam(0.1))
Ushbu parametrlarmodel.fit()birinchi navbatda har bir nuqtada yo'qotishlarni
hisoblash va keyin uni yaxshilash uchun trening (, pastda) davomida ishlatiladi.
Modelning joriy yo'qotilishini hisoblash va keyinchalik uni takomillashtirish-bu
mashg'ulot. Trening davomida optimizator funktsiyasi modelning ichki
o'zgaruvchilari uchun tuzatishlarni hisoblash uchun ishlatiladi. Maqsad, modelni
(matematik funktsiya) konvertatsiya qilish uchun haqiqiy tenglamani aks
ettirmaguncha, ichki o'zgaruvchilarni sozlashdirbudget_SpentNew Subs Gained,
TensorFlow ushbu sozlamani amalga oshirish uchun raqamli tahlildan foydalanadi
va bu murakkablik sizdan yashiriladi, shuning uchun biz batafsil ma'lumotga ega
emasmiz.
Ushbu parametrlar haqida bilish uchun nima foydali: Bu erda ishlatiladigan
yo'qotish funktsiyasi (o'rtacha kvadratik xato) va optimizator (odam) bu kabi oddiy
modellar uchun standartdir, ammo ko'plab boshqalar mavjud. Ushbu maxsus
funktsiyalar hozirgi vaqtda qanday ishlashini bilish muhim emas.Modellarni
yaratishda o'ylashingiz kerak bo'lgan optimallashtiruvchi qismlardan biri - bu
o'rganish tezligi (0.1yuqoridagi kodda). Bu modeldagi qiymatlarni sozlashda
qadamning o'lchami. Agar qiymat juda kichik bo'lsa, modelni o'qitish uchun juda
ko'p yinelemeler talab qilinadi. Juda katta va aniqlik kamayadi. Yaxshi qiymatni
topish ko'pincha sinov va xatolarni o'z ichiga oladi, ammo bu diapazon odatda
0,001 (standart) va 0,1 oralig'ida bo'ladi. Zarar va Optimizer xususiyati haqida
ko'proq bilib olish uchun quyidagi havolalarni bosing: a.o'rtacha kvadrat
xatolik b.odam
7-qadam:mos usuli qo'ng'iroq tomonidan modelini o'rgatish.
Trening davomida model marketing byudjeti qiymatlarini qabul qiladi, joriy ichki
o'zgaruvchilar ("tarozilar" deb ataladi) yordamida hisob-kitoblarni amalga oshiradi
va "yangi subwooferlar"olinishi kerak bo'lgan qiymatlarni ko'rsatadi. Og'irligi
dastlab tasodifiy o'rnatilganligi sababli, chiqish ma'lumotlari to'g'ri qiymatga yaqin
bo'lmaydi. Haqiqiy va kerakli chiqim o'rtasidagi farq yo'qotish funktsiyasi
yordamida hisoblab chiqiladi va optimallashtiruvchi funktsiyasi og'irlik
koeffitsientlarini qanday qilib to'g'ri tuzatishni aniqlaydi.
Hisoblash, taqqoslash, sozlash, bu davr & # 8216; fit & # 8217 usuli bilan nazorat
qilinadi;. Birinchi argument kirish ma'lumotlari, ikkinchi dalil esa kerakli chiqish
ma'lumotidir. davrargumenti bu tsiklni necha marta ishga tushirish kerakligini
ko'rsatadi vabatafsildalillar usulning qanchalik chiqarilishini nazorat qiladi.
trained_model = model.fit(X_train, y_train, epochs=1000,
verbose=False)print("Finished training the model")
Majburiy emas qadam: ta'lim statistikasini ko'rsatish
"Fit" usuli tarix ob'ektini qaytaradi. Ushbu ob'ektdan har bir ta'lim davridan keyin
bizning modelimizdagi yo'qotishlar qanday kamayganligi haqida grafik yaratish
uchun foydalanishimiz mumkin.yuqori yo'qotishlaryangi Submarinesqiymatini
haqiqiy olingan ABS tegishli qiymati uzoq bir model bashorat bor, degan ma'noni
anglatadi .
import matplotlib.pyplot as plt.
Google-TensorFlow-dan mashhur kompyuterni o'rganish ramkasining yangi
chiqqan JavaScript-versiyasining asosiy xususiyatlari qisqacha ko'rib chiqiladi.js.
O'tgan yili Google deeplearn kutubxonasini taqdim etdi.js, foydalanuvchilarga
to'g'ridan-to'g'ri brauzerda tasvirlarni tasniflash uchun ishlatiladigan kompyuterni
o'rganish modellarini yaratishga imkon beradi.
TensorFlow.js: brauzerga yetkazib berish bilan JavaScript-da kompyuterni
o'rganish. Ushbu kutubxona TensorFlow deb nomlangan va taqdim etilgan.js: kod
ko'proq o'qilishi mumkin bo'lib, funktsiyalar tezroq ishlab chiqilgan va batafsil
modellarni yaratishga imkon beruvchi echimlar bilan to'ldirilgan va WebGL
texnologiyasidan foydalanish grafik ma'lumotlarni tezda qayta ishlashga imkon
beradi. TensorFlow Qurilmasi.js
Modelni odatda ishlab chiquvchi va kompyuterni o'rganish modellarining
oxirgi iste'molchisi sifatida o'qitish uchun tegishli kutubxonalarni o'rnatish talab
qilinadi. Biroq, TensorFlow-da.JS interfeysi brauzerdir, shuning uchun skript
faylini ulashda kutubxonalarni o'rnatish va qaramlikni kuzatish zarurati yo'qoladi,
hamma narsa "uyga yetkaziladi". Kutubxonaning tuzilishi qobiq tuzilishi – yadro
API va uning yuqori qatlam qatlamlarini qoplaydigan shaklda ifodalanishi
mumkin: Ops API (operatsiyalardan qisqartirilgan-past darajali operatsiyalar).
Sintaktik ravishda, bu komponent Python interfeysi bilan klassik Tensorflowga
yaqin. Layers API (yuqori qatlamli qatlamlar). Ushbu API Keras kutubxonasiga
o'xshash bo'lib, u eng keng tarqalgan umumiy jamoalarning minimalist
to'plamlariga o'rganishdagi harakatlarini kamaytiradi. Misol uchun, ilgari biz
ma'lumotlarni yuklab olish, yaratish va o'rganish modelini, natijalarini
tekshirish, shu jumladan, kodi 15 satr diabet bashorat muammoni hal qilish Keras
bir misol ko'rsatdi.
TensorFlow.js: brauzerga yetkazib berish bilan JavaScript-da kompyuterni
o'rganish. Yuqori darajadagi API asosida foydalanuvchi model bilan o'zaro
aloqalar uchun o'z interfeysini yaratish mumkin. Bu ko'chma qurilmalar
sensorlaridan (akselerometr, gyroskop, kamera, GPS va boshqalar) ma'lumotlarni
olish va foydalanuvchi xatti-harakatlariga asoslangan tegishli kontentni tanlash
uchun modellarni tayyorlash bilan veb-ilovalarni tezda yaratish uchun yangi
imkoniyatlar ochadi. Shu bilan birga, xavfsizlik avtomatik ravishda ta'minlanadi,
chunki ma'lumotlar mijoz tomonidan yaratiladi va saqlanadi. Bundan tashqari,
TensorFlow.js, oldindan o'rganilgan modellardan foydalanishga imkon beradi, bu
esa vaqtni talab qiluvchi vazifalar uchun juda qulaydir, masalan, tasvirni aniqlash
(masalan, veb-kamera oldida joylashgan ob'ektni aniqlash vazifasi uchun kod va
demoga qarang).
TensorFlow bilan ishlash qanday ko'rinishga ega?js
Tensorflowdagi asosiy ma'lumotlar tuzilishi.js tensors-potentsial katta hajmdagi
holatlar uchun matritsalarni umumlashtirish. TensorFlow modelini yaratish va
o'qitish.js ikki yo'l bilan mumkin.
Modelni yaratishning birinchi varianti html faylini ishga tushirish natijasida, teglar
orasidagi skript blokida siz yozgan API buyruq kodi joylashtirilgan. Misol uchun,
quyidagi kod chiziqli regressiya muammosini hal qiladi:
Keras bu – ...
Keras – bu Python-da yozilgan, Theano yoki Tensorflow-ning asosiga qurilgan
Ochiq Kodli neyron tarmoq kutubxonasidir. U modulli, tezkor va ishlatish uchun
qulay holatda Google kompaniyasi muhandisi Fransua Cholet ishlab chiqqan.
Keras kutubxonasidagi Sequential() nima vazifani bajaradi?
Ketma-ket tartibli modelning asosiy g'oyasi shunchaki Keras qatlamlarini ketma-
ket tartibda joylashtirishdir. Ya`ni qatlamlar turgan tartibi bo`yicha ishga
tushiriladi Ketma-ket tartibli(Sequential) model qurishda qollaniladi
Keras kutubxonasida neyron tarmoq modelini qurish jarayonida quyidagi dastur
kodi nima vazifani bajaradi? model = Sequential()
model.add(Dense(16, input_shape=(64,)))
Kerasda neyron tarmoq qurish (Input). Keras muhitida qurilgan neyron
tarmoqda joriy qatlam uchun faollashtirish funksiyasini qo‟shishda
quyidagilarning qaysi biridan foydalaniladi?
Dense Activation Dropout - ReLU function .Keras muhitida “Dropout” qatlami
nima vazifani bajaradi? Dropout qatlami o`qitish jarayonida neyron tarmoqdagi
ahamiyati yo’q bo’lgan neyronlarni tashlab yuborish amalini bajarish uchun
ishlatiladi. Zich dence qatlam zich qatlam bir-biriga to'liq bog'langan qatlamdir,
ya'ni qatlamdagi barcha neyronlar keyingi qatlam bilan bog'langan va bu
qatlamdan juda ko`p foydalaniladi,( Zich (Dense) qatlam)
Neyron tarmoq nima?
Neyron tarmoqlari – bu inson miyasining ishlash faoliyatini qisman aks
ettiruvchi tuzilma bo’lib, bunda ko’plab neyronlar bir-biriga bog’langan holda
neyron tarmog’ini tashkil qiladi. Neyron tarmog’i chapdan o’ngga (to’g’ri-to’g’ri)
ko’rinishda amalga oshiriladi, kiruvchi parametrlar neyronlar asosida hisoblanadi
va natijada chiquvchi qiymatlar shakllanadi
Biologik neyron tarmoq tashkil etuvchilarini Cell body (soma), dendrites, Synapse,
Axon
Node – tugun, Input – kiruvchi ma’lumotlar, Weights (interconnections) –
og’irlik koeffitsentlari, Output – chiquvchi ma’lumotlar, natija
Kiruvchi qatlam (input layer) – obyektga tegishli bo’lgan kiruvchi ma’lumotlar
(Masalan, 28x28 o’lchamdagi tasvir bo’ladigan bo’lsa, 784 ta kiruvchi parametr);
Chiquvchi qatlam (output layer) – hisoblash natijasini ko’rsatadigan natijaviy
qatlam; Yashirin qatlamlar (hidden layer) – neyron tarmog’ida asosiy
hisoblashlarni amalga oshiruvchi ko’p sathli (yoki bitta sath) neyronlar
jamlanmasi;
Konvoltutsion neyran tarmoqlar tasvirlar, tovushlar va videolar kabi
murakkab ma’lumotlarni tahli,qilish va qayta ishlahs uchun foydalaniladigan
sun’iy intellekt tarmoqlari. Ular tibbiyot, tranport, moliya va internet marketingda
qo’llaniladi. Katta hajmdagi ma’lumotlarni qayta ishlash va tahlil qilish uchun juda
mashhur vosita bo’lgan konvolutsion neyron tarmoqlar to’g’ri qaror qabul qilishga
va murakkab ma’lumotlardan ma’lumot olishga yordam beradi.
Konvolyutsion neyron tarmoqlar (CNN) chuqur o'rganishga asoslangan tasvirni
tanib olishning asosidir, ammo ular faqat tasniflashning asosiy ehtiyojiga javob
beradi: Rasmni hisobga olgan holda, uning mazmuni avvalgi misollar orqali
o'rganilgan aniq tasvirlar sinfi bilan bog'liqligini aniqlashi mumkin. Shuning
uchun, siz itlar va mushuklarni tanib olish uchun chuqur asab tarmog'ini
o'rgatsangiz, uni fotosurat bilan boqishingiz va fotosuratda it yoki mushuk
borligini ko'rsatadigan natijani olishingiz mumkin.
Konvolyutsiya tarmog'i - bu ko'p qatlamli perseptron (perceptron, lotincha
perceptio - idrok etish - miqyosga, o'zgarishlarga va boshqalarga yuqori darajada
qarshilik ko'rsatadigan 2D sirtlarni tanib olish uchun mo'ljallangan, miya
tomonidan ma'lumotni qabul qilishning matematik yoki kompyuter modeli.
deformatsiya turlari. Bunday muammoni hal qilishni o'rganish
mustahkamlash bilan amalga oshiriladi, bunda arxitekturasi quyidagi cheklovlarga
mos keladigan shakl tarmoqlari qo'llaniladi .
An'anaviy ikki o'lchovli massivdan farqli o'laroq, konvolyutsion neyron
tarmog'i neyronlarning uch o'lchovli konfiguratsiyasiga ega. Birinchi qatlam
konvolyutsion qatlam sifatida tanilgan. Konvolyutsion qatlamdagi har bir neyron
faqat ko'rish maydonining cheklangan qismidagi ma'lumotlarni qayta ishlaydi. Filtr
kabi, kiritish xususiyatlari ommaviy rejimda olinadi. Tarmoq bo'limlardagi
rasmlarni tushunadi va butun tasvirni qayta ishlashni tugatish uchun bu amallarni
bir necha marta bajarishi mumkin.
Rasm qayta ishlash jarayonida RGB yoki HSI dan kulrang rangga o'zgartiriladi.
Piksel qiymatining keyingi o'zgarishlari qirralarni aniqlashga yordam beradi va
rasmlarni bir nechta guruhlarga ajratish mumkin. Bir yo'nalishli tarqalish CNN bir
yoki bir nechta konvolyutsion qatlamlarni o'z ichiga olgan holda sodir bo'ladi,
shundan so'ng birlashma va ikki tomonlama tarqalish konvolyutsiya qatlamining
chiqishi tasvirni tasniflash uchun to'liq ulangan neyron tarmoqqa yuborilganda
sodir bo'ladi.Tasvirning ayrim elementlarini ajratib olish uchun filtrlardan
foydalaniladi. MLP da kirishlar o'lchanadi va faollashtirish funktsiyasiga kiritiladi.
RELU konvolyutsiyada ishlatiladi, MLP esa chiziqli bo'lmagan faollashtirish
funktsiyasidan so'ng softmaxdan foydalanadi. Rasm va videoni aniqlash, semantik
tahlil qilish va parafrazni aniqlashda konvolyutsion neyron tarmoqlar ajoyib
natijalar beradi.
Matematika, fizika,
mexanika
, elektrotexnika, radiotexnika va shunga o’xshash
soxalarda ikki xil miqdorlar uchrab turadi. Bu miqdorlarning bir turi uzining son
qiymati bilan to’l aniqlanadi. Masalan, shaklning yuzi, jismning xajmi,
temperatura, elektr kattalik, zichlik kabi miqdorlar.Bunday
miqdorlar
Dostları ilə paylaş: |