Trước Deep Learning, câu hỏi phân loại ảnh (các loại tài liệu khác cũng tương tự) hay được chia thành 2 bước: Feature Engineering với Train a Classifier. Hai công đoạn này thường được bóc tách rời nhau. Cùng với Feature Engineering, các phương thức thường được sử dụng cho hình ảnh là SIFT (Scale Invariant Feature Transform), SURF (Speeded-Up Robust Features), HOG (Histogram of Oriented Gradients), LBP (Local Binary Pattern), etc. Những Classifier hay được sử dụng là multi-class SVM, Softmax Regression, Discriminative Dictionary Learning, Random Forest, etc.
Bạn đang xem: Transfer learning là gì
Các phương pháp Feature Engineering nêu trên thường được điện thoại tư vấn là các hand-crafted features (feature được tạo nên thủ công) bởi nó đa phần dựa trên những quan gần cạnh về công dụng riêng của ảnh. Các cách thức này cho công dụng khá tuyệt vời trong một số trong những trường hợp. Tuy nhiên, chúng vẫn tồn tại nhiều giảm bớt vì quá trình tìm ra các features và những classifier tương xứng vẫn là riêng biệt.
(Tôi đã từng đề cập tới vụ việc này vào các mô hình end-to-end)
Những năm sát đây, Deep Learning phát triển cực nhanh dựa trên lượng dữ liệu training to con và khả năng giám sát và đo lường ngày càng được cách tân của những máy tính. Các kết quả cho việc phân loại ảnh ngày càng được nâng cao. Cỗ cơ sở tài liệu thường được sử dụng nhất là ImageNet với 1.2M ảnh cho 1000 classes không giống nhau. Rất nhiều các quy mô Deep Learning sẽ giành thắng lợi trong các cuộc thi ILSVRC (ImageNet Large Scale Visual Recognition Challenge). Hoàn toàn có thể kể ra một vài: AlexNet, ZFNet, GoogLeNet, ResNet, VGG.

