0
0
Lập trình
Admin Team
Admin Teamtechmely

Học Từ Ít Dữ Liệu: Giải Pháp Hiệu Quả Cho Phân Loại Hình Ảnh

Đăng vào 3 tuần trước

• 3 phút đọc

Chủ đề:

Deep Learning

Giới thiệu về Few-Shot Learning

Trong lĩnh vực Deep Learning, việc huấn luyện một mô hình chính xác thường phụ thuộc vào số lượng dữ liệu lớn. Tuy nhiên, trong nhiều trường hợp, đặc biệt trong tác vụ Computer Vision, người dùng chỉ có thể tiếp cận 1-2 mẫu dữ liệu cho mỗi lớp. Điều này gây khó khăn cho việc huấn luyện và làm giảm độ chính xác của mô hình. Học từ ít mẫu dữ liệu, hay còn gọi là Few-shot Learning, mang lại hy vọng cho việc giải quyết vấn đề này.

Một ví dụ dễ hiểu là khi trẻ em học nhận diện động vật: chỉ cần nhìn thấy một hình ảnh của con mèo, trẻ có thể dễ dàng nhận diện mèo trong tương lai. Vậy liệu máy móc có thể đạt được khả năng tương tự? Đó chính là thách thức mà Few-shot Learning muốn giải quyết.

Bài Toán Phân Loại Ảnh Few-Shot

Trước tiên, chúng ta cần hiểu rõ khái niệm N-way K-shot image classification task. Cấu trúc bài toán này bao gồm:

  1. Support set với N nhãn, mỗi nhãn chứa K ảnh đã được gán nhãn.
  2. Query set bao gồm Q ảnh chưa được phân loại.

Nhiệm vụ là phân loại các ảnh truy vấn dựa trên thông tin từ N x K ảnh trong Support set. Khi K nhỏ (K < 10), ta đang đối mặt với bài toán few-shot image classification, hoặc một lần phân loại (one-shot) trong trường hợp K = 1.

Ví dụ: nếu K = 2 và N = 3 trong support set, ta có 2 ảnh cho mỗi lớp con chó (Labrador, Saint-Bernard hoặc Pug) và muốn phân loại 4 ảnh vào một trong 3 nhãn đó.

Ngay cả khi con người chưa nhìn thấy Pug, Saint-Bernard hoặc Labrador bao giờ, họ vẫn có thể chọn nhãn dựa vào support set. Tuy nhiên, để AI thực hiện điều này, cần phải áp dụng Meta-learning.

Mô Hình Meta-Learning

Để giải quyết một tác vụ cụ thể như TTT, thuật toán Meta-learning được huấn luyện dựa trên các tác vụ huấn luyện TiT_i. Kinh nghiệm thu được từ các tác vụ này sẽ được tận dụng để giải quyết tác vụ TTT.

Giả sử ta có tác vụ TTT bắt buộc phân loại ảnh thuộc giống chó mà không có dữ liệu hỗ trợ (Labrador, Saint-Bernard, Pug). Việc xây dựng một tập huấn luyện với các giống chó khác dựa trên dataset có sẵn (như Stanford Dogs Dataset) cho phép mô hình Meta-learning được tạo ra hỗ trợ cho việc phân loại.

Thuật Toán Meta-Learning

Dưới đây là một số thuật toán tiêu biểu trong Meta-learning:

Metric Learning

Metric Learning có mục tiêu học cách đo lường khoảng cách giữa các điểm dữ liệu. Thay vì điều chỉnh mô hình trên support set, thuật toán này sử dụng việc so sánh các ảnh truy vấn với các ảnh trong support set để phân loại.

Chúng ta trích xuất các đặc trưng của tất cả ảnh, và khoảng cách giữa ảnh truy vấn và các ảnh trong support set sẽ xác định nhãn của ảnh truy vấn.

Prototypical Networks

Một phương pháp đơn giản nhưng hiệu quả là Prototypical Networks. Trong đó, ta tính toán trung bình của các embedding cho mỗi lớp để tạo ra một prototype, và phân loại ảnh truy vấn dựa trên khoảng cách đến các prototype này.

Model-Agnostic Meta-Learning (MAML)

MAML là một trong những thuật toán Meta-learning cơ bản, cho phép mô hình dễ dàng thích ứng với các tác vụ mới chỉ với ít mẫu dữ liệu. Tuy nhiên, MAML thường khó huấn luyện và tối ưu hóa hơn so với các phương pháp Metric Learning.

Cài Đặt Prototypical Networks

Để thực hiện Prototypical Networks, cần chuẩn bị môi trường và dataset. Bộ dữ liệu phổ biến dùng để benchmark là Omniglot, bao gồm nhiều ký tự từ 50 bảng chữ cái khác nhau với khả năng nhận dạng từ hình ảnh.

Đánh Giá Mô Hình

Sau khi cài đặt xong Prototypical Networks, chúng ta có thể đánh giá mô hình với độ chính xác tốt. Kết quả đạt từ 86% đến 98% tùy thuộc vào lượng dữ liệu huấn luyện và phương pháp tối ưu hóa được sử dụng.

Kết Luận

Thông qua bài viết này, người đọc đã tìm hiểu về Few-shot Learning, các thuật toán liên quan và quá trình cài đặt mô hình Prototypical Networks. Việc áp dụng Meta-learning trong huấn luyện mô hình đã giúp cải thiện độ chính xác một cách đáng kể.

Tham Khảo

[1] https://proceedings.neurips.cc/paper/2016/hash/90e1357833654983612fb05e3ec9148c-Abstract.html

[2] https://www.sicara.fr/blog-technique/2019-07-30-image-classification-few-shot-meta-learning
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào