SlideShare une entreprise Scribd logo
1  sur  38
Deep Learning
Тооцоолон бодох машиныг яаж
зураг ойлгодог болгох вэ?
AI буюу Хиймэл оюун
Өнөөдрийн ярих хэсэг маань
Deep Learning ≈ Deep Neural Network
• Deep Learning гэж юу вэ?
• Биологийн мэдрэлийн сүлжээ буюу хүн болон амьтны
төв мэдрэлийн системийг дуурайлган хийсэн математик
загварчлал.
• Эхэн үед Neural Network нэрээр судалгааны ажлууд
хийгдэж байсан ч биологийн судалгааны ажлуудтай
андуурах тохиолдлууд байсан тул Deep Learning нэрийн
дор нэгтгэх болсон.
• Supervised болон Unsupervised Learning гэсэн 2 төрөл
бий.
Supervised эсвэл Unsupervised
• Supervised Learning
– Ямар нэг датаг оруулан өөрийн хүссэн гаралтыг авах(ямар нэг
ангилалд оруулах)-ын тулд урьдчилан ангилан бэлдсэн сургалтын
дата(Оролт болон гаралтыг хос болгон бэлдсэн дата)-г сургалтын
дата гэж өгөн машинаар онцлог шинжийг суралцуулах.
Урьдчилан ангилан бэлдсэн дата
Сургалтын процессыг олон дахин давтах
Алгоритм
Сургалтын үр дүнг бусад датанд ашиглах
Supervised эсвэл Unsupervised
• Unsupervised Learning
– Урьдчилсан боловсруулалт болон ангилан ялгаагүй дата(Түүхий
дата)-гаас ямар нэгэн түгээмэл онцлог шинжүүдийг машинаар
өөрөөр нь олуулах .
Түүхий дата
Алгоритм
Машины олсон онцлог шинж чанарууд
Зорилго
• Тооцоолон бодох машиныг яаж зураг ойлгодог
болгох вэ?
Үүний тулд Supervised Learning дээр төвлөрч ярих
болно.
• Хүн нэг зурагнаас юу дүрслэгдсэн
байгааг амархан ойлгож таних
чадвартай боловч үүнийг машинаар
хийлгэх боломжтой юу гэсэн асуулт
өнөөг хүртэл тавигдсаар ирсэн билээ.
• Энэхүү асуултанд хариу өгөх Deep
Learning-н талаар сурж мэдэцгээе.
Тооцоолон бодох машиныг яаж
зураг ойлгодог болгох вэ?
Агуулга
• Тархи болон нейрон
– Тархины талаар
– Нейрон(мэдрэлийн эс)-н ажиллагаа
• Neural Network
– Neural Network болон математик загварчлал
– Convolutional Neural Network
Deep Learning нь тархины бүтэц болон үйл ажиллагаан
дээр үндэслэгдсэн тул эхлээд тархины талаар жаахан судалъя.
Тархины талаар мэдлээ тэгвэл хиймэл тархины талаар
• Тархины талаар
– Тархины үйл ажиллагаа нь түүнийг бүрдүүлэгч олон тооны
мэдрэлийн эс нейроны үйл ажиллагаатай нягт холбоотой.
– Нейрон бүр нь бусад нейронтой холбоосууд үүсгэж, үүсгэн
цахилгаан болон химийн мэдээлэл илгээдэг. Мөн нэг бүр нь маш
нарийн төвөгтэй бүтэцтэй.
– Хулганы тархи 5 сая эсээс, сармагчны тархи 10 тэрбум эсээс,
дөнгөж төрсөн хүүхдийн тархи 100 тэрбум эсээс бүрддэг байна.
Тархи болон нейрон
Нейрон
• Нейрон
– Бичил цахилгаан гүйдэлд цочрох чадвартай эс
– Мэдээллийг хүлээн авах, боловсруулах, дамжуулах үйл ажиллагаа
гүйцэтгэнэ
• Бүтцийн хувьд:
– Их бие (сома) – Мэдээллийг хүлээн авах, нэгтгэн дүгнэх
– Аксон – мэдээллийг бусад эс рүү дамжуулах
– Дендрит хэсгүүдтэй – Мэдээллийг хүлээн авах гол үүрэгтэй.
Синапс
Нейрон хооронд мэдээлэл дамжуулдаг бүтцийг синапс гэнэ.
Синапсын өмнөх мэдрэлийн эсэд байрлах синапсын товгор
нь синапсын арын мэдрэлийн эсийн дендрит эсвэл эсийн
биед байх жижиг хонхорт залгагдснаар синапс бий болно.
Хеббийн хууль
“Нейрон дээрх синапсд өмнөх нейроны давтамжит
‘идэвхжилт’-ээс үүдэн тухайн нейронд цочрол үүссэн
тохиолдолд тухайн синапсын мэдээлэл дамжуулах
чадамж улам нэмэгдэнэ. Эсрэгээр удаан хугацаанд
цочрол үүсэхгүй байвал синапсын мэдээлэл дамжуулах
чадамж буурна.”
Үүнийг хүний суралцах процесс хэлж болно :)
Доналд. О. Хебб:The Organization of Behavior (1949)
Нейрон хэзээ идэвхжихвэ?
• Нейрон нь бусад мэдрэлийн эсээс ирэх сэрэл(импульс)-ийг хүлээн авч
идэвхжсэнээр тэрхүү импульсээ дараагийн нейронд дамжуулна.
• Мөн дандаа дамжуулах бус нейронд тохиромжгүй импульсыг
дамжуулахаас сэргийлэх механизм бас бий.
Нейрон хэзээ идэвхжих вэ?
• Нейроны ажиллагаа нь идэвхжих үү үгүй юу гэсэн 1 юм уу
0 гэсэн дижитал хэлбэрээр илэрхийлэгдэх боломжтой.
Идэвхжсэн синапсаас
ирэх импульсын
хүчээс саатуулах
үүрэгтэй синапсаас
ирэх импульсын
хүчийг хассан утга нь
тодорхой утгаас их
байвал нейрон
идэвхжинэ.
Адил импульс дамжуулагдсан ч нейрон доторх импульсын
хүч нь синапсаас шалтгаалан харилцан адилгүй!
• Нейроны идэвхжих нөхцөлийг математик хэлбэрт
оруулбал:
– Өдөөгдсөн синапсаас ирэх импульсын утга P
– Саатуулах синапсаас ирэх импульсын утга M
– Эцэст идэвхжих үгүйг шийдэх хязгаарын утга B
P – M > B идэвхжинэ.
P – M < B идэвхжихгүй.
Нейрон хэзээ идэвхжих вэ?
P : 3+3+0 = 6
M: 2+0+2 = 4
P – M = 2>1
B=1 гэвэл
Нейрон хэзээ идэвхжих вэ?
Жишээлбэл
Нэг нейроны ажиллагааг математик
хэлбэрээр илэрхийлж чадаж байгаа
юм чинь олон тооны нейроны
сүлжээг математик загварчлалд
оруулж чадах юм биш үү?
Нейроны сүлжээг математик
загварчлал руу
Муур
Тархи шиг олон тооны хиймэл нейроноос бүрдэх сүлжээг математик загварчлалд
оруулж чадвал тооцоолон бодох машиныг(үүнээс хойш машин)ухаалаг болгож
доорх зургийг оруулахад “муур ” гэж таньдаг болгох боломжтой болно.
Нейроны сүлжээг математик
загварчлал руу
Үүнээс хойш тэгшитгэлийг хялбарчлахын тулд параметрүүд
P болон М-г нэгтгэн
Weight гээд Wi=[-2,3,-1,3,2,-2]
B-н хасах утгыг bias гээд b=-1
Импульсыг оролт болгон Xi=[1,0,1,0,1,1] гэж тэмдэглэх болно.
Олон нейрон байх тохиолдолд
X1
X2
X3
нейрон1
W1・XT + b1 > 0
нейрон2
W2・XT + b2 > 0
нейрон3
W3・XT + b3 > 0
Оролт X=[X1,X2,X3]
Weight W1=[W11,W12,W13]
bias b1
Weight W2=[W21,W22,W23]
bias b2
Weight W3=[W31,W32,W33]
bias b3
W11X1+W12X2+W13X3+b1
W21X1+W22X2+W23X3+b2
W31X1+W32X2+W33X3+b3
Матриц хэлбэрт бичвэл
W11,W12,W13 X1 b1
W21,W22,W23 X2 + b2 =
W31,W32,W33 X3 b3
Үүнийг ч гэсэн W・XT + b хэлбэрээр илэрхийлж болно!
Олон нейроныг ашиглавал
X1
X2
Class A (y=1)
Class B (y=0)
• Олон нейроныг ашиглан доорх цэнхэр улаан
элементүүдийг ялгаж үзье.
• Улаан шугаман зураас татах
хэлбэрээр амархан ялгах боловч
бодит амьдрал дээр ихэнх зүйлс
шугаман бус
• Шугаман зураас татах хэлбэрээр
ангилах боломжгүй үед бидэнд
шугаман бус функц хэрэг болно.
Activation function(хөрвүүлэгч функц)
Өмнөх тэгшитгэлүүдээс бид бүхэн дандаа шугаман функц ашиглаж ирсэн
бол шугаман бус хэлбэр дүрсийг ялгахын тулд бидэнд шугаман бус үр дүн
гаргах функц хэрэгтэй.
y= f(b+Σwnxn)
x1
x2
xm
.
.
. y
w1
w2
wm
b
 f
