2 Khi kin th hc máy
2.2.2 Khái n im Transfer Learning
Transfer Learning [28] chính là cách đ các model truy n đ t cho nhau kh n ng mà m i model có th làm đ c. M t model có th h c trên source tasks nào đó và r i pretrained model này đ c s d ng cho model khác đ model m i đó h c trên target tasks nhanh h n.
C th , Transfer Learning trong Deep Learning là m t k thu t mà trong đó: • M t pretrained model đã đ c train trên source tasks c th nào đó, khi đó m t
ph n hay toàn b pretrained model có th đ c tái s d ng ph thu c vào nhi m v c a m i layer trong model đó.
• M t model m i s d ng m t ph n hay toàn b pretrained model đ h c m t target tasks và tùy vào nhi m v c a m i layer mà model m i có th thêm các layer khác d a trên pretrained model s n có.
Vi c s d ng pretrained model là m t b c ti n l n đ nh ng ng i đi sau ti p b c nh ng thành qu c a các b c ti n b i, t n d ng nh ng pretrained model s n có đ t o ra nh ng model m i ph c v cho các target tasks c th h n, mang tính ng d ng th c ti n h n.
Có 2 lo i Transfer Learning:
1. Feature extractor: Sau khi l y ra các đ c đi m c a nh b ng vi c s d ng pretrained model, thì chúng ta s dùng linear classifier (linear SVM, softmax classifier,..) đ phân lo i. Hi u đ n gi n thì các đ c đi m nh (tai, m i, tóc, ) gi nh input c a bài toán linear regression hay logistic regression.
2. Fine tuning: Sau khi l y ra các đ c đi m c a nh b ng vi c s d ng pretrained model, thì chúng ta s coi đây là input c a 1 CNN m i b ng cách thêm các ConvNet và Fully Connected layer.
M t v n đ đ u có 2 m t và Transfer Learning c ng v y. Sau đây là nh ng m t l i ích và h n ch c a nó.
L i ích c a Transfer Learningliên quan đ n th i gian và đ hi u qu c a model. • V m t th i gian
Vi c s d ng pretrained model b n thân nó không ch giúp gi m th i gian vào vi c t o ra m t model m i đ th c hi n m t target tasks mà d a trên m t source tasks s n có, mà còn gi m th i gian train m t model t đ u vì Weights c a ph n source tasks đã có s n.
• V đ hi u qu
Pretrained model có kh n ng cung c p cho chúng ta m t đ chính xác cao ngay t đ u, do đó khi hu n luy n trên target tasks thì transfered model c a chúng ta s ti p t c t ng đ chính xác này thay vì ph i b t đ u t đi m có đ chính xác th p h n.
Hình 18: So sánh t ng quan hi u qu c a model train t đ u và transfered model
Và v m t h n ch c a Transfer Learning
Transfer Learning không ph i m t k thu t d s d ng, n u chúng ta sai sót trong quá trình transfer, ki n trúc c a pretrained hay thêm/b t không đúng t ng (layer) thì khi hu n luy n, đ chính xác s th p không t ng t ng đ c, khi đó chúng ta s ph i ki m tra l i quá trình s a các layer ho c làm l i t đ u. Khi chúng ta đ t đ chính xác th p nh v y, chúng ta không g i quá trình train là finetuning vì nó không phù h p v i đ nh ngh a.
Chúng ta ch có th dùng Transfer Learning khi mà có pretrained model liên quan tr c ti p đ n target tasks c a chúng ta thôi, không ph i pretrained model nào c ng có th dùng đ transfer vào target tasks mà chúng ta mong mu n đ c. Ví d chúng ta không nên dùng pretrained model cho hình nh màu đ finetuning cho vi c nh n di n ch vi t tay.