Tải bản đầy đủ (.docx) (73 trang)

A method for self supervised training of vision transformers

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.76 MB, 73 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN 1
A Method For Self-Supervised Training Of Vision
Transformers

Giảng viên hướng dẫn:

ThS. HUỲNH TUẤN ANH

Sinh viên thực hiện:

HUỲNH TRUNG THẢO

MSSV:

20521932

Tp. Hồ Chí Minh, tháng 06 năm 2023


LỜI CẢM ƠN
Đầu tiên, cho phép em xin phép gửi lời cảm ơn đến tập thể quý thầy cô của
Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh
cũng như q thầy cơ thuộc Khoa Cơng nghệ Phần mềm đã giúp em có những kiến
thức nền tảng hữu ích để có thể tìm hiểu đề tài này.
Đặc biệt, em xin gửi lời cảm ơn chân thành đến thầy Huỳnh Tuấn Anh, người đã
tạo điều kiện và hướng dẫn em trong việc thực hiện đề tài này, một đề tài mà em thử


sức mình với một thứ gì đó mới mẻ và cũng rất thú vị.
Nhờ có những kiến thức và kinh nghiệm từ thầy Tuấn Anh cũng như q
thầy(cơ) trong trường nói chung mà em đã có thể tận dụng để thực hiện đề tài. Tuy
nhiên, trong quá trình thực hiện đề tài cũng sẽ khơng thể tránh khỏi những hạn chế,
thiếu sót. Em mong rằng sẽ nhận được những nhận xét, góp ý từ thầy cũng như các
giảng viên khác, để em có thể ngày một tốt hơn và hồn thiện hơn. Em rất biết ơn và vô
cùng trân trọng.

Thành phố Hồ Chí Minh, ngày 12 tháng 06 năm 2022
Huỳnh Trung Thảo


NHẬN XÉT CỦA GIẢNG VIÊN

MỤC LỤC
TÓM TẮT ĐỒ ÁN...............................................................................................1
Chương 1. GIỚI THIỆU TỔNG QUAN............................................................3
1.1.

Lý do chọn đề tài.............................................................................................3

1.2.

Giới thiệu đề tài...............................................................................................3

1.2.1.

Phạm vi nghiên cứu..................................................................................4

1.2.2.


Nội dung nghiên cứu................................................................................5

1.2.3.

Kết quả mong muốn.................................................................................5

Chương 2. BÀI TỐN PHÂN LOẠI HÌNH ẢNH VÀ TỔNG QUAN VỀ
VISION TRANSFORMERS (ViTs)...................................................................7


2.1.

Bài tốn phân loại hình ảnh, kiến trúc Vison Transformers và phương

pháp Self-Supervised Training.................................................................................7
2.1.1.

Tổng quan về phân loại hình ảnh (Image Classification)......................7

2.1.2.

Sơ lược về Vision Transformers (ViTs)................................................12

2.1.3.

Phương pháp huấn luyện tự giám sát (Self-Supervised Training)......16

2.1.4.


Sự kết hợp Vision Transformers và Self-Supervised Training...........18

2.2.

Cấu trúc và hoạt động của ViTs...................................................................20

2.3.

Ưu điểm và hạn chế của ViTs.......................................................................21

2.3.1.

Ưu điểm...................................................................................................21

2.3.2.

Hạn chế....................................................................................................22

2.4.

Các nghiên cứu liên quan về ViTs................................................................23

Chương 3. PHƯƠNG PHÁP HUẤN LUYỆN TỰ GIÁM SÁT CHO VISION
TRANSFORMERS............................................................................................25
3.1.

Tầm quan trọng của phương pháp huấn luyện tự giám sát trong thị giác

máy tính................................................................................................................... 25
3.2.


Các phương pháp huấn luyện tự giám sát được áp dụng cho ViTs...........28

3.3.

Quy trình huấn luyện tự giám sát cho ViTs................................................30

Chương 4. NGHIÊN CỨU VÀ ĐÁNH GIÁ....................................................32
4.1.

Tìm hiểu phương pháp Group Masked Model Learning (GMML) và sơ

