CH NG 2 : CS LÝ THU YT
3.1 T ng quan và cs hình thành th ut tốn
Các thu ttốn t i u mơ hình h c sâu th a th t hi n nay mơ hình chung ch y theo các b c chính nh sau:
- C t t a mơ hình máy h c, h c sâu đ n đ th a th t trên m i l p theo yêu c u ban đ u đ t ra.
- L p k ho ch thay m i sau khi đã c t t a các k t n itrong mơ hình đ nh k .
- C t gi m k t n iv i s l ng c ng nh sau m t th i gian đ c đ ra b c l p k ho ch.
- Bù đ p các k t n im i b ng v i s l ng đã c t gi m tr c đĩ và ti p t c đào t o mơ hình.
Thơng th ng b c đ u tiên, cácthu t tốn t i u mơ hình th a th t phân b đ th a th t theo hai cách:
- Phân b Uniform: th a th a c a m i l p đ c c t t a sllà b ng nhau và b ng t ng đ th a th t c a tồn b mơ hình S.
- Phân b d a trên mơ hình Erd s–Rényi[20]: c gi i thi u vào n m 2018c a nhà nghiên c u Mocanu[18], v i đ th a th t c a m i l p sl đ c tính b ng cơng th c sau khi áp d ng v i các mơ hình MLP:
1伐券券鎮貸怠鎮貸怠+茅 券券鎮鎮
Trong đĩ nl là s neuron c a l p l, t ng t đ i v i mơ hình CNN: đ phân b c a m i l p nh sau:
1伐券券鎮貸怠鎮貸怠+茅 券券鎮鎮+茅 拳拳鎮鎮+茅 月月鎮鎮
Cĩ th th y, các thu t tốn hi n nay ch th c hi n phân b các k t n i trong m i l p giai đo n đ u tiên. T ib c t i u mơ hình, đ th a th t c a m i l p là gi nguyêncho đ n k t thúc quá trình t i u.
17 M c khác Gradient đĩng m t vai trị quan tr ng trong các bài tốn t i u cho mơ hình máy h c hi n nay. Gradient th c ch t chính là đ o hàm c a m t hàm s đ c dùng đ bi u di n s thay đ i c a m t hàm s t i m t đi m nào đĩ. Gradient là m t vector cĩ các tính ch t sau:
- H ng c a vector theo chi u t ng c a hàm.
- Giá tr c a Gradient g n v 0 khi ti n d n t i các đi m c c đ i, hay c c ti u. Trong các bài tốn t i u, chúng ta th ng xuyên ph i tìm giá tr nh nh t c a m t hàm s nào đĩ. Ví d nh tìm đi m nh nh t cho các hàm m t mát12. i v i hàm s m t bi n, vi c đi tìm t p h p các đi m c c ti u khơng khĩ. Tuy nhiên, khi s l ng bi n đ c t ng lên, đ ph c t p khi tìm nghi m cho ph ng trình đ o hàm đ tìm ra t p h p các đi m c c ti u càng t ng lên. Và cĩ th là b t kh thi đ i v i các hàm m t mát trong các mơ hình máy h c, khi mà s l ng bi n trong ph ng trình là r t l n. Vì v y h ng ti p c n ph bi n h n thay vì gi i ph ng trình đ o hàm c a m t hàm s , ng i ta th ng xu t phát t m t đi m và cho đi m này ti n d n t i đi m c c ti u cho đ n khi tìm đ c nghi m c a ph ng trình b ng cách đi ng c h ng gradient. Và nh tính ch t c a gradient đ l n gradient s ti n g n v 0 khi đ n g n các đi m c c đ i c c ti u, nh v y cĩ th nĩi khi đ l n gradient càng l n, m c đ nh h ng c a đi m này sau khi c p nh t b ng cách c ng ng c d u gradient s nh h ng nhi u đ n k t qu tìm đi m c c ti u. Ng c l i khi đ l n gradient c a m t bi n nh g n b ng 0 s ít nh h ng t i k t qu .
D a trên c s lý thuy t đã đ c p ph n tr c, thu t tốn t i u mơ hình b ng cách phân b l i đ th a th t trên t ng l p d a trên Gradient c th nh sau:
Gi i thu t SRGM
Input: Network f , dataset D
Sparsity Distribution: S = {s1, . . . , sL}
Update Schedule: ∆T, Tend, , fdecay Parameters pruning threshold: ths Randomly sparsify using S
for each training step t do
Sample a batch Bt 漢 D
詣痛 = 布 詣(血待(捲沈),検沈)
沈~喋禰
兼佃 = min鎮退待蝦挑(件 鞄 肯健)
if t (mod ∆T) == 0 and t < Tend then
12 Vi c tìm đi m global minimum cho các hàm m t mát là r t ph c t p khi cĩ nhi u tham s trong mơ hình. Thay vào đĩ, vi c đi tìm đi m local minimum d dàng h n, và cĩ th cho nĩ là nghi m c a ph ng trình.
18
for each layer l do
穴結健建欠= 磐 デ軽健椛到如詣建
デ詣健=0デ軽健椛到如詣建伐怠挑卑 茅 兼佃茅 fdecay(t; ,Tend)
number of parameters non-pruned lower than ths: nprune
ngrow = nprune + delta
Iactive = ArgTopK(−| l|, nprune)
Igrow = 畦堅訣劇剣喧計沈鞄提如\I倒冬盗套湯刀 盤弁椛 健詣痛弁,券訣堅剣拳 匪
Update connections using Iactive andIgrow
end for else = − 椛 Lt end if end for 3.2 L u đ thu t tốn
19
Hình 3-1: L u đ thu t tốn t i u mơ hình b ng cách t i u đ th a th t trong su t quá trình hu n luy n d a trên gradient.
20
3.2.1 Phân tích thu遺t tốn
T ng t nh thu t tốn RigL và thu t tốn SET đ c đ c p trong ch ng 2.3, thu t tốn đ c đ xu t bao g m 2 giai đo n: Giai đo n c t t a mơ hình và giai đo n t i u mơ hình. Trong đĩ giai đoan c t t a t ng t v i hai thu t tốn RigL và SET. Quy trình ho t đ ng c a m i giai đo n đ c trình bày c th nh sau:
Giai đo n c t t a mơ hình
Trong giai đo n này, mơ hình đ c kh i t o cùng v i cái thơng s v đ th a th t mong mu n cho tồn b mơ hình c ng nh trên t ng l p. C th , khi b t đ u giai đo n này, các thơng s kh i t o đ c li t kênh sau:
- S: th a th t c a tồn b mơ hình. Thơng s này s đ c gi nguyên cho đ n khi
k t thúc vi c hu n luy n.
- sl: th a th t c a t ng l p trong mơ hình, giá tr này cĩ th đ c thay đ i trong su t quá trình đào t o khi áp d ng thu t tốn đ c đ xu t. Tuy nhiên, khi b t đ u hu n luy n, đ th a th t c a m i l p đ c xác đ nh theo hai cách nh đ c trình bày
ph n 3.1.
- Kho ng cách gi a m i l n c t t a mơ hình T, t c sau T l n hu n luy n l p l i, mơ
hình s đ c c t t a b ng cách lo i b nh ng tr ng s cĩ đ l n th p. Các tr ng s đ c lo i b d n cho đ n khi đ t đ n đ th a th t mong mu n.
- Ninit: S l n l p hu n luy n trong giai đo n kh i đ ng mơ hình. Trong giai đo n này ch ng trình th c hi n hu n luy n và t i u trên mơ hình đ y đ k t n i cho đ n khi đ t Ninit l n hu n luy n. Thơng th ng giá tr đ c đi u ch nh sao cho hi u su t c a mơ hình đ t k t qu t t nh t.
- Nprune: S l n hu n luy n trong giai đo n c t t a mơ hình. Trong giai đo n này sau m i T l n l p, mơ hình s đ c c t b nh ng tr ng s cĩ đ l n th p. Tính n ng Pruning cĩ trong th vi n c a Tensorflow cho phép mơ hình đ t đ n đ th a th t đ c đ t ra v i hi u su t t t nh t.
Các b c th c hi n trong giai đo n c t t a mơ hình:
- B c 1: B c đ u tiên trong giai đo n này là mơ hình s đ c hu n luy n v i đ y đ s k t n i. M c tiêu trong giai đo n này là làm hi u su t c a mơ hình đ t đ c cao nh t.
- B c 2: Sau khi mơ hình đã đ t đ c hi u n ng t t nh t. Lúc này thu t tốn s ch n nh ng k t n i nh và lo i b nĩ kh i mơ hình. Vi c ch n nh ng k t n i cĩ đ l n
21 nh g n b ng khơng s khơng làm nh h ng quá nhi u đ n k t qu c a mơ hình. S các k t n i c n lo i b ph thu c vào s l n l p hu n luy n,đ th a th t mong mu n, c ng nh s b c cho m i l n c p nh t mơ hình.
- B c 3: Hu n luy n mơ hình đã c t t a. Sau khi thu t tốn đã ch n các k t n i đ lo i b , mơ hình s đ c hu n luy n ti p t c, và sau m i kho ng l p đã đ c khai báo tr c đĩ, mơ hình s l p l i b c 2 và ti p t c hu n luy n sau đĩ cho đ n khi đ t đ c s l n hu n luy n cho giai đo n c t t a.
3.2.3 Giai đo n t i u mơ hình sau c t t a
Khác v i hai gi i thu t RigL và SET, trong giai t i u mơ hình c t t a, thu t tốn đ c đ xu t s ph n b l i đ th th t c a sau m i l n c p nh t. C th , đ i v i hai thu t tốn RigL và SET, sau khi mơ hình đã đ c lo i b các k t n i v i đ l n th p trong giai đo n c t t a, mơ hình đ c c t b t v i s l ng đ c đ nh tr c và bù đ p l i các k t n i m i sao chot ng k t n i m i thêm vào b ng t ng k t n i đã đ c l c b sau m i l n c p nh t h th ng.
thu t tốn SET, các tác gi bù đ p k t n i v a c t b t b ng cách thêm ng u nhiên các k t n i đã b l t b vào l i trong mơ hình. Trong khi đĩ, khi dùng thu t tốn RigL, các k t n i đ c thêm vào d a vào đ l n gradient. K t n i cĩ gredient càng l n s đ c thêm vào mơ hình. c hai thu t tốn, các k t n i thêm m i đ c kh i t o b ng khơng, vì v y chúng khơng nh h ng đ n k t qu c a h th ng. Tuy nhiên đ i v i thu t tốn RigL, k t n i đ c thêm vào cĩ gradient l n nên chúng đ c k v ng s gây nh h ng tích c c đ n k t qu và nhanh chĩng gi m thi u mát nh t cho mơ hình, cịn đ i v i SET, các k t n i đ c thêm ng u nhiên, vì v y, đơi khi chúng cĩ th khơng làm thay đ i quá nhi u t i k t qu ho c cĩ th gây nên chi u h ng x u khi n cho mơ hình khĩ h i t đ c.
22
Hình 3-2: B c c p nh t mơ hình c a hai thu t tốn RigL và SET.
M t khác, mơ hình đ tài đ xu t thêm m t b c phân b l i đ th a th t c a t ng l p trong mơ hình. T c các l p ít nh h ng t i k t qu s đ c c t b p đ bù thêm cho các l p cĩ kh n ng gây nhi u nh h ng tích c c đ n hi u su t c a mơ hình.
Hình 3-3: B c c p nh t mơ hình c a thu t tốn phân b đ th a th t trong su t quá trình t i u.
23 Quá trình thu t tốn phân b đ th a th t bao g m các b c sau:
1. Sau khi l p Tl n hu n luy n, thu t tốn xác đ nh các thơng s sau:
- 稿潰如詣痛: Gradient hàm m t mát c a mơ hình.
- ths: Ng ng lo i b các k t n i cĩ tr ng s th p trong m t l p. Ví d : k t n i cĩ tr ng s l n nh t t i m t l p trong mơ hình là 0.8, ng ng ths đ c đ t là 0.5 thì các k t n i bé h n 0.5x0.8 = 0.4s b lo i b kh i mơ hình trong b c Drop nh Hình 3-3: B c c p nh t mơ hình c a thu t tốn phân b đ th a th t trong su t q trình t i u.
2. Tính tốn đ th a th t cho m i l p:
T i b c này thu t tốn khơng tr c ti p tính tốn đ th a th t c a m i l p. Thay vào đĩ thu t tốn s đi tìm đ chênh l ch các k t n i c a mơ hình m i so v i mơ hình tr c đĩ t i m i l p nh ng v n đ m b o gi nguyên đ c đ th a th t cho tồn mơ hình. Ví d : m t mơ hình cĩ 3 l p n l n l t cĩ 1000, 2000 và 3000 k t n i. l n c p nh t tr c, s k t n i t i l p n th nh t là 250/1000 k t n i, l p n th 2 là 500/2000 k t n i và l p n th 3 là 1000/3000 k t n i. Trong l n c p nh t này, thu t tốn tính đ c l p n th nh t đ c thêm 100 k t n i trong khi l p n th hai s gi m 30 k t n i và l p th 3 gi m 70 k t n i. Nh v y t ng s k t n i c a mơ hình v n đ m b o đ c 1750 k t n i trên t ng s 6000 k t n i. ch nh l ch s k t n i c a m i l p đ c tính b ng cơng th c sau: 穴結健建欠 = 磐 デ 椛灘如 到如 デ薙如転轍デ 椛灘如 到如伐怠挑卑 茅 兼佃茅 fdecay(t; ,Tend) Trong đĩ: - デ 椛灘如 到如挑禰
デ薙如転轍デ 椛灘如 到如挑禰: T s gi a t ng s gradient c a l p l trên t ng s gradient c a tồn b các l p.
- 怠
挑: T s c a 1 trên s l p trong mơ hình.
- 兼佃: S k t n i đã b lo i b nh nh t c a các l p trong mơ hình.
- fdecay(t; ,Tend):Hàm suy gi m cĩ tác d ng đ gi m d n đ l n c a delta sau m i l n c p nh t = 沈津沈痛 鳥追墜椎 捗追銚頂痛沈墜津沈津沈痛鎮勅銚追津沈津直追銚痛勅 茅 潔憲堅堅結券建健結欠堅券件券訣堅欠建結
24
- Theo nh cơng th c delta, デ 帝灘如 之如 デ薙 デ 帝灘如 之如
如転轍 伐怠挑 đ tính đ c ph n tr m đ th a th t
c a m i l p mong mu n đ c thêm/b t vào trong mơ hình sau c p nh t. Trng đĩ L là t ng s l p khơng bao g m l p đ u tiên c a mơ hình. デ 稿朝如 潰如: T ng
gradient c a l p l. デ挑 デ 稿朝如 潰如
鎮退待 : T ng gradient c a tồn b các k t n i trong mơ hình.
- Cơng th c đ c nhân cho mz cĩ tác d ng xác đ nh đ c s k t n i thêm/b t vào trong m i l p. Cơng th c nhân v i sơ k t n i b lo i b nh nh t trên t t c các l p cĩ tác d ng ng ng ch n vi c thu t tốn cĩ th bù đ p s k t n i cĩ s l ng v t quá s k t n i đã b lo i b trong l p đĩ.
- Cu i cùng, cơng th c nhân v i fdecay(t; ,Tend)cĩ tác d ng gi m d n s l ng các k t n i c n đ c thêm hay b t vào trong mơ hình sau kho ng th i gian T.
3. Xác đ nh s k t n i c n thêm, b t c a m i l p:
Sau khi đã tính đ c đ chênh l ch c n thêm hay b t vào trong m i l p. B c ti p theo thu t tốn xác đ nh s k t n i c n đ c lo i b d a trên đ l n và bù đ p l i s k t n i m i d a trên đ l n gredient sao cho s k t n i thêm vào tr cho s k t n i c t b t b ng đ chênh l ch đ c tính b c 2.
25 u ti n thu t tốn s c t b t k t n i v i s l ng b ng s k t n i th p h n ng ng cho ban đ u nhân v i kêt n i cĩ tr ng s l n nh t c a m t l p l.
- Ví d : n u ng ng ban đ u cho là 0.5, k t n i l n nh t trong l p l cĩ đ l n b ng 0.8, thì s k t n i s b lo i b b ng t ng s k t n i cĩ đ l n nh h n 0.5x0.8.
Ti p theo thu t tốn s thêm vào l i trong mơ hình s k t n i d a vào đ l n gradient v i s l ng b ng s k t n i đã c t b t c ng cho l ng chênh l nh đã tính đ c t b c 2.
- Ví d : n u l ng chênh l ch t i l p l b ng -10, s k t n i đã b c t b trong l n t i u này b ng 20. Thì s l ng k t n i đ c thêm vào b ng 20+(-10) = 10 k t n i. Nh v y đ chênh l ch v n đ m b o lo i b 10 k t n i kh i l p l. 4. Hu n luy n mơ hình đã đ c t i u:
Sau khi đã phânb l i s k t n i cĩ trong m i l p, mơ hình đ c đào t o và l p l i