Kết nối với chúng tôi

Học chuyển tiếp là gì?

AI 101

Học chuyển tiếp là gì?

mm

Học chuyển tiếp là gì?

Khi thực hành học máy, việc đào tạo một mô hình có thể mất nhiều thời gian. Việc tạo kiến ​​trúc mô hình từ đầu, huấn luyện mô hình và sau đó điều chỉnh mô hình tiêu tốn rất nhiều thời gian và công sức. Một cách hiệu quả hơn nhiều để đào tạo mô hình học máy là sử dụng kiến ​​trúc đã được xác định, có thể có các trọng số đã được tính toán. Đây là ý tưởng chính đằng sau học chuyển, lấy một mô hình đã được sử dụng và sử dụng lại mô hình đó cho một nhiệm vụ mới.

Trước khi đi sâu vào những cách khác nhau mà học chuyển giao có thể được sử dụng, chúng ta hãy dành chút thời gian để hiểu tại sao học chuyển giao lại là một kỹ thuật mạnh mẽ và hữu ích đến vậy.

Giải quyết vấn đề học sâu

Khi bạn đang cố gắng giải quyết một vấn đề học sâu, chẳng hạn như xây dựng bộ phân loại hình ảnh, bạn phải tạo kiến ​​trúc mô hình rồi đào tạo mô hình trên dữ liệu của mình. Đào tạo bộ phân loại mô hình liên quan đến việc điều chỉnh trọng số của mạng, một quá trình có thể mất hàng giờ hoặc thậm chí vài ngày tùy thuộc vào độ phức tạp của cả mô hình và tập dữ liệu. Thời gian đào tạo sẽ thay đổi quy mô theo kích thước của tập dữ liệu và độ phức tạp của kiến ​​trúc mô hình.

Nếu mô hình không đạt được độ chính xác cần thiết cho nhiệm vụ, thì việc điều chỉnh mô hình có thể sẽ cần được thực hiện và sau đó mô hình sẽ cần được đào tạo lại. Điều này có nghĩa là sẽ có nhiều giờ đào tạo hơn cho đến khi có thể tìm thấy kiến ​​trúc, thời lượng đào tạo và phân vùng tập dữ liệu tối ưu. Khi bạn xem xét có bao nhiêu biến phải được căn chỉnh với nhau để bộ phân loại trở nên hữu ích, điều đó có nghĩa là các kỹ sư máy học luôn tìm kiếm những cách dễ dàng hơn, hiệu quả hơn để đào tạo và triển khai các mô hình. Vì lý do này, kỹ thuật học chuyển đổi đã được tạo ra.

Sau khi thiết kế và thử nghiệm một mô hình, nếu mô hình tỏ ra hữu ích, nó có thể được lưu lại và sử dụng lại sau này cho các vấn đề tương tự.

Các Loại Hình Học Chuyển Tiếp

Nói chung là có XNUMX cái khác nhau các loại học tập chuyển giao: phát triển một mô hình từ đầu và sử dụng một mô hình được đào tạo trước.

Khi bạn phát triển một mô hình từ đầu, bạn sẽ cần tạo một kiến ​​trúc mô hình có khả năng diễn giải dữ liệu đào tạo của bạn và trích xuất các mẫu từ đó. Sau khi mô hình được đào tạo lần đầu tiên, có thể bạn sẽ cần thực hiện các thay đổi đối với mô hình để đạt được hiệu suất tối ưu từ mô hình. Sau đó, bạn có thể lưu kiến ​​trúc mô hình và sử dụng nó làm điểm bắt đầu cho một mô hình sẽ được sử dụng cho một nhiệm vụ tương tự.

Trong điều kiện thứ hai – việc sử dụng một mô hình được đào tạo trước – bạn chỉ cần chọn một mô hình được đào tạo trước để sử dụng. Nhiều trường đại học và nhóm nghiên cứu sẽ cung cấp thông số kỹ thuật của mô hình của họ để sử dụng chung. Kiến trúc của mô hình có thể được tải xuống cùng với các trọng số.