lược về nghiên cứu...................................................................................................32
4.2.

Các kỹ thuật Self-supervised tiên tiến.........................................................34

4.2.1.

So sánh với các nghiên cứu đã có..........................................................34

4.2.2.

So sánh với phương pháp ra đời sau.....................................................36


4.3.

Giải thích phương pháp................................................................................38


4.3.1.

Self-Supervised Vision Transformer.....................................................40

4.3.2.

Self-Supervised Tasks.............................................................................42

4.3.3.

End-to-End Self-Supervised Training...................................................46

4.4.

Kết quả thực nghiệm và thảo luận...............................................................48

4.4.1.

Chi tiết cách thực hiện............................................................................49

4.4.2.

Phân loại đa lớp (Multi-class Classification)........................................51

4.4.3.

Phân loại đa nhãn (Multi-Label Classification)...................................54

4.4.4.


Phân đoạn đối tượng riêng biệt (Instance Segmentation)...................55

4.4.5.

Nghiên cứu loại bỏ thành phần (Ablation Study).................................56

4.5.

Đánh giá và kết luận.....................................................................................61

Chương 5. TỔNG KẾT.....................................................................................63
5.1.

Kết luận..........................................................................................................63

5.1.1.

Kết quả đạt được....................................................................................63

5.1.2.

Tiềm năng và ứng dụng..........................................................................63

5.1.3.

Hạn chế....................................................................................................64

5.2.

Hướng phát triển...........................................................................................64


DANH MỤC TÀI LIỆU THAM KHẢO..........................................................66


DANH MỤC HÌNH ẢNH
Hình 2.1 - Sự khác biệt giữa phát hiện đối tượng, phân đoạn và phân loại ảnh..............7
Hình 2.2 - Ví dụ minh họa bài tốn Image Classification...............................................8
Hình 2.3 - Sơ đồ hoạt động CNN.................................................................................10
Hình 2.4 - Mơ hình tổng quan hoạt động của Vision Transformer...............................14
Hình 2.5 - Bản đồ Attention của ViT được trực quan hóa trên hình ảnh......................15
Hình 2.6 - Mơ hình chi tiết cấu trúc hoạt động ViTs....................................................20
Hình 4.1 - Cơng thức đầu ra của khối Self-attention.....................................................41
Hình 4.2 - Cơng thức hàm mất mát (1-loss) sử dụng trong tái tạo hình ảnh................44
Hình 4.3 - Normalized Temperature-Scaled Softmax Similarity..................................45
Hình 4.4 - Contrastive Loss Function...........................................................................46
Hình 4.5 - Multi-Task Self-Supervised Total Loss.......................................................47
Hình 4.6 - Hình ảnh được tái tạo từ mơ hình SiT đã được huấn luyện.........................48
Hình 4.7 - Bảng thống kê dữ liệu được sử dụng...........................................................49
Hình 4.8 - Bảng so sánh với các phương pháp tiên tiến khi được tiền huấn luyện và
điều chỉnh trên tập dữ liệu mục tiêu sử dụng mơ hình ViT-S/16..................................51
Hình 4.9 - Bảng chuyển đổi miền của SiT được tiền huấn luyện trên tập dữ liệu
ImageNet-1K................................................................................................................ 53
Hình 4.10 - Bảng mAP (mean Average Precision) của q trình suy luận thơng thường
trên các bộ dữ liệu PASCAL VOC 2007, VG-500 và MS-COCO................................54
Hình 4.11 - Bảng phân đoạn đối tượng video DAVIS 2017.........................................56
Hình 4.12 - Bảng ảnh hưởng của các thành phần khác nhau trong SiT đến tiền huấn
luyện tự giám sát..........................................................................................................56
Hình 4.13 - Nghiên cứu thử nghiệm về hiệu ứng của (a) Longer pretraining, (b) Type
of corruption, and (c) Percentage of corruption............................................................58