Hình 1: mô hình chung cho các bài toán classification sử dụng Deep Learning. Layer sau cuối thường là 1 Fully Connected Layer với thường là một trong những Softmax Regression.
Nhìn chung, các quy mô này đều bao hàm rất nhiều layers. Những layers phía trước thường là các Convolutional layers kết phù hợp với các nonlinear activation functions cùng pooling layers (và được gọi chung là ConvNet). Layer ở đầu cuối là một Fully Connected Layer và thường là một trong Softmax Regression (Xem Hình 1). Số lượng units ở layer sau cuối bằng với số lượng classes (với ImageNet là 1000). Bởi vì vậy output ở layer gần ở đầu cuối (second to last layer) hoàn toàn có thể được coi là feature vectors và Softmax Regression chính là Classifier được sử dụng.
Chính nhờ bài toán features với classifier được trained với mọi người trong nhà qua deep networks khiến cho các quy mô này đạt tác dụng tốt. Tuy nhiên, những mô hình này những là các Deep Networks với tương đối nhiều layers. Việc training dựa trên 1.2M bức ảnh của ImageNet cũng tốn rất nhiều thời gian (2-3 tuần).
Với các bài toàn dựa vào tập dữ liệu khác, hết sức ít khi fan ta gây ra và train lại cục bộ Network trường đoản cú đầu, chính vì có khôn xiết ít các cơ sở tài liệu có form size lớn. Thế vào đó, phương thức thường được dùng là thực hiện các mô hình (nêu phía trên) đã có trained từ trước, và áp dụng một vài ba kỹ thuật không giống để giải quyết bài toán. Cách thức sử dụng các mô hình có sẵn như thế này được hotline là Transfer Learning.
Như đã đề cập, cục bộ các layer trừ output layer rất có thể được xem như là một cỗ Feature Extractor. Dựa trên nhận xét rằng các bức ảnh đều bao gồm đặc tính như thể nhau làm sao đó, với cơ sở tài liệu khác, ta cũng có thể sử dụng phần Feature Extractor này để tạo ra các feature vectors. Sau đó, ta thế output layer cũng bằng một Softmax Regression (hoặc multi-class SVM) tuy vậy với số lượng units bởi với số lượng class ở bộ cơ sở tài liệu mới. Ta chỉ việc train layer cuối cùng này. Ghê nghiệm thực tế của tôi mang lại thấy, việc làm này vẫn tăng công dụng phân lớp lên tương đối nhiều so với việc sử dụng những hand-crafted features.
Cách làm như trên được hotline là ConvNet as fixed feature extractor, tức ta thực hiện trực tiếp vector ở second lớn last layer có tác dụng feature vector. Nếu liên tiếp tinh chỉnh (Fine-tuning) một chút ít nữa, công dụng sẽ hoàn toàn có thể tốt hơn.
Fine-tuning the ConvNet. Phía tiếp cận đồ vật hai là sử dụng các weights đã có được trained từ một trong những các quy mô ConvNet như là khởi khiến cho mô hình mới với tài liệu mới và thực hiện Back Propagation để train lại tổng thể mô hình bắt đầu hoặc train lại một số trong những layer cuối (cũng là nhằm tránh overfitting khi mà quy mô quá phức tạp khi dữ liệu không đủ lớn). Việc này được dựa trên quan gần kề rằng hầu như layers đầu trong ConvNet thường giúp extract mọi đặc tính chung của hình ảnh (các cạnh - edges, còn được gọi là low-level features), những layers cuối thường với những đặc thù riêng của cơ sở dữ liệu (CSDL) (và được gọi là high-level features). Do vậy, việc train những layer cuối mang nhiều giá trị hơn.
Dựa trên size và độ đối sánh tương quan giữa CSDL mới và database gốc (chủ yếu là ImageNet) để train các mô hình có sẵn, CS231n chỉ dẫn một vài lời khuyên:
CSDL new là nhỏ và giống như như cơ sở dữ liệu gốc. Xem thêm: Download Typer Shark Deluxe Full Pre, Download Typer Shark Deluxe For Windows
CSDL bắt đầu là lớn và tựa như như csdl gốc. do CSDL này lớn, overfitting ít có khả năng xảy ra hơn, ta có thể train quy mô thêm một chút nữa (toàn bộ hoặc có một vài layers cuối).
CSDL new là nhỏ tuổi và vô cùng khác với csdl gốc. vị CSDL này nhỏ, giỏi hơn hết là dùng những classifier dễ dàng (các linear classifiers) nhằm tránh overfitting). Nếu muốn train thêm, ta cũng chỉ nên train các layer cuối. Hoặc bao gồm một kỹ thuật khác là coi áp sạc ra của một layer xa layer cuối hơn làm những feature vectors.
CSDL bắt đầu là phệ và khôn xiết khác database gốc. vào trường vừa lòng này, ta vẫn rất có thể sử dụng quy mô đã train như là vấn đề khởi làm cho mô hình mới, không nên train lại từ bỏ đầu.
Có một điểm đáng để ý nữa là khi liên tiếp train các quy mô này, ta chỉ hãy lựa chọn learning rate nhỏ dại để các weights mới không đi quá xa so với những weights đã được trained ở các quy mô trước.
Đọc thêm
<1> Introduction khổng lồ SIFT (Scale-Invariant Feature Transform) - OpenCV
<2> Introduction to lớn SURF (Speeded-Up Robust Features) - OpenCV
<3> Histogram of Oriented Gradients - OpenCV
<4> Transfer Learning
<5> Transfer Learning - Machine Learning’s Next Frontier
<6> Transfer learning và The art of using Pre-trained Models in Deep Learning
Nếu bao gồm câu hỏi, bạn cũng có thể để lại comment bên dưới hoặc trên diễn đàn để cảm nhận câu trả lời sớm hơn.Bạn đọc hoàn toàn có thể ủng hộ blog qua "Buy me a cofee" ở góc cạnh trên phía trái của blog.Tôi vừa xong xuôi cuốn ebook "Machine Learning cơ bản", bạn có thể đặt sách tại đây.Cảm ơn bạn.