Từ đó, có thể xây dựng được một mô hình tậndụng được lượng rất ít thông tin có giám sát được huấn luyện kết hợp với các hàm mất mát hiệuquả để tối ưu các biểu diễn đặc trưng, giúp cho vi
Trang 1THÁI TIỂU PHƯƠNG
MÔ HÌNH PHÂN LỚP HIỆU QUẢ
CHO GIÁM SÁT NGOẠI QUAN
ỨNG DỤNG CHO QUẢN LÝ CHẤT LƯỢNG SẢN PHẨM TRONG SẢN XUẤT CÔNG NGHIỆP
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 8480101
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 1 năm 2024
Trang 2Cán bộ hướng dẫn khoa học: PGS.TS Lê Hồng Trang
2 Thư ký: TS Nguyễn An Khương
3 Phản biện 1: TS Trần Tuấn Anh
4 Phản biện 2: TS Lê Khánh Duy
5 Ủy viên: PGS.TS Nguyễn Tuấn Đăng
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khiluận văn đã được sửa chữa (nếu có)
KỸ THUẬT MÁY TÍNH
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: THÁI TIỂU PHƯƠNG MSHV: 2170560 Ngày, tháng, năm sinh: 14/01/1999 Nơi sinh: Phú Yên Chuyên ngành: Khoa học Máy tính Mã số: 8480101
II NHIỆM VỤ VÀ NỘI DUNG:
- Tìm hiểu các công trình liên quan của bài toán nhận dạng lỗi bề mặt dựa trên học sâu và các phương pháp giải quyết hạn chế của những công trình này
- Nghiên cứu và đề xuất xây dựng mô hình biểu diễn đặc trưng tốt cho phân loại lớp với
ít dữ liệu huấn luyện, dựa trên phương pháp học biểu diễn tự giám sát và tăng cường
dữ liệu Kết hợp hiệu quả các hàm mất mát trong quá trình huấn luyện để cải thiện độ chính xác phân loại
- Thực nghiệm, đánh giá các kết quả của mô hình đề xuất trên các tập dữ liệu
III NGÀY GIAO NHIỆM VỤ: 06/02/2023
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 10/12/2023
Trang 4L ỜI CẢM ƠN
Đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến PGS TS Lê Hồng Trang, thầy đã giúp đỡtôi trong quá trình chuẩn bị đề cương và thực hiện luận văn trong suốt năm học vừa qua Xincảm ơn sự hướng dẫn tận tình của thầy, chính nhờ những kiến thức và kinh nghiệm nghiên cứu
mà thầy truyền đạt đã giúp tôi có được cái nhìn tổng quan về đề tài, định hướng đúng đắn vàhoàn thành luận văn này
Xin gửi lời cảm ơn đến các thầy cô trường Đại học Bách Khoa Thành phố Hồ Chí Minh, đặcbiệt là các thầy cô bộ môn trong khoa Khoa học và Kỹ thuật Máy tính đã truyền đạt những kiếnthức vô cũng quý giá và bổ ích, hỗ trợ rất lớn cho em có thể hoàn thành luận văn tốt nghiệp này.Cuối cùng, tôi xin cảm ơn gia đình, người thân, bạn bè, những người đã giúp đỡ, hỗ trợ tôi hếtmình trong suốt thời gian tham gia chương trình bậc Cao học
TÁC GIẢ
Trang 5T ÓM TẮT LUẬN VĂN
Giám sát ngoại quan trong việc quản lý chất lượng sản phẩm hầu hết được thực hiện thủ công,điều này gây lãng phí đáng kể về nguồn nhân lực và thời gian Hiện nay, các hệ thống tự độngnhận diện khuyết điểm bề mặt đang nhận được nhiều sự chú ý trong ngành sản xuất công nghiệp,đồng thời các kỹ thuật học sâu cũng được ứng dụng để giải quyết bài toán này do độ phức tạp củacác khuyết điểm Tuy nhiên, khi triển khai vào thực tế, các mô hình này thường gặp thách thứclớn là thiếu hụt dữ liệu Do đó, đề tài này là một nỗ lực nhằm xây dựng một mô hình phân loạihình ảnh lỗi bề mặt sản phẩm hiệu quả sử dụng học sâu và khắc phục các vấn đề liên quan đến
dữ liệu Luận văn sẽ trình bày các công trình liên quan đến bài toán nhận dạng lỗi và giới thiệucác nghiên cứu nổi bật của phương pháp Self-Supervised Learning và Representation Learning
Từ đó, chúng tôi kết hợp những ưu điểm của chúng để đề xuất một mô hình gồm nhiều khối tối
ưu giúp cải thiện khả năng phân loại lớp của các vec-tơ biểu diễn ảnh từ lượng ít thông tin cógiám sát Chúng tôi thiết kế các thực nghiệm với nhiều cài đặt khác nhau trên các tập dữ liệuảnh lỗi để đánh giá hiệu suất của mô hình phân loại Qua đó, cho thấy mô hình này có tiềm năng
để triển khai sử dụng trong thực tế, hỗ trợ các công nhân đưa ra các suy luận về chất lượng sảnphẩm nhanh hơn dựa trên dữ liệu hình ảnh
Trang 6A BSTRACT OF THESIS
Visual inspection in quality control is mostly conducted manually, resulting in significant waste
of labor and time resources Currently, automated inspection systems for surface defect nition are gaining considerable attention in the industrial manufacturing sector Concurrently,deep learning techniques are also being applied to address this issue due to the complexity ofdefect features However, when deployed in practice, these models often face a significant chal-lenge, which is training data scarcity Therefore, this thesis represents an endeavor to construct
recog-an efficient image classification model for surface defects using deep learning recog-and address thedata-related issues The dissertation will review related works in the field of defect recognition,introducing prominent research on the Self-Supervised Learning and Representation Learningmethods Subsequently, we integrate the advantages of these approaches to propose a modelconsisting of multiple optimized blocks to enhance the classification capability of image rep-resentations from limited supervised information We design experiments with various settings
on public defect datasets to evaluate the classification performance The results demonstrate thepotential of deploying this model in practice, facilitating faster quality inferences by workersbased on image data
Trang 7L ỜI CAM ĐOAN
Tôi xin cam đoan đề tài luận văn tốt nghiệp: "MÔ HÌNH PHÂN LỚP HIỆU QUẢ CHO GIÁMSÁT NGOẠI QUAN, ỨNG DỤNG CHO QUẢN LÝ CHẤT LƯỢNG SẢN PHẨM TRONGSẢN XUẤT CÔNG NGHIỆP" là công trình nghiên cứu do chính tôi thực hiện dưới sự hướngdẫn của PGS TS Lê Hồng Trang Ngoại trừ các kết quả và mô hình tham khảo từ các côngtrình khác có liên quan đã được trích dẫn và chú thích rõ trong phần tài liệu tham khảo, nộidung nghiên cứu này là trung thực và chưa có phần nội dung nào được nộp để lấy bằng cấp ởmột trường khác Các số liệu, kết quả trình bày trong luận văn là hoàn toàn trung thực, nếu cósai sót tôi xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của bộ môn và nhà trường đề ra
TP HCM, ngày 28 tháng 12 năm 2023
Thái Tiểu Phương
Trang 8Lời cảm ơn ii
1.1 Giới thiệu đề tài 2
1.2 Mục tiêu và phạm vi đề tài 2
1.3 Cấu trúc luận văn 3
Chương 2 KIẾN THỨC NỀN TẢNG 4 2.1 Học sâu và đặc trưng sâu 5
2.2 Mạng nơ-ron tích chập (CNN – Convolutional Neural Networks) 5
2.3 Học chuyển tiếp (Transfer learning) 6
2.4 Kiến trúc mạng VGG19 và ResNet-50 7
2.4.1 VGG19 7
2.4.2 ResNet-50 8
2.5 Phương pháp Few-Shot Learning và mô hình Siamese 10
2.5.1 Phương pháp Few-Shot Learning (FSL) 10
2.5.2 Mô hình Siamese Neural Network (SNN) 10
Chương 3 CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 13 3.1 Nhận dạng lỗi bề mặt dựa trên học sâu 14
3.2 Phương pháp học biểu diễn 16
3.2.1 Học biểu diễn (Representation Learning) 16
3.2.2 SimCLR: A Simple Framework for Contrastive Learning of Visual Rep-resentation 17
3.2.3 ArcFace: Additive Angular Margin Loss for Deep Face Recognition 20
Chương 4 CẢI THIỆN BIỂU DIỄN ẢNH CHO VIỆC NHẬN DẠNG LỖI BỀ MẶT 23 4.1 Tổng quan phương pháp 24
4.2 Mô-đun Self-Contrastive Learning (SCL) 25
Trang 94.3 Mô-đun Angular Margin Penalty (AMP) 27
4.4 Tối ưu hóa mô hình 28
Chương 5 THỰC NGHIỆM 29 5.1 Tập dữ liệu 30
5.1.1 Tập dữ liệu NEU [12] 30
5.1.2 Tập dữ liệu MixedWM38 [13] 31
5.2 Hiện thực phương pháp 32
5.3 Kết quả thực nghiệm 33
5.3.1 Thí nghiệm trên NEU 33
5.3.2 Thí nghiệm trên MixedWM38 35
5.3.3 Thảo luận các kết quả 38
Chương 6 TỔNG KẾT 40 6.1 Các kết quả đạt được 41
6.2 Các hạn chế 41
6.3 Hướng phát triển trong tương lai 42
Trang 102.1 So sánh giữa học máy truyền thống và transfer learning 7
2.2 Biểu diễn kiến trúc mạng của VGG19 8
2.3 Cộng trực tiếp đầu vào của khối với nhánh còn lại trong khối Identity block 9
2.4 Kiến trúc tóm tắt của mạng ResNet-50 9
2.5 Cơ chế của Few-Shot Learning 10
2.6 Mô hình Siamese Neural Network 11
3.1 Mẫu Normal (cột 1) và Mẫu Defect (cột 2–6) của tập dữ liệu MVTec AD [15] 15 3.2 Kiến trúc của SimCLR 18
3.3 Các biến đổi tăng cường dữ liệu 18
3.4 Giải thuật học của SimCLR 19
3.5 Độ chính xác trên tập ImageNet của các model huấn luyện bởi ít dữ liệu gán nhãn 20 3.6 Huấn luyện DCNN cho nhận diện khuôn mặt sử dụng ArcFace loss 21
3.7 Mã giả giải thuật của ArcFace trên MxNet 22
3.8 Kết quả phân tách đặc trưng của Softmax và ArcFace 22
4.1 Mô hình đề xuất 25
4.2 Mô-đun Self-Contrastive Learning (SCL) 26
4.3 Một ví dụ về sampling dữ liệu ảnh trong một mini-batch 27
4.4 Mô-đun Angular Margin Penalty (AMP) 28
5.1 Bộ dữ liệu NEU Surface Defect 30
5.2 Bộ dữ liệu MixedWM38 31
5.3 Trực quan hóa Grad-CAM các bản đồ đặc trưng tạo bởi ResNet-50 và mô hình đề xuất (đều được huấn luyện chỉ với 10 ảnh mỗi lớp) trên các mẫu của 6 loại khuyết điểm trong tập NEU 34
5.4 Trực quan hóa Grad-CAM các bản đồ đặc trưng tạo bởi mô hình đề xuất (được huấn luyện với 50 ảnh cho mỗi trong tổng cộng 38 lớp) trên một vài mẫu của 4 nhóm lỗi trong tập MixedWM38 38
Trang 115.1 Các siêu tham số được sử dụng để huấn luyện mô hình 32
5.2 Kết quả so sánh độ chính xác phân loại trên tập NEU 35
5.3 Kết quả các thí nghiệm ít dữ liệu trên tập NEU 35
5.4 Kết quả Few-Shot Classifition trên tập NEU 36
5.5 Kết quả các thí nghiệm ít dữ liệu trên tập MixedWM38 36
5.6 Kết quả so sánh độ chính xác phân loại trên từng lớp của 38 loại defect trong tập MixedWM38 (với 80% dữ liệu huấn luyện) 37
Trang 12Danh sách dưới đây liệt kê các chữ cái viết tắt sẽ được sử dụng về sau trong nội dung cuốn luận văn này.
ArcFace Additive Angular Margin Loss for Deep Face Recognition
ArcLoss Additive Angular Margin Loss
CNN Convolutional Neural Network
CV PR Computer Vision and Pattern Recognition Conference
FSL Few-Shot Learning
ICML International Conference on Machine Learning
SimCLR A Simple Framework for Contrastive Learning of Visual Representation
SNN Siamese Neural Network
Trang 141.1 Giới thiệu đề tài
Việc phát hiện và nhận dạng khuyết điểm bề mặt (Surface defect detection) đóng vai trò quantrọng trong khâu quản lý chất lượng sản phẩm của nhiều ngành công nghiệp khác nhau như sảnxuất nguyên vật liệu, sản xuất vải, và điện tử Thông thường, quá trình giám sát ngoại quan nàyđược thực hiện hoàn toàn thủ công, điều này khá tốn thời gian và cần nhiều nhân công Hơnnữa, việc nhận dạng các khuyết tật còn dựa trên đánh giá chủ quan của con người và được diễn
ra trong môi trường công nghiệp khắc nghiệt với tiếng ồn, nhiệt độ và độ ẩm khác nhau Vì vậy,nhu cầu xây dựng một hệ thống kiểm tra khuyết điểm tự động là vô cùng cần thiết
Kiểm tra khuyết điểm dựa trên quan sát hình ảnh có thể được phân loại thành hai phươngpháp: các phương pháp xử lý ảnh truyền thống và phương pháp học sâu Phương pháp đầu ápdụng các kỹ thuật xử lý ảnh để biến đổi và mô tả các đặc trưng của khuyết điểm cho từng bàitoán nhận dạng lỗi cụ thể Phương pháp này chỉ hữu ích khi các lớp khuyết điểm được phân biệt
rõ ràng và các đặc trưng của khuyết điểm trong cùng một lớp phải giữ nguyên tính nhất quán,
do đó có khả năng thích ứng kém Ngược lại, với tiếp cận học sâu, các mô hình có thể tríchxuất được đặc trưng sâu của hình ảnh các loại khuyết điểm phức tạp thông qua toán tử tích chập(convolution) và cơ chế chú ý (attention) Chúng có khả năng khái quát hóa các đặc điểm quantrọng để phân biệt lớp mà không cần các quy tắc trích xuất đặc trưng do con người thiết kế, do
đó có thể được thiết kế như một framework end-to-end để tích hợp vào các hệ thống kiểm tra tựđộng
Việc áp dụng trực tiếp các mạng nơ-ron học sâu đòi hỏi một lượng lớn dữ liệu huấn luyện đãđược gán nhãn để điều chỉnh các tham số và tránh hiện tượng over-fitting Tuy nhiên, trong cáckịch bản công nghiệp, chỉ có một số ít hoặc vài chục hình ảnh bề mặt khiếm khuyết có thể đượccung cấp, đặt ra thách thức của dữ liệu nhỏ Một vấn đề khác là độ trễ của các mô hình có kíchthước lớn khi triển khai trên các ứng dụng thời gian thực Để khắc phục được tình trạng quá ít
dữ liệu ảnh lỗi, luận văn này sẽ đề xuất một phương pháp huấn luyện mô hình học sâu để cảithiện biểu diễn hình ảnh cho việc nhận diện khuyết điểm bề mặt Chúng tôi lựa chọn phươngpháp học biểu diễn để giải quyết vấn đề dữ liệu nhỏ, dựa trên khả năng của nó trong việc họcbiểu diễn đặc trưng tốt hơn cho phân loại lớp Từ đó, có thể xây dựng được một mô hình tậndụng được lượng rất ít thông tin có giám sát được huấn luyện kết hợp với các hàm mất mát hiệuquả để tối ưu các biểu diễn đặc trưng, giúp cho việc phân loại trở nên chính xác hơn
1.2 Mục tiêu và phạm vi đề tài
Mục tiêu của luận văn hướng đến việc nghiên cứu và xây dựng một Mô hình phân lớp hiệuquả cho giám sát ngoại quan, ứng dụng cho quản lý chất lượng sản phẩm trong sản xuất côngnghiệp Cụ thể, với điều kiện số lượng dữ liệu hình ảnh lỗi hạn chế, luận văn cần thực hiện cáccông việc sau để hoàn thành mục tiêu:
Trang 15• Hiểu và sử dụng được các mô hình học sâu trong thị giác máy tính Tìm hiểu các côngtrình liên quan của bài toán nhận dạng lỗi bề mặt dựa trên học sâu và các phương phápgiải quyết hạn chế của những công trình này.
• Nghiên cứu và đề xuất xây dựng mô hình biểu diễn đặc trưng tốt cho phân loại lớp với
ít dữ liệu huấn luyện, dựa trên phương pháp học biểu diễn tự giám sát và tăng cường dữliệu
• Kết hợp hiệu quả các hàm mất mát Contrastive Loss và Arc Loss trong quá trình huấnluyện để cải thiện độ chính xác phân loại
• Thực nghiệm, đánh giá các kết quả của mô hình đề xuất trên các tập dữ liệu được sử dụngtrong các công trình khoa học để chứng minh hiệu suất và tính tổng quát của phươngpháp Đề xuất các giải pháp mở rộng bài toán trong tương lai
1.3 Cấu trúc luận văn
Luận văn bao gồm sáu chương với các nội dung chính như sau:
Chương 1 Tổng quan Trong chương này, chúng tôi xin giới thiệu tổng quan về nội dung đề tài
và ý nghĩa thực tiễn của bài toán, cũng như mục tiêu, phạm vi và cấu trúc của luận văn
Chương 2 Kiến thức nền tảng Trong chương này, chúng tôi sẽ trình bày những kiến thức nền
tảng được sử dụng để giải quyết bài toán, tập trung chủ yếu vào nội dung của học sâu và một sốphương pháp học với ít dữ liệu
Chương 3 Công trình nghiên cứu liên quan Trong chương này, chúng tôi sẽ trình bày một
số nghiên cứu liên quan của bài toán nhận dạng lỗi bề mặt sản phẩm trong công nghiệp Phầnnày cũng bàn luận về phương pháp học biểu diễn sẽ được áp dụng vào mô hình đề xuất của luậnvăn
Chương 4 Phương pháp đề xuất Trong chương này, chúng tôi sẽ mô tả phương pháp và 2
mô-đun đề xuất giúp cải thiện biểu diễn đặc trưng với ít dữ liệu để xây dựng mô hình phân loạilỗi bề mặt hiệu quả
Chương 5 Thực nghiệm Trong chương này, chúng tôi mô tả các tập dữ liệu được thử nghiệm,
phần hiện thực mô hình đã đề xuất và các kết quả thực nghiệm
Chương 6 Tổng kết Trong chương này, chúng tôi xin tổng kết các kết quả đã đạt được trong
quá trình thực hiện luận văn Phần này cũng trình bày những hạn chế và đề xuất các giải phápcải tiến mô hình trong tương lai
Trang 16KIẾN THỨC NỀN TẢNG
Trong chương này, chúng tôi sẽ trình bày những kiến thức nền tảng được sử dụng để giải quyết bài toán, tập trung chủ yếu vào nội dung của học sâu và một số phương pháp học với ít dữ liệu.
Mục lục
2.1 Học sâu và đặc trưng sâu 5
2.2 Mạng nơ-ron tích chập (CNN – Convolutional Neural Networks) 5
2.3 Học chuyển tiếp (Transfer learning) 6
2.4 Kiến trúc mạng VGG19 và ResNet-50 7
2.5 Phương pháp Few-Shot Learning và mô hình Siamese 10
Trang 172.1 Học sâu và đặc trưng sâu
Đặc trưng sâu là phản hồi nhất quán của một nút hoặc lớp trong mô hình phân cấp với đầu vàocung cấp phản hồi có liên quan đến đầu ra cuối cùng của mô hình Một đặc trưng được coi là
“sâu hơn” so với một đặc trưng khác tùy thuộc vào mức độ kích hoạt sớm trong cây quyết địnhhoặc các bộ phân loại khác
Trong mạng nơ-ron được thiết kế để phân loại hình ảnh, nó được đào tạo trên một tập hợp cáchình ảnh tự nhiên và học các bộ lọc (đặc trưng), chẳng hạn như bộ phát hiện đường viền và cạnhhình ảnh từ các lớp trước đó Các lớp “sâu hơn” có thể phản hồi và tạo các bộ lọc đặc trưng củariêng mình cho các mẫu phức tạp hơn ở đầu vào, chẳng hạn như kết cấu, hình dạng hoặc biếnthể của các đặc trưng được xử lý trước đó
Vì vậy, mặc dù một mạng được đào tạo thông thường có các nút lọc có thể xác định một đặcđiểm cụ thể chẳng hạn như khuôn mặt, chúng sẽ không thể phân biệt được sự khác biệt giữa mộtkhuôn mặt và bất kỳ vật thể tròn nào tương tự Tuy nhiên, phản hồi từ một lớp sâu hơn trong hệthống phân cấp của thuật toán đóng vai trò như một bộ lọc đặc trưng mà mô hình có thể sử dụng
để không chỉ phân biệt khuôn mặt với các hình ảnh không phải khuôn mặt mà còn tạo bộ phânloại mới trong quá trình phân loại
2.2 Mạng nơ-ron tích chập (CNN – Convolutional Neural
Net-works)
Convolutional Neural Network (CNN) là một kiến trúc mạng nơ-ron có khả năng nhận ra vàphân loại các đặc trưng của hình ảnh trong thị giác máy tính Bản chất dữ liệu kiểu hình ảnh lànhững điểm gần nhau thường có liên hệ nhiều hơn so với những điểm xa hơn CNN rất phù hợpvới dạng bài toán này Nó là một mạng nơ-ron nhiều lớp được thiết kế để phân tích những đầuvào thị giác và thực hiện các tác vụ như phân lớp hình ảnh, phân loại và phát hiện vật thể CNNđược sử dụng cho các ứng dụng học sâu trong lĩnh vực chăm sóc sức khỏe, chẳng hạn như phântích hình ảnh y tế
Có hai thành phần chính đối với một CNN:
• Một công cụ tích chập để phân tách những đặc trưng của hình ảnh phân tích
• Một lớp được kết nối đầy đủ sử dụng đầu ra của tầng tích chập để dự đoán những mô tảchính xác nhất của hình ảnh
Kiến trúc mạng nơ-ron cơ bản: Kiến trúc mạng nơ-ron được lấy cảm ứng từ phương thức tổ chức
và chức năng của vỏ não thị giác và được thiết kế để bắt chước mô hình kết nối của các tế bàothần kinh trong não người Các tế bào thần kinh trong CNN được chia thành một cấu trúc ba
Trang 18chiều, với mỗi tập hợp nơ-ron phân tích một vùng nhỏ hoặc đặc trưng của hình ảnh Nói cáchkhác, mỗi nhóm tế bào thần kinh chuyên nhận dạng một phần của bức ảnh CNN sử dụng những
dự đoán từ các tầng và cho ra kết quả cuối cùng biểu diễn một vectơ của những điểm xác suất
để thể hiện khả năng mà một đặc trưng cụ thể thuộc về một lớp nhất định
• Tầng input được kết nối đầy đủ: làm phẳng các đầu ra được tạo ra ở những tầng trước đểchuyển chúng thành một vectơ đơn để có thể sử dụng làm đầu vào cho tầng kế tiếp
• Tầng được kết nối đầy đủ: áo dụng các trọng số lên đầu vào được tạo ra bởi phân tích đặctrưng để dự đoán nhãn chính xác
• Tầng output được kết nối đầy đủ: tạo ra những giá trị xác suất cuối cùng để xác định nhãncho hình ảnh
Kiến trúc của CNN là yếu tố quyết định để xác định hiệu suất và tính hiệu quả của nó Cách cấutrúc các tầng, những phần tử nào được sử dụng trong từng tầng và cách thiết kế chúng sẽ thườngảnh hưởng đến tốc độ và độ chính xác của mạng khi thực hiện các tác vụ Một số kiến trúc CNNphổ biến: LeNet-5 (1988), AlexNet (2012), GoogleNet (2014), VGGNet (2014),
2.3 Học chuyển tiếp (Transfer learning)
Một quan niệm sai lầm phổ biến trong học sâu là nếu không có lượng dữ liệu đủ lớn thì khôngthể tạo ra các mô hình học sâu hiệu quả Mặc dù dữ liệu đóng vai trò quan trọng trong việc huấnluyện các mạng, nhưng ý tưởng về transfer learning đã làm giảm bớt nhu cầu về dữ liệu Hình2.1 cho thấy sự khác biệt giữa phương pháp học máy truyền thống và cách tiếp cận học sâu dựavào transfer learning
Transfer learning là việc ứng dụng kỹ năng/tri thức học được từ vấn đề này (source domain - Ds)với ứng dụng này (source task - Ts) sang vấn đề khác (target domain - Dt) với ứng dụng khác(target task - Tt) có liên quan Transfer learning giúp cải thiện việc học hàm ft cho ứng dụng Tttrên miền Dt
Transfer learning là quá trình lấy một mô hình được huấn luyện trước pre-trained model (cáctrọng số và tham số của một mạng được huấn luyện trên một tập dữ liệu lớn) và tinh chỉnh
Trang 19Hình 2.1: So sánh giữa học máy truyền thống và transfer learning
(fine-tuning) mô hình với tập dữ liệu nhỏ Ý tưởng là pre-trained model sẽ hoạt động như một
bộ trích xuất đặc trưng Thông thường, lớp cuối cùng của mạng bằng bộ phân lớp phù hợp (tùythuộc vào số lớp của bài toán)
Simonyan và Zisserman trong [1] của Đại học Oxford đã tạo ra CNN 19 tầng (16 tầng tích chập
và 3 tầng được kết nối đầy đủ), sử dụng bộ lọc 3x3 với sải bước và đệm là 1, cùng với các tầnggộp tối đa với sải bước 2, được gọi là mô hình VGG19 (đặt theo tên nhóm Visual GeometryGroup của Đại học Oxford) So với AlexNet, VGG19 là một mạng tích chập sâu hơn với nhiềutầng hơn Để giảm số lượng thông số trong các mạng sâu, nó sử dụng những bộ lọc 3x3 trong tất
cả các tầng tích chập và được sử dụng tốt nhất với tỷ lệ lỗi 7.3% Mô hình VGG19 là một trongnhững nghiên cứu có ảnh hưởng nhất vì nó củng cố quan điểm rằng CNN phải có một mạng cáclớp sâu để thể hiện phân cấp của dữ liệu trực quan có thể hoạt động Sâu và đơn giản
Mô hình VGG19 với tổng cộng 138 triệu tham số được huấn luyện trên một tập con của cơ sở
dữ liệu ImageNet VGG19 được huấn luyện trên hơn một triệu hình ảnh với 1000 vật thể khácnhau, ví dụ bàn phím, chuột, bút chì và nhiều loài động vật Kết quả là, mô hình đã học đượcmột lượng biểu diễn đặc trưng phong phú cho nhiều loại hình ảnh
Hàm ReLU được sử dụng làm hàm kích hoạt Với x là biến độc lập, hàm có công thức như sau:
Trang 20Hình 2.2: Biểu diễn kiến trúc mạng của VGG19 (conv = tích chập, FC = kết nối đầy đủ)
So với các hàm kích hoạt khác (tanh và sigmoid), ReLU có những ưu điểm sau: Đối với cáchàm tuyến tính, ReLU thể hiện rõ hơn, đặc biệt là trong các mạng học sâu; đối với các hàm phituyến, vì gradient của ReLU không thay đổi trong khoảng không âm nên không xảy ra vấn đềgradient biến mất, điều này giữ cho tốc độ hội tụ của mô hình ở trạng thái ổn định
ResNet [2] là kiến trúc được sử dụng phổ biến nhất ở thời điểm hiện tại ResNet cũng là kiếntrúc sớm nhất áp dụng batch normalization Mặc dù là một mạng rất sâu khi có số lượng layerlên tới 152 nhưng nhờ áp dụng những kỹ thuật đặc biệt kích thước của ResNet50 chỉ khoảng 26triệu tham số
Các kiến trúc trước đó thường tăng độ chính xác bằng cách tăng độ sâu của mạng CNN Tuynhiên, các thí nghiệm đã chỉ ra rằng, ở một số điểm, độ chính xác của mô hình sẽ bão hòa hoặcthậm chí giảm đi khi mô hình trở nên quá sâu Để giải quyết vấn đề này, nhóm nghiên cứu củaMicrosoft đã áp dụng kết nối tắt trên ResNet, giúp mô hình duy trì hiệu suất tốt ngay cả khi cónhiều tầng
Các kết nối tắt (skip connection) giúp giữ thông tin không bị mất bằng cách kết nối từ layer sớmtrước đó tới layer phía sau và bỏ qua một vài layers trung gian ResNet có khối tích chập Convblock sử dụng bộ lọc kích thước 3 x 3 giống với của InceptionNet Khối tích chập bao gồm 2nhánh tích chập trong đó một nhánh áp dụng tích chập 1 x 1 trước khi cộng trực tiếp vào nhánhcòn lại Khối xác định (Identity block) thì không áp dụng tích chập 1 x 1 mà cộng trực tiêp giátrị của nhánh đó vào nhánh còn lại
Gỉa sử chúng ta có x là đầu vào của khối xác định Chúng ta cần ánh xạ đầu vào x thành hàm
f(x) Để tìm ra ánh xạ chuẩn xác tương đương với hàm f (x) là một việc khá khó Nhưng nếu
Trang 21Hình 2.3: Cộng trực tiếp đầu vào của khối với nhánh còn lại trong khối Identity block.
cộng thêm ở đầu ra thành x + f (x) thì chúng ta sẽ qui về tham số hóa độ lệch, tức cần tham sốhóa phần dư f (x) Tìm ánh xạ theo phần dư sẽ dễ hơn nhiều vì chỉ cần tìm giá trị f (x) sao cho
nó gần bằng 0 là có thể thu được một ánh xạ chuẩn xác Tại một khối xác định, chúng ta sẽ ápdụng một layer activation ReLU sau mỗi xen kẽ giữa những tầng trọng số Ta có thể đơn giảnhóa kiến trúc của ResNet-50 như hình bên dưới:
Hình 2.4: Kiến trúc tóm tắt của mạng ResNet-50.
Trang 222.5 Phương pháp Few-Shot Learning và mô hình Siamese
Few-Shot Learning là một phương pháp học máy được sử dụng khi tập huấn luyện bị giới hạn
về lượng thông tin có giám sát Các ứng dụng học sâu thường sử dụng lượng dữ liệu nhiều nhất
mà mô hình có thể học để cho ra kết quả dự đoán tốt Tuy nhiên, mục đích của few-shot learning
là xây dựng được mô hình có độ chính xác cao với ít dữ liệu huấn luyện hơn, từ đó giảm thiểuchi phí thu thập dữ liệu và thời gian tính toán
Cách tiếp cận của Few-Shot Learning đối với bài toán phân loại hình ảnh như sau:
• Sử dụng một vài ảnh ví dụ của các lớp khác nhau (N-way-K-shot classification) để huấnluyện cho mô hình học cách phân loại với những ảnh khác nhau nhiều lần
• Ví dụ, hình 2.5 là một bài toán phân loại 3-way-2-shot, với mỗi task bao gồm 2 ảnh của
3 loài động vật khác nhau trong tập support và mô hình cố gắng phân loại ảnh trong tậpquery
• Mô hình sẽ cải thiện độ chính xác bằng cách phân loại các động vật vào lớp chính xác của
nó cho từng task không liên quan với nhau
• Hiệu suất của mô hình sẽ được kiểm tra trên một tập hợp ảnh khác của bài toán cation
classifi-Hình 2.5: Cơ chế của Few-Shot Learning
Siamese Neural Network (SNN) [3] là một kiến trúc mạng nơ-ron chứa hai hoặc nhiều mạngcon giống hệt nhau về cấu hình, thông số và trọng số Việc cập nhật các thông số được phảnánh đồng thời trên cả hai mạng con của nó Đây là một cách tiếp cận dựa vào độ giống nhau(similarity) của Few-Shot Learning
Trang 23SNN được sử dụng để tìm sự giống nhau của các dữ liệu đầu vào bằng cách so sánh các vectơđặc trưng của chúng Một số ứng dụng phổ biến của SNN có thể kể đến như là Face Verification,Signature Verification, và Image Seaching System Thông thường, một mạng nơ-ron học cách
để dự đoán các lớp của một bài toán, nếu muốn thêm hay bớt các lớp mới, ta phải cập nhật lạimạng trên toàn bộ tập dữ liệu (cả dữ liệu mới và cũ) SNN, theo một cách khác, học cách tìm ra
sự giống nhau giữa các input data Vì vậy, nó cho phép chúng ta phân loại các lớp dữ liệu mới
mà không cần huấn luyện lại mạng nơ-ron
Hình 2.6: Mô hình Siamese Neural Network
Luồng làm việc của một SNN trong bài toán phân loại ảnh như sau:
• Chọn một cặp ảnh đầu vào từ dataset
• Đưa mỗi ảnh qua mỗi sub-network của SNN để xử lý và trả về output là các embeddingvector
• Tính toán khoảng cách Euclidean giữa 2 embedding vector đó
• Một Sigmoid Function có thể được áp dụng trên khoảng cách để đưa ra giá trị Score trongđoạn [0,1], thể hiện mức độ giống nhau giữa 2 embedding vector Score càng gần 1 thì 2vector càng giống nhau và ngược lại
Ưu điểm của SNN:
• Lượng dữ liệu cần thiết để huấn luyện SNN là rất ít Chỉ cần vài Samples là đủ (1-5samples) huấn luyện SNN Phương pháp mà nó sử dụng ở đây là One-Shot Learning hoặc
Trang 24Few-Shot Learning Chính vì cần ít dữ liệu huấn luyện như vậy nên chúng ta cũng không
lo lắng việc dữ liệu bị mất cân bằng (Image Imbalance)
• Khả năng kết hợp với các bộ phân loại khác cao Do cơ chế học của SNN khác biệt vớicác bộ phân lớp thông thường khác, nên chúng ta hoàn toàn có thể kết hợp chúng lại vớinhau Việc làm này thường cho ra kết quả tốt hơn
• Học từ sự tương đồng về ngữ nghĩa: SNN tập trung vào việc học các Features ở các lớpsâu hơn, nơi mà các Features giống nhau được đặt gần nhau Do đó, nó có thể hiểu đượcphần nào sự tương đồng về ngữ nghĩa của các Input Data
Trang 25CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Trong chương này, chúng tôi sẽ trình bày một số nghiên cứu liên quan của bài toán nhận dạng lỗi bề mặt sản phẩm trong công nghiệp Phần này cũng bàn luận về phương pháp học biểu diễn
sẽ được áp dụng vào mô hình đề xuất của luận văn.
Mục lục
3.1 Nhận dạng lỗi bề mặt dựa trên học sâu 14
3.2 Phương pháp học biểu diễn 16
Trang 263.1 Nhận dạng lỗi bề mặt dựa trên học sâu
Những cải tiến vượt bậc trong lĩnh vực học sâu và thị giác máy tính đã tạo ra những giải phápmạnh mẽ cho các bài toán phân loại vật thể và phát hiện bất thường, từ đó có thể tự động hóa vànâng cao hiệu suất của tác vụ giám sát trực quan các loại lỗi bề mặt trong sản xuất
Hiện nay, những thiết bị tự động phát hiện khiếm khuyết bề mặt (Surface Defect Detection)đang dần thay thế công đoạn kiểm tra bằng mắt thường của con người trong nhiều lĩnh vực khácnhau, bao gồm 3D, ô tô, đồ gia dụng, sản xuất máy, linh kiện bán dẫn, điện tử, dược phẩm, hàngkhông vũ trụ và các ngành công nghiệp khác Kiểm tra lỗi dựa trên các quan sát hình ảnh cóthể được chia thành chủ yếu hai cách tiếp cận, bao gồm các phương pháp xử lý hình ảnh truyềnthống và các phương pháp dựa trên học máy Những kỹ thuật truyền thống thường áp dụng cácgiải thuật xử lý ảnh cổ điển để biến đổi và mô tả đặc điểm của khuyết điểm, hoặc sử dụng nhữngđặc trưng được trích xuất thủ công kết hợp với các bộ phân loại Phương pháp này chỉ hữu íchkhi các loại lỗi được phân biệt rõ ràng Ngoài ra, các đặc trưng lỗi trong cùng một lớp phải duytrì tính nhất quán Điều này phụ thuộc khá nhiều vào môi trường chụp ảnh và do đó có khả năngthích ứng kém Các hệ quang học cũng được thiết kế để thu được những bức ảnh có mức độchiếu sáng đồng nhất và biểu hiện rõ những khuyết tật của vật thể
Trong những năm gần đây, nhiều phương pháp cho bài toán nhận dạng lỗi dựa trên học sâuđược sử dụng rộng rãi trong công nghiệp [4] Các mạng nơ-ron tích chập được huấn luyện trước(pre-trained) trên tập dữ liệu ImageNet [2], [5]–[7] đã dùng làm backbone hoặc các khối tríchxuất đặc trưng trong tác vụ phân loại hình ảnh Năm 2020, Ihor và đồng nghiệp [8] đã sử dụng
mô hình pre-trained ResNet50 [2] như một bộ phân lớp để nhận diện ba loại khuyết điểm bề mặtphẳng trong kim loại cuộn Tác giả áp dụng hàm Binary Focal Loss để khắc phục vấn đề mấtcân bằng mẫu dữ liệu và đạt được độ chính xác tốt nhất là 96.91% Năm 2021, Feng và đồngnghiệp [9] giới thiệu một bộ dữ liệu lỗi bề mặt của dải thép cán nóng có tên là X-SDD với 1360hình ảnh thuộc bảy loại khuyết điểm điển hình Để nhận diện chúng, tác giả kết hợp thuật toánRepVGG [10] với cơ chế chú ý không gian (spatial attention) và đạt được kết quả 95.10% trên bộ
dữ liệu này Tuy nhiên, hiệu suất của thuật toán vẫn chưa tốt đối với một số loại lỗi, do số lượngmẫu không đủ Năm 2022, Liu và đồng nghiệp [11] đề xuất một lightweight network dựa trên
cơ chế chú ý tọa độ (coordinate attention) và cơ chế tự tương tác (self-interaction), CASI-Net,
để trích xuất đặc trưng hình ảnh và xác định vùng lỗi để nhận diện tốt hơn các khuyết điểm trên
bề mặt thép trong bộ dữ liệu NEU [12] Mặc dù giảm số tham số và tính toán, kiến trúc này vẫngặp khó khăn trong việc phân biệt một số khuyết điểm có "độ tương đồng giữa các lớp và độ đadạng trong cùng một lớp cao" [11]
Trong bài toán nhận diện các mẫu hình khuyết điểm trên tấm bán dẫn (wafer map), Wang
và đồng nghiệp [13] đã công bố bộ dữ liệu MixedWM38 và thiết kế một mạng DeformableConvolution (DC-Net) kết hợp với một lớp đầu ra đa nhãn (multi-label) cho phân loại các khuyếtđiểm hỗn hợp (mixed-type) với độ chính xác trung bình là 93.2% Thử nghiệm với cùng bộ
dữ liệu trên, Nag và đồng nghiệp [14] đã đề xuất một mạng Encoder-Decoder được gọi làWaferSegClassNet (WSCN) cho cả hai tác vụ phân loại và phân đoạn Tác giả đạt được độ
Trang 27chính xác phân loại trung bình là 98.2% trên tất cả 38 lớp Các phương pháp học sâu có giámsát này đòi hỏi việc huấn luyện trên một tập mẫu có kích thước đủ lớn để giảm thiểu vấn đềover-fitting và đạt được hiệu suất nhận diện ổn định Tuy nhiên, đây cũng là thách thức lớn trongmôi trường công nghiệp thực tế, nơi số lượng hình ảnh được gán nhãn khuyết điểm là rất hạnchế.
Một số công trình áp dụng phương pháp Weakly Supervised Learning và Few-Shot Learning
để giải quyết vấn đề dữ liệu khuyết điểm hạn chế Năm 2019, Liu và đồng nghiệp [15] giớithiệu một phương pháp phân loại một lớp (One-Class Classification) dựa trên GAN [16] choviệc phát hiện lỗi trên dải thép, chỉ có thể phát hiện các mẫu bất thường và không thể nhậndiện loại khuyết điểm He và đồng nghiệp [17] giải quyết vấn đề dữ liệu này bằng một phươngpháp Semi-Supervised Learning dựa trên đa huấn luyện (multi-training) của các mạng GAN vàResNet18 [2] Cụ thể, GAN được sử dụng để tạo ra các mẫu dữ liệu ảnh không được gán nhãn,sau đó thuật toán tổng hợp cả các mẫu được gán nhãn và không được gán nhãn vào quá trình đahuấn luyện để đạt được độ chính xác cao hơn là 99.56% Năm 2020, Deshpande và đồng nghiệp[18] tiếp cận bài toán này bằng cách áp dụng Siamese neural network để nhận diện one-shottrên bộ dữ liệu NEU và đạt được 83.22% dự đoán đúng mà không cần huấn luyện thêm với cácloại khuyết điểm mới
Hình 3.1: Mẫu Normal (cột 1) và Mẫu Defect (cột 2–6) của tập dữ liệu MVTec AD [15]
Tổng kết lại, có 2 vấn đề chính xảy ra trong thực tế với cách tiếp cận học sâu:
• Vấn đề thiếu dữ liệu ảnh sản phẩm lỗi:
Học sâu được ứng dụng rộng rãi trong các bài toán thị giác máy tính, mà nhận dạng lỗi
bề mặt được xem như một ứng dụng cụ thể của nó trong công nghiệp Tuy nhiên trongthực tế, không thể trực tiếp ứng dụng học sâu vào bài toán này bởi vì tình trạng thiếu hụt
Trang 28dữ liệu ảnh bề mặt của sản phẩm lỗi Với tính chất dữ liệu đặc thù như vậy, số ảnh defectđược cung cấp để huấn luyện mô hình là vô cùng ít Để giải quyết vấn đề dữ liệu nhỏ, hiệntại đang có 4 giải pháp:
– Data Amplification and Generation: Được sử dụng nhiều nhất để mở rộng lượng
ảnh defect là sử dụng nhiều phép biến đổi ảnh như mirroring, rotation, translation,distortion, filtering, và contrast adjustment từ ảnh defect gốc để tạo được nhiều mẫuhơn Một phương pháp khác là tổng hợp dữ liệu (data synthesis), nghĩa là fuse hoặcxếp các biểu hiện lỗi ảnh tốt (normal) để tạo ảnh defect
– Network Pre-training and Transfer Learning: Sử dụng quá ít dữ liệu để huấn luyện
mô hình học sâu có thể dẫn đến overfitting, do vậy những phương pháp dựa trênNetwork Pre-training và Transfer Learning cũng thường được sử dụng
– Reasonable Network Structure Design: Nhu cầu dữ liệu training sẽ giảm đi khi thiết
kế được một kết trúc mạng hợp lí Một trong những cách này là sử dụng các mạngđôi (twin network)
– Unsupervised or Semi-supervised Method: Ở mô hình unsupervised, chỉ những ảnh
normal được dùng để training; còn phương pháp Semi-supervised sẽ tận dụng nhữngmẫu không được gán nhãn để giải quyết vấn đề này
• Vấn đề thời gian thực:
Những phương pháp nhận dạng lỗi dựa trên học sâu bao gồm 3 công đoạn chính: dataannotation, model training, và model inference Các ứng dụng thời gian thực trong côngnghiệp sẽ chú ý nhiều hơn vào quá trình inference Các cách tiếp cận hiện tại tập trungvào độ chính xác phân loại/nhận dạng mà ít chú ý đến hiệu năng của model inference Cónhiều cách để tăng tốc độ của mô hình như model weighting và model pruning, cũng như
sử dụng các đơn vị tính toán hiện đại như GPU
Phần tiếp theo ta sẽ tìm hiểu những cách tiếp cận phổ biến của phương pháp học biểu diễn(Representation Learning) và cơ chế học tự giám sát (Self-supervised Learning) để xây dựngmột mô hình hoạt động hiệu quả dưới điều kiện thiếu dữ liệu ảnh lỗi, đồng thời ta cũng xem xétcác hàm mất mát (Loss Function) có thể tối ưu được các biểu diễn ảnh của các lớp khác nhaunhằm tăng độ chính xác của mô hình phân loại
3.2 Phương pháp học biểu diễn
Những kỹ thuật học biểu diễn tiên tiến đã giới thiệu nhiều hàm mất mát (loss function) hữu íchkhác nhau để trích xuất các đặc trưng ý nghĩa từ hình ảnh để đạt được khả năng nhận diện tốt
Trang 29hơn Học tập đối lập (Contrastive Learning - CL) là một phương pháp học tự giám sát Supervised Learning) hiệu quả có thể giảm chi phí gán nhãn cho các bộ dữ liệu quy mô lớn,bằng cách học biểu diễn đặc trưng từ các phiên bản tăng cường của hình ảnh Có nhiều côngtrình được giới thiệu dựa trên ý tưởng này, chẳng hạn như SwAV [19], MoCo [20] và SimCLR[21] SimCLR là một kiến trúc điển hình của Contrastive Learning cho tự biểu diễn hình ảnh.SimCLR kết hợp các toán tử tăng cường dữ liệu và cung cấp một hàm mất mát Contrastive hiệuquả để tăng cường đặc trưng hình ảnh cho nhiều tác vụ khác.
(Self-Trong lĩnh vực nhận diện khuôn mặt (Face Recognition), các nghiên cứu gần đây tập trung vàocác hàm mất mát để cải thiện khả năng phân biệt mặt người Ý tưởng chính của những hàm này
là chỉ dẫn mô hình trích xuất để có thể giảm thiểu khác biệt trong cùng một lớp, đồng thời tối đahóa khoảng cách giữa các lớp khác nhau Schroff và đồng nghiệp [22] giới thiệu hàm mất mátTriplet, mà thông qua một bức ảnh cố định (anchor) và khoảng cách Euclidean, để tăng cườngmột biên (margin) giữa các cặp khuôn mặt positive (của cùng một người) và negative (giữa haingười khác nhau) Điều này giúp tăng cường khả năng phân biệt của mô hình với các danh tínhkhác nhau Dựa trên ý tưởng về biên góc (angular margin) [23], ArcFace [24] biến đổi hàmmất mát Softmax Loss bằng cách thêm một hình phạt biên góc cộng (additive angular marginpenalty) vào biểu diễn hình học của hàm số Điều này giúp tối ưu hóa khả năng tách biệt giữacác lớp khuôn mặt và dẫn đến hiệu suất vượt trội so với các phương pháp nhận diện khuôn mặttiên tiến Những phương pháp đổi mới này đã đóng một vai trò quan trọng trong lĩnh vực họcbiểu diễn hình ảnh Chúng trở thành các phương pháp hiệu quả để cải thiện khả năng học đặctrưng phân biệt của mô hình
Data augmentation module (mô-đun tăng cường dữ liệu): Biến đổi ngẫu nhiên một mẫu
dữ liệu thành 2 kết quả biến đổi khác nhau bằng một tập hợp các phép biến đổi, kí hiệuxei vàe
xjvà được xem như một cặp dương tính Trong bài báo họ sử dụng các phép biến đổi: randomcropping, random color distortions và random Gaussian blur
Mạng nơ-ron f (·): trích xuất các vectơ đặc trưng của dữ liệu sau khi được tăng cường Trong
bài báo họ sử dụng Resnet trong đó hi= f (exi) = ResNet(exi) với hi ∈ Rd là output của lớpaverage pooling
Trang 30Hình 3.2: Kiến trúc của SimCLR
Hình 3.3: Các biến đổi tăng cường dữ liệu
Một mạng nơ-ron nhỏ g(·): ánh xạ các representation sang không gian thấp hơn để áp
dụng contrastive loss Trong bài báo họ đề xuất sử dụng MLP với 1 hidden layer với đầu ra là
zi= g(hi) = W(2)σ (W(1)hi) với σ là hàm phi tuyến RELU
Một hàm Contrastive loss: được định nghĩa cho nhiệm vụ dự đoán tương phản (contrastive
prediction task)
Khi đào tạo mô hình, ta sẽ chia dữ liệu thành các batch để forward qua mô hình và tính loss.Đối với một batch có N sample trước khi đi vào mô hình thì nó sẽ được đi qua mô-đun tăng
Trang 31cường dữ liệu và thu được 2N sample Để tính contrastive loss, bài báo xem đối với 1 sample họ
sẽ chọn được một cặp mẫu positive (2 sample được tăng cường từ một hình ảnh) và 2(N-1) mẫucòn lại là mẫu negative Khi đó mẫu số của hàm loss chỉ tính trên các mẫu k, với k ̸= i
Giải thuật huấn luyện mô hình:
Hình 3.4: Giải thuật học của SimCLR
Bài báo thiết kế khá nhiều thí nghiệm để chứng minh độ hiệu quả của phương pháp, đểtổng quát hơn ta sẽ xem xét bảng so sánh độ chính xác của SimCLR với baseline SupervisedLearning, các phương pháp label-propagation và học biểu diễn (represention learning) ở hình3.5 Với kết quả trên tập ImageNet với tỷ lệ label lần lượt là 1% và 10%, ta có thể thấy với việc
sử dụng self-supervised representation learning có thể mang lại kết quả đáng kinh ngạc khi vượt
xa mô hình supervised trên một lượng nhỏ dữ liệu được gán nhãn Qua đó chứng minh tính hiệuquả của phương pháp khi tận dụng thông tin từ dữ liệu chưa được gán nhãn
Trang 32Hình 3.5: Độ chính xác trên tập ImageNet của các model huấn luyện bởi ít dữ liệu gán nhãn
Bài báo ArcFace được công bố trong hội nghị CVPR 2019 đã đưa ra một hướng đi mới cho
nhận diện khuôn mặt bằng việc giới thiệu một hàm mất mát mới Additive Angular Margin Loss
(ArcFace)[24]
Phương pháp tiếp cận:
Hàm mất mát Additive Angular Margin Loss có thể được xem như một cải tiến của hàm
softmax, tích vô hướng giữa vec-tơ đặc trưng từ mô hình Deep Convolutional Neural Networks
(DCNN) và lớp fully connected cuối bằng với khoảng cách của feature và weight đã được chuẩn hóa ArcFace tận dụng hàm arc-cosine để tính góc giữa feature hiện tại và weight mục tiêu Sau
đó cộng thêm addictive angular margin vào góc mục tiêu sẽ thu lại được vec-tơ logit thông qua hàm cosine Tiếp theo, các logit sẽ được định lại tỷ lệ và các bước còn lại giống hệt như hàm mất mát softmax Quá trình vừa đề cập được minh họa trong ảnh 3.6.
Bắt đầu với hàm softmax với công thức:
Trang 33Hình 3.6: Huấn luyện DCNN cho nhận diện khuôn mặt sử dụng ArcFace loss.
Hàm mất mát softmax là sự kết hợp giữa hàm mất mát entropy chéo và sự kích hoạt softmax(softmax activation) Hàm này trong quá khứ thường được sử dụng cho các bài toán nhận diệnkhuôn mặt Tuy nhiên, điểm yếu của hàm này là không có khả năng tối ưu hóa rõ ràng các vec-tơembedding chứa các đặc điểm khuôn mặt để tăng thêm sự tương đồng giữa những khuôn mặttrong cùng một lớp và tăng thêm sự đa dạng giữa các khuôn mặt giữa các lớp khác nhau, dẫnđến tạo ra một khoảng cách cho những khuôn mặt với nhiều biến thể (do khác biệt tuổi tác hay
do khác biệt về dáng khuôn mặt)
Để đơn giản hóa, ta cố định bias bj= 0, sau đó biến đổi WjTxi= Wj ∥xi∥ cos(θj) trong
đó θjlà góc giữa weight Wjvà đặc trưng xi Theo sau đó, cố định weight Wj = 1 bằng chuẩnhóa L2, đồng thời chuẩn hóa luôn vec-tơ đặc trưng ∥xi∥ theo L2 và rescale lại thành s Bướcchuẩn hóa weights và vec-tơ đặc trưng này tạo nên sự dự đoán thuần túy dựa trên góc giữa vec-tơđặc trưng và weight Vec-tơ đặc trưng đã được học sau đó được phân bổ trên một hyperspherevới bán kính là s
Vì các vec-tơ đặc trưng được phân bổ xung quanh mỗi đặc trưng trung tâm theo mộthypersphere, ta sẽ thêm vào đó một hình phạt biên góc cộng (additive angular margin penalty)
mgiữa xivà Wyi để đồng thời tăng cường tính nhỏ gọn trong nội bộ lớp và sự khác biệt giữa các
lớp Và phương pháp này được đặt tên là ArcFace.
Mã giả giải thuật của ArcFace:
Theo như bài báo, khoảng chừng 1500 ảnh cho 1 khuôn mặt với tổng cộng 8 khuôn mặtkhác nhau đã được chọn để huấn luyện mạng với lần lượt hàm softmax và hàm mất mát ArcFace.Theo như hình 3.8, ta có thể thấy việc sử dụng softmax với hàm Cross Entropy Loss giúp phântách các vec-tơ đặc trưng nhưng lại tạo nên một sự mơ hồ rõ ràng trên đường ranh giới quyết
Trang 34Hình 3.7: Mã giả giải thuật của ArcFace trên MxNet.
định (decision boundaries) Trong khi đó, sử dụng softmax với hàm loss ArcFace lại có sự phânchia rõ rệt giữa các lớp gần nhau
Hình 3.8: Kết quả phân tách đặc trưng của Softmax và ArcFace.