Hình 4.14 - Minh họa t-SNE của các biểu diễn của 8.000 hình ảnh trong bộ dữ liệu
STL-10 được trích xuất từ các mơ hình SiT tiền huấn luyện và điều chỉnh..................60
Hình 4.15 - Sự chú ý của class token [CLS] sau giai đoạn tiền huấn luyện của SiT theo
hướng không giám sát trên tập dữ liệu ImageNet sử dụng mơ hình transformer thị giác
ViT-S/16....................................................................................................................... 61


TÓM TẮT ĐỒ ÁN
Đồ án "A Method For Self-Supervised Training Of Vision Transformers" tập
trung vào việc nghiên cứu và đề xuất một phương pháp độc đáo để huấn luyện mô hình
Vision Transformer (ViT) tự giám sát từ dữ liệu khơng có nhãn. Vision Transformer là
một kiến trúc mới trong lĩnh vực thị giác máy tính, sử dụng Transformer để xử lý thơng
tin hình ảnh. Tuy nhiên, việc huấn luyện mơ hình ViT u cầu một lượng lớn dữ liệu
có nhãn, điều này có thể hạn chế ứng dụng của nó trong các tình huống có hạn chế về
dữ liệu.
Trong đề tài này, em đề xuất phương pháp SiT (Self-Supervised Training of
Vision Transformers) để huấn luyện mơ hình ViT từ dữ liệu khơng có nhãn. SiT sử
dụng tự giám sát và đánh giá tiền đề để tạo ra các nhiệm vụ phụ cho mơ hình, bao gồm
việc tái tạo ảnh và học phản biện. Đặc biệt, em kết hợp việc huấn luyện từ một số
lượng lớn các ảnh bị biến đổi và lựa chọn các nhiệm vụ phụ phù hợp để tăng cường
khả năng học và phân biệt của mơ hình.
Trong quá trình thực hiện đề tài, em đã tiến hành các nghiên cứu và thử nghiệm
trên tập dữ liệu ImageNet. Kết quả cho thấy, phương pháp SiT vượt qua các phương
pháp tự giám sát tiên tiến khác và đạt được hiệu suất tốt hơn trong việc phân loại ảnh.
Đồng thời, em cũng đã thực hiện các nghiên cứu về hiệu quả của việc huấn luyện trong
các trường hợp khác nhau, bao gồm số lượng epoch, loại biến đổi dữ liệu, tỷ lệ biến đổi
và sự phù hợp của việc áp dụng nhiệm vụ phụ.
Từ những kết quả đạt được, em nhận thấy tiềm năng và ứng dụng rộng của
phương pháp SiT trong lĩnh vực thị giác máy tính. SiT có thể được áp dụng trong các

tác vụ phân loại ảnh, phân đoạn và phát hiện đối tượng. Điều này mở ra những cánh
cửa mới cho việc sử dụng mơ hình ViT trong các bối cảnh thực tế. Tuy nhiên, từ đồ án
em cũng rút ra được những hạn chế hiện tại của phương pháp, bao gồm tài nguyên tính

1


toán lớn và cần thêm nghiên cứu để cải thiện khả năng tổng qt hóa và khả diễn giải
của mơ hình.
Tóm lại, đồ án tổng quan sẽ trình bày những nội dung, khái niệm và các đánh
giá báo cáo về ViT và phương pháp huấn luyện tự giám sát, từ đó đề xuất và nghiên
cứu một phương pháp độc đáo để huấn luyện mơ hình Vision Transformer tự giám sát
từ dữ liệu khơng có nhãn. Phương pháp SiT đã đạt được kết quả ấn tượng và mang lại
tiềm năng và ứng dụng rộng trong lĩnh vực thị giác máy tính. Tuy nhiên, cần tiếp tục
nghiên cứu và khắc phục những hạn chế hiện tại để đảm bảo hiệu suất và ứng dụng của
phương pháp trong các bối cảnh thực tế.

2


Chương 1. GIỚI THIỆU TỔNG QUAN
1.1.

Lý do chọn đề tài
Đề tài "A Method For Self-Supervised Training Of Vision Transformers"

là một lựa chọn thích hợp để em nghiên cứu và tìm hiểu vì nhiều lý do sau đây.
Mặc dù đề tài đã xuất hiện từ trước, nhưng phương pháp Self-Supervised
Training of Vision Transformers vẫn chưa phổ biến rộng rãi trong cộng đồng
lập trình viên phần mềm. Điều này tạo ra một cơ hội để em nghiên cứu và khám

phá một lĩnh vực mới, cũng như cập nhật kiến thức về thị giác máy tính và
phương pháp huấn luyện tự giám sát.
Việc tìm hiểu và nghiên cứu về Self-Supervised Training of Vision
Transformers không chỉ mở rộng kiến thức của em trong lĩnh vực lập trình phần
mềm, mà cịn đưa em vào một lĩnh vực giao cắt giữa trí tuệ nhân tạo, thị giác
máy tính và học máy. Điều này giúp em hiểu rõ hơn về ứng dụng của công nghệ
trong việc giải quyết các vấn đề thực tế.
Self-Supervised Training of Vision Transformers có tiềm năng ứng dụng
rộng rãi trong lĩnh vực nhận dạng hình ảnh. Nắm vững phương pháp này sẽ giúp
em xây dựng các hệ thống nhận dạng hình ảnh hiệu quả và đáng tin cậy, từ việc
phân loại đối tượng, phát hiện vật thể cho đến phân đoạn hình ảnh và nhận dạng
khn mặt.
Nghiên cứu và tìm hiểu phương pháp này cũng giúp em tìm ra các giải
pháp và cải tiến để nâng cao hiệu suất của Self-Supervised Training of Vision
Transformers trong việc nhận dạng hình ảnh. Điều này có thể bao gồm việc tối
ưu hóa các siêu tham số, tăng cường kiến trúc mơ hình hoặc kết hợp phương
pháp này với các phương pháp khác để đạt được kết quả tốt hơn.

3


1.2.

Giới thiệu đề tài
Nghiên cứu đề tài "A method for Self-Supervised training of Vision

Transformers" để tìm ra giải pháp nâng cao tăng cường và cải tiến quy trình tự
học của Vision Transformers là một nhiệm vụ nghiên cứu đầy thách thức trong
lĩnh vực thị giác máy tính. Trong thời gian gần đây, Vision Transformers (ViTs)
đã trở thành một trong những kiến trúc quan trọng trong việc xử lý hình ảnh và

thực hiện các nhiệm vụ như nhận dạng, phân đoạn và phát hiện đối tượng.
Tuy nhiên, ViTs thường yêu cầu một lượng lớn dữ liệu được gán nhãn để
đạt được hiệu suất tốt nhất, và việc thu thập, gán nhãn và xử lý dữ liệu gán nhãn
này là công việc tốn kém và tốn thời gian. Để giảm yêu cầu về dữ liệu gán nhãn
và tăng tính tổng qt hóa của ViTs, phương pháp Self-Supervised Training đã
được ra đời.
Phương pháp Self-Supervised training đào tạo ViTs bằng cách sử dụng
dữ liệu khơng có nhãn và tạo ra các nhiệm vụ tự động để mạng tự học thơng qua
việc tiên đốn và phân tích dữ liệu đầu vào. Tuy nhiên, mặc dù phương pháp
này đã mang lại một số kết quả đáng kể, nó vẫn cịn nhiều khía cạnh có thể nâng
cao.
Vì vậy, mục tiêu của đề tài này là tìm hiểu, nghiên cứu và đề xuất các
giải pháp nâng cao cho phương pháp Self-Supervised Training của Vision
Transformers. Việc nghiên cứu này sẽ tập trung vào việc tăng cường khả năng
tự học của ViTs, cải thiện hiệu suất và tính tổng quát hóa của chúng mà khơng
cần sử dụng dữ liệu gán nhãn. Đồng thời, chúng ta sẽ khám phá các kỹ thuật,
phương pháp và mơ hình mới để đạt được kết quả tốt hơn trong việc tự học và
tiên đoán dữ liệu thị giác.

4