Facebook-н лого?
Function – ийн “f” шүү 
Activation function(хөрвүүлэгч функц)
1 1 1
1 1 1
-1 -1 -1
Good for classification Simple computation Continuous & Differentiable
Threshold Function/ Hard Limiter Linear Function sigmoid Function
Түгээмэл ашиглагдаж буй хөрвүүлэгч функц
Олон давхаргат бүтэцтэй нейроны
сүлжээ (Deep Neural Network:DNN)
X1
X2
X3
X4
H1
H2
H3
M1
M2
M3
M4
Y1
Y2
Одоо л нэг сүлжээ шиг харагдаж
эхэллээ шүү!
Оролтын давхарга
X=[X1,X2,X3...]
Гаралтын давхарга
Y=[Y1,Y2,...]
W=[WXH, WHM, WHY] b=[bH, bM, bY]
WXH
Улам нарийвчлалыг сайжруулахын тулд улам олон үе давхаргатай загварчлал хэрэгтэй
Deep Neural Network
X1
X2
X3
X4
H1
H2
H3
M1
M2
M3
M4
Y1
Y2
Оролтын давхарга
Гаралтын дав
Далд давхарга
Оролт болон гаралтаас бусад давхаргыг далд давхарга гэе.
Энэ хүртэл
• Бид тархийг математик загварчлалд оруулж
чадлаа. Одоо яах вэ?
Бодит амьдрал дээрх ойлгомжтой бөгөөд
хэцүү асуудлыг хиймэл оюунаар шийдүүлж
үзэцгээе. Жишээлбэл: Хүний бичсэн тоог
доорх хэлбэрээр өгөгдсөн үед хиймэл оюун
маань “1” гэж таниж чадах уу?
Бичмэл тоог таньдаг болгохын тулд
эхлээд машиныг сургах хэрэгтэй!
Оролт 28x28 пиксел(=784 нейрон) хэмжээтэй маш олон тооны зургийг
сургалтын дата болгон өгж тохиромжтой параметрүүдийг олно
28
28
Машиныг сургана гэдэг маань тохиромжит Weight, bias параметрүүдийг
тооцоолж олох гэсэн үг. Үүний тулд эхлээд бидэнд маш их хэмжээний
дата хэрэгтэй
Deep Neural Network –н тохиромжит
параметрүүдийг олох аргачлал
• Backpropagation
– NN-н гаралтын утгаас хамааран тохиромжтой weight, bias
параметрүүдийг олох
• Loss Function
– Гаралт оролтын ялгаа буюу алдагдлыг илэрхийлэх ямар нэгэн
функцан илэрхийлэл. Хамгийн амархан жишээ: Дундаж квадрат
алдаа
• Gradient Descent
– Гаралт оролтын ялгааг хамгийн бага байлгахын тулд алдааны
функцыг ашиглан параметрүүдийг бага багаар
өөрчлөн(суралцах) алдааны хамгийн бага утга руу дөхөх арга
Бүгдийнх талаар тайлбарлах гэвэл улам төвөгтэй болох тул
энэ удаад маань хамгийн чухал Gradient Descent –н талаар
Тайлбарлая. Улам мэдмээр байгаа бол google pls :)
Gradient Descent
Алдагдлын функцийг J(w) гэсэн тохиолдолд w –н хувьд бага байх чиглэл рүү
бага багаар w-г шинэчлэн явна. Доорх тохиолдолд α нь суралцах
нэгж(Learning Rate) болно.
Энд Backpropagation ашиглан
-г амархан олох боломжтой
Gradient Descent
Бодит амьдрал дээр алдагдлын функц маань олон параметруудаас хамаарах тул
алдагдлыг хамгийн бага байлгах параметруудыг олохгүй байх магадлал бий.
Хамгийн бага
утга
Тодорхой муж дахь хамгийн
бага утга
Бичмэл тоог таних
Оролт 28x28 пиксел
(=784 нейрон) зураг
28
28
Гаралтын давхарга
Y=[0,1,2, … 9]
15 нейрон бүхий далд
давхарга
Энэ сүлжээний
нарийвчлал 95%!
Тохиромжтой параметрүүдийг олж чадсан тохиолдолд
Гаралтын функц softmax
Softmax гаралтын функцын гаралтуудын нийлбэр 1 бөгөөд
classification буюу тухайн оролтыг ангилах асуудлыг шийдэхэд түгээмэл ашиглагддаг.
Softmax-с өөр функцууд мөн бий.
0.50.3 0.15 0.05
0 1 2 3 4 5 6 7 8 9
Нейроны үр дүнгээс 5 дах нейроны утга хамгийн их ба цифр маань 5 байх
магадлалыг(50%) илэрхийлж байна гэж ойлгож болно. Түүнчлэн бусад үр дүнгээс
харахад оролт маань 3 болон 6, 8 ялимгүй төстэй гэж хэлж болохоор байна.
Улам нарийвчлалыг сайжруулж
чадах уу?
• Хэдийгээр бидний хийсэн загварчлал маань маш хүчирхэг
боловч бүр илүү нарийвчлалыг дээшлүүлэх боломж бий.
Жишээлбэл доорх зургийг ажиглавал хүн бол баруун дээд өнцгөөс зүүн доод хэсэг
рүү чиглэсэн онцлогийг төвөггүй анзаарна.
Эсрэгээр машин маань зөвхөн 1 пикселийг харж байгаа тул энэ онцлогийг
анзааралгүй эцэстээ дүрсийг буруу таних магадлалтай!
Улам нарийвчлалыг сайжруулж
чадах уу?
• Хүн биет юмсыг харахдаа зөвхөн нэг цэгийг бус хэсэг
бүхлээр юмыг хардаг.
Үүнийг өөрсдийн загварчлалдаа оруулахын тулд
Convolution filter(матриц филтер)-ийг зургийн тодорхой хэсэгт ашиглавал
янз бүрийн ерөнхий онцлогуудыг мэдэх боломжтой болно
Convolution filter
Улам нарийвчлалыг сайжруулж
чадах уу?
• Бодит зурган дээр филтер ашиглаж буй жишээ
Улам нарийвчлалыг сайжруулж
чадах уу?
• Convolution filter ашигласан ч хэт их мэдээлэл агуулах тул
Pooling(Оролт болсон датагийн хэмжээг багасгах) ашиглан
улам ерөнхий онцлог болсон мэдээллийг ашиглах боломжтой
Жишээ : Max Pooling(2х2 хэмжээтэй матрицын
хамгийн их утгыг хадгалж үлдэх)
Max Pooling
Тооцоолж олох параметрүүдийн тоог багасгах
сайн талтай.
Улам нарийвчлалыг сайжруулж
чадах уу?
• Эцэст нь Convolution filter давхаргаа
оруулсан манай ерөнхий загварчлал маань
Алдартай Convolution Neural
Network
• LeNet
– Гараар бичигдсэн тоог 99%-с дээш нарийвцлалтайгаар таних
чадвартай
Neural Network-ийг туршиж үзмээр байвал доорх сайтуудаар зочилж үзнэ
үү.
• http://playground.tensorflow.org/
• https://transcranial.github.io/keras-js/
Artificial Neural Network

