Zero-shot learning là một phương pháp được sử dụng khá phổ biến để giải quyết một số vấn đề trong lĩnh vực học máy, nhưng nó hoạt động như thế nào cũng như nó cải thiện chất lượng AI ở đâu? Hãy cùng chúng tôi tìm hiểu phương pháp học máy này các bạn nhé:
Một trong những mục tiêu lớn nhất của việc học máy là tạo các mô hình có khả năng hiểu được những kiến thức khái quát hoá hơn từ dữ liệu mà chúng ta dạy nó. Việc khái quát hóa này là cần thiết vì nó đảm bảo mô hình sẽ học được các mẫu dữ liệu có ý nghĩa và từ đó nó có thể dự đoán hoặc quyết định một cách chính xác khi gặp dữ liệu mới nằm ngoài những dữ liệu mà nó đã ghi nhận trong quá trình học.
Thông thường, việc huấn luyện các mô hình như vậy thường đòi hỏi một lượng khá dữ liệu đã được dán nhãn. Tuy nhiên, việc dãn nhãn dữ liệu có thể rất tốn kém, mất thời gian, công sức và nhiều khi chúng không thể thực hiện được. Phương pháp Zero-shot learning lúc này sẽ được triển khai để khắc phục những khó khăn trên và cho phép AI sử dụng kiến thức hiện có của mình để đưa ra dự đoán chính xác dữ liệu mới.
Học Zero-Shot là gì?
Zero-shot learning là một loại kỹ thuật học cụ thể, nó tập trung vào việc sử dụng mô hình với dữ liệu được đào tạo trước để xác định các lớp dữ liệu mới hoặc chưa từng thấy trước đây chỉ bằng cách cung cấp thêm thông tin mô tả các chi tiết của lớp mới.
Bằng cách sử dụng kiến thức có sẵn của mô hình ở các nội dung xác định sau đó cung cấp thêm mô tả về lớp tường tận dữ liệu mới từ đó giúp cho mô hình có thể xác định chính xác đối tượng mới là gì.
Giả sử chúng ta cần xác định một con ngựa vằn. Tuy nhiên, chúng ta không có sẵn hình ảnh thực (đã được đánh nhãn – ngựa vằn) của một con ngựa vằn như thế trong dữ liệu đã được huấn luyện trước đây. Khi chúng ta cần huấn luyện mô hình của mình để xác định và nhận biết một con ngựa vằn thì chúng ta sẽ mô tả thêm cho mô hình biết rằng “một con ngựa mà có sọc đen trắng” thì đó là một con ngựa vằn. Sau khi huấn luyện xong như vậy, khi ta đưa hình ảnh con ngựa vằn vào thì mô hình nó sẽ tự suy luận và nhận ra rằng đó là một con ngựa vằn.
Cũng giống như nhiều kỹ thuật deep learning khác, zero-shot learning là kỹ thuật bắt chước cách con người học, xử lý và suy luận từ dữ liệu một cách tự nhiên. Nếu bạn được giao nhiệm vụ tìm một cây đàn guitar thân rỗng trong một cửa hàng bán nhạc cụ, bạn có thể gặp bối rối khi tìm kiếm một cây đàn như vậy, có quá nhiều cây đàn rỗng, rỗng nhiều, rỗng ít. Nhưng khi tôi nói với bạn rằng thân rỗng về cơ bản là một cây đàn guitar có lỗ hình chữ f thường ở một hoặc cả hai bên thì bạn có thể dễ dàng tìm thấy ngay lập tức.
Để có thể trải nghiệm trực quan về một ứng dụng phân loại ảnh trong thực tế, chúng ta cùng sử dụng một mô hình có tên clip-vit-large đã được triển khai sẵn trên HuggingFace: Link trải nghiệm
Bức ảnh trên sử dụng hình ảnh trong đó có chứa các đối tượng người (nam & nữ), cửa sổ, mặt trăng, ghế thư giãn, đồ chơi, chữ (tiếng Việt) và logo vì vậy nó hoàn toàn có thể nhận biết được các đối tượng đơn lẻ trong hình ảnh được cung cấp.
Bây giờ, chúng ta sẽ đặt nhiệm vụ yêu cầu mô hình xác định khả năng gì có thể xẩy ra trong các yêu cầu mà chúng ta đưa vào không được mô tả trước đó trong ảnh cũng như trong mô hình được cung cấp: Trung thu, thư giãn, bảo trì, làm việc qua đêm
Lưu ý rằng chúng tôi cố tình sử dụng các lớp mập mờ và hình ảnh không được nhìn thấy để chứng minh tính hiệu quả của việc phân loại những nội dung không có hình ảnh được cung cấp.
Sau khi mô hình suy luận thì nó đoán chắc chắn rằng có đến khoảng 80% một cuộc “làm việc qua đêm” sẽ xẩy ra và theo các bạn thì thế nào về ví dụ này?
Thật tuyệt vời! Cá nhân tôi dĩ nhiên rất đồng ý với kết quả đầu ra của mô hình. Nhưng chính xác thì làm thế nào mà mô hình này có thể đạt được kết quả như vậy? Dưới đây là thông tin kỹ thuật hơn một chút về cách hoạt động của phương pháp Zero-shot learning.
Cách thức hoạt động của phương pháp học Zero-Shot
Zero-shot learning là phương pháp có thể giúp mô hình với dữ liệu được đào tạo trước xác định các lớp mới mà không cần cung cấp dữ liệu được gắn nhãn. Ở dạng đơn giản nhất, Zero-shot learning được thực hiện theo ba bước dưới đây:
1. Chuẩn bị
Việc học Zero-shot bắt đầu bằng cách chuẩn bị ba loại dữ liệu:
- Dữ liệu đã có: Dữ liệu được sử dụng để đào tạo mô hình và đã được đào tạo trước. Mô hình đã cung cấp các lớp xác định. Các mô hình tốt nhất cho việc học Zero-shot là các mô hình được đào tạo dựa trên các lớp có mối liên quan gần với lớp mới mà bạn muốn mô hình xác định.
- Dữ liệu chưa xác định: Dữ liệu chưa bao giờ được sử dụng trong quá trình đào tạo mô hình. Bạn sẽ phải tự mình quản lý dữ liệu này vì bạn không thể tự bổ sung dữ liệu này cho các mô hình gốc.
- Dữ liệu ngữ nghĩa phụ trợ: Các dữ liệu bổ sung có thể giúp mô hình xác định lớp mới. Điều này có thể bằng từ, cụm từ, từ nhúng hoặc tên lớp.
2. Ánh xạ ngữ nghĩa
Bước tiếp theo là vạch ra các đặc điểm của lớp chưa nhìn thấy. Điều này được thực hiện bằng cách tạo các từ nhúng và tạo bản đồ ngữ nghĩa liên kết các thuộc tính hoặc đặc điểm của lớp không nhìn thấy với dữ liệu phụ trợ được cung cấp. Học chuyển giao bằng AI giúp quá trình này diễn ra nhanh hơn nhiều vì nhiều thuộc tính liên quan đến lớp chưa được nhìn thấy đã được ánh xạ.
3. Suy luận
Suy luận là việc sử dụng mô hình để tạo ra dự đoán hoặc đầu ra. Trong phân loại hình ảnh không chụp, các từ nhúng được tạo trên đầu vào hình ảnh nhất định, sau đó được vẽ và so sánh với dữ liệu phụ trợ. Mức độ chắc chắn sẽ phụ thuộc vào sự giống nhau giữa dữ liệu đầu vào và dữ liệu phụ trợ được cung cấp.
Học Zero-Shot cải thiện AI như thế nào
Zero-shot learning cải thiện các mô hình AI bằng cách giải quyết một số thách thức trong học máy, bao gồm:
- Cải thiện khả năng khái quát hóa: Giảm sự phụ thuộc vào dữ liệu được gắn nhãn cho phép các mô hình được đào tạo trong các tập dữ liệu lớn hơn, cải thiện khả năng khái quát hóa và làm cho mô hình trở nên mạnh mẽ và đáng tin cậy hơn. Khi các mô hình trở nên có kinh nghiệm và khái quát hơn, các mô hình thậm chí có thể học được cách hiểu thông thường thay vì phải trải qua quá trình phân tích thông tin.
- Khả năng mở rộng: Các mô hình có thể được đào tạo liên tục và thu thập thêm kiến thức thông qua học tập chuyển giao. Các công ty và nhà nghiên cứu độc lập có thể liên tục cải tiến mô hình của họ để có năng lực cao hơn trong tương lai.
- Giảm thiểu học quá nhiều: Việc học quá nhiều sẽ gây lãng phí nếu như việc sử dụng kiến thức được huấn luyện là không cao hoặc không mang lại nhiều hiệu quả trong thực tế. Với phương pháp này, chúng ta chỉ cần bổ sung những dữ liệu chuyên biệt cho từng lĩnh vực hẹp mà chúng ta cần sử dụng cho từng mục đích cụ thể.
- Hiệu quả về chi phí: Việc cung cấp một lượng lớn dữ liệu được dán nhãn có thể tốn thời gian và nguồn lực. Sử dụng phương pháp Zero-shot learning, việc đào tạo một mô hình mạnh mẽ có thể được thực hiện với ít thời gian và dữ liệu được gắn nhãn hơn.
Khi AI tiến bộ, các kỹ thuật như zero-shot learning sẽ càng trở nên quan trọng hơn.
Tương lai của việc Zero-shot learning
Zero-shot learning đã trở thành một phần thiết yếu của machine learning. Nó cho phép các mô hình nhận dạng và phân loại các lớp mới mà không cần đào tạo rõ ràng (đánh nhãn). Với sự tiến bộ không ngừng trong kiến trúc mô hình, cách tiếp cận dựa trên thuộc tính và tích hợp đa phương thức, phương pháp học Zero-shot có thể giúp đáng kể làm cho các mô hình có khả năng thích ứng cao hơn nhiều trong việc giải quyết các thách thức phức tạp chuyên ngành hẹp như robot, chăm sóc sức khỏe, thị giác máy tính hay các vấn đề riêng lẻ của từng doanh nghiệp dựa trên dữ liệu riêng của mình.