Thắc mắc về pre-trained weights trong Transfer learning ?

transfer-learning

#1

Chào mọi người, mình đang tìm hiểu về transfer learning với các pre-trained models (vgg16, vgg19,…). Mình có thắc mắc ở chỗ là khi mình train với dữ liện riêng của mình tại sao lại cần phải load pre-trained weight nữa ạ. Việc train mới dữ liệu của mình có liên quan gì với gì tới pre-trained weight ạ ? Mọi người giúp mình giải đáp thắc mắc.


#2

Load cả model và pretrained weight là để tận dụng khả năng extract các feature ẩn của dữ liệu, khả năng này đã được học trên tập dữ liệu trước rồi. Nếu không load pretrain weight mà khởi tạo lại hoàn toàn weight, bạn phải train hoàn toàn từ đầu. weight là thứ thu được sau quá trình học

VD: VGG được train trên ImageNet Dataset, có nhiệm vụ phân lớp 1000 class trên ImageNet. Nếu muốn tạo 1 mạng mới chỉ để phân lớp chó với mèo, thay vì xây dựng 1 mạng mới hoàn toàn, bạn có thể tận dụng những layer đầu của pretrained-VGG. Những layer này đã có sẵn khả năng extract các đường nét, hình dạng, cấu trúc cơ bản rồi. Việc của bạn là thêm (thay đổi) các layer cuối sao cho phù hợp với bài toàn.


#3

Chào bạn! Mình cũng vừa mới tìm hiểu về ML cho mình hỏi file weight đấy chứa những thông số gì vậy ạ