Contenu connexe

Tendances

Lekts 9
Lekts 9Lekts 9
Lekts 9Pmunkh
 
стандарт өртгийн бүртгэл
стандарт өртгийн бүртгэлстандарт өртгийн бүртгэл
стандарт өртгийн бүртгэлEnebish Vandandulam
 
Эссэ бичих арга зүйн зөвлөмж
Эссэ бичих арга зүйн зөвлөмжЭссэ бичих арга зүйн зөвлөмж
Эссэ бичих арга зүйн зөвлөмжScenography Zaya
 
шийдвэрийн модны шинжилгээ
шийдвэрийн модны шинжилгээшийдвэрийн модны шинжилгээ
шийдвэрийн модны шинжилгээAygul Ayka
 
ангилсан асуултууд
ангилсан асуултуудангилсан асуултууд
ангилсан асуултуудNomun Bukh-Ochir
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн системshulam
 
Сэтгэлийн хөдөлгөөн зохицуулах
Сэтгэлийн хөдөлгөөн зохицуулахСэтгэлийн хөдөлгөөн зохицуулах
Сэтгэлийн хөдөлгөөн зохицуулахBatbaatar Everlastinghero
 
гадаад бодлогын хэв шинж ба хувилбар
гадаад бодлогын хэв шинж ба хувилбаргадаад бодлогын хэв шинж ба хувилбар
гадаад бодлогын хэв шинж ба хувилбарBatkhishig Batjargal
 
