Giới thiệu
Như chúng ta đã biết, các mô hình học sâu (deep learning) gặp phải vấn đề là đói dữ liệu. Các mô hình này yêu cầu đào tạo, huấn luyện với hàng ngàn hoặc thậm chí hàng triệu điểm dữ liệu trước khi đưa ra dự đoán hợp lý.
Đào tạo rất tốn kém, cả về thời gian và nguồn lực. Ví dụ, mô hình đại diện ngôn ngữ phổ biến BERT (một mô hình ngôn ngữ trong lĩnh vực xử lý ngôn ngữ tự nhiên - NLP), được phát triển bởi Google, đã được đào tạo trên 16 Cloud TPU (tổng cộng 64 chip TPU) trong 4 ngày. Để dễ hình dung, nó tương đương với việc 60 máy tính để bàn chạy không ngừng trong 4 ngày.
Tuy nhiên, vấn đề lớn nhất là các mô hình như thế này chỉ được thực hiện trên một nhiệm vụ duy nhất. Các tác vụ trong tương lai đòi hỏi một tập hợp các điểm dữ liệu mới cũng như lượng tài nguyên bằng hoặc nhiều hơn.
Tuy nhiên, bộ não con người không hoạt động theo cách đó. Nó không loại bỏ kiến thức thu được trước đây khi giải quyết một nhiệm vụ mới. Thay vào đó, nó đưa ra quyết định dựa trên những điều học được từ quá khứ.
Con người có một khả năng vốn có để chuyển kiến thức qua các nhiệm vụ. Những gì chúng ta có được như kiến thức trong khi tìm hiểu về một nhiệm vụ, chúng ta sử dụng theo cùng một cách để giải quyết các nhiệm vụ liên quan. Các nhiệm vụ càng liên quan, chúng ta càng dễ dàng chuyển giao hoặc sử dụng chéo kiến thức của mình.
Một số ví dụ đơn giản sẽ là:
- Biết cách đi xe máy ⮫ Học cách đi xe hơi
- Biết cách chơi piano cổ điển ⮫ Học cách chơi piano jazz
- Biết toán và thống kê ⮫ Học máy học
Học chuyển giao (học chuyển tiếp - deep transfer learning) là phương pháp học máy đề xuất nhằm bắt chước hành vi này.
Học chuyển tiếp là gì?
Học chuyển tiếp là một cách tiếp cận trong học sâu (và học máy), nơi kiến thức được chuyển giao từ mô hình này sang mô hình khác.
Một quan niệm sai lầm phổ biến là dữ liệu đào tạo và kiểm tra phải đến từ cùng một nguồn hoặc có cùng phân phối.
Sử dụng học chuyển tiếp, chúng ta có thể giải quyết một nhiệm vụ cụ thể bằng cách sử dụng toàn bộ hoặc một phần của mô hình đã được huấn luyện trước về một nhiệm vụ khác.
Khi nào sử dụng kỹ thuật học chuyển tiếp?
Kỹ thuật học chuyển tiếp đang trở thành phương thức làm việc với các mô hình học sâu. Những lý do chính cho việc sử dụng phương thức này được giải thích dưới đây.
Thiếu dữ liệu
Các mô hình học tập sâu đòi hỏi RẤT NHIỀU dữ liệu để giải quyết một nhiệm vụ hiệu quả. Tuy nhiên, không thường xuyên có quá nhiều dữ liệu có sẵn. Ví dụ: một công ty có thể muốn xây dựng một bộ lọc thư rác rất cụ thể cho hệ thống liên lạc nội bộ của mình nhưng không sở hữu nhiều dữ liệu được dán nhãn.
Trong trường hợp đó, một tác vụ mục tiêu cụ thể có thể được giải quyết bằng cách sử dụng lại một mô hình được đào tạo trước cho một nhiệm vụ ban đầu tương tự.
Các tác vụ có thể khác nhau nhưng bài toán chung (domain) của chúng phải giống nhau.
Nói cách khác, bạn không thể thực hiện chuyển đổi giữa các tác vụ nhận dạng giọng nói và phân loại hình ảnh vì các bộ dữ liệu đầu vào có các loại khác nhau.
Những gì bạn có thể làm là sử dụng một bộ phân loại hình ảnh được đào tạo trước về ảnh chó để dự đoán ảnh mèo.
Tốc độ
Học chuyển tiếp cắt giảm một tỷ lệ lớn thời gian đào tạo và cho phép xây dựng các giải pháp học sâu khác nhau ngay lập tức. Ngoài ra, nó giảm bớt quá trình thiết lập GPU / TPU Cloud cho việc đào tạo phức tạp và tốn kém.
Tốt cho môi trường
Sử dụng học chuyển giao tác động tích cực đến môi trường.
Theo một nghiên cứu trên MIT Technology Review, một mạng lưới thần kinh nhân tạo lớn (200M + thông số) được đào tạo trên Cloud TPU tạo ra lượng khí thải CO2 tương đương với ~ 6 chiếc xe trong suốt vòng đời sử dụng của chúng. Học chuyển tiếp có thể ngăn chặn việc tạo ra khí thải nhà kính bằng việc hạn chế sử dụng rộng rãi, hàng loạt các bộ xử lý mạnh mẽ này khi không thật sự cần thiết.
Trong bài viết sau, Phòng thí nghiệm ATTT sẽ giới thiệu các chiến lược cụ thể trong kỹ thuật học chuyển tiếp này. Mời các bạn đón xem và theo dõi.
PTN ATTT (tổng hợp và tham khảo, nguồn: Simeon Kostadinov
)