1.2.1. Phạm vi nghiên cứu
Đề tài tập trung vào việc nghiên cứu và phát triển các phương pháp tự
học mới để đào tạo Vision Transformers. Các phương pháp này có thể bao gồm
việc tạo ra các nhiệm vụ tự động, cơ chế tiên đốn và mơ hình tự học mới để
tăng cường khả năng tự học của ViTs. Mục tiêu là cải thiện hiệu suất của Vision
Transformers thông qua tối ưu hóa các phương pháp tự học bao gồm: tìm hiểu
và thử nghiệm các kỹ thuật tăng cường, cơ chế tự học và siêu tham số của mạng
nơ-ron để đạt được kết quả tốt nhất trên các tác vụ thị giác. Nghiên cứu cách

tăng cường tính tổng qt hóa và khả năng tự học của Vision Transformers
nhằm giảm yêu cầu về dữ liệu gán nhãn và tạo điều kiện cho việc áp dụng ViTs
trên các tình huống thực tế khác nhau mà khơng cần có nhiều dữ liệu gán nhãn.
Cuối cùng là thử nghiệm và đánh giá kết quả của phương pháp được đề xuất
trên các tập dữ liệu thị giác phổ biến để đánh giá hiệu suất, tính tổng quát hóa và
khả năng tự học của Vision Transformers.
1.2.2. Nội dung nghiên cứu
Nghiên cứu chi tiết về phương pháp tự học cho Vision Transformers đã
được đề xuất, bao gồm các cơ chế và quy trình tự học sử dụng dữ liệu khơng có
nhãn. Tìm hiểu cách mạng ViTs tự học và tạo ra các đặc trưng hữu ích từ dữ
liệu đầu vào.
Rút ra được các ưu và nhược điểm của phương pháp Self-Supervised
Training (về hiệu suất, tính tổng qt hóa, khả năng tự học, yêu cầu về dữ liệu,
…) từ đó đề xuất các cải tiến cho phương pháp này áp dụng trong Vision
Transformers.
Thực hiện thử nghiệm và đánh giá các cải tiến và giải pháp đề xuất trên
các tập dữ liệu thị giác phổ biến. So sánh kết quả đạt được từ các cải tiến và giải
pháp đề xuất với các phương pháp Self-Supervised Training hiện có và các

5


phương pháp khác trong lĩnh vực thị giác máy tính. Từ đó đề xuất hướng phát
triển tiếp theo của phương pháp này, đặc biệt trong lĩnh vực phân loại hình ảnh.
1.2.3. Kết quả mong muốn
Thơng qua đề tài có thể nâng cao độ chính xác cao và khả năng tổng quát
hóa tốt hơn trên các tập dữ liệu mới nhằm có được hiệu suất tốt hơn. Phương
pháp tự học được nâng cấp nhằm giảm yêu cầu về dữ liệu gán nhãn và tạo điều
kiện cho việc áp dụng Vision Transformers trên các tình huống thực tế khác
nhau trong nhiệm vụ thị giác mà khơng cần có nhiều dữ liệu gắn nhãn, tăng

cường khả năng tự học của Vision Transformers. Cuối cùng là đề xuất các cải
tiến, kỹ thuật và cơ chế mới trong phương pháp tự học Vision Transformers.

6


Chương 2. BÀI TỐN PHÂN LOẠI HÌNH ẢNH VÀ TỔNG QUAN VỀ
VISION TRANSFORMERS (ViTs)
2.1.

Bài tốn phân loại hình ảnh, kiến trúc Vison Transformers và phương
pháp Self-Supervised Training

2.1.1. Tổng quan về phân loại hình ảnh (Image Classification)
Phân loại hình ảnh là một trong ba cách phổ biến nhất để xử lý dữ liệu
hình ảnh. Nếu tác vụ phát hiện đối tượng (Object detection) nhằm mục tiêu xác
định vị trí vật thể bằng cách xây dựng hộp tọa độ (bounding box); phân đoạn
ảnh (Image segmentation) cung cấp thông tin chi tiết hơn về kích thước và hình
dạng vật thể thì phân loại ảnh (Image classification) giúp tìm ra câu trả lời: Vậy
hình ảnh thuộc loại nào?

Hình 2.1 - Sự khác biệt giữa phát hiện đối tượng, phân đoạn và phân loại ảnh
(Nguồn ảnh: Levity)

