MIRZO ULUG‘BEK NOMIDAGI O‘ZBEKISTON MILLIY UNIVERSITETI JIZZAX FILIALI.,
“AXBOROT TIZIMLARI VA TEXNOLOGIYALARI” KAFEDRASI., SUN’IY INTELLEKT.
s.b.ergashev@gmail.com
S.B. Ergashev
БАНК
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
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
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 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