Khi tiến hành học chuyển giao, toàn bộ kiến ​​trúc mô hình và trọng số có thể được sử dụng cho nhiệm vụ hiện tại hoặc chỉ có thể sử dụng một số phần/lớp nhất định của mô hình. Chỉ sử dụng một số mô hình được đào tạo trước và đào tạo phần còn lại của mô hình được gọi là tinh chỉnh.

Tinh chỉnh một mạng

Tinh chỉnh mạng mô tả quá trình đào tạo chỉ một số lớp trong mạng. Nếu tập dữ liệu huấn luyện mới giống với tập dữ liệu được sử dụng để huấn luyện mô hình ban đầu, thì có thể sử dụng nhiều trọng số giống nhau.

Số lớp trong mạng không bị đóng băng và đào tạo lại phải thay đổi quy mô theo kích thước của tập dữ liệu mới. Nếu tập dữ liệu đang được đào tạo nhỏ, thì tốt hơn hết là giữ nguyên phần lớn các lớp và chỉ đào tạo một số lớp cuối cùng. Điều này là để ngăn chặn mạng quá phù hợp. Ngoài ra, các lớp cuối cùng của mạng được đào tạo trước có thể bị xóa và các lớp mới được thêm vào, sau đó các lớp này sẽ được đào tạo. Ngược lại, nếu tập dữ liệu là một tập dữ liệu lớn, có khả năng lớn hơn tập dữ liệu gốc, thì toàn bộ mạng phải được đào tạo lại. Để sử dụng mạng như một trình trích xuất tính năng cố định, phần lớn mạng có thể được sử dụng để trích xuất các tính năng trong khi chỉ lớp cuối cùng của mạng có thể được giải phóng và đào tạo.

Khi bạn tinh chỉnh mạng, chỉ cần nhớ rằng các lớp trước đó của ConvNet là lớp chứa thông tin đại diện cho các tính năng chung hơn của hình ảnh. Đây là những tính năng như các cạnh và màu sắc. Ngược lại, các lớp sau của ConvNet chứa các chi tiết cụ thể hơn cho các lớp riêng lẻ được giữ trong tập dữ liệu mà mô hình được đào tạo ban đầu. Nếu bạn đang đào tạo một mô hình trên tập dữ liệu khá khác so với tập dữ liệu gốc, có thể bạn sẽ muốn sử dụng các lớp ban đầu của mô hình để trích xuất các tính năng và chỉ cần đào tạo lại phần còn lại của mô hình.

Ví dụ học tập chuyển giao

Các ứng dụng phổ biến nhất của học chuyển đổi có lẽ là những ứng dụng sử dụng dữ liệu hình ảnh làm đầu vào. Đây thường là các nhiệm vụ dự đoán/phân loại. Cách Mạng lưới thần kinh chuyển đổi giải thích dữ liệu hình ảnh cho phép sử dụng lại các khía cạnh của mô hình, vì các lớp tích chập thường phân biệt các tính năng rất giống nhau. Một ví dụ về vấn đề học chuyển phổ biến là tác vụ ImageNet 1000, một bộ dữ liệu khổng lồ chứa đầy 1000 lớp đối tượng khác nhau. Các công ty phát triển các mô hình đạt được hiệu suất cao trên tập dữ liệu này thường phát hành các mô hình của họ theo giấy phép cho phép những người khác sử dụng lại chúng. Một số mô hình là kết quả của quá trình này bao gồm Mô hình ResNet của Microsoft, Mô hình ban đầu của Google và Người mẫu Oxford VGG nhóm.

Blogger và lập trình viên có chuyên môn về Machine Learning Học kĩ càng chủ đề. Daniel hy vọng sẽ giúp những người khác sử dụng sức mạnh của AI vì lợi ích xã hội.