Bài toán Image Classification là một bài toán thuộc lĩnh vực Computer
Vision. Mục tiêu chính của bài tốn này đó chính là phân loại một hình ảnh đầu
vào (input) thành một nhãn (label) đầu ra (output) nhờ vào thuật tốn được cài
đặt sẵn. Ví dụ, bạn có thể phân loại hình ảnh của mèo và chó, hoặc nhận dạng
các loại hoa trong hình ảnh. Thuật tốn sẽ “quan sát” tồn bộ dữ liệu và dựa trên
hình dạng, màu sắc để hình thành giả thuyết liên quan đến nội dung của ảnh.


7


Kết quả thu được là từ tập dữ liệu ban đầu, các hình ảnh chó/mèo đã được phân
loại một cách tự động.

Hình 2.2 - Ví dụ minh họa bài tốn Image Classification
(Nguồn ảnh: Internet)

Có nhiều thuật tốn khác nhau được ứng dụng trong việc phân loại hình
ảnh. Các thuật tốn này được chia thành hai nhóm chính:
 Học có giám sát (Supervised Learning): Trong học có giám sát, dữ liệu
huấn luyện được cung cấp với nhãn (label) tương ứng cho từng mẫu dữ
liệu. Mục tiêu của thuật toán là xây dựng một mơ hình dự đốn nhãn của
các mẫu dữ liệu mới dựa trên các mẫu huấn luyện đã biết trước. Xuyên
suốt quá trình đào tạo, đặc điểm của ma trận hình ảnh sẽ được trích xuất
dưới dạng dữ liệu quan trọng để đưa vào xử lý. Các đặc điểm này đại
diện cho hình ảnh trong khơng gian chiều thấp (lower-dimensional
feature space) và là cơ sở để thuật toán tiến hành phân loại. Trong quá
trình đánh giá, các đặc điểm của ảnh thử nghiệm được thu thập và tái
phân loại với sự hỗ trợ của mạng thần kinh nhân tạo. Hệ thống lúc này đã
có thể nhận biết các đặc điểm điển hình của mọi lớp hình ảnh mà nó được

8


đào tạo. Các thuật tốn phổ biến trong học có giám sát bao gồm: Support
Vector Machines (SVM), Random Forest, Decision Trees, Naive Bayes,
Neural Networks (Mạng nơ-ron), và Logistic Regression. Các mạng nơron cũng được sử dụng phổ biến để phân loại hình ảnh có giám sát, bao

gồm AlexNet, ResNet, DenseNet và Inception. Đối với phân loại có giám
sát, việc dán nhãn dữ liệu đóng vai trị quan trọng. Độ chính xác của dữ
liệu được dán nhãn quyết định phần lớn hiệu suất của mơ hình học máy.
Các thuật tốn phân loại có giám sát có thể được chia thành hai mục nhỏ
hơn dựa trên nhãn dữ liệu: phân loại nhãn đơn và phân loại đa nhãn.
 Học không giám sát (Unsupervised Learning): Trái ngược với học có
giám sát, trong học khơng giám sát, khơng có nhãn được cung cấp cho dữ
liệu huấn luyện. Mục tiêu của thuật toán là khám phá cấu trúc ẩn trong dữ
liệu và phân nhóm các mẫu dữ liệu tương tự nhau. Một trong những
phương pháp phổ biến trong học không giám sát là Clustering (phân
cụm), trong đó các mẫu dữ liệu được nhóm lại thành các nhóm tương tự
nhau. Các thuật tốn phân cụm như K-means và Hierarchical Clustering
là một số ví dụ tiêu biểu cho học khơng giám sát.
Cách thức phân loại hình ảnh hoạt động: Máy tính xử lý một hình ảnh
dưới dạng pixel. Theo đó, hình ảnh chỉ là một mảng ma trận, và kích thước của
ma trận phụ thuộc vào độ phân giải hình ảnh. Do đó, xử lý hình ảnh là tiến hành
phân tích dữ liệu tốn học với sự trợ giúp của các thuật toán. Các thuật toán này
chia nhỏ hình ảnh thành một tập hợp các đặc điểm nổi bật, giúp giảm khối lượng
công việc của bộ phân loại cuối cùng. Q trình trích xuất đặc điểm là bước
quan trọng nhất trong việc phân loại hình ảnh. Phân loại, đặc biệt là phân loại có
giám sát, phụ thuộc phần lớn vào dữ liệu được cung cấp cho thuật toán. Một bộ
dữ liệu phân loại tốt phải đảm bảo các yêu cầu về sự cân bằng của dữ liệu, chất
lượng của ảnh và chú giải kèm theo.

