Part I. Cơ sở cho Transfer Learning.Bạn đang xem: Fine tune là gì

Mục lục:

Các định nghĩa Model Source Tasks và Target Tasks Transfer Learning Cơ sở Featuriser Fine-tuning Lợi ích và hạn chế Lợi ích Hạn chế? Mở đầu

Bạn quá lười khi phải train lại network từ đầu?

Bạn quá mệt mỏi với việc tạo ra một end-to-end network mới để thực hiện một task gồm có nhiều phần khác nhau?

Bạn không có một bộ GPU mạnh và không muốn đăng ký AWS hay dùng Google Cloud?Hay bạn không có một bộ dataset lớn trong task mà mình phải thực hiện?

Well, đã đến lúc bạn hướng tới sự giúp đỡ của Transfer Learning, một kỹ thuật đưa đến những network đủ tốt chỉ với lượng dataset nhỏ trên cơ sở những network có sẵn.

Đang xem: Fine-Tune Là Gì ? Định Nghĩa

Để tận dụng được các pretrained network này là một nghệ thuật được nghiên cứu từ thập niên 90. Khi Lorien Pratt thực nghiệm lần đầu năm 1993 và sau đó viết lại nó dưới dạng một lý thuyết toán học (formal analysis) năm 1998.

Đây sẽ là bài thứ nhất của Transfer Learning, giúp cho các bạn có một cái nhìn tổng quan về các mặt của Transfer Learning trước khi đi vào thực hành ở bài viết kế tiếp 😉

Prerequisite – Trước khi học về Transfer Learning, mình khuyến khích các bạn hiểu về:

Neural Network cơ bản.

Dataset và các bước tạo ra một model.

1. Giới thiệu

Ngày xửa ngày xưa, khi nền văn minh của loài người chưa phát triển, các nhóm người nhỏ sinh sống trong những hang hốc. Khi con người biết trồng trọt, họ chuyển ra những đồng bằng sinh sống và tại đó, họ gặp những bộ tộc khác. Việc hiểu được nhau trở nên khó khăn khi số người càng ngày càng tăng.

Và thế là chúng ta phát minh ra ngôn ngữ, một cách để truyền đạt ý nghĩ của mình cho người xung quanh.

Việc nghiên cứu khoa học, đưa ra những ý tưởng mới thì quan trọng nhất là không làm lại những gì đã được làm rồi mà không làm tốt hơn được vì thời gian sẽ không cho phép sự lãng phí như vậy xảy ra. Đặc biệt là trong Deep Learning, một ngành phát triển nhanh đến chóng mặt hiện nay, những ý tưởng mình nghĩ ra chắc gì đã chưa có ai làm? Deep Learing lan tỏa đến mọi lĩnh vực, vì thế cái quan trọng là sử dụng những prior works sẵn có để tạo nên một model mới tốt hơn, vì chính việc này đã rất khó khăn và tốn thời gian rồi chứ không nói đến nghiên cứu lại từ đầu mọi thứ.

2. Các định nghĩa

1. Model

Chắc hẳn, nhiều bạn cũng đã biết về các model nổi tiếng, được train trên các dataset lớn (MNIST, CIFAR-100, ImageNet, …) và source code cũng như Weights của model được public cho cộng đồng (chủ yếu là trên honamphoto.com).Chúng ta gọi những Model đi kèm Weights như vậy là một Pretrained Model.

Xem thêm: Has Been Là Thì Gì ? Cấu Trúc, Cách Dùng Have Been Cần Nắm Tổng Quát 12 Thì Cơ Bản Trong Tiếng Anh

Model mới sử dụng một phần hay toàn bộ pretrained model như một phần của nó để học một tasks mới được gọi là Transfered Model.

2. Source Tasks và Target Tasks

Những Pretrained Model như vậy thường được train trên một hoặc một vài bộ datasets nhất định, tương thích và cho accuracy cao với một task hoặc nhiều tasks (multi-task deep learning) nào đó mà nó được train. Chúng ta gọi các tasks mà pretrained model đó được train để thực hiện là source tasks.

Nhiệm vụ của chúng ta là tạo ra một model mới để thực hiện một hoặc nhiều tasks nào đó. Những tasks cần được thực hiện của model này có thể trùng hoặc không trùng với tasks mà pretrained model được train (thường thì sẽ không trùng), chúng ta gọi tasks này là target tasks.

3. Transfer Learning

Transfer Learning cũng 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ó.

Đó không phải là sự sao chép ý tưởng, bản thân người tạo ra pretrained model đó public thành công của họ là vì hy vọng những người theo sau có thể tìm được những ích lợi từ các model đó, hay ít nhất là dùng nó để giải quyết các công việc của họ.

Xem thêm: Get The Results Hub Là Gì Hẹn Hò Có Nghĩa Là

3. Cơ sở

1. Featuriser

Trước năm 2012, hầu hết mọi model AI đều được tạo thành bởi 2 stages độc lập với nhau:

Feature Engineering: là quá trình dựa trên những hiểu biết của con người về vấn đề cần giải quyết (domain knowledge) để từ đó rút ra những đặc trưng (features) của dataset mà có thể giúp ích cho việc giải quyết vấn đề đó. Do đó các features này được gọi là hand-crafted features (nôm na là làm thủ công). Feature extractor là một phần của model dùng để trích xuất ra features nói chung. Classifier/Regressor: dùng các thuật toán Machine Learning để học và dự đoán các kết quả từ những features được tạo ra ở bước trên.

Leave a Reply

Your email address will not be published. Required fields are marked *