MIRZOULUG‘BEKNOMIDAGIO‘ZBEKISTON
MILLIYUNIVERSITETIJIZZAXFILIALI
SUN’IYINTELLEKT
SUN’IYNEYRON
MODELI
S.B.ERGASHEV
ATT KAFEDRASI
БАНК
WOODGROVE 2
NEYRON TARMOQ TUZILISHI
MPS
O’ZMUJF
 Bizning miyamiz murakkab biologik neyron tarmoq bo'lib, u sezgilardan ma'lumot oladi (yuzlarni
tanib olish, sezgilarning paydo bo'lishi va boshqalar) biologik tarzda qayta ishlaydi.
 Miya bir-biri bilan o'zaro ta'sir qiluvchi neyronlardan iborat.
 Sun'iy neyron tarmog'ini yaratish uchun biz xuddi shu tuzilmadan foydalanamiz.
 Biologik neyron tarmog'I kabi, sun'iy bir-biri bilan o'zaro ta'sir qiluvchi neyronlardan iborat, ammo u
soddalashtirilgan modeldir.
 SNTni tashkil etuvchi sun'iy neyron ancha sodda tuzilishga ega: u turli xil signallarni qabul qiladigan,
ularni o'zgartiradigan va boshqa neyronlarga uzatadigan bir nechta kirishlarga ega. Boshqacha qilib
aytganda, sun'iy neyron bir nechta kirish parametrlarini bitta chiqishga aylantiradigan funktsiyadir.
БАНК
WOODGROVE
BIOLOGIK NEYRONNING ISHLASHI
3
Odatiy neyron quyidagi to'rt qismdan iborat bo'lib, ular yordamida ishlash prinspini tushuntirish mumkin.
 Dendritlar - ular daraxtga o'xshash novdalar bo'lib, u bog'langan boshqa neyronlardan ma'lumot
olish uchun javob beradi. Boshqa ma'noda, biz ularni neyronning quloqlariga o'xshatishimiz mumkin.
 Soma - neyronning hujayra tanasi bo'lib, ular dendritlardan olingan ma'lumotlarni qayta ishlash
uchun javob beradi.
 Axon - xuddi neyronlar ma'lumot yuboradigan kabelga o'xshatish mumkun.
 Sinapslar - akson va boshqa neyron dendritlari o'rtasidagi aloqa.
MPS
O’ZMUJF
БАНК
WOODGROVE
ANN VA BNN
4
Sun'iy neyron tarmog'i o'rtasidagi farqlarni ko'rib chiqishdan oldin ANN va Biologik Neyron Tarmoq
BNN, o'rtasidagi terminologiyaga asoslangan o'xshashliklarni solishtirish. Quyidagi jadvalda aytib
o'tilgan ba'zi mezonlar asosida ANN va BNN o'rtasidagi taqqoslash ko'rsatilgan.
Biologik neyron tarmog‘i
BNN
Sun'iy neyron tarmog‘i
ANN
Soma Tugun
Dendritlar Kiritish
Sinaps Og'irliklar yoki o'zaro bog'lanishlar
Axon Chiqish
MPS
O’ZMUJF
БАНК
WOODGROVE
ANN VA BNN
5
• S.B.ERGASHEV
• ATT KAFEDRASI
MEZONLAR BNN ANN
Qayta ishlash
Massiv parallel ishlashi sekin, lekin ANN
dan ustun
Massiv parallel ishlash tez, lekin BNN dan
past
Hajmi
10
11
yoki 10
15
o'zaro bog'liq neyronlar
soni
10
2
dan 10
4 gacha
tugunlar mainga asosan
dastur turiga va tarmoq dizayniga bog'liq
O'rganish Ular noaniqlikni qabul qila oladilar
Noaniqlikni qabul qilish uchun juda aniq
tuzilgan va formatlangan ma'lumotlar talab
qilinadi
Nosozlikka chidamlilik
Ishlash hatto qisman zarar bilan ham
yomonlashadi
U mustahkam ishlashga qodir, shuning
uchun xatolarga chidamli bo'lish
xususiyatlarga ega
Saqlash hajmi Ma'lumotni sinapsda saqlaydi Ma'lumotni doimiy xotira joylarida saqlaydi
MPS
O’ZMUJF
БАНК
WOODGROVE
NEYRON TARMOQ TUZILISHI
6
𝝎𝒊𝒋 - dan j-nchi neyrondan i-neyronga
𝝎𝒊𝒋 ∙ 𝒙𝒊
MPS
O’ZMUJF
𝑓 𝑥 =
𝑎, 𝑥 ≥ 𝜆
𝑏, 𝑥 < 𝜆
𝑓 𝑥 =
1, 𝑥 ≥ 0
0, 𝑥 < 0
𝑓 𝑥 =
1, 𝑥 ≥ 0
−1, 𝑥 < 0
БАНК
WOODGROVE
TASVIRNI ANIQLASH UCHUN NEYRON TARMOQ
QATLAMLARINI STACKING
7
Vektorlarda ko'paytirish biroz boshqacha aniqlanadi.
Agar sizda vektor x=( x_1, x_2, ..., x_n ) va boshqa vektor w=( w_1, w_2, ..., w_n ) bo'lsa va agar siz ularni ko'paytirsangiz, x * w natija
bitta qiymat bo'ladi: w_1 * x_1 + w_2 * x_2 + ... + w_n * x_n
MPS
O’ZMUJF
БАНК
WOODGROVE
NEYRON TARMOQ OG‘IRLIGINI HISOBLASH
JARAYONI
8
MPS
O’ZMUJF
БАНК
WOODGROVE
ENDI USHBU TARMOQ HAQIDA TUSHUNCHALARNI
KO‘RIB CHIQAMIZ
9
Tarmoqqa keladigan 3 ta o'qni, 3 kirishi deb tasavvur qilsak.
[0.7,0.6,1.4] qiymatlari mos keladigan kirishga tayinlangan og'irliklardir.
Og'irliklar atamasini nimaligini tushunish uchun bir misol keltiraylik:
[Talabalarni 2 xil talabga ko‘ra universitetga qabul qilishini ko'rib chiqamiz. Biri ularning baholari, ikkinchisi esa universitet testidir.
Universitet umumiy baholar og'irlikning 70% ni va universitet imtihonlari qabul jarayoni 30% ni tashkil etadi.]
Kirishlar tegishli og'irliklarga ko'paytiriladi va ularning yig'indisi olinadi.
3 ta kirishni x1,x2,x3 sifatida va 3 ta vaznni w1,w2,w3 deb belgilaymiz.
sum = x1w1 + x2w2+x3w3 ya'ni sum=x1(0,7) + x2(0,6) + x3(1,4)
Natija olingandan so'ng, olingan summaga noaniqlikni qo'shamiz.
Bu bias shunchaki doimiy raqam, deylik 1 masshtablash maqsadida qo'shiladi.
NewSum=x1(0,7) + x2(0,6) + x3(1,4) + bias
Qo‘shimcha noaniqlik (bais) qo'shish shart emas, lekin qo‘shilsa jarayonni tezlashtiradi.
Agar hisoblangan natija belgilangan chegara qiymatidan yuqori bo'lsa, neyron qo'zg'aladi va u natijani chiqishga chiqaradi. Agar natija
belgilangan chegara qiymatidan kam bo‘lsa, u chiqishdan o'tmaydi.
БАНК
WOODGROVE
NT UCHUN MISOL
10
MPS
O’ZMUJF
БАНК
WOODGROVE
NT UCHUN MISOL
11
MPS
O’ZMUJF
БАНК
WOODGROVE 12
import numpy as np # vektorlar va matritsalar bilan ishlashda qo’llaniladi
def act(x):
return 0 if x < 0.5 else 1 #belgilab olish
def go(house, rock, attr):
x = np.array([house, rock, attr])# vectorni belglab olamiz
w11 = [0.3, 0.3, 0] # 1 - yashirin neyron qatlami
w12 = [0.4, -0.5, 1] # 2 - yashirin neyron qatlami
weight1 = np.array([w11, w12]) # matritsa 2x3
weight2 = np.array([-1, 1]) # vektor 1x2 chiqish
sum_hidden = np.dot(weight1, x) # yashirin qatlamlardagi chiqish neyronlarini ko’paytirib summasini hisoblaymiz
print("yshirin neyron qatlam qiymatlari summasi"+str(sum_hidden)) # vector - sum_hidden
out_hidden = np.array([act(x) for x in sum_hidden]) # yashirin qatlam vektoridan chiqqan summani x qiymatdan ayta o’tkazamiz
print("yshirin neyron qatlam chiqish qiymatlarining summasi"+str(out_hidden)) # out_hidden vector qiymatini olamiz
sum_end = np.dot(weight2, out_hidden) # chiqishdan olgan qiymatni weight2 vector qiymati bilan solishtirib
y = act(sum_end)
print("chiqish qiymatlari NT: "+str(y)) # yakuniy natijani olamiz
return y
# parametrlarini e’lon qilamiz
house = 1
rock = 0
attr = 1
res = go(house, rock, attr) # keyin bu funksiyani neyron tarmog’idan o’tkazamiz kerakli natijani olamiz
if res == 1:
print("Sen menga yoqasan")
else:
print("Telefonlashamiz")
MPS
O’ZMUJF
БАНК
WOODGROVE
SUN'IY INTELLEKT
13
MPS
O’ZMUJF
“AXBOROTTIZIMLARIVA
TEXNOLOGIYALARI”KAFEDRASI
S.B. Ergashev s.b.ergashev@gmail.com
https://slideplayer.com/
SUN’IYINTELLEKT
JIZZAX2023

Sun’iy neyron modeli

  • 1.
  • 2.
    БАНК WOODGROVE 2 NEYRON TARMOQTUZILISHI MPS O’ZMUJF  Bizning miyamiz murakkab biologik neyron tarmoq bo'lib, u sezgilardan ma'lumot oladi (yuzlarni tanib olish, sezgilarning paydo bo'lishi va boshqalar) biologik tarzda qayta ishlaydi.  Miya bir-biri bilan o'zaro ta'sir qiluvchi neyronlardan iborat.  Sun'iy neyron tarmog'ini yaratish uchun biz xuddi shu tuzilmadan foydalanamiz.  Biologik neyron tarmog'I kabi, sun'iy bir-biri bilan o'zaro ta'sir qiluvchi neyronlardan iborat, ammo u soddalashtirilgan modeldir.  SNTni tashkil etuvchi sun'iy neyron ancha sodda tuzilishga ega: u turli xil signallarni qabul qiladigan, ularni o'zgartiradigan va boshqa neyronlarga uzatadigan bir nechta kirishlarga ega. Boshqacha qilib aytganda, sun'iy neyron bir nechta kirish parametrlarini bitta chiqishga aylantiradigan funktsiyadir.
  • 3.
    БАНК WOODGROVE BIOLOGIK NEYRONNING ISHLASHI 3 Odatiyneyron quyidagi to'rt qismdan iborat bo'lib, ular yordamida ishlash prinspini tushuntirish mumkin.  Dendritlar - ular daraxtga o'xshash novdalar bo'lib, u bog'langan boshqa neyronlardan ma'lumot olish uchun javob beradi. Boshqa ma'noda, biz ularni neyronning quloqlariga o'xshatishimiz mumkin.  Soma - neyronning hujayra tanasi bo'lib, ular dendritlardan olingan ma'lumotlarni qayta ishlash uchun javob beradi.  Axon - xuddi neyronlar ma'lumot yuboradigan kabelga o'xshatish mumkun.  Sinapslar - akson va boshqa neyron dendritlari o'rtasidagi aloqa. MPS O’ZMUJF
  • 4.
    БАНК WOODGROVE ANN VA BNN 4 Sun'iyneyron tarmog'i o'rtasidagi farqlarni ko'rib chiqishdan oldin ANN va Biologik Neyron Tarmoq BNN, o'rtasidagi terminologiyaga asoslangan o'xshashliklarni solishtirish. Quyidagi jadvalda aytib o'tilgan ba'zi mezonlar asosida ANN va BNN o'rtasidagi taqqoslash ko'rsatilgan. Biologik neyron tarmog‘i BNN Sun'iy neyron tarmog‘i ANN Soma Tugun Dendritlar Kiritish Sinaps Og'irliklar yoki o'zaro bog'lanishlar Axon Chiqish MPS O’ZMUJF
  • 5.
    БАНК WOODGROVE ANN VA BNN 5 •S.B.ERGASHEV • ATT KAFEDRASI MEZONLAR BNN ANN Qayta ishlash Massiv parallel ishlashi sekin, lekin ANN dan ustun Massiv parallel ishlash tez, lekin BNN dan past Hajmi 10 11 yoki 10 15 o'zaro bog'liq neyronlar soni 10 2 dan 10 4 gacha tugunlar mainga asosan dastur turiga va tarmoq dizayniga bog'liq O'rganish Ular noaniqlikni qabul qila oladilar Noaniqlikni qabul qilish uchun juda aniq tuzilgan va formatlangan ma'lumotlar talab qilinadi Nosozlikka chidamlilik Ishlash hatto qisman zarar bilan ham yomonlashadi U mustahkam ishlashga qodir, shuning uchun xatolarga chidamli bo'lish xususiyatlarga ega Saqlash hajmi Ma'lumotni sinapsda saqlaydi Ma'lumotni doimiy xotira joylarida saqlaydi MPS O’ZMUJF
  • 6.
    БАНК WOODGROVE NEYRON TARMOQ TUZILISHI 6 𝝎𝒊𝒋- dan j-nchi neyrondan i-neyronga 𝝎𝒊𝒋 ∙ 𝒙𝒊 MPS O’ZMUJF 𝑓 𝑥 = 𝑎, 𝑥 ≥ 𝜆 𝑏, 𝑥 < 𝜆 𝑓 𝑥 = 1, 𝑥 ≥ 0 0, 𝑥 < 0 𝑓 𝑥 = 1, 𝑥 ≥ 0 −1, 𝑥 < 0
  • 7.
    БАНК WOODGROVE TASVIRNI ANIQLASH UCHUNNEYRON TARMOQ QATLAMLARINI STACKING 7 Vektorlarda ko'paytirish biroz boshqacha aniqlanadi. Agar sizda vektor x=( x_1, x_2, ..., x_n ) va boshqa vektor w=( w_1, w_2, ..., w_n ) bo'lsa va agar siz ularni ko'paytirsangiz, x * w natija bitta qiymat bo'ladi: w_1 * x_1 + w_2 * x_2 + ... + w_n * x_n MPS O’ZMUJF
  • 8.
    БАНК WOODGROVE NEYRON TARMOQ OG‘IRLIGINIHISOBLASH JARAYONI 8 MPS O’ZMUJF
  • 9.
    БАНК WOODGROVE ENDI USHBU TARMOQHAQIDA TUSHUNCHALARNI KO‘RIB CHIQAMIZ 9 Tarmoqqa keladigan 3 ta o'qni, 3 kirishi deb tasavvur qilsak. [0.7,0.6,1.4] qiymatlari mos keladigan kirishga tayinlangan og'irliklardir. Og'irliklar atamasini nimaligini tushunish uchun bir misol keltiraylik: [Talabalarni 2 xil talabga ko‘ra universitetga qabul qilishini ko'rib chiqamiz. Biri ularning baholari, ikkinchisi esa universitet testidir. Universitet umumiy baholar og'irlikning 70% ni va universitet imtihonlari qabul jarayoni 30% ni tashkil etadi.] Kirishlar tegishli og'irliklarga ko'paytiriladi va ularning yig'indisi olinadi. 3 ta kirishni x1,x2,x3 sifatida va 3 ta vaznni w1,w2,w3 deb belgilaymiz. sum = x1w1 + x2w2+x3w3 ya'ni sum=x1(0,7) + x2(0,6) + x3(1,4) Natija olingandan so'ng, olingan summaga noaniqlikni qo'shamiz. Bu bias shunchaki doimiy raqam, deylik 1 masshtablash maqsadida qo'shiladi. NewSum=x1(0,7) + x2(0,6) + x3(1,4) + bias Qo‘shimcha noaniqlik (bais) qo'shish shart emas, lekin qo‘shilsa jarayonni tezlashtiradi. Agar hisoblangan natija belgilangan chegara qiymatidan yuqori bo'lsa, neyron qo'zg'aladi va u natijani chiqishga chiqaradi. Agar natija belgilangan chegara qiymatidan kam bo‘lsa, u chiqishdan o'tmaydi.
  • 10.
  • 11.
  • 12.
    БАНК WOODGROVE 12 import numpyas np # vektorlar va matritsalar bilan ishlashda qo’llaniladi def act(x): return 0 if x < 0.5 else 1 #belgilab olish def go(house, rock, attr): x = np.array([house, rock, attr])# vectorni belglab olamiz w11 = [0.3, 0.3, 0] # 1 - yashirin neyron qatlami w12 = [0.4, -0.5, 1] # 2 - yashirin neyron qatlami weight1 = np.array([w11, w12]) # matritsa 2x3 weight2 = np.array([-1, 1]) # vektor 1x2 chiqish sum_hidden = np.dot(weight1, x) # yashirin qatlamlardagi chiqish neyronlarini ko’paytirib summasini hisoblaymiz print("yshirin neyron qatlam qiymatlari summasi"+str(sum_hidden)) # vector - sum_hidden out_hidden = np.array([act(x) for x in sum_hidden]) # yashirin qatlam vektoridan chiqqan summani x qiymatdan ayta o’tkazamiz print("yshirin neyron qatlam chiqish qiymatlarining summasi"+str(out_hidden)) # out_hidden vector qiymatini olamiz sum_end = np.dot(weight2, out_hidden) # chiqishdan olgan qiymatni weight2 vector qiymati bilan solishtirib y = act(sum_end) print("chiqish qiymatlari NT: "+str(y)) # yakuniy natijani olamiz return y # parametrlarini e’lon qilamiz house = 1 rock = 0 attr = 1 res = go(house, rock, attr) # keyin bu funksiyani neyron tarmog’idan o’tkazamiz kerakli natijani olamiz if res == 1: print("Sen menga yoqasan") else: print("Telefonlashamiz") MPS O’ZMUJF
  • 13.
  • 14.