темпрамент зан төлөв Copy
темпрамент зан төлөв   Copyтемпрамент зан төлөв   Copy
темпрамент зан төлөв CopySiner AG
 
удирдагчийн шинж чанар, чадвар
удирдагчийн шинж чанар, чадварудирдагчийн шинж чанар, чадвар
удирдагчийн шинж чанар, чадварPsychology Psy
 
Lekts3. tarhaltiin tsuvaa
Lekts3.  tarhaltiin tsuvaaLekts3.  tarhaltiin tsuvaa
Lekts3. tarhaltiin tsuvaabiedaalt
 
Shuud ba shuud bus tatwar
Shuud ba shuud bus tatwarShuud ba shuud bus tatwar
Shuud ba shuud bus tatwarBuka King
 

Tendances (20)

CV бичих
CV бичихCV бичих
CV бичих
 
хүний хөгжил
хүний хөгжилхүний хөгжил
хүний хөгжил
 
Lekts 9
Lekts 9Lekts 9
Lekts 9
 
стандарт өртгийн бүртгэл
стандарт өртгийн бүртгэлстандарт өртгийн бүртгэл
стандарт өртгийн бүртгэл
 
Бизнесийн хэлбэрүүд
Бизнесийн хэлбэрүүдБизнесийн хэлбэрүүд
Бизнесийн хэлбэрүүд
 
