SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

цахим үзүүлэн1
цахим үзүүлэн1цахим үзүүлэн1
цахим үзүүлэн1Tsedev Tsedvee
 
Нирун улс
Нирун улсНирун улс
Нирун улсMarsel Sse
 
төрийн ёс ёслол. Òåõíîëîãè 3à
төрийн ёс ёслол. Òåõíîëîãè 3àтөрийн ёс ёслол. Òåõíîëîãè 3à
төрийн ёс ёслол. Òåõíîëîãè 3àBayarmaa Nymtsooj
 
түүвэр судалгааны арга зүй
түүвэр судалгааны арга зүйтүүвэр судалгааны арга зүй
түүвэр судалгааны арга зүйМ. Лхагва-Өлзий
 
нэгдсэн ортогональ проекц12
нэгдсэн ортогональ проекц12нэгдсэн ортогональ проекц12
нэгдсэн ортогональ проекц12school14
 
Kinetik energy physics
Kinetik energy physicsKinetik energy physics
Kinetik energy physicsMaa Goo
 
металлын төрөл хэрэглээ
металлын төрөл хэрэглээметаллын төрөл хэрэглээ
металлын төрөл хэрэглээBold_Liijuu
 
Хичээлийн сэдэв: Монгол өнгөний бэлгэдэл
Хичээлийн сэдэв: Монгол өнгөний бэлгэдэлХичээлийн сэдэв: Монгол өнгөний бэлгэдэл
Хичээлийн сэдэв: Монгол өнгөний бэлгэдэлGanzugSedbazar
 
монголын нууц товчоо
монголын нууц товчоомонголын нууц товчоо
монголын нууц товчооnayna-1
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10Badral Khurelbaatar
 
оролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдоролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдerdenetuya_glu
 
сэтгэл судлалын үүсэл хөгжил
сэтгэл судлалын үүсэл хөгжилсэтгэл судлалын үүсэл хөгжил
сэтгэл судлалын үүсэл хөгжилEnkhtushig Lkhagvasuren
 
МЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГАА
МЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГААМЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГАА
МЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГААErkhembaatar M.
 
пирамид
пирамидпирамид
пирамидboloroo99
 
сяньби улс
сяньби улссяньби улс
сяньби улсNyamka Nmk
 

La actualidad más candente (20)

цахим үзүүлэн1
цахим үзүүлэн1цахим үзүүлэн1
цахим үзүүлэн1
 
Lekts 1
Lekts 1Lekts 1
Lekts 1
 
Нирун улс
Нирун улсНирун улс
Нирун улс
 
төрийн ёс ёслол. Òåõíîëîãè 3à
төрийн ёс ёслол. Òåõíîëîãè 3àтөрийн ёс ёслол. Òåõíîëîãè 3à
төрийн ёс ёслол. Òåõíîëîãè 3à
 
түүвэр судалгааны арга зүй
түүвэр судалгааны арга зүйтүүвэр судалгааны арга зүй
түүвэр судалгааны арга зүй
 
нэгдсэн ортогональ проекц12
нэгдсэн ортогональ проекц12нэгдсэн ортогональ проекц12
нэгдсэн ортогональ проекц12
 
азот 2.3
азот 2.3азот 2.3
азот 2.3
 
Kinetik energy physics
Kinetik energy physicsKinetik energy physics
Kinetik energy physics
 
металлын төрөл хэрэглээ
металлын төрөл хэрэглээметаллын төрөл хэрэглээ
металлын төрөл хэрэглээ
 
Хичээлийн сэдэв: Монгол өнгөний бэлгэдэл
Хичээлийн сэдэв: Монгол өнгөний бэлгэдэлХичээлийн сэдэв: Монгол өнгөний бэлгэдэл
Хичээлийн сэдэв: Монгол өнгөний бэлгэдэл
 
монголын нууц товчоо
монголын нууц товчоомонголын нууц товчоо
монголын нууц товчоо
 
U.cs101 алгоритм программчлал-10
U.cs101   алгоритм программчлал-10U.cs101   алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
 
оролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүдоролт гаралтын төхөөрөмжүүд
оролт гаралтын төхөөрөмжүүд
 
8 daws
8 daws8 daws
8 daws
 
Haiku
HaikuHaiku
Haiku
 
сэтгэл судлалын үүсэл хөгжил
сэтгэл судлалын үүсэл хөгжилсэтгэл судлалын үүсэл хөгжил
сэтгэл судлалын үүсэл хөгжил
 
Math 10grade
Math 10gradeMath 10grade
Math 10grade
 
МЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГАА
МЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГААМЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГАА
МЭДРЭЛИЙН ГҮН СҮЛЖЭЭ АШИГЛАН ХҮНИЙ ЦАРАЙ ТАНИХ АРГАЧЛАЛЫН СУДАЛГАА
 
пирамид
пирамидпирамид
пирамид
 
сяньби улс
сяньби улссяньби улс
сяньби улс
 

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

Similar a 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