9


Để giải quyết bài toán này, nhiều phương pháp nhận diện hình ảnh ra đời,
trong đó có cả phương pháp truyền thống và các phương pháp sử dụng học máy.
Một trong những phương pháp truyền thống quan trọng và phổ biến nhất là

Convolutional Neural Networks (CNN). CNN đã được sử dụng rộng rãi và được
nhiều người biết đến trong việc phân loại hình ảnh. Nó sử dụng các lớp
convolutional, pooling và fully connected để trích xuất đặc trưng và thực hiện
phân loại hình ảnh. Qua quá trình huấn luyện, CNN học cách nhận biết các đặc
trưng đặc biệt trong hình ảnh và sử dụng chúng để phân loại các lớp hình ảnh
khác nhau.

Hình 2.3 - Sơ đồ hoạt động CNN
(Nguồn ảnh: Saily Shah)

Trong sơ đồ hoạt động trên, chức năng của các lớp chính như sau:
 Lớp Convolutional (Convolutional Layer): trích xuất các đặc trưng từ
hình ảnh đầu vào. Nó sử dụng các bộ lọc (kernel) nhỏ để thực hiện phép
tích chập trên hình ảnh. Mỗi bộ lọc thực hiện việc nhân ma trận các pixel
đầu vào với các trọng số tương ứng, tạo ra một featured map. Quá trình

10


tích chập giúp tìm ra các đặc trưng như cạnh, góc, hoặc hình dạng trong
hình ảnh. Lớp convolutional có thể có nhiều bộ lọc khác nhau để trích
xuất nhiều đặc trưng khác nhau.
 Lớp Pooling (Pooling Layer): được sử dụng để giảm kích thước của
featured map và giữ lại các đặc trưng quan trọng nhất. Các phép pooling
thường được sử dụng là max pooling và average pooling. Max pooling
chọn giá trị lớn nhất trong một vùng nhất định trên featured map và giữ
lại giá trị đó trong featured map sau lớp pooling. Average pooling lấy giá
trị trung bình của các pixel trong vùng và gán giá trị đó cho pixel tương
ứng trong featured map mới. Lớp pooling giúp giảm số lượng tham số
của mạng và tạo ra tính chất khơng gian bất biến, nghĩa là mạng vẫn có

khả năng nhận diện các đặc trưng dù chúng có xuất hiện ở các vị trí khác
nhau trên hình ảnh.
 Lớp Fully Connected (Fully Connected Layer): Sau khi các featured map
đã được trích xuất và giảm kích thước, chúng được chuyển đổi thành một
vector và đưa vào lớp fully connected. Lớp này tương tự như một mạng
nơ-ron truyền thẳng thơng thường, trong đó mỗi nút nơ-ron kết nối đầy
đủ với tất cả các nút trong lớp trước và sau đó sử dụng các hàm kích hoạt
để tính tốn đầu ra. Lớp Fully Connected có nhiệm vụ phân loại hình ảnh
bằng cách xử lý thơng tin từ các đặc trưng đã được trích xuất từ các lớp
trước đó. Thơng thường, lớp Fully Connected cuối cùng sử dụng hàm
Softmax để tính tốn xác suất phân loại cho từng lớp của hình ảnh.
 Ngồi ra, trên hình ta cịn thấy lớp Flatten (Flatten Layer): Đây cũng là
một lớp quan trọng trong kiến trúc của mạng CNN. Sau khi qua các lớp
Convolutional và Pooling, đầu ra sẽ là một tensor có kích thước 3 chiều
(chiều cao, chiều rộng, số kênh), Flatten sẽ biến đổi các chiều cao và
chiều rộng thành một vector duy nhất. Điều này có nghĩa là thông tin

