[ad_1]
Hầu như tất cả các tác vụ xử lý ngôn ngữ tự nhiên, từ mô hình hóa ngôn ngữ và dự đoán từ bị che giấu đến dịch thuật và trả lời câu hỏi đều đã được cách mạng hóa khi kiến trúc máy biến áp ra mắt vào năm 2017. Chỉ mất không quá 2–3 năm để máy biến áp cũng xuất sắc trong các tác vụ thị giác máy tính. Trong câu chuyện này, chúng ta sẽ khám phá hai kiến trúc cơ bản cho phép máy biến áp đột phá vào thế giới thị giác máy tính.
Mục lục
· Bộ chuyển đổi tầm nhìn
∘ Ý chính
∘ Hoạt động
∘ Kiến trúc lai
∘ Mất cấu trúc
∘ Kết quả
∘ Học tập tự giám sát bằng cách đeo mặt nạ
· Bộ chuyển đổi tầm nhìn Autoencoder có mặt nạ
∘ Ý chính
∘ Ngành kiến trúc
∘ Nhận xét cuối cùng và ví dụ
Ý chính
Bộ chuyển đổi tầm nhìn chỉ đơn giản có nghĩa là khái quát hóa máy biến áp chuẩn kiến trúc để xử lý và học hỏi từ hình ảnh đầu vào. Có một ý tưởng quan trọng về kiến trúc mà các tác giả đã đủ minh bạch để nêu bật:
“Lấy cảm hứng từ những thành công trong việc mở rộng quy mô Transformer trong NLP, chúng tôi thử nghiệm bằng cách áp dụng Transformer tiêu chuẩn trực tiếp vào hình ảnh, với ít sửa đổi nhất có thể.”
Hoạt động
Có giá trị để lấy “ít sửa đổi nhất có thể” theo nghĩa đen vì chúng hầu như không có bất kỳ thay đổi nào. Những gì chúng thực sự thay đổi là cấu trúc đầu vào:
- Trong NLP, bộ mã hóa máy biến áp có một chuỗi các vectơ nóng (hoặc các chỉ số mã thông báo tương đương) mà đại diện cho câu/đoạn đầu vào và trả về một chuỗi các vectơ nhúng theo ngữ cảnh có thể được sử dụng cho các tác vụ tiếp theo (ví dụ: phân loại)
- Để khái quát CV, bộ chuyển đổi thị giác sẽ thực hiện trình tự các vector vá đại diện cho hình ảnh đầu vào và trả về một chuỗi các vectơ nhúng theo ngữ cảnh có thể được sử dụng cho các tác vụ tiếp theo (ví dụ: phân loại)
Cụ thể, giả sử các hình ảnh đầu vào có kích thước (n, n, 3) để truyền chúng làm đầu vào cho bộ chuyển đổi, thì bộ chuyển đổi thị giác sẽ thực hiện như sau:
- Chia nó thành các bản vá k² cho một số ok (ví dụ: ok=3) như trong hình trên.
- Bây giờ mỗi bản vá sẽ là (n/ok,n/ok,3), bước tiếp theo là làm phẳng từng bản vá thành một vectơ
Vectơ vá sẽ có chiều 3*(n/ok)*(n/ok). Ví dụ: nếu hình ảnh là (900,900,3) và chúng tôi sử dụng ok=3 thì vectơ vá sẽ có chiều 300*300*3 biểu thị các giá trị pixel trong miếng vá phẳng. Trong bài báo, tác giả sử dụng ok=16. Do đó, tên của bài báo là “Một hình ảnh có giá trị 16×16 từ: Máy biến áp để nhận dạng hình ảnh ở tỷ lệ” thay vì cung cấp một vectơ nóng đại diện cho từ, chúng biểu thị một pixel vectơ đại diện cho một mảng hình ảnh.
Các thao tác còn lại vẫn giống như trong bộ mã hóa biến áp gốc:
- Các vectơ vá này đi qua một lớp nhúng có thể đào tạo được
- Các phần nhúng vị trí được thêm vào mỗi vectơ để duy trì cảm giác về thông tin không gian trong hình ảnh
- Đầu ra là num_patches biểu diễn mã hóa (một cho mỗi bản vá) có thể được sử dụng để phân loại ở cấp độ bản vá hoặc hình ảnh
- Thông thường hơn (và như trong bài báo), mã thông báo CLS được thêm vào trước biểu diễn tương ứng với mã được sử dụng để đưa ra dự đoán trên toàn bộ hình ảnh (tương tự như BERT)
Còn bộ giải mã máy biến áp thì sao?
Chà, hãy nhớ rằng nó giống như bộ mã hóa máy biến áp; sự khác biệt là nó sử dụng tính năng tự chú ý được che đậy thay vì tự chú ý (nhưng vẫn giữ nguyên chữ ký đầu vào). Trong mọi trường hợp, bạn nên hiếm khi sử dụng kiến trúc máy biến áp chỉ có bộ giải mã vì việc chỉ dự đoán bản vá tiếp theo có thể không phải là một nhiệm vụ đáng quan tâm.
Kiến trúc lai
Các tác giả cũng đề cập rằng có thể bắt đầu với bản đồ đặc trưng CNN thay vì chính hình ảnh để tạo thành một kiến trúc kết hợp (đầu ra cung cấp CNN cho máy biến áp tầm nhìn). Trong trường hợp này, chúng tôi coi đầu vào là bản đồ đặc trưng chung (n,n,p) và vectơ vá lỗi sẽ có kích thước (n/ok)*(n/ok)*p.
Mất cấu trúc
Bạn có thể nghĩ rằng kiến trúc này không nên tốt như vậy vì nó coi hình ảnh như một cấu trúc tuyến tính trong khi thực tế không phải vậy. Tác giả cố gắng miêu tả rằng điều này là có chủ ý bằng cách đề cập đến
“Cấu trúc vùng lân cận hai chiều được sử dụng rất tiết kiệm…việc nhúng vị trí tại thời điểm khởi tạo không mang thông tin về vị trí 2D của các mảng và tất cả các mối quan hệ không gian giữa các mảng phải được học từ đầu”
Chúng ta sẽ thấy rằng máy biến áp có thể học được điều này như bằng chứng về hiệu suất tốt của nó trong các thí nghiệm của họ và quan trọng hơn là kiến trúc trong bài báo tiếp theo.
Kết quả
Phán quyết chính từ kết quả là các máy biến đổi tầm nhìn có xu hướng không hoạt động tốt hơn các mô hình dựa trên CNN đối với các tập dữ liệu nhỏ nhưng lại tiếp cận hoặc vượt trội hơn các mô hình dựa trên CNN đối với các tập dữ liệu lớn hơn và cả hai cách đều yêu cầu tính toán ít hơn đáng kể:
Ở đây, chúng ta thấy rằng đối với tập dữ liệu JFT-300M (có 300M hình ảnh), các mô hình ViT được đào tạo trước trên tập dữ liệu hoạt động tốt hơn các đường cơ sở dựa trên ResNet trong khi sử dụng ít tài nguyên tính toán hơn để đào tạo trước. Có thể thấy, máy biến áp tầm nhìn lớn nhất mà họ sử dụng (ViT-Enormous với thông số 632M và ok=16) đã sử dụng khoảng 25% lượng điện toán được sử dụng cho mô hình dựa trên ResNet và vẫn hoạt động tốt hơn nó. Hiệu suất thậm chí không bị giảm nhiều đến mức đó với ViT-Giant chỉ sử dụng <6,8% lượng điện toán.
Trong khi đó, những người khác cũng cho thấy kết quả trong đó ResNet hoạt động tốt hơn đáng kể khi được đào tạo trên ImageNet-1K vốn chỉ có 1,3 triệu hình ảnh.
Học tập tự giám sát bằng cách đeo mặt nạ
Các tác giả đã thực hiện một cuộc khám phá sơ bộ về dự đoán bản vá bị che giấu để tự giám sát, mô phỏng tác vụ mô hình hóa ngôn ngữ bị che giấu được sử dụng trong BERT (tức là che giấu các bản vá và cố gắng dự đoán chúng).
“Chúng tôi sử dụng mục tiêu dự đoán bản vá che giấu cho các thí nghiệm tự giám sát sơ bộ. Để làm như vậy, chúng tôi làm hỏng 50% nhúng bản vá bằng cách thay thế nhúng của chúng bằng nhúng (mặt nạ) có thể học được (80%), nhúng bản vá ngẫu nhiên khác (10%) hoặc chỉ giữ nguyên chúng (10%).”
Với quá trình đào tạo trước tự giám sát, mô hình ViT-Base/16 nhỏ hơn của họ đạt được độ chính xác 79,9% trên ImageNet, cải thiện đáng kể 2% so với đào tạo từ đầu. Nhưng vẫn kém 4% so với đào tạo trước có giám sát.
Ý tưởng chính
Như chúng ta đã thấy từ bài báo về máy biến đổi thị giác, lợi ích từ việc đào tạo trước bằng cách che các bản vá trong hình ảnh đầu vào không đáng kể như trong NLP thông thường, trong đó việc đào tạo trước có che có thể dẫn đến kết quả tiên tiến trong một số tác vụ tinh chỉnh.
Bài báo này đề xuất một kiến trúc biến đổi thị giác bao gồm một bộ mã hóa và một bộ giải mã khi được đào tạo trước với mặt nạ sẽ mang lại những cải tiến đáng kể so với mô hình biến đổi thị giác cơ sở (cải thiện tới 6% so với việc đào tạo một biến đổi thị giác kích thước cơ sở theo cách có giám sát).
Đây là một số mẫu (đầu vào, đầu ra, nhãn thực). Đó là một bộ mã hóa tự động theo nghĩa là nó cố gắng tái tạo lại đầu vào trong khi điền vào các bản vá bị thiếu.
Ngành kiến trúc
Của họ mã hoá chỉ đơn giản là bộ mã hóa biến đổi thị giác thông thường mà chúng tôi đã giải thích trước đó. Trong quá trình đào tạo và suy luận, nó chỉ lấy các bản vá “được quan sát”.
Trong khi đó, họ bộ giải mã cũng chỉ đơn giản là bộ mã hóa biến áp tầm nhìn thông thường nhưng nó cần:
- Các vectơ mã thông báo được che dấu cho các bản vá bị thiếu
- Các vectơ đầu ra của bộ mã hóa cho các bản vá đã biết
Vì vậy, đối với một hình ảnh ( ( A, B, X), (C, X, X), (X, D, E)) trong đó X biểu thị một bản vá bị thiếu, bộ giải mã sẽ lấy chuỗi vectơ vá lỗi (Enc(A) , Enc(B), Vec(X), Vec(X), Vec(X), Enc(D), Enc(E)). Enc trả về vectơ đầu ra của bộ mã hóa dựa trên vectơ vá và X là vectơ biểu thị mã thông báo bị thiếu.
Các lớp cuối cùng trong bộ giải mã là một lớp tuyến tính ánh xạ các nhúng ngữ cảnh (do bộ mã hóa biến đổi thị giác trong bộ giải mã tạo ra) thành một vectơ có độ dài bằng kích thước bản vá. Hàm mất mát là lỗi bình phương trung bình, bình phương sự khác biệt giữa vectơ bản vá ban đầu và vectơ dự đoán của lớp này. Trong hàm mất mát, chúng ta chỉ xem xét các dự đoán của bộ giải mã do các mã thông báo bị che giấu và bỏ qua các mã thông báo tương ứng với các mã thông báo hiện tại (tức là Dec(A),. Dec(B), Dec(C), v.v.).
Nhận xét cuối cùng và ví dụ
Có thể bạn sẽ ngạc nhiên khi các tác giả đề xuất che khoảng 75% các bản vá trong hình ảnh; BERT chỉ che khoảng 15% các từ. Họ biện minh như sau:
Hình ảnh,là các tín hiệu tự nhiên có độ dư thừa lớn về mặt không gian – ví dụ: một bản vá bị thiếu có thể được khôi phục từ các bản vá lân cận mà không có hiểu biết sâu sắc về các bộ phận, vật thể và cảnh. Để khắc phục sự khác biệt này và khuyến khích tìm hiểu các tính năng hữu ích, chúng tôi che giấu một tỷ lệ rất lớn các bản vá ngẫu nhiên.
Bạn muốn tự mình thử nó? Kiểm tra cái này sổ tay demo bởi NielsRogge.
Đây là tất cả cho câu chuyện này. Chúng ta đã trải qua một hành trình để hiểu cách các mô hình máy biến áp cơ bản khái quát hóa thế giới thị giác máy tính. Hy vọng bạn thấy nó rõ ràng, sâu sắc và đáng thời gian của bạn.
Người giới thiệu:
(1) Dosovitskiy, A. et al. (2021) Một hình ảnh có giá trị bằng 16×16 từ: Máy biến áp để nhận dạng hình ảnh ở quy mô lớn, arXiv.org. Có sẵn tại: https://arxiv.org/abs/2010.11929 (Truy cập: ngày 28 tháng 6 năm 2024).
(2) Ông, Ok. et al. (2021) Bộ mã hóa tự động đeo mặt nạ là những người học thị giác có thể mở rộng, arXiv.org. Có sẵn tại: https://arxiv.org/abs/2111.06377 (Truy cập: ngày 28 tháng 6 năm 2024).
[ad_2]
Source link