Эссэ бичих арга зүйн зөвлөмж
Эссэ бичих арга зүйн зөвлөмжЭссэ бичих арга зүйн зөвлөмж
Эссэ бичих арга зүйн зөвлөмж
 
Lekts 4
Lekts 4Lekts 4
Lekts 4
 
шийдвэрийн модны шинжилгээ
шийдвэрийн модны шинжилгээшийдвэрийн модны шинжилгээ
шийдвэрийн модны шинжилгээ
 
ангилсан асуултууд
ангилсан асуултуудангилсан асуултууд
ангилсан асуултууд
 
Lecture №12
Lecture №12Lecture №12
Lecture №12
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн систем
 
Сэтгэлийн хөдөлгөөн зохицуулах
Сэтгэлийн хөдөлгөөн зохицуулахСэтгэлийн хөдөлгөөн зохицуулах
Сэтгэлийн хөдөлгөөн зохицуулах
 
хөгшин чоно ульсан нь
хөгшин чоно ульсан ньхөгшин чоно ульсан нь
хөгшин чоно ульсан нь
 
сэдэв 4-хотш
сэдэв 4-хотшсэдэв 4-хотш
сэдэв 4-хотш
 
гадаад бодлогын хэв шинж ба хувилбар
гадаад бодлогын хэв шинж ба хувилбаргадаад бодлогын хэв шинж ба хувилбар
гадаад бодлогын хэв шинж ба хувилбар
 
темпрамент зан төлөв Copy
темпрамент зан төлөв   Copyтемпрамент зан төлөв   Copy
темпрамент зан төлөв Copy
 
удирдагчийн шинж чанар, чадвар
удирдагчийн шинж чанар, чадварудирдагчийн шинж чанар, чадвар
удирдагчийн шинж чанар, чадвар
 
дотоод сүлжээний зохион байгуулалт
дотоод сүлжээний зохион байгуулалтдотоод сүлжээний зохион байгуулалт
дотоод сүлжээний зохион байгуулалт
 
Lekts3. tarhaltiin tsuvaa
Lekts3.  tarhaltiin tsuvaaLekts3.  tarhaltiin tsuvaa
Lekts3. tarhaltiin tsuvaa
 
Shuud ba shuud bus tatwar
Shuud ba shuud bus tatwarShuud ba shuud bus tatwar
Shuud ba shuud bus tatwar
 

Similaire à Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?

Similaire à Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ? (7)

Mtms1 intro
Mtms1   introMtms1   intro
Mtms1 intro
 
U.cs101 алгоритм программчлал-15
U.cs101   алгоритм программчлал-15U.cs101   алгоритм программчлал-15
U.cs101 алгоритм программчлал-15
 
U.cs101 алгоритм программчлал-13
U.cs101   алгоритм программчлал-13U.cs101   алгоритм программчлал-13
U.cs101 алгоритм программчлал-13
 
Mtms3 mathematical softs
Mtms3   mathematical softsMtms3   mathematical softs
Mtms3 mathematical softs
 
Mtms lec-1
Mtms lec-1Mtms lec-1
Mtms lec-1
 
Bvleg 6 recursion
Bvleg 6 recursionBvleg 6 recursion
Bvleg 6 recursion
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 