11


khơng gian từ hình ảnh ban đầu đã được "đặt phẳng" và sắp xếp theo một
thứ tự nhất định, nó thường được sử dụng như một khối chuyển tiếp giữa
các lớp Convolutional/Pooling và lớp Fully Connected.
Tuy nhiên, ngồi CNN, cịn có một phương pháp mới đáng chú ý là
Vision Transformers. Vision Transformers sử dụng kiến trúc Transformer, ban
đầu được phát triển cho xử lý ngôn ngữ tự nhiên, và áp dụng nó vào việc xử lý
hình ảnh. Kiến trúc này đã đạt được kết quả ấn tượng trong các bài tốn phân
loại hình ảnh và làm nổi bật sự quan trọng của học tự giám sát trong quá trình
huấn luyện mơ hình. Trên cơ sở này, phần tiếp theo sẽ tìm hiểu chi tiết về kiến
trúc Vision Transformers và phương pháp tự huấn luyện giám sát trong bài toán

phân loại hình ảnh.
2.1.2. Sơ lược về Vision Transformers (ViTs)
2.1.2.1.

Giới thiệu

Mơ hình Vision Transformer (ViT) đã được giới thiệu ở một bài báo
nghiên cứu được xuất bản dưới dạng báo cáo tại hội nghị ICLR 2021, có tiêu đề
“An Image is Worth 16*16 Words: Transformers for Image Recognition in
Scale”. Nó được phát triển và xuất bản bởi Neil Houlsby, Alexey Dosovitskiy,
và 10 tác giả khác của Google Research Brain Team.
Vision Transformers (ViTs) là một kiến trúc mạng nơ-ron sử dụng
Transformer để xử lý các nhiệm vụ liên quan đến hình ảnh. Trong quá khứ, kiến
trúc CNN đã chiếm ưu thế trong xử lý hình ảnh. Tuy nhiên, ViTs đại diện cho
một phương pháp mới sử dụng cơ chế tự chú ý của Transformer để giải quyết
các vấn đề trên.
Vào năm 2022, Vision Transformer (ViT) nổi lên như một giải pháp thay
thế cạnh tranh so với các mạng thần kinh tích chập (CNNs). ViTs được đánh giá

12


là vượt trội hơn so với CNN gần 4 lần về hiệu quả tính tốn và độ chính xác.
Trong CNNs truyền thống, các mạng thụ cảm không gian (spatially-sensitive
layers) như các lớp Convolution và Pooling được sử dụng để khám phá các đặc
trưng cục bộ trong hình ảnh. Tuy nhiên, ViTs thay đổi cách tiếp cận này bằng
cách áp dụng cơ chế tự chú ý (self-attention mechanism) trên các miền nhỏ hơn
của hình ảnh.
2.1.2.2.


Kiến trúc

Kiến trúc tổng thể của mơ hình ViT được đưa ra từng bước như sau:
1. Chia hình ảnh thành các mảng (patches): Hình ảnh đầu vào được chia
thành các mảng nhỏ cùng kích thước (patch). Mỗi mảng patch chứa
thơng tin cục bộ của hình ảnh.
2. Làm phẳng các mảng hình ảnh: Các mảng patch được làm phẳng thành
một chuỗi các vectơ đặc trưng.
3. Tạo feature embedding: Các vectơ đặc trưng của mảng patch được đưa
qua một lớp tuyến tính để tạo ra các feature embedding có chiều thấp
hơn.
4. Thứ tự các mảng: Các feature embedding được sắp xếp theo thứ tự trong
chuỗi.
5. Áp dụng transformer encoder: Chuỗi feature embedding được đưa vào
một mạng transformer encoder để học các mối quan hệ không gian giữa
các đặc trưng và tạo ra vectơ đại diện cho hình ảnh.
6. Pre-train và tinh chỉnh: Mơ hình ViT được huấn luyện trước trên một tập
dữ liệu lớn với các nhãn hình ảnh. Sau đó, tinh chỉnh model trên bộ dữ
liệu riêng của từng bài toán.

13



×