H c sâu (Deep learning) là m t chi c a ngành h c máy (Machine Learning) (Hình 3.1). D a trên m t t p h p các thu t tốn đ c g ng mơ hình d li u tr u t ng hĩa m c cao b ng cách s d ng nhi u l p x lý v i c u trúc ph c t p, ho c b ng cách khác bao g m nhi u bi n đ i phi tuy n.
Hình 3.1 M i quan h gi a các l nh v c trí tu nhân t o [42]
3.3.2 M ngăn ăronăsâu (Deep Neural Network -DNNs) 3.3.2.1 nhăngh a
M ng n ron sâu (Deep Neural Network -DNNs) là m t l nh v c con c a h c máy, và c ng lƠ tr ng tâm c a k thu t h c sâu. M ng n ron sâu l y c m h ng t m ng n ron sinh h c c u thƠnh nưo đ ng v t, c th là cách mà các d li u th n kinh đ c truy n đi trong m t m ng l i n ron ph c t p. M i n ron sinh h c cĩ hình d ng nh Hình 3.2. DNNs th ng đ c áp d ng vào vi c tìm các quy lu t, m i quan h gi a m t t p d li u đ u vào và m t t p d li u đ u ra. Sau đĩ các m i quan h đĩ đ c s d ng đ x p x k t qu c a các d li u đ u vƠo khác, t ng tr ng cho quá trình h c c a đ ng v t.
20 Hình 3.2 Hình nh minh h a m t m ng n ron sinh h c th c t [43]
DNNs bao g m các l p ph n t , bao g m l p ph n t đ u vào, m t ho c nhi u l p n và l p đ u ra. T ng s l p c a m i m ng DNNs đ c quy đ nh là t ng s l p n c ng v i m t l p đ u ra (khơng tính l p đ u vào). M i nút ph n t đ i di n cho m t n ron nhơn t o, liên k t c a chúng v i nhau b ràng bu c b i tr ng s (weight) vƠ các ng ng gi i h n (threshold). T Hình 3.3 cĩ th th y, m t n ron cĩ th nh n nhi u d li u đ u vƠo nh ng ch cĩ 1 d li u đ u ra. N u d li u c a m t nút nƠo đĩ v t qua kh i ng ng gi i h n cho tr c t ng ng c a nĩ thì tín hi u c a d li u đĩ s đ c truy n đi đ n l p k ti p c a DNNs (cịn g i lƠ nút nƠy đ c kích ho t). Ng c l i, khơng cĩ d li u nƠo đ c truy n đi.
Hình 3.3 S đ c a m t DNN [44]
M ng n -ron d a trên d li u đƠo t o đ tìm hi u và c i thi n đ chính xác c a chúng theo th i gian. Tuy nhiên, m t khi các thu t tốn h c sơu nƠy đ c tinh ch nh v đ chính xác, chúng s là cơng c m nh m trong khoa h c máy tính và trí tu nhân t o, cho phép chúng ta trong nhi u l nh v c nh phơn lo i, phân c m d li u, x p x h i quy v i t c đ cao.
CH NG 3. C S LÝ THUY T
21
3.3.2.2 Các thu t ng , thơng s c n bi t
ph n này, m t s thu t ng chuyên ngành v DNNs s đ c gi i thi u. i u c t lõi c n n m đ c là t i m i nút trong mơ hình DNN là m t mơ hình h i quy tuy n tính riêng v i các giá tr d li u đ u vào, tr ng s , bias và d li u đ u ra.
Hình 3.4 T ng quan tốn h c gi a các n ron trong 2 l p li n k [4] a) Tr ng s (weight) và biases
Tr ng s (weight - w) là tham s quan tr ng nh t c a bài tốn xây d ng mơ hình DNN. Tr ng s th hi n đ m nh liên k t gi a các nút, c th là d li u đ u vƠo đ i v i quá trình x lý thơng tin (t l p này sang l p khác). Quá trình h c c a mơ hình DNNs th c ch t là quá trình đi u ch nh các tr ng s đ đ a ra k t qu d đốn chính xác nh t.
Bias ( b ) :là m t h ng s luơn luơn đ c thêm vào trong m i l p và b ng 1. Các Bias khơng cĩ d li u đ u vƠo nh ng v n cĩ d li u đ u ra nh m t n ron thơng th ng. Bias gi cho mơ hình DNN luơn cĩ ít nh t m t nút cĩ th kích ho t
b) Hàm m t mát (Loss function) và Optimizer
Trong quá trình hu n luy n mơ hình DNN, đ chính xác c a mơ hình luơn đ c đ t lên hƠng đ u. đánh giá đ chính xác này, khái ni m hàm m t mát đ c đ a ra. HƠm m t mát hay đ c s d ng nh t là Mean Square Error (MSE)
( ) n k k k y y n = = − 2 1 1 MSE , (3.35)
22 trong đĩ ( ) ( ) ( ) ( ) y N ,y N ,...,y Ni ,...,yd N T = y 1 2 lƠ véc t c t k t qu d đốn đ u ra, ( ) ( ) ( ) ( ) y N ,y N ,...,y Ni ,...,yd N T = y 1 2 lƠ véc t c t k t qu th c t .
Bài tốn xây d ng và hu n luy n mơ hình DNNs cĩ th hi u d i d ng bài tốn t i u hĩa, đi tìm nghi m nh nh t cho hàm m c tiêu là hàm m t mát, các bi n thi t k c n tìm là các tr ng s nĩi trên. Và đ gi i bài tốn t i u hĩa đĩ, r t nhi u thu t tốn khác nhau đ c đ a ra cĩ th k đ n nh Gradient Descent (SD), Stochastic Gradient Descent (SGD), Adaptive Gradient (Adagrad), Root Mean Squared Propagation (RMSprop), (Adam),… c) Hàm kích ho t (Active function)
Trong m t m ng n ron nhơn t o, hàm kích ho t đĩng vai trị lƠ thƠnh ph n phi tuy n t i output c a các n ron. Theo m t cách khác, hàm kích ho t là nh ng hàm phi tuy n đ c áp d ng vƠo đ u ra c a các n -ron trong l p n c a m t mơ hình m ng, vƠ đ c s d ng làm input data cho t ng ti p theo. Hàm kích ho t mang y u t phi tuy n nh m m c đích ắh c” các quy lu t cĩ đ ph c t p cao trong th c t .
Các hàm kích ho t thơng d ng: Hàm Sigmoid: ( )x x e = − + 1 1 th : Hình 3.5 th hàm Sigmoid
Hàm Sigmoid nh n đ u vào là m t s th c và chuy n thành m t giá tr trong kho ng (0;1). u vào là s th c âm r t nh s cho đ u ra ti m c n v i 0, ng c l i, n u đ u vào là m t s th c d ng l n s cho đ u ra là m t s ti m c n v i 1. Trong quá kh hàm
CH NG 3. C S LÝ THUY T
23 Sigmoid hay đ c dùng vì cĩ đ o hàm r t đ p. Tuy nhiên hi n nay hàm Sigmoid r t ít đ c dùng t n t i nhi u nh c đi m. Hàm Tanh: tanh( ) x x x x e e x e e − − − = + th : Hình 3.6 th hàm Tanh
HƠm tanh cĩ đ u vào là m t s th c và chuy n thành m t giá tr trong kho ng (-1; 1). C ng nh Sigmoid, hƠm Tanh b bão hồ 2 đ u (gradient thay đ i r t ít 2 đ u). Tuy nhiên, hàm Tanh l i đ i x ng qua 0 nên kh c ph c đ c m t trong các nh c đi m c a Sigmoid. Hàm tanh cịn cĩ th đ c bi u di n b ng hàm Sigmoid: tanh x( )=2 2( )x −1
Hàm ReLU: f x( )=max( )0,x th :
24 Hình 3.7 th hàm ReLU
HƠm ReLU đang đ c s d ng khá nhi u trong nh ng n m g n đơy khi hu n luy n các m ng n ron. ReLU đ n gi n l c các giá tr < 0. Nhìn vào cơng th c chúng ta d dàng hi u đ c cách ho t đ ng c a nĩ. M t s u đi m khá v t tr i c a nĩ so v i Sigmoid và Tanh:
- T c đ h i t nhanh h n. i u này cĩ th do ReLU khơng b bão hồ 2 c c giá tr nh Sigmoid vƠ Tanh.
- T c đ tính tốn nhanh h n. Tanh vƠ Sigmoid s d ng hàm exp và cơng th c ph c t p h n ReLU r t nhi u do v y s t n nhi u ngu n l c h n đ tính tốn.
Tuy nhiên ReLU c ng cĩ m t nh c đi m:
- V i các node cĩ giá tr nh h n 0, qua ReLU activation s thành 0, hi n t ng đ y g i lƠ ắDying ReLU”. N u các giá tr các node 0 thì s khơng cĩ Ủ ngh a v i b c linear activation l p ti p theo và các h s t ng ng t node đĩ c ng khơng đ c c p nh t v i gradient descent.
- Khi learning rate l n, các tr ng s (weights) cĩ th thay đ i theo cách làm t t c n ron d ng vi c c p nh t.
d) Batch size, Epoch and Iteration
Batch size, Epoch và Iteration là các thơng s ch đ o đi u khi n cách th c mà m t m ng n ron nhơn t o hu n luy n. C th là
- Batch size: Quy t đ nh s l ng m u dùng đ hu n luy n trong m i l n c p nh t thơng s mơ hình. S batch size luơn l n h n ho c b ng 1 và nh h n ho c b ng
CH NG 3. C S LÝ THUY T
25 s m u trong t p hu n luy n. Thơng th ng s l ng batch size th ng đ c ch n d i d ng 2x (4, 8, 16, 32, 64, 128,...).
- Epoch: Là tham s th hi n s l n mà thu t tốn ch y qua tồn b m u trong t p hu n luy n.
- Iteration: M i l n mơ hình DNNs ch y qua m t s m u b ng Batch size thì tr ng s trong các l p đ c c p nh t m t l n. M i l n nh v y g i là m t b c l p (Iteration).
Quan h gi a Batch size, Epoch và Iteration cĩ th đ c th hi n qua: Batch size * S Iteration = Epoch.
Ví d : M t t p d li u hu n luy n g m 400 m u đ c s d ng cho mơ hình hu n luy n cĩ Batch size =8 và 500 Epoch. T p d li u này s đ c chia làm 50 batch, m i batch 8 m u. T ng ng v i m i Epoch s ch y 50 b c l p (Iteration) và t ng c ng mơ hình s c p nh t thơng s 25000 l n trong su t quá trình hu n luy n.
e) Overfitting ,Underfitting và Goodfitting
đánh giá tính hi u qu c a các mơ hình trí tu nhân t o nĩi chung, các khái ni m v fitting đ c đ a ra d a trên đ chính xác c a mơ hình trên t p hu n luy n và c t p ki m đnh Xem ví d Hình 3.8. C th là:
- Overfitting: chính xác c a mơ hình trên t p hu n luy n quá l n d n đ n khi d đốn các tr ng h p ngồi t p hu n luy n s thi u chính xác. Tr ng h p Overfitting th ng x y ra khi mơ hình hu n luy n quá ph c t p (nhi u l p, nhi u nút và s Epoch l n), ngh a lƠ mơ hình đang cĩ chi phí tính tốn l n nh ng khơng đem l i hi u qu cao trong m c đích d đốn th c t .
- Underfitting: chính xác c a mơ hình trên c t p hu n luy n và t p ki m đnh th p. i u đĩ ch ng t mơ hình ch a đ đ ph c t p ho c ch a cĩ nh ng thơng s phù h p. Underfitting th ng khơng đ c bàn lu n nhi u vì đ d nh n bi t và ch nh s a, c i thi n.
- Goodfitting: chính xác c a mơ hình trên c t p hu n luy n và t p ki m đ nh là g n nh nhau. ơy luơn lƠ k t qu mong mu n h ng t i c a m i mơ hình, cân b ng gi a chi phí tính tốn vƠ đ chính xác c a d đốn th c t .
26 Hình 3.8 Ví d v các tr ng h p fitting.
V n đ th ng đ c các nhà nghiên c u quan tâm nhi u đĩ lƠ lƠm sao đ h n ch Overfitting, cân b ng chi phí tính tốn vƠ đ chính xác mơ hình mang l i. Các ph ng pháp th ng đ c s d ng là:
- S d ng K-fold cross validation: Chia b d li u thành nhi u ph n khác nhau trong đĩ ph n l n là d li u training (thơng th ng chi m kho ng 80%-90%). Luân phiên thay đ i ph n hu n luy n và ph n ki m đ nh đ tìm ra mơ hình cĩ đ chính xác t t nh t.
- S d ng b d li u l n h n: B d li u l n h n giúp mơ hình hu n luy n đ c nhi u tr ng h p và tìm ra quy lu t chính xác h n cho bƠi tốn. Vi c thu th p d li u cĩ th di n ra th cơng ho c áp d ng m t s ph ng pháp t sinh d li u. - n gi n hĩa mơ hình: Nh đư đ c p, overfitting cĩ th x y ra n u mơ hình quá
ph c t p. Vi c đ n gi n hĩa mơ hình là m t t t đ v a gi m chi phí tính tốn và t ng đ chính xác.
- Dropout: Dropout là m t th thu t t đ ng lo i b ng u nhiên các nút trong m ng DNNs trong m i b c l p d n đ n gi m đ chính xác c a mơ hình trên t p train. - D ng s m: Là th thu t d ng hu n luy n mơ hình s m h n d ki n khi đ t đ đ
chính xác mong mu n trên c t p hu n luy n và t p test. Tránh tr ng h p mơ hình ti p t c c p nh t d n đ n t ng đ chính xác trên t p d li u hu n luy n và gi m đ chính xác trên t p d li u ki m đnh.
3.3.3 K thu t h c k t h p - XGBoost 3.3.3.1 nhăngh a 3.3.3.1 nhăngh a
Bên c nh DNNs, m t nhánh ph ng pháp k thu t h c sâu khác s đ c gi i thi u và kh o sát trong lu n v n, đĩ lƠ các ph ng pháp ắH c k t h p” c th là thu t tốn Extreme Gradient Boosting (XGBoost) đư đ c Tianqi Chen (2016)[6] phát tri n. ụ t ng c a H c k t h p là thay vì t n nhi u th i gian xây d ng m t mơ hình th t chính xác v i đ ph c t p
CH NG 3. C S LÝ THUY T
27 cao thì nh ng mơ hình nh h n, kém chính xác h n cĩ th đ c phát tri n sau đĩ k t h p l i nh m m c đích thu đ c m t mơ hình cịn v t tr i h n c . Thu t tốn nƠy đư đ c áp d ng r ng rãi trên nhi u l nh v c cĩ liên quan đ n phân tích d li u b i kh n ng x lý các tác v h i quy, phân lo i, x p h ng,… v t tr i .M t ví d v mơ hình h c k t h p v i m c tiêu phân lo i đ c th hi n trong Hình 3.9.
Hình 3.9 Ví d v mơ hình ắH c k t h p” trong phơn lo i d li u [45]
Các thu t tốn h c k t h p đ c phân vào hai nhĩm chính là Bagging và Boosting, xem Hình 3.10. Trong khi Bagging xây d ng các mơ hình y u (Weak Learner) song song v i nhau, h c cùng lúc đ đ a ra mơ hình cĩ đ chính xác l n h n thì Boosting xây d ng tu n t nh ng mơ hình này. Nh ng mơ hình sau c a Boosting s d a vào k t qu mơ hình tr c đ tùy ch nh thơng s , đ a ra k t qu t t d n theo s l ng mơ hình.
Trong nhĩm các thu t tốn Boosting v n t n t i nhi u nhĩm con khác, Gradient Boosting (GBM) là nhĩm cĩ ch a thu t tốn XGBoost đang đ c đ c p trong lu n v n. Nh ng thu t tốn Gradient Boosting thay vì xây d ng các mơ hình khác nhau, c xác đnh nghi m tồn c c thì s t p trung đi u ch nh sai s gi a k t qu chính xác và k t qu d đốn sau m i l n ch y. Nĩi cách khác, m c tiêu c a b c l p th (i) chính là gi m thi u sai s c a b c d đốn th (i-1). Các mơ hình con th ng đ c s d ng trong Gradient Boosting lƠ các mơ hình đ n gi n nh cây quy t đ nh (Decision Tree)
28 Hình 3.10 Bagging và Boosting trong k thu t H c k t h p [45]
XGBoost là vi t t t c a t Extreme Gradient Boosting, tên g i này th hi n rõ ràng ý ngh a c a thu t tốn đĩ lƠ c i ti n t Gradient Boosting c b n. So v i Gradient Boosting. C th là XGBoost d a trên khung c b n lƠ Gradient Boosting nh ng c i ti n thêm thơng qua vi c t i u hĩa h th ng và các thu t tốn. XGBoost cĩ các u đi m sau đơy:
- T c đ tính tốn nhanh h n do kh n ng tính song song - Tránh hi n t ng Overfitting b ng c ch ắRegularization”.
- Linh ho t trong s d ng hàm t i u hĩa vƠ các ch s đánh giá riêng. - Bao g m c ch x lý các Giá tr thi u (Missing Value)
- Tính n ng ắT đ ng c t t a” (Tree Pruning) h tr vi c t đ ng b qua nh ng leaves, nodes trong cây quy t đnh khơng mang giá tr tích c c trong q trình m r ng cây.
3.3.3.2 Các thu t ng và thơng s c n bi t