Deep learning: Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?

  • 1. Deep Learning Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?
  • 2. AI буюу Хиймэл оюун Өнөөдрийн ярих хэсэг маань
  • 3. Deep Learning ≈ Deep Neural Network • Deep Learning гэж юу вэ? • Биологийн мэдрэлийн сүлжээ буюу хүн болон амьтны төв мэдрэлийн системийг дуурайлган хийсэн математик загварчлал. • Эхэн үед Neural Network нэрээр судалгааны ажлууд хийгдэж байсан ч биологийн судалгааны ажлуудтай андуурах тохиолдлууд байсан тул Deep Learning нэрийн дор нэгтгэх болсон. • Supervised болон Unsupervised Learning гэсэн 2 төрөл бий.
  • 4. Supervised эсвэл Unsupervised • Supervised Learning – Ямар нэг датаг оруулан өөрийн хүссэн гаралтыг авах(ямар нэг ангилалд оруулах)-ын тулд урьдчилан ангилан бэлдсэн сургалтын дата(Оролт болон гаралтыг хос болгон бэлдсэн дата)-г сургалтын дата гэж өгөн машинаар онцлог шинжийг суралцуулах. Урьдчилан ангилан бэлдсэн дата Сургалтын процессыг олон дахин давтах Алгоритм Сургалтын үр дүнг бусад датанд ашиглах
  • 5. Supervised эсвэл Unsupervised • Unsupervised Learning – Урьдчилсан боловсруулалт болон ангилан ялгаагүй дата(Түүхий дата)-гаас ямар нэгэн түгээмэл онцлог шинжүүдийг машинаар өөрөөр нь олуулах . Түүхий дата Алгоритм Машины олсон онцлог шинж чанарууд
  • 6. Зорилго • Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ? Үүний тулд Supervised Learning дээр төвлөрч ярих болно.
  • 7. • Хүн нэг зурагнаас юу дүрслэгдсэн байгааг амархан ойлгож таних чадвартай боловч үүнийг машинаар хийлгэх боломжтой юу гэсэн асуулт өнөөг хүртэл тавигдсаар ирсэн билээ. • Энэхүү асуултанд хариу өгөх Deep Learning-н талаар сурж мэдэцгээе. Тооцоолон бодох машиныг яаж зураг ойлгодог болгох вэ?
  • 8. Агуулга • Тархи болон нейрон – Тархины талаар – Нейрон(мэдрэлийн эс)-н ажиллагаа • Neural Network – Neural Network болон математик загварчлал – Convolutional Neural Network Deep Learning нь тархины бүтэц болон үйл ажиллагаан дээр үндэслэгдсэн тул эхлээд тархины талаар жаахан судалъя. Тархины талаар мэдлээ тэгвэл хиймэл тархины талаар
  • 9. • Тархины талаар – Тархины үйл ажиллагаа нь түүнийг бүрдүүлэгч олон тооны мэдрэлийн эс нейроны үйл ажиллагаатай нягт холбоотой. – Нейрон бүр нь бусад нейронтой холбоосууд үүсгэж, үүсгэн цахилгаан болон химийн мэдээлэл илгээдэг. Мөн нэг бүр нь маш нарийн төвөгтэй бүтэцтэй. – Хулганы тархи 5 сая эсээс, сармагчны тархи 10 тэрбум эсээс, дөнгөж төрсөн хүүхдийн тархи 100 тэрбум эсээс бүрддэг байна. Тархи болон нейрон
  • 10. Нейрон • Нейрон – Бичил цахилгаан гүйдэлд цочрох чадвартай эс – Мэдээллийг хүлээн авах, боловсруулах, дамжуулах үйл ажиллагаа гүйцэтгэнэ • Бүтцийн хувьд: – Их бие (сома) – Мэдээллийг хүлээн авах, нэгтгэн дүгнэх – Аксон – мэдээллийг бусад эс рүү дамжуулах – Дендрит хэсгүүдтэй – Мэдээллийг хүлээн авах гол үүрэгтэй.
  • 11. Синапс Нейрон хооронд мэдээлэл дамжуулдаг бүтцийг синапс гэнэ. Синапсын өмнөх мэдрэлийн эсэд байрлах синапсын товгор нь синапсын арын мэдрэлийн эсийн дендрит эсвэл эсийн биед байх жижиг хонхорт залгагдснаар синапс бий болно.
  • 12. Хеббийн хууль “Нейрон дээрх синапсд өмнөх нейроны давтамжит ‘идэвхжилт’-ээс үүдэн тухайн нейронд цочрол үүссэн тохиолдолд тухайн синапсын мэдээлэл дамжуулах чадамж улам нэмэгдэнэ. Эсрэгээр удаан хугацаанд цочрол үүсэхгүй байвал синапсын мэдээлэл дамжуулах чадамж буурна.” Үүнийг хүний суралцах процесс хэлж болно :) Доналд. О. Хебб:The Organization of Behavior (1949)
  • 13. Нейрон хэзээ идэвхжихвэ? • Нейрон нь бусад мэдрэлийн эсээс ирэх сэрэл(импульс)-ийг хүлээн авч идэвхжсэнээр тэрхүү импульсээ дараагийн нейронд дамжуулна. • Мөн дандаа дамжуулах бус нейронд тохиромжгүй импульсыг дамжуулахаас сэргийлэх механизм бас бий.
  • 14. Нейрон хэзээ идэвхжих вэ? • Нейроны ажиллагаа нь идэвхжих үү үгүй юу гэсэн 1 юм уу 0 гэсэн дижитал хэлбэрээр илэрхийлэгдэх боломжтой. Идэвхжсэн синапсаас ирэх импульсын хүчээс саатуулах үүрэгтэй синапсаас ирэх импульсын хүчийг хассан утга нь тодорхой утгаас их байвал нейрон идэвхжинэ. Адил импульс дамжуулагдсан ч нейрон доторх импульсын хүч нь синапсаас шалтгаалан харилцан адилгүй!
  • 15. • Нейроны идэвхжих нөхцөлийг математик хэлбэрт оруулбал: – Өдөөгдсөн синапсаас ирэх импульсын утга P – Саатуулах синапсаас ирэх импульсын утга M – Эцэст идэвхжих үгүйг шийдэх хязгаарын утга B P – M > B идэвхжинэ. P – M < B идэвхжихгүй. Нейрон хэзээ идэвхжих вэ?
  • 16. P : 3+3+0 = 6 M: 2+0+2 = 4 P – M = 2>1 B=1 гэвэл Нейрон хэзээ идэвхжих вэ? Жишээлбэл Нэг нейроны ажиллагааг математик хэлбэрээр илэрхийлж чадаж байгаа юм чинь олон тооны нейроны сүлжээг математик загварчлалд оруулж чадах юм биш үү?
  • 17. Нейроны сүлжээг математик загварчлал руу Муур Тархи шиг олон тооны хиймэл нейроноос бүрдэх сүлжээг математик загварчлалд оруулж чадвал тооцоолон бодох машиныг(үүнээс хойш машин)ухаалаг болгож доорх зургийг оруулахад “муур ” гэж таньдаг болгох боломжтой болно.
  • 18. Нейроны сүлжээг математик загварчлал руу Үүнээс хойш тэгшитгэлийг хялбарчлахын тулд параметрүүд P болон М-г нэгтгэн Weight гээд Wi=[-2,3,-1,3,2,-2] B-н хасах утгыг bias гээд b=-1 Импульсыг оролт болгон Xi=[1,0,1,0,1,1] гэж тэмдэглэх болно.
  • 19. Олон нейрон байх тохиолдолд X1 X2 X3 нейрон1 W1・XT + b1 > 0 нейрон2 W2・XT + b2 > 0 нейрон3 W3・XT + b3 > 0 Оролт X=[X1,X2,X3] Weight W1=[W11,W12,W13] bias b1 Weight W2=[W21,W22,W23] bias b2 Weight W3=[W31,W32,W33] bias b3 W11X1+W12X2+W13X3+b1 W21X1+W22X2+W23X3+b2 W31X1+W32X2+W33X3+b3 Матриц хэлбэрт бичвэл W11,W12,W13 X1 b1 W21,W22,W23 X2 + b2 = W31,W32,W33 X3 b3 Үүнийг ч гэсэн W・XT + b хэлбэрээр илэрхийлж болно!
  • 20. Олон нейроныг ашиглавал X1 X2 Class A (y=1) Class B (y=0) • Олон нейроныг ашиглан доорх цэнхэр улаан элементүүдийг ялгаж үзье. • Улаан шугаман зураас татах хэлбэрээр амархан ялгах боловч бодит амьдрал дээр ихэнх зүйлс шугаман бус • Шугаман зураас татах хэлбэрээр ангилах боломжгүй үед бидэнд шугаман бус функц хэрэг болно.
  • 21. Activation function(хөрвүүлэгч функц) Өмнөх тэгшитгэлүүдээс бид бүхэн дандаа шугаман функц ашиглаж ирсэн бол шугаман бус хэлбэр дүрсийг ялгахын тулд бидэнд шугаман бус үр дүн гаргах функц хэрэгтэй. y= f(b+Σwnxn) x1 x2 xm . . . y w1 w2 wm b  f Facebook-н лого? Function – ийн “f” шүү 
  • 22. Activation function(хөрвүүлэгч функц) 1 1 1 1 1 1 -1 -1 -1 Good for classification Simple computation Continuous & Differentiable Threshold Function/ Hard Limiter Linear Function sigmoid Function Түгээмэл ашиглагдаж буй хөрвүүлэгч функц
  • 23. Олон давхаргат бүтэцтэй нейроны сүлжээ (Deep Neural Network:DNN) X1 X2 X3 X4 H1 H2 H3 M1 M2 M3 M4 Y1 Y2 Одоо л нэг сүлжээ шиг харагдаж эхэллээ шүү! Оролтын давхарга X=[X1,X2,X3...] Гаралтын давхарга Y=[Y1,Y2,...] W=[WXH, WHM, WHY] b=[bH, bM, bY] WXH Улам нарийвчлалыг сайжруулахын тулд улам олон үе давхаргатай загварчлал хэрэгтэй
  • 24. Deep Neural Network X1 X2 X3 X4 H1 H2 H3 M1 M2 M3 M4 Y1 Y2 Оролтын давхарга Гаралтын дав Далд давхарга Оролт болон гаралтаас бусад давхаргыг далд давхарга гэе.
  • 25. Энэ хүртэл • Бид тархийг математик загварчлалд оруулж чадлаа. Одоо яах вэ? Бодит амьдрал дээрх ойлгомжтой бөгөөд хэцүү асуудлыг хиймэл оюунаар шийдүүлж үзэцгээе. Жишээлбэл: Хүний бичсэн тоог доорх хэлбэрээр өгөгдсөн үед хиймэл оюун маань “1” гэж таниж чадах уу?
  • 26. Бичмэл тоог таньдаг болгохын тулд эхлээд машиныг сургах хэрэгтэй! Оролт 28x28 пиксел(=784 нейрон) хэмжээтэй маш олон тооны зургийг сургалтын дата болгон өгж тохиромжтой параметрүүдийг олно 28 28 Машиныг сургана гэдэг маань тохиромжит Weight, bias параметрүүдийг тооцоолж олох гэсэн үг. Үүний тулд эхлээд бидэнд маш их хэмжээний дата хэрэгтэй
  • 27. Deep Neural Network –н тохиромжит параметрүүдийг олох аргачлал • Backpropagation – NN-н гаралтын утгаас хамааран тохиромжтой weight, bias параметрүүдийг олох • Loss Function – Гаралт оролтын ялгаа буюу алдагдлыг илэрхийлэх ямар нэгэн функцан илэрхийлэл. Хамгийн амархан жишээ: Дундаж квадрат алдаа • Gradient Descent – Гаралт оролтын ялгааг хамгийн бага байлгахын тулд алдааны функцыг ашиглан параметрүүдийг бага багаар өөрчлөн(суралцах) алдааны хамгийн бага утга руу дөхөх арга Бүгдийнх талаар тайлбарлах гэвэл улам төвөгтэй болох тул энэ удаад маань хамгийн чухал Gradient Descent –н талаар Тайлбарлая. Улам мэдмээр байгаа бол google pls :)
  • 28. Gradient Descent Алдагдлын функцийг J(w) гэсэн тохиолдолд w –н хувьд бага байх чиглэл рүү бага багаар w-г шинэчлэн явна. Доорх тохиолдолд α нь суралцах нэгж(Learning Rate) болно. Энд Backpropagation ашиглан -г амархан олох боломжтой
  • 29. Gradient Descent Бодит амьдрал дээр алдагдлын функц маань олон параметруудаас хамаарах тул алдагдлыг хамгийн бага байлгах параметруудыг олохгүй байх магадлал бий. Хамгийн бага утга Тодорхой муж дахь хамгийн бага утга
  • 30. Бичмэл тоог таних Оролт 28x28 пиксел (=784 нейрон) зураг 28 28 Гаралтын давхарга Y=[0,1,2, … 9] 15 нейрон бүхий далд давхарга Энэ сүлжээний нарийвчлал 95%! Тохиромжтой параметрүүдийг олж чадсан тохиолдолд
  • 31. Гаралтын функц softmax Softmax гаралтын функцын гаралтуудын нийлбэр 1 бөгөөд classification буюу тухайн оролтыг ангилах асуудлыг шийдэхэд түгээмэл ашиглагддаг. Softmax-с өөр функцууд мөн бий. 0.50.3 0.15 0.05 0 1 2 3 4 5 6 7 8 9 Нейроны үр дүнгээс 5 дах нейроны утга хамгийн их ба цифр маань 5 байх магадлалыг(50%) илэрхийлж байна гэж ойлгож болно. Түүнчлэн бусад үр дүнгээс харахад оролт маань 3 болон 6, 8 ялимгүй төстэй гэж хэлж болохоор байна.
  • 32. Улам нарийвчлалыг сайжруулж чадах уу? • Хэдийгээр бидний хийсэн загварчлал маань маш хүчирхэг боловч бүр илүү нарийвчлалыг дээшлүүлэх боломж бий. Жишээлбэл доорх зургийг ажиглавал хүн бол баруун дээд өнцгөөс зүүн доод хэсэг рүү чиглэсэн онцлогийг төвөггүй анзаарна. Эсрэгээр машин маань зөвхөн 1 пикселийг харж байгаа тул энэ онцлогийг анзааралгүй эцэстээ дүрсийг буруу таних магадлалтай!
  • 33. Улам нарийвчлалыг сайжруулж чадах уу? • Хүн биет юмсыг харахдаа зөвхөн нэг цэгийг бус хэсэг бүхлээр юмыг хардаг. Үүнийг өөрсдийн загварчлалдаа оруулахын тулд Convolution filter(матриц филтер)-ийг зургийн тодорхой хэсэгт ашиглавал янз бүрийн ерөнхий онцлогуудыг мэдэх боломжтой болно Convolution filter
  • 34. Улам нарийвчлалыг сайжруулж чадах уу? • Бодит зурган дээр филтер ашиглаж буй жишээ
  • 35. Улам нарийвчлалыг сайжруулж чадах уу? • Convolution filter ашигласан ч хэт их мэдээлэл агуулах тул Pooling(Оролт болсон датагийн хэмжээг багасгах) ашиглан улам ерөнхий онцлог болсон мэдээллийг ашиглах боломжтой Жишээ : Max Pooling(2х2 хэмжээтэй матрицын хамгийн их утгыг хадгалж үлдэх) Max Pooling Тооцоолж олох параметрүүдийн тоог багасгах сайн талтай.
  • 36. Улам нарийвчлалыг сайжруулж чадах уу? • Эцэст нь Convolution filter давхаргаа оруулсан манай ерөнхий загварчлал маань
  • 37. Алдартай Convolution Neural Network • LeNet – Гараар бичигдсэн тоог 99%-с дээш нарийвцлалтайгаар таних чадвартай
  • 38. Neural Network-ийг туршиж үзмээр байвал доорх сайтуудаар зочилж үзнэ үү. • http://playground.tensorflow.org/ • https://transcranial.github.io/keras-js/ Artificial Neural Network