Giới thiệu
Transformers không chỉ được ứng dụng rộng rãi cho các trường hợp sử dụng Xử lý ngôn ngữ tự nhiên, mà còn mang lại tiềm năng lớn trong nhiều lĩnh vực khác của Trí tuệ nhân tạo như Dự đoán dữ liệu dạng chuỗi (Times Series Analysis) hay Thị giác máy tính (CV).
Những ví dụ điển hình về các mô hình Transformers áp dụng trong thị giác máy tính bao gồm Stable Diffusion -tạo hình ảnh, Detection Transformer -nhận diện đối tượng hay gần đây nhất là SAM, mô hình tiên tiến cho phép phân đoạn hình ảnh. Một điểm đáng giá của của những mô hình này là khả năng chỉnh sửa hình ảnh chỉ bằng các lệnh văn bản đơn giản, giúp giảm thiểu đáng kể công sức và thời gian xử lý.
Các ứng dụng của loại mô hình này là vô cùng đa dạng, đặc biệt là lĩnh vực thương mại điện tử. Chẳng hạn, quy trình tốn kém và mất thời gian từ việc chụp ảnh sản phẩm đến đăng lên website bán hàng có thể được tự động hóa hoàn toàn. Thay vì phải chụp ảnh và chỉnh sửa, AI có thể đảm nhiệm phần lớn công việc này, giúp tối ưu hóa năng suất làm việc và con người chỉ cần đảm nhiệm kiểm tra kết quả cuối cùng mà AI đã thực hiện. Trong bài viết này, chúng ta sẽ cùng khám phá chi tiết về SAM, mô hình phân đoạn hình ảnh, và cách triển khai nó trong trường hợp thực tế: tiến hành thử nghiệm A/B để tìm ra loại phông nền nào có thể tối ưu hóa tỷ lệ chuyển đổi khách hàng.
SAM: Mô hình phân đoạn bất kỳ đối tượng
SAM được phát triển bởi Meta, cho phép phân đoạn đối tượng trong hình ảnh thông qua các lời nhắc (prompt) dưới dạng văn bản, mặt nạ (mask), hộp giới hạn (bounding box) hoặc thậm chí chỉ là một điểm trên hình.
Lấy cảm hứng từ những tiến bộ mới nhất trong lĩnh vực Xử lý ngôn ngữ tự nhiên, đặc biệt là từ các mô hình Ngôn ngữ lớn (LLMs) SAM hoạt động dựa trên nguyên tắc tượng tự: khi người dùng cung cấp một lệnh (prompt) không rõ ràng, mô hình vẫn có thể trả ra kết quả theo mong đợi của người dùng một cách rõ ràng và hợp lý. Với vai trò là một công cụ phân đoạn dựa trên câu lệnh (prompt), SAM có khả năng xử lý các tác vụ phân đoạn mới và ứng dụng vào nhiều trường hợp khác nhau mà không cần phải tinh chỉnh lại dữ liệu quá nhiều hoặc thậm chí không cần tinh chỉnh.
Cấu trúc Mô hình SAM
SAM có ba thành phần chính (Hình 2)
1. Bộ mã hóa hình ảnh (Image Encoder)
Bộ mã hóa hình ảnh là một phiên bản tinh chỉnh từ mô hình Masked AutoEncoder (MAE). MAE được đào tạo trước trên các hình ảnh được chia thành các ô vuông bằng nhau, trong đó 75% số ô bị che khuất. Sau khi xử lý hình ảnh, bộ mã hóa chỉ nhận những ô không bị che và mã hóa chúng thành các vector đặc trưng (embedding vector). Những véc tơ này sau đó được kết hợp với các mask tokens (xác định các ô bị thiếu cần dự đoán) và đặc trưng về vị trí (positional embeddings) trước khi được chuyển qua bộ giải mã để tái tạo lại hình ảnh ban đầu.
Phần quan trọng nhất trong quá trình này là quyết định chọn những mảng (patches) nào sẽ bị che đi. Điều này được thực hiện bằng phương pháp lấy mẫu ngẫu nhiên không thay thế (random sampling without replacement) kết hợp với tỷ lệ che phủ cao (75%), giúp tạo ra một đề bài phức tạp cho mô hình và không thể giải quyết chỉ bằng cách suy đoán từ các mảng lân cận có thể nhìn thấy. Vì vậy, bộ mã hóa phải học cách tạo ra các biểu diễn vector chất lượng cao của hình ảnh, nhờ đó, bộ giải mã có thể tái tạo lại hình ảnh gốc một cách chính xác.
Nhà phát triển đã tối ưu hóa bộ mã hóa hình ảnh (image encoder) để tạo ra một các đặc trưng (embedding) với độ phân giải giảm 16 lần so với hình ảnh gốc, tạo thành kích thước 64×64 với 256 kênh.
2. Bộ mã hóa lệnh linh hoạt (Flexible Prompt Encoder)
Bộ mã hóa lời nhắc linh hoạt có bốn thành phần khác nhau, được kích hoạt tùy thuộc vào lệnh mà mô hình nhận được.
Đối với mặt nạ (masks), hình ảnh sẽ được xử lý qua một mạng nơ-ron tích chập (CNN), thu nhỏ kích thước hình hai lần bằng hệ số 4, sử dụng bộ lọc nhân (kernel) 2×2 và phép toán tích chập stride-2 với các kênh đầu ra lần lượt là 4 và 16. . Sau đó, tích chập 1×1 ánh xạ chiều kênh thành 256, sau đó được thêm từng phần tử vào đầu ra của bộ mã hóa hình ảnh. Trong trường hợp không có mặt nạ, mô hình sẽ sử dụng đặc trưng đã được đào tạo của “không có mặt nạ” (no mask) để thay thế cho đặc trưng mặt nạ.
- Điểm (Points) : Các điểm được biểu diễn thông qua đặc trưng vị trí được đào tạo nhằm xác định điểm đó thuộc đối tượng (foreground) hay thuộc nền ảnh (background).. Tọa độ của một điểm được ánh xạ vào các điểm Fourier trước khi đưa vào Perceptron nhiều lớp, giúp cải thiện chất lượng đầu ra của hình ảnh. Như minh họa trong Hình 5, đối với các tác vụ tái tạo hình ảnh (image regression), mô hình có thể tạo ra hình ảnh rõ nét khi sử dụng các đặc trưng Fourier.
Đối với SAM, nhà phát triển cũng áp dụng logic tương tự và tạo ra một vector 256 chiều để biểu diễn vị trí của mỗi điểm điểm, giúp mô hình hiểu rõ hơn về vị trí của chúng trong không gian.
- Hộp (Boxes) được xử lý theo nguyên tắc tương tự như các điểm, với đặc trưng vị trí cho góc trên cùng bên trái và góc dưới cùng bên phải.. Tuy nhiên, thay vì sử dụng hai đặc trưng được đào tạo để xác định foreground hay background, mô hình sử dụng hai đặc trưng được đào tạo để xác định chính xác vị trí của góc trên cùng bên trái và góc dưới cùng bên phải của hộp.
- Văn bản (Text)được mã hóa bằng bộ mã hóa văn bản từ CLIP, một mô hình do OpenAI phát triển. Thay vì tiếp cận theo phương pháp truyền thống với các tập hợp đối tượng cố định, CLIP được đào tạo để dự đoán bất kỳ nội dung nào có thể đi kèm hình ảnh, mang đến sự linh hoạt trong việc xử lý nhiều loại mô tả khác khác nhau. Nhờ vào cách tiếp cận này, đặc trưng văn bản được tạo bởi bộ mã hóa văn bản có thể kết hợp với đặc trưng hình ảnh để thực hiện phân loại theo phương pháp zero-shot, dựa trên độ đo cosin giữa hai vector đặc trưng. Trong SAM, đầu ra của bộ mã hóa văn bản trong là một vector 256 chiều.
3. Bộ giải mã mặt nạ nhanh (Fast Mask Decoder)
Bộ giải mã mặt nạ nhanh (Fast Mask Decoder) có 2 lớp giải mã ánh xạ đặc trưng hình ảnh và một tập hợp vector đặc trưng câu lệnh vào mặt nạ đầu ra.
Lớp giải mã nhận các mã lời nhắc làm đầu vào, sau đó xử lý chúng qua lớp self-attention. Đầu ra sau đó được kết hợp với đặc trưng hình ảnh trong lớp cross-attention giúp cập nhật đặc trưng câu lệnh dựa trên thông tin hình ảnh. Tiếp theo, đặc trưng của câu lệnh được truyền qua Perceptron nhiều lớp, tạo ra một lớp cross-attention khác có nhiệm vụ cập nhật đặc trưng hình ảnh bằng thông tin câu lệnh. Đầu ra của lớp giải mã thứ hai, tức đặc trưng hình ảnh đã được điều chỉnh bởi các câu lệnh đầu vào,, đi qua hai lớp tích chập chuyển vị (transposed convolution) để nâng cao độ phân giải hình ảnh.
Đồng thời, đầu ra từ Perceptron nhiều lớp được kết hợp với cùng đặc trưng hình ảnh quạt lớp cross-attention mới. Điều này cung cấp đầu vào cho một Perceptron nhiều lớp có ba lớp, tạo ra một véc-tơ được kết hợp với đặc trưng hình ảnh đã được nâng cao độ phân giải bằng phép nhân từng điểm theo không gian, từ đó tạo ra mặt nạ cuối cùng.Lưu ý rằng, ở mỗi lớp attention, đặc trưng về vị trí cũng được thêm vào đặc trưng hình ảnh để cải thiện độ chính xác của quá trình.
KẾT LUẬN
Trong bối cảnh công nghệ đang không ngừng phát triển, các mô hình xử lý hình ảnh tiên tiến như SAM và các bộ mã hóa linh hoạt mang lại nhiều cơ hội mới cho việc tự động hóa và cải thiện quy trình làm việc. Từ việc phân đoạn hình ảnh đến tái tạo chi tiết phức tạp, cho phép doanh nghiệp tối ưu hóa quy trình, tiết kiệm thời gian và tài nguyên. Nhờ vào sự kết hợp giữa các mô hình tạo đặc trưng mạnh mẽ và kỹ thuật attention tiên tiến, các mô hình này có khả năng giải quyết nhiều bài toán phức tạp mà trước đây cần sự can thiệp thủ công.