Với mô hình kiến trúc này, các phương pháp chú ý cơ học attention mechanism ở cả hai chú ý về không gian và về kênh được sử dụng để tập trung hơn vào phần quan trọng của hình ảnh đầu vào
Giới thiệu
Mở đầu
Hiện nay sản lượng tiêu thụ thực phẩm, thịt công nghiệp, ngày càng tăng ở các nước Trong đó, nhu cầu thịt sạch, có chất lượng tốt và hạn chế ảnh hưởng đến môi trường là vấn đề được đặt ra Ở Việt Nam, các mô hình chăn nuôi hiện tại có quy mô nhỏ, lẻ, không đủ vệ sinh an toàn và gia cầm dễ bị bệnh Về mặt công nghiệp, các trại chăn nuôi chưa áp dụng triệt để kỹ thuật cao vào việc theo dõi gia súc Việc cải thiện thức ăn và cách thức nuôi thủ công cho vật nuôi cũng một phần giúp cải thiện sức khỏe của gia súc (lợn, bò, cừu,
…) tuy nhiên nếu con giống được chọn lọc tốt thì chất lượng sẽ được cải thiện nhanh và triệt để hơn Do đó, nhu yếu theo dõi vật nuôi để xác định sự bất thường là cần thiết và trong đó phải kể đến bài toán phân loại
Trong thời gian tìm hiểu, nhiệm vụ chính của học viên là xác định, xây dựng và tối ưu hóa mô hình để phân loại thẻ tai của lợn Đây là một phần trong tổng thể lớn bài toán theo dõi lợn Để đảm bảo nguồn sản xuất hiệu quả, cần quan sát động vật ở cấp độ cá nhân để đánh giá sức khỏe và thói quen của chúng Hiện tại, phương pháp đang được sử dụng phổ biến là nhận dạng bằng RFID để theo dõi lợn, tuy nhiên, tín hiệu có thể bị mất khi có trường hợp heo nằm chồng lên nhau và RFID chỉ có thể được xác định lại sau khi heo quay trở lại trạm cho ăn – nơi được bố trí đầy đủ các thiết bị Đó là lý do, yêu cầu xây dựng một phương pháp phù hợp hơn được đặt ra: sử dụng camera để theo dõi 24/24 đàn heo và đặc biệt là từng cá thể trong chuồng
1.1.2 Sơ lược về tập ảnh chăn nuôi:
Dưới sự hợp tác giữa trường Norwegian University of Science and Technology – nơi học viên đã thực tập – và dự án PigBrother từ công ty Norsvin AS ở Na Uy, học viên có cơ hội tiếp xúc với tập dữ liệu đã và đang được chú thích, dán nhãn với khoảng hơn ba nghìn hình ảnh – Tập dữ liệu Norsvin-Pigbrother – với chất lượng rất cao được trích xuất từ máy ảnh LOREX (4K Ultra HD IP NVR) và ELOTEC (4MP Bullet, IP67) Sau khi nhận được dữ liệu, học viên cần xử lý dữ liệu trước khi thực hiện thuật toán tối ưu hoặc đưa vào mô hình Đầu tiên, tại khớp điểm trích xuất từ bước xác định tư thế (pose estimation), tai phải chứa thẻ sẽ được cắt bằng hình ảnh kích thước cài đặt từ tư thế có chú thích của các tệp định dạng JSON COCO của lợn và hình ảnh tương ứng trong bước 1 Tuy nhiên, như trong hình 2.1.1, có một số hình ảnh dư thừa không chứa thẻ hoặc ít nhất là nhiễu dư thừa xung quanh thẻ như chuồng, máng hoặc heo khác Vì định hướng ban đầu là phương pháp học có giám sát nên kết quả từ bước dữ liệu cần phải được kiểm tra và lựa chọn trước khi dán nhãn thẻ trong công cụ Labelme
1.1.3 Mục tiêu nghiên cứu Đề tài luận văn tốt nghiệp thạc sĩ dựa trên những nghiên cứu về các mô hình học sâu và các phương pháp học để huấn luyện mô hình mạng học sâu phù hợp với tác vụ phân loại, giúp ứng dụng trong lĩnh vực phân loại thẻ đeo tai của gia súc trong chăn nuôi Đề tài hỗ trợ cho người chăn nuôi có khả năng theo dõi vật nuôi 24/7 bằng camera và giúp đánh giá chất lượng con giống và đồng thời có thể can thiệp khi có những bất thường trong hành vi vật nuôi Để đạt được mục tiêu trên, học viên cần thu thập và xây dựng tập dữ liệu hình ảnh riêng cho tác vụ phân loại thẻ đeo tai và sau đó, khảo sát trên các mô hình tích chập, học sâu và cải thiện với mô hình phù hợp nhất để huấn luyện một mạng có khả năng đáp ứng các mục tiêu đã đề ra Các mục tiêu nghiên cứu cụ thể như sau:
Nội dung 1: Tìm hiểu lý thuyết về các mô hình tích chập, các mô hình mạng học sâu và các phương pháp cải tiến, tối ưu để giải quyết bài toán phân loại ảnh
Nội dung 2: Thu thập, phân tích tập dữ liệu phục vụ cho quá trình huấn luyện mô hình Nội dung 3: Tiến hành huấn luyện mô hình học sâu với các phương pháp tối ưu
Nội dung 4: Hiệu chỉnh, tối ưu hóa mô hình bằng các phương pháp đề xuất lý thuyết và các thí nghiệm thử sai
Nội dung 5: Ghi nhận kết quả, nhận xét, rút ra kết luận và viết báo cáo
1.1.4 Đối tượng và phạm vi nghiên cứu Đối tượng thực hiện của đề tài luận văn là dữ liệu hình ảnh được trích xuất từ các camera chất lượng cao LOREX (4k Ultra HD IP NVR) và ELOTEC (4MP Bullet, IP67)
Phạm vi nghiên cứu của đề tài chỉ tập trung trên các ảnh có tồn tại thẻ đeo trên tai heo
1.1.5 Các đóng góp của luận văn
Qua quá trình thực hiện luận văn tốt nghiệp, học viên đã kết hợp thành công những nổi bật trong các mô hình tích chập và mạng học sâu cùng với phương pháp chú ý và tự học để huấn luyện mô hình có độ tin cậy cao cho việc phân loại thẻ đeo tai Đề tài hỗ trợ cho quá trình tự động hóa và theo dõi vật nuôi nhằm giúp các cơ sở chăn nuôi có thể tối ưu hóa sản lượng cũng như chất lượng và sớm cảnh báo các nguy hiểm từ các điểm bất thường cũng như đồng thời hỗ trợ có phương pháp phù hợp Các ý nghĩa khoa học và thực tiễn, giá trị vi mô và vĩ mô đã được học viên trình bày chi tiết trong chương 3, mục 3.2.1 và mục 3.2.2
Hình 1.1: 16 thẻ tai duy nhất được sử dụng trong công việc này để xác định từng con lợn
Các thẻ sử dụng các ký tự chữ và số được in trên tai Destron FearingTMHogmax và được công ty lựa chọn để dễ dàng quan sát.
Tổng quan
Ngày nay, công nghiệp hóa và tự động hóa đã và đang hỗ trợ con người đạt được năng suất cao trong nhiều lĩnh vực: từ kinh tế, chuỗi cung ứng hàng hóa và y học cho đến quản lý chăn nuôi gia súc Đi sâu vào ứng dụng trong lĩnh vực chăn nuôi, tác vụ phân loại và theo dõi vật nuôi bằng thẻ đeo tai [1] là rất cần thiết trong việc chọn lọc như việc chọn giống tốt dựa trên các thói quen và biểu hiện trong đời sống hằng ngày của vật nuôi Việc này giúp người chăn nuôi quan sát liên tục để đánh giá đúng về tình trạng sức khỏe và chất lượng của từng cá thể Ngoài ra, bài toán phân loại đã trở nên phổ biến tuy nhiên với học viên thì lĩnh vực này khá hấp dẫn và nhiều động lực trong việc bắt đầu tìm hiểu Ở bước đầu tiên, học viên xử lý, đánh giá bộ dữ liệu, mô hình và kết quả - hình 1.2 Tiếp theo, học viên sẽ xem lại bộ dữ liệu với thẻ đeo đa dạng – hình 2.1.1: như màu sắc, độ sáng, vị trí của thẻ đeo tai, v.v … Việc mô phỏng lại những tình huống đó là cần thiết Bên cạnh đó, học viên có cơ hội thực hiện gắn nhãn tập dữ liệu vì tập dữ liệu ban đầu không cân bằng và có nhiều hình ảnh “rác” Do, hạn chế về số lượng tập dữ liệu, học viên đã áp dụng một tập hợp các phương pháp tăng cường để làm phong phú dữ liệu và phân tích tính phù hợp của từng phướng pháp Trong giai đoạn, một số chủ đề thú vị được nêu ra: Thứ nhất, bộ dữ liệu chủ yếu được ghi lại vào ban ngày có nghĩa là bạn có thể quan sát rõ ràng màu sắc và các ký tự nhưng trong trường hợp IR hình ảnh từ camera quan sát dùng vào ban đêm không tồn tại (tham khảo thêm ở phần phụ lục) Thứ hai, việc thay thế chức năng mất CE [5] bằng Focal Loss [6] để xử lý dữ liệu mất cân bằng không dự đoán trước được; thứ ba, do chi phí cao chi phí lưu trữ mà phương pháp nén đã nghiên cứu trong tình hình thực tế (tham khảo thêm ở phần phụ lục) được trình bày, áp dụng và cuối cùng là một số tiêu chí đánh giá kết quả Việc phát triển và tối ưu hóa các mô hình CNN là quan trọng nhất, thiết yếu và nhiều cảm hứng trong quá trình nghiên cứu
Tại giai đoạn mới tiếp cận thông tin, việc tự xây dựng mô hình CNN đơn giản với các lớp tích chập và mạng neuron 3-4 lớp, tuy nhiên, kết quả không được chấp nhận vì kết quả của mô hình rất thấp Do đó, việc thực hiện trên các mô hình kiến trúc SOTA là cần thiết để tìm ra mô hình nào là phù hợp cho tập dữ liệu trước khi tối ưu hóa bằng các phương pháp khác nhau để cải thiện kết quả học của mô hình
Theo [1], phân loại là một phương pháp học máy có giám sát trong đó mô hình cố gắng dự đoán nhãn chính xác của dữ liệu đầu vào nhất định Trong đó, mô hình được huấn luyện đầy đủ bằng cách sử dụng dữ liệu huấn luyện và sau đó được đánh giá trên dữ liệu thử nghiệm trước khi được sử dụng để thực hiện dự đoán về dữ liệu mới chưa được nhìn thấy CNN bắt đầu với ý tưởng bắt chước cách thức con người hình dung bằng cách áp dụng tích chập với nhiều bộ lọc khác nhau (kernels) và tổng hợp cho phép trích xuất tối đa các tính năng của hình ảnh trước khi đến perceptron đa lớp để thực hiện nhiệm vụ của mình Theo dự kiến, học viên khảo sát trên các mô hình kiến trúc điển hình như là ResNet18, DenseNet121, EfficientNetB0 và CoAtNet, sau đó, kết hợp mô-đun cơ chế chú ý (CBAM) với các mô hình này ngoại trừ CoAtNet đã có sẵn mô-đun tự chú ý Học viên cũng mô phỏng chạy trên mô hình điển hình nhất hiện nay là Vision Transformer để so sánh sự phù hợp với tập dữ liệu hiện tại Việc học chuyển giao (transfer learning) và đào tạo trước (pre- trained) đã được chấp nhận trong trường hợp này vì tập dữ liệu hiện có khá nhỏ Tiếp đến, mô hình đã được chọn sẽ được sử dụng làm xương sống trong Barlow Twins – Self- supervised learning – để rút ra toàn bộ các tính năng trên phần dữ liệu chưa được gắn nhãn Cuối cùng, các tiêu chí để ước tính kết quả và so sánh hiệu suất giữa các mô hình sẽ được trình bày
Cùng với đó, các nghiên cứu liên quan trước đây của các mô hình cũng cần được xem lại Một vài thập kỷ trước, một phiên bản đơn giản của mô hình CNN như LeNet của Yann LeCun – năm 1995 [8] – đủ dùng cho các tác vụ cơ bản với một bộ dữ liệu nhỏ như CIFAR [9] hoặc NORB [10] cho mô hình hiệu quả Hiện tại để giải quyết các vấn đề phức tạp và thực tế với nhiều giá trị biến từ một tập dữ liệu lớn như COCO [11] và ImageNet 2012 [12], AlexNet [13] của Krizhevsky et al – năm 2012, bao gồm tám lớp: năm lớp tích chập, ba lớp được kết nối đầy đủ, sử dụng tính phi tuyến tính ReLU thay vì hàm tanh, có thể nhận dạng lệch tâm các đối tượng và hầu hết năm lớp hàng đầu của nó cho mỗi hình ảnh, ngoài ra, giảm thời gian đào tạo trong khi áp dụng nhiều GPU và áp dụng hai phương pháp để xử lý vấn đề bão hòa: tăng cường dữ liệu và DropOut, đã giành chiến thắng trong cuộc thi ImageNet Do số lượng tham số khổng lồ (khoảng 60 triệu) của AlexNet và sự xuống cấp nghiêm trọng trong trường hợp loại bỏ bất kỳ lớp tích chập nào, VGG [7] – Visual Nhóm Hình học được biết đến bởi Simonyan et al – kế thừa các ghi chú đáng chú ý và tiếp tục phát triển bằng cách sử dụng lớp tích chập với bộ lọc nhỏ (3x3) thay thế cho lớp tích chập với bộ lọc lớn hơn (5x5 và 11x11) dẫn đến giảm các tham số tương ứng với ánh xạ phi tuyến tính, sâu hơn và đặc biệt là tốt hơn trong thời gian đào tạo, nhưng việc xây dựng một mạng lưới thần kinh là với 16 và 19 lớp sâu hơn vào năm 2015 [12] Khi số lớp tăng lên trong CNN để mở rộng độ sâu của mạng, khả năng của mô hình phù hợp với các chức năng phức tạp hơn cũng tăng lên và khó đào tạo hơn do vấn đề độ dốc biến mất Vào năm 2016,
He và cộng sự [14] đã dành riêng kiến trúc mới bằng cách sử dụng khối dư – ResNet – có thông số thấp hơn, không cần tăng layer mà vẫn đạt được hiệu suất trong khi so sánh với mạng đơn giản Nhiều phiên bản đang phát triển của ResNet xuất hiện sau đó như Wide- ResNet [15] của Zagoruyko et al., ResNeXt [16] của Xie và cộng sự, hoặc Hyper-ResNet [17] Sau một năm, mạng Squeeze-and-Excite [18] của Đại học Oxford – Hu et al – có cách thích ứng hiệu chỉnh lại các phản hồi tính năng theo kênh bằng cách lập mô hình rõ ràng về sự phụ thuộc lẫn nhau giữa các kênh, đã giành chiến thắng trong thử thách phân loại ILSVRC 2017, đặc biệt là khối SE có thể được thêm vào liên kết với các phương pháp SOTA hiện có như VGG [7], Inception [19], MobileNet [20], Với mong muốn trong việc cải thiện model sẽ sâu hơn nhưng giảm bớt vấn đề độ dốc biến mất, tăng cường lan truyền tính năng, thực hiện ít tính toán hơn để đạt được hiệu suất cao và giảm sự dư thừa, Convolutional được kết nối chặt chẽ – DenseNet [21] được biết đến vào năm 2017 và đã được phát hiện bởi Gao et al Cùng một mục đích tối ưu hóa; khi một tập hợp các biến thể của ResNets cho thấy rằng nhiều lớp đóng góp rất ít, có thể bị loại bỏ ngẫu nhiên trong quá trình đào tạo và trạng thái của nó tương tự như tái diễn mạng thần kinh nhưng số lượng tham số lớn hơn đáng kể bởi vì mỗi lớp có trọng số của nó, bố cục mạng dày đặc tương tự như cấu trúc tầng và kết nối giữa các lớp chia sẻ thông tin giữa các lớp để sử dụng hiệu quả tài nguyên mạng mà vẫn đạt được khả năng thích ứng cao Đối với tác giả, ban đầu, DenseNet đạt được tỷ lệ lỗi thấp hơn trong khi sử dụng ít tham số hơn ResNet và hoạt động tốt hơn với biên độ lớn mà không cần tăng cường dữ liệu Ngoài ra, Tan và cộng sự đã trình bày EfficientNet [22] – ý tưởng cẩn thận cân bằng độ sâu, chiều rộng và độ phân giải của mạng để có thể dẫn đến hiệu suất tốt hơn khi sử dụng thành quả đơn giản mà hiệu quả cao trong năm 2019 Vào năm 2021, sự kết hợp sáng tạo giữa tích chập theo chiều sâu và cơ chế tự chú ý thừa hưởng lợi thế từ Transformer [23] thông qua sự chú ý tương đối đơn giản trong CoAtNet [24] đã đạt được hiệu suất hiện đại nhất theo các bộ dữ liệu khác nhau của Dai et al Vì thế, vấn đề phân loại được giải quyết dựa trên cách tiếp cận hiện có và tích hợp với thuật toán tối ưu hóa
Mô đun chú ý – Attention Module – là một trong những khái niệm thiết yếu còn thiếu trong các mô hình sẵn có hiện tại Thông thường, Attention Module được biết đến nhiều trong Transformer hoặc Vision Transformer [38] Trên thực tế, có một cơ chế chú ý khác cho miền hình ảnh đó là mô-đun chú ý khối tích chập (CBAM) – Convolution Block Attention Module [25] Tính linh hoạt và toàn vẹn của CBAM được kết hợp vào nhiều kiến trúc CNN điển hình đã cải thiện kết quả một cách ấn tượng bằng cách tập trung nhiều hơn vào thông tin quan trọng thay vì tìm hiểu thông tin cơ bản xung quanh như lợn, chuồng lợn, v.v CBAM được hình thành bởi hai khối liên tiếp: kênh chú ý mô-đun và mô-đun chú ý không gian Trong chính mô-đun chú ý của kênh, tính năng đầu vào F sẽ chuyển theo hai cách: max pooling và average pooling thành nhận được nhiều tính năng đặc biệt hơn trên kênh Sau đó, một nhận thức đa lớp – multi-layer perceptron được chia sẻ (MLP) của một lớp ẩn với hàng loạt được chuẩn hóa bằng ReLU để có được giá trị phi tuyến tính đầu ra trước khi kết hợp hai đầu ra F′ cho sự chú ý của kênh trong khi F′ sẽ trải qua quá trình kết hợp các hoạt động tổng hợp để tạo ra một hệ thống hiệu quả đặc trưng trong miền không gian Trong mô-đun CBAM, học viên có ý tưởng nâng cấp bằng cách thay thế ReLU bằng GELU [26] trong chú ý kênh và thêm Chuẩn hóa hàng loạt (BN) vào mô-đun chú ý không gian
Hình 1.2: Lưu đồ của quá trình nghiên cứu – bằng tiếng anh [43]
Hơn nữa, học viên còn kết hợp Self-Supervised Learning (SSL) – là phương pháp học máy nhằm khai thác triệt để dữ liệu chưa được gắn nhãn để tạo ra các nhãn SimCLR, BYOL và MoCo là những phương pháp tự giám sát nổi tiếng hiện nay [27] Bên cạnh đó với nghiên cứu của Jure Zbontar và các cộng sự vào năm 2021 về phương pháp tự học, cụ thể là phương pháp Barlow Twins [28] đặc biệt với 2 kênh hình thành mạng những đặc tính và cải thiện về ma trận chéo sẽ được học viên sử dụng để tăng cường xương sống của mô hình CNN Cuối cùng, vì SSL rất nhạy cảm với sự thay đổi của tập dữ liệu, đặc biệt là tập dữ liệu không cân bằng nên Focal loss – FL [6] – đã thay thế hàm Cross Entropy – CE – truyền thống để ngăn chặn điều này Các mục cụ thể sẽ nghiên cứu như sau:
• Dữ liệu được chú thích và xây dựng lại bộ dữ liệu
• Khảo sát về kích thước cắt xén, khảo sát sự phân bố của các chiến lược tăng dữ liệu để cải thiện tính tổng quát của mô hình
• Biểu diễn và ước lượng dữ liệu nén
• Được khảo sát trên các mô hình sẵn có và kết hợp không gian và hướng sự chú ý vào các mô hình CNN
• Bên cạnh đó khảo sát mô hình CNN phù hợp nhất trên phương pháp tự học – Barlow Twins với Focal loss
• Một phân tích định lượng kỹ lưỡng đã được thực hiện trên các mô hình hiện đại cho thấy hiệu quả của các phương pháp
Hình 1.3: Quy trình thực hiện: Tiền xử lý ảnh và nâng cấp mô hình học sâu.
Kết luận chương 1
Trong chương 1, học viên đã trình bày mở đầu, tổng quan về tập ảnh được sử dụng và mục tiêu các phương pháp khác nhau được sử dụng trong tác vụ phân loại ảnh Qua những phần tổng quan tài liệu, học viên đề ra mục tiêu nghiên cứu cùng với những giới hạn thực hiện cho đề tài luận văn tốt nghiệp.
Cơ sở lý thuyết
Xử lý dữ liệu
2.1.1 Giới thiệu thẻ đeo tai:
Như đã giới thiệu lúc đầu, đây là tập dữ liệu của dự án PigBrother của công ty Norsvin
AS, dữ liệu hình ảnh với chất lượng cao được trích xuất từ máy ảnh LOREX (4K Ultra HD
IP NVR) và ELOTEC (4MP Bullet, IP67) Sau bước ước tính tư thế (pose estimation), dữ liệu sẽ được lưu trữ dưới các tệp định dạng JSON COCO tại khớp điểm ở tai phải, thẻ sẽ được cắt có chú thích và hình ảnh tương ứng Tuy nhiên, có một số hình ảnh dư thừa không được bao gồm một thẻ hoặc ít nhất là bị nhiễu dư thừa xung quanh thẻ như chuồng hoặc sự chồng chéo (do lợn nằm chồng lên nhau) Vì định hướng ban đầu với phương pháp học có giám sát nên kết quả dữ liệu cung cấp vào mô hình cần phải được kiểm tra và lựa chọn trước khi dán nhãn thẻ trong công cụ Labelme [29]
Trong tập thẻ đeo tai, 16 thẻ tai được sử dụng trong công việc này để xác định từng con lợn trong chuồng – hình 1.1 Các thẻ sử dụng các ký tự chữ và số được in từ Destron FearingTMHogmax – được công ty lựa chọn với mục đích để dễ dàng quan sát Vì số thẻ đeo tai sẽ tương ứng với số lượng heo trong chuồng, hiện tại, mỗi chuồng chỉ tối đa 12 con heo nên số lượng tập phân loại sẽ tương ứng với 12 tập
Hình 2.1: Minh họa bước tiền xử lý của lần cắt ảnh thứ nhất (a) và lần cắt ảnh thứ hai (b)
Theo hình 2.1.2.1, các tệp JSON dưới định dạng COCO (COCO annotated) nhận được từ giai đoạn ước tính tư thế (pose estimation) sẽ được cung cấp làm dữ liệu đầu vào để cắt xén lần thứ nhất nhằm trích xuất được tai có chứa thẻ đeo Sau khi nhận được tập dữ liệu được gắn nhãn có sẵn và xem xét kết quả của toàn bộ tập dữ liệu, học viên nhận thấy có rất nhiều dữ liệu rác - dữ liệu không bao gồm thẻ - trong thống kê hình 2.1.2.2 dẫn đến việc mất cân bằng trong tập dữ liệu và mô hình không thể học hiệu quả trên tập dữ liệu này Sau đó, học viên quyết định thêm bước lọc và chọn thủ công, và gắn nhãn bằng công cụ: Labelme vào việc xử lý dữ liệu Việc thực hiện cắt xén thứ hai là cần thiết để giữ cho dữ liệu sạch và giảm nhiễu, đồng thời cải thiện độ chính xác của mô hình - tham khảo bảng 1
Từ bảng này, dữ liệu trước đó được đánh giá là mất cân bằng, chứa nhiều nhiễu và lượng dữ liệu là 1375 trong khi dữ liệu hiện tại tốt hơn, ít nhiễu hơn và lượng dữ liệu là hơn 3000 hình ảnh Ngoài ra, quy ước về dữ liệu là 0: “0”, 1: “WW”, 2: “777”, 3: “Q Q”, 4: “YY”, 5: “HHH”, 6: “J J”, 7: “66”, 8: “PPP”, 9: “W”, 10: “N N”, 11: “T”, 12: “NaN”
Hình 2.2: Sơ đồ tiền xử lý dữ liệu
Do đó, kết quả sẽ có 13 lớp tương ứng với 12 thẻ được sử dụng và 1 lớp “NaN” được gán cho hình ảnh không chứa thẻ Như được hiển thị trong bảng bên dưới, duy trì cùng một môi trường thiết lập như nhãn, số lượng lớp, kích thước lô, v.v., học viên đã thực hiện việc tăng kích thước của hình ảnh và sử dụng các mô hình tương tự: ResNet18, DenseNet121, EfficientNetB0, và CoAtNet để đánh giá ảnh hưởng của kích thước đến độ chính xác của mô hình Từ kết quả nhận được, độ chính xác sẽ giảm trong khi kích thước của hình ảnh đầu vào tăng lên vì hình ảnh càng lớn, dữ liệu trong hình ảnh càng nhiễu (ví dụ: chuồng, da lợn) và thẻ ít được chú ý hơn Trong phân tích này, kích thước cắt 16x16 của hình ảnh là độ chính xác tốt nhất tuy nhiên toàn bộ thẻ không thể quan sát được, trong khi kích thước 32x32 có độ chính xác nhỏ hơn nhưng đổi lại ta có thể thấy đầy đủ thẻ Ngoài ra, kích thước 64x64, cung cấp thẻ đầy đủ và cả phần dư thừa, là cho kết quả tệ nhất trong khi khảo sát
Hình 2.3: Thống kê tập dữ liệu trước và sau tiền xử lý
2.1.3 Các phương pháp tăng cường được sử dụng:
Trong học máy, tăng cường dữ liệu là quá trình mở rộng tập dữ liệu huấn luyện về cả quy mô và sự đa dạng từ dữ liệu hiện tại thông qua việc sử dụng các phép biến đổi và thay đổi bằng cách đào tạo trên một số bản sao dữ liệu hiện có được sửa đổi một chút giúp giảm tình trạng bị quá mức (overfitting) khi đào tạo mô hình học máy Với mục đích nâng cao hiệu quả và tính tổng quát của các mô hình học máy nên các phương pháp tăng cường đã thường xuyên được áp dụng trong quá trình huấn luyện của các mô hình Trong trường hợp khi so sánh với tập ảnh ImageNet (nhiều hơn 14 triệu ảnh), tập dữ liệu hiện tại có số lượng rất ít chỉ với hơn 3000 ảnh nên việc áp dụng phương pháp tăng cường là bắt buộc
Có hai loại trong phương pháp tăng cường: Kỹ thuật tăng cường dữ liệu đơn giản và kỹ thuật tăng cường dữ liệu nâng cao
2.1.3.1 Kỹ thuật tăng cường dữ liệu đơn giản:
Các chuyển đổi cơ bản có thể được thực hiện đối với dữ liệu dưới dạng hình ảnh, âm thanh hoặc văn bản như một phần của phương pháp tăng cường dữ liệu đơn giản Những phương pháp này dễ áp dụng và có thể hỗ trợ tái tạo các kết quả nhất quán với tài liệu nguồn Có rất nhiều phương pháp tăng cường dữ liệu đơn giản được sử dụng thường xuyên, học viên chỉ nêu ra một vài phương pháp đã từng và đang được áp dụng trong nghiên cứu:
Phản chiếu và lật (Mirroring and Flipping): Hình ảnh và dạng sóng âm thanh có thể được lật theo chiều ngang hoặc chiều dọc để tạo ra hình ảnh phản chiếu hoặc phiên bản được lật tương ứng Phương pháp này hữu ích trong các lĩnh vực mà hướng đối tượng không quan trọng, chẳng hạn như bộ dữ liệu nhận dạng khuôn mặt và phát hiện đối tượng
Mô hình có thể được đào tạo để nhận dạng một vật thể theo bất kỳ hướng nào bằng cách phản chiếu hoặc lật hình ảnh
Xoay và chia tỷ lệ (Rotating and Scaling): Hình ảnh và dạng sóng âm thanh có thể được xoay và thu nhỏ tương ứng theo kích thước hoặc hướng mới Phương pháp này có thể áp dụng trong các lĩnh vực như phân tích hình ảnh y tế và phân tích hình ảnh trên không trong đó hướng và kích thước của vật thể đóng vai trò quan trọng Mô hình có thể học cách nhận dạng vật phẩm ở nhiều góc độ và kích thước khác nhau bằng cách xoay và chia tỷ lệ dữ liệu
Hình 2.4: Ví dụ phương pháp tăng cường: a) Ảnh gốc, b) Các phương pháp truyền thống được áp dụng (Xoay, lật, thay đổi kích thước, nhiễu), c) CutOut với kích thước khối là 8x8, d) RandAugment
Cắt xén và thay đổi kích thước (Cropping and Resizing): Cắt xén và thay đổi kích thước là các quá trình trong đó một vùng đã chọn của dạng sóng hình ảnh hoặc âm thanh được phóng to hoặc giảm xuống kích thước mới Phương pháp này vượt trội trong các ứng dụng có kích thước đối tượng và vị trí quan trọng, chẳng hạn như bộ dữ liệu phân loại cảnh và nhận dạng giọng nói Mô hình có thể được đào tạo để nhận dạng mục ở nhiều cài đặt và độ phân giải khác nhau chỉ bằng cách cắt xén và thay đổi kích thước dữ liệu
Hiện tượng nhiễu màu và bão hòa màu (Color Jittering and Saturation): Hiện tượng biến dạng và tăng độ bão hòa của màu sắc là hai cách để điều chỉnh màu sắc của hình ảnh Trong trường hợp sự phân bố màu sắc của đối tượng là quan trọng, chẳng hạn như phân đoạn hình ảnh hoặc phân loại video, phương pháp này có thể rất hữu ích Mô hình có thể học cách nhận dạng vật thể trong nhiều tình huống ánh sáng và phân bổ màu sắc khác nhau bằng cách chuyển đổi dữ liệu hay sử dụng các thay đổi về độ rung màu và độ bão hòa
2.1.3.2 Kỹ thuật tăng cường dữ liệu nâng cao:
Hình 2.5: Ví dụ phương pháp tăng cường GAN: Ảnh bên trái là ảnh gốc và 3 ảnh bên phải lần lượt là ảnh được áp dụng UNIT với các cấu hình khác nhau (như áp dụng cân bằng histogram trên từng tập ảnh UNIT 3 và UNIT 4 hoặc 2 tập ảnh cùng một lúc UNIT 2 Để tạo dữ liệu đào tạo bổ sung từ tập dữ liệu hiện có, ngày nay các nghiên cứu thường chuyển sang các kỹ thuật tăng cường dữ liệu phức tạp Các phương pháp này thường được sử dụng trong các ứng dụng học sâu đòi hỏi lượng dữ liệu huấn luyện khổng lồ và chúng đòi hỏi các phép biến đổi phức tạp hơn có thể làm thay đổi hình dạng, kết cấu và màu sắc của dữ liệu đầu vào Trong khuôn khổ nghiên cứu, học viên đã khảo sát trên 3 phương pháp:
Xóa và cắt ngẫu nhiên (Random Erasing and Cutout): Một số phương pháp huấn luyện bao gồm xóa hoặc cắt ngẫu nhiên các phần của dữ liệu đầu vào Điều này giúp mô hình tránh bị phù hợp quá mức và chuyển sự chú ý sang các khía cạnh khác của đầu vào Việc cắt bỏ sẽ loại bỏ một vùng hình vuông của đầu vào, trong khi việc xóa ngẫu nhiên sẽ thay thế bằng nhiễu
Mạng đối thủ sáng tạo (GAN): Bằng cách nghiên cứu sự phân bố cơ bản của tập dữ liệu gốc, các phương pháp như chuyển kiểu và GAN có thể được sử dụng để tạo ảnh mới Mục tiêu của GAN là tạo ra các hình ảnh mới tương tự như tập dữ liệu gốc, trong khi mục tiêu của việc chuyển kiểu là chuyển kiểu của hình ảnh này sang hình ảnh khác Trình tạo GAN được dạy để đánh lừa một mô hình phân biệt đối xử có thể cho biết sự khác biệt giữa ảnh thật và ảnh giả Ở đây, vì tập dữ liệu dưới dạng COCO rất lớn, học viện không kịp xử lý tập ảnh về đêm (IR) nên phương pháp GAN được áp dụng trong việc tạo mô phỏng tập ảnh hồng ngoại: chuyển ảnh RGB sang ảnh IR (tham khảo thêm trong phần phụ lục).
Các mô hình học sâu và các khối tăng cường
Các lớp tích chập là các lớp cung cấp mạng lưới thần kinh tích chập Đồng thời với các lớp tích chập, có cách gộp giúp giảm kích thước của bản đồ đối tượng (feature maps) như gộp chung tối đa (max pooling) hoặc gộp chung trung bình (average pooling); hàm kích hoạt đầu ra của nút đó với một đầu vào hoặc một tập hợp các đầu vào cụ thể là: ReLU, Tanh, Sigmoid, GELU, ; chuẩn hóa hàng loạt (Batch Normalization – BN) tăng tốc độ đào tạo bằng cách bình thường hóa việc kích hoạt lớp ẩn (hidden layer), làm mịn hàm mất mát và so sánh sự khác biệt của đầu ra được dự đoán và kết quả thật (ground truth) Để học tập, hàm mất mát, tính đạo hàm và hàm tối ưu hóa bằng SGD, AdaGrad, ADAM, v.v được sử dụng
Hình 2.6: Khối residual block đơn giản
Nhằm đáp ứng nghiên cứu mô hình với tập dữ liệu ImageNet, vào năm 2012, mô hình AlexNet [13] được phát triển là một mạng nơ ron tích chập 8 lớp và 2 năm sau, vào năm
2014, mô hình mạng lưới nơ ron được đặt cùng tên: Visual Geometry Group (VGG) [7] tại đại học Oxford đã tiếp cận mô hình với độ sâu 19 lớp bằng cách xếp chồng lên nhau với các lớp chập 3x3 Tuy nhiên, việc xếp chồng nhiều lớp dẫn đến việc giảm nhanh độ chính xác trong quá trình huấn luyện được gọi là vấn đề “suy hao” (degradation problem) Để khắc phục điều này, mạng dư (residual network) được phát triển bởi Kaiming He, Xiangyu Zhang, Shaoqing Ren, và Jian Sun đã được giải trong cuộc thi ImageNet 2015
Khối dư (Residual block) là bước đột phá khắc phục hạn chế của cách làm truyền thống ResNet ít phức tạp hơn vì nó có ít bộ lọc và khắc phục được vấn đề biến mất độ dốc vì độ dốc có thể chảy trực tiếp qua chức năng nhận dạng từ các lớp sau đến các lớp trước đó Học phần dư sâu được hiểu là hàm: F(x) = H(x)−x trong đó hàm ban đầu sửa đổi thành F(x)+x và tăng tốc độ hội tụ của mạng sâu Nói một cách đơn giản, ResNet18 bao gồm một khối cơ bản trong đó xảy ra 2 tích chập 3x3 liên tiếp với BN và ReLU trước đó xảy ra tích chập conv3x3-conv3x3 - Hình 3.2 ResNet là mô hình hiệu quả nhất cho nhiệm vụ này Ngoài ra, nhằm mục đích tối ưu, khối chú ý được bổ sung lần lượt ở các khối 1, 2, 3, 4 (B1, B2, B3, B4) - tham khảo chi tiết thực nghiệm tại phần
Hình 2.7: Kiến trúc ResNet18 với vị trí có thể kết hợp với khối CBAM [43]
Trong mạng lưới thần kinh chuyển tiếp (FFN) nguồn cung cấp truyền thống, mỗi lớp tích chập ngoại trừ lớp đầu tiên (nhận dữ liều đầu vào), nhận dữ liệu đầu ra của lớp tích chập trước đó và tạo ra bản đồ các tính chất (feature map) đầu ra, sau đó, được chuyển sang lớp tích chập tiếp theo Do đó, đối với các lớp ‘L’, có các kết nối trực tiếp giữa mỗi lớp và lớp tiếp theo
Tuy nhiên, khi số lớp trong CNN tăng lên, tức là khi chúng tiến sâu hơn, vấn đề 'độ dốc biến mất' (vanishing gradient) sẽ phát sinh – điều này xảy ra trong các mô hình AlexNet [13] và VGG [7] trước đó đã giới thiệu ở trên Điều này có nghĩa là khi đường dẫn thông tin từ lớp đầu vào đến lớp đầu ra tăng lên, nó có thể khiến một số thông tin nhất định 'biến mất' hoặc bị mất, làm giảm khả năng đào tạo hiệu quả của mạng
Cũng như ResNet, DenseNet – được Gao Huang và các cộng sự công bố vào năm 2016 – giải quyết vấn đề này bằng cách sửa đổi kiến trúc CNN tiêu chuẩn và đơn giản hóa mô hình kết nối giữa các lớp Trong kiến trúc DenseNet, mỗi lớp được kết nối trực tiếp với mọi lớp khác, do đó có tên Mạng kết nối dày đặc Đối với các lớp 'L', có các kết nối trực tiếp L(L+1)/2 DenseNet bao gồm một chuỗi các khối DenseBlock, trong đó kích thước của các khối đối tượng không đổi, bao gồm các thao tác tích chập hoặc gộp các lớp, chuẩn hóa hàng loạt (BN) và chức năng kích hoạt (activation function) Các kết nối L × (L + 1)/2 trong mạng L–Layers tương tự như một cấu trúc tầng với kết nối xuyên lớp (cross–layer connection) Bằng cách đó, tham số của DenseNet ít hơn ResNet
Mô hình ResNet18 có thể được mở rộng lên mô hình ResNet200 bằng cách thêm nhiều lớp hơn vào mô hình ban đầu Càng thêm nhiều lớp, gradient descend sẽ xuất hiện, ảnh hưởng đến backward propation và kết quả học của mô hình Khi mạng lưới thần kinh tích chập được phát triển, chúng được thực hiện với chi phí tài nguyên cố định Các mạng được mở rộng quy mô sau này để đạt được độ chính xác tốt hơn khi có nhiều tài nguyên hơn Trong hầu hết các trường hợp, kỹ thuật chia tỷ lệ này đã giúp cung cấp độ chính xác tốt hơn trên hầu hết các tập dữ liệu Nhưng các kỹ thuật chia tỷ lệ mô hình thông thường là rất ngẫu nhiên Một số mô hình được chia tỷ lệ theo chiều sâu và một số được chia tỷ lệ theo chiều rộng Một số kiểu máy chỉ cần có độ phân giải lớn hơn bằng cách thêm số lớp để có kết quả tốt hơn Kỹ thuật mô hình chia tỷ lệ ngẫu nhiên này điều chỉnh mang tính thủ công và tốn nhiều giờ, thường dẫn đến ít hoặc không cải thiện hiệu suất Vào năm 2019,
Mingxing Tan, Quoc V Le là tác giả của EfficiencyNet [22] đã đề xuất để mở rộng quy mô các mô hình CNN để đạt được độ chính xác và hiệu quả cao hơn
EfficientNet sử dụng một kỹ thuật gọi là hệ số phức hợp để mở rộng quy mô mô hình một cách đơn giản nhưng hiệu quả Thay vì tăng tỷ lệ ngẫu nhiên chiều rộng, chiều sâu hoặc số lớp, tỷ lệ kết hợp sẽ chia đồng đều cho từng chiều với một bộ hệ số tỷ lệ cố định Bằng cách sử dụng phương pháp chia tỷ lệ và AutoML, các tác giả của bảy mô hình có kích thước khác nhau đã phát triển hiệu quả, vượt qua độ chính xác hiện đại của hầu hết các mạng thần kinh tích chập và có hiệu quả tốt hơn nhiều
Với mô hình EfficientNet, học viên sẽ thử nghiệm trên phiên bản B0 là phiên bản nhẹ nhất để thay thế của phiên bản cao hơn và khối chú ý sẽ được tích hợp trong mô hình này EfficientNet được hiệu chỉnh trên ba chiều của mô hình CNN: độ sâu – số lớp, chiều rộng – chiều rộng của mạng và độ phân giải – độ phân giải của hình ảnh đầu vào Tổng số lớp cho mô hình này là 237, chứa một Khối MBConv, Khối thặng dư ngược – Reverse Surplus Block (được sử dụng trong MobileNetV2 [39]) với khối SE Ta có thể tổng hợp lại thành 5 mô-đun: điểm bắt đầu cho các khối phụ, khối phụ đầu tiên của tất cả 7 khối chính trừ khối đầu tiên một, kết nối bỏ qua cho tất cả các khối con, bỏ qua kết nối trong các khối con đầu tiên, và mô-đun cuối cùng, mỗi khối con được kết nối bỏ qua với khối con trước của nó trong một by pass-connection
Hình 2.9: Mô hình EfficientNetB0 với vị trí có thể kết hợp với khối CBAM [43]
2.2.4 Mô hình ViT – Vision Transformer [23]:
Vision Transformer (ViT) là một hình thức transformer được thiết kế cho thị giác máy tính được giới thiệu vào năm 2021 bởi Alexey Dosovitskiy và các công sự của Google Research Brain Team Transformers được biết đến vào năm 2017, và đã được sử dụng rộng rãi trong Xử lý ngôn ngữ tự nhiên như được thể hiện bằng các mô hình ngôn ngữ như BERT và GPT Vào năm 2020, chúng đã được điều chỉnh cho phù hợp với thị giác máy tính và mạng xử lý hình ảnh – ViT Cấu trúc cơ bản là chia nhỏ hình ảnh đầu vào thành một loạt các ảnh nhỏ, sau đó được mã hóa, trước khi áp dụng mã thông báo cho kiến trúc
Transformer tiêu chuẩn Ngược lại với hệ thống xử lý hình ảnh điển hình sử dụng mạng thần kinh tích chập, Transformer tính toán mối quan hệ giữa các cặp mã thông báo đầu vào (các từ trong trường hợp chuỗi văn bản), được gọi là khối chú ý Kết quả hao phí là bậc hai trong số lượng mã thông báo Đối với hình ảnh, đơn vị phân tích cơ bản là pixel Mang tính kế thừa và phát triển, ViT tính toán mối quan hệ giữa các pixel trong các phần nhỏ khác nhau của hình ảnh (ví dụ: 16x16 pixel), với chi phí giảm đáng kể Trong tác vụ phân loại hình ảnh – classification image – là phổ biến nhất và chỉ sử dụng Bộ mã hóa (encoder) của Transformer để chuyển đổi các mã thông báo đầu vào khác nhau Tuy nhiên, có những ứng dụng khác trong đó bộ giải mã của Kiến trúc Transformer truyền thống được sử dụng Cơ chế chú ý trong ViT liên tục biến đổi các vectơ biểu diễn của các mảng hình ảnh, kết hợp càng nhiều mối quan hệ ngữ nghĩa giữa các mảng (patches) hình ảnh trong một hình ảnh Điều này tương tự như cách xử lý ngôn ngữ tự nhiên, khi các vectơ biểu diễn chảy qua Transformers, chúng kết hợp ngày càng nhiều mối quan hệ ngữ nghĩa giữa các từ, từ cú pháp đến ngữ nghĩa ViT đã tìm thấy các ứng dụng trong nhận dạng hình ảnh (image recognition), phân đoạn hình ảnh (image segmentation) và lái xe tự động (automous driving) Tuy nhiên, ViT cần một lượng dữ liệu đầu vào khổng lồ và cũng là khuyết điểm lớn của mô hình ban đầu Transformer
Hình 2.10: Mô hình Vision Transformer [23]
2.2.5 Mạng CoAtNet – Convolution and Attention Network [24]:
CoAtNet là sự kết hợp giữa CNN và Mô-đun tự chú ý của Transformer Mục đích của CoAtNet là kết hợp lợi thế của CNN và Transformers thành một kiến trúc duy nhất, về mặt khái quát hóa và năng lực mô hình vì hạn chế chính của ViT là ngốn dữ liệu trong khi CNN không tập trung vào chủ thể và khó khăn trong việc đối tượng nhận dạng ở cùng cấp độ với con người Với ý tưởng là sử dụng khối MBConv sử dụng tích chập theo chiều sâu với phản hồi dư ngược vì sơ đồ nén-mở rộng này giống với mô-đun FFN của Máy biến áp Hơn nữa, tích chập để thực hiện lấy mẫu xuống và sự chú ý tương đối toàn cầu chỉ sau khi kích thước của bản đồ đặc trưng đủ nhỏ để được xử lý
Hình 2.11: Kiến trúc CoAtNet với khối chập và hai mô-đun chú ý liên tiếp [24]
2.2.6 Khối chú ý – Convolution Block and Attention Module [25, 43]: Đầu tiên, mô-đun chú ý (Attention Module) được sử dụng để giúp mạng CNN tìm hiểu và tập trung hơn vào thông tin quan trọng thay vì tìm hiểu thông tin cơ bản không hữu ích CBAM được Sanghyun Woo, Jongchan Park và các công sự công bố vào năm 2018 Trong trường hợp phát hiện đối tượng (object detection), thông tin hữu ích là đối tượng hoặc loại lớp mục tiêu mong muốn phân loại và định vị trong ảnh Mô-đun chú ý bao gồm một lớp chập 2D đơn giản, MLP (trong trường hợp chú ý kênh) và hàm sigmoid ở cuối để tạo mặt nạ của bản đồ tính năng (feature map) đầu vào Lấy bản đồ tính năng CxHxW làm đầu vào và cung cấp 1xHxW (hoặc CxHxW trong trường hợp Bản đồ chú ý 3D) làm bản đồ chú ý đầu ra Sau đó, bản đồ chú ý này được nhân theo từng phần tử với bản đồ tính năng đầu vào để có được đầu ra nổi bật hơn Qua đó, cơ chế chú ý được áp dụng cho các kích thước không gian và kênh Hai cơ chế chú ý này tức là: Việc tạo Bản đồ chú ý theo kênh và không gian được thực hiện tuần tự
Hàm kích hoạt (Activation Function)
Hàm chức năng kích hoạt là một hàm chức năng được thêm vào mạng thần kinh nhân tạo để giúp mạng tìm hiểu các mẫu phức tạp trong dữ liệu Khi so sánh với một mô hình dựa trên tế bào thần kinh trong não, chức năng kích hoạt là bước cuối quyết định những gì sẽ được đưa vào tế bào thần kinh tiếp theo Kết quả nhận được từ phỏng đoán của mô hình là các giá trị xác suất, sau hàm kích hoạt giá trị sẽ được đưa về là 0 hoặc giá trị lớn hơn 0 (ở đây đang đề cập tới hàm ReLU – Rectify Linear Unit) Cá mặt tốt của hàm ReLU là: Khi đầu vào dương, sẽ không có vấn đề bão hòa gradient Tốc độ tính toán được tăng nhanh hơn Hàm ReLU chỉ có mối quan hệ tuyến tính Cho dù đó là tính thuận hoặc nghịch (forward or backward), nó nhanh hơn nhiều so với hàm sigmoid và tanh (Sigmoid và tanh cần tính toán số mũ, sẽ chậm hơn) Tuy nhiên, với giá trị âm, hàm ReLU sẽ không được kích hoạt và ở chiều phản hồi, gradient sẽ bằng không
0, 𝑥 < 0 Bên cạnh đó, GELU (Gaussian Error Linear Unit) [26] kết hợp hiệu ứng của việc cắt bỏ (drop out), khoanh vùng (zone out) và ReLUs ReLU và dropout mang lại đầu ra của tế bào thần kinh về 0 hoặc một với ReLU thực hiện điều này một cách xác định và bỏ học thực hiện điều này một cách ngẫu nhiên GELU khắc phục hạn chế của ReLU là không thể phân biệt ở mức không Hàm kích hoạt GELU là kích hoạt đã được OpenAI sử dụng trong các mô hình ngôn ngữ lớn GPT Vì vậy, như được hiển thị trước đó trong đường chuyền chuyển tiếp, GELU đã được sử dụng thay cho ReLU và cũng được áp dụng trong bài nghiên cứu này.
Hàm tổn thất (Loss function)
Trong học máy, hàm tổn thất hay hàm mất mát (Loss function) là một hàm toán học đo lường mức độ mô hình học máy có thể đưa ra dự đoán Hàm mất mát so sánh đầu ra dự đoán của mô hình với đầu ra thực và tạo ra điểm số cho biết hai kết quả này khác nhau như thế nào Mục tiêu của mô hình học máy là giảm thiểu sự khác biệt hay “mất mát” này để đưa ra dự đoán chính xác Việc lựa chọn hàm mất mát phụ thuộc vào vấn đề hiện tại và loại mô hình học máy đang được sử dụng Ví dụ, trong các bài toán phân loại – là bài toán hiện tại, hàm mất entropy chéo (Cross Entropy – CE) thường được sử dụng để đo sự khác biệt giữa phân bố xác suất dự đoán và nhãn thực
Entropy chéo là một hàm tổn thất thường được sử dụng trong các bài toán phân loại, trong đó mục tiêu là dự đoán xác suất của một mẫu thuộc một lớp cụ thể Entropy chéo đo lường sự khác biệt giữa phân phối xác suất dự đoán và các nhãn thực Nó được đưa ra bởi phương trình (1), từ đó, ta có thể thấy CE chỉ phụ thuộc vào xác suất dự đoán 𝑝 𝑡 Trong trường hợp tập dữ liệu mất cân bằng, với tập dữ liệu có nhiều dữ liệu hơn tuy nhiên mô hình đã dự đoán đúng thì giá trị mất mát vẫn lớn do số lượng dữ liệu nhiều dẫn đến mô hình sẽ càng tập trung vào tập dữ liệu này tuy nhiên những tập dữ liệu khác dự đoán chưa chính xác Vì vậy, sự xuất hiện của hàm mất mát tập trung (Focal Loss) để cân bằng giữa các tập khó và đơn giản nhờ vào hàm trọng số (weighting parameter) − (1 − 𝑝 𝑡 ) ץ và hệ số điều chế (modulating factor) γ để tạo ra chức năng mất mát – được cải thiện Với giá trị γ=0, hàm mất mát tập trung sẽ bằng với giá trị của hàm tổn thất chéo
Các thông số đánh giá [40]
Để đánh giá các tiêu chuẩn về hiệu quả của mô hình hiện tại và thực hiện so sánh với những mô hình khác Dựa trên các đánh giá hiện tại, học viên đã chọn điểm F1 (F1-score), độ chính xác (accuracy), mức độ sử dụng phần cứng (FLOPs) và các thông số (parametes) để đánh giá phương pháp của mình Trước hết, điểm F1 hoặc chỉ số F1 (F1-metric) đo lường sự cân bằng giữa độ chính xác (Precision – Pre) tính toán độ chính xác của mô hình trong việc phân loại mẫu là dương tính và độ thu hồi (Recall – Re) tính toán khả năng của mô hình để phát hiện các mẫu dương tính trong đó TP, TN, FP và FN tương ứng với Dương tính thật (True Positive), Âm tính thật (True Negative), Dương tính giả (False Positive) và Âm tính giả (False Negative) Khi giá trị của F1 cao, điều này có nghĩa là cả độ chính xác và khả năng thu hồi đều cao Chỉ số đánh thứ hai là Độ chính xác (Accuracy – Acc) – mô tả chung cách mô hình hoạt động trên tất cả các lớp bằng cách dựa vào tỷ lệ giữa số lượng dự đoán đúng trên tổng số lượng dự đoán
Mặt khác, việc sử dụng FLOPs và các tham số nhằm ước tính việc khai thác mô hình trên phần cứng FLOPs hiểu các phép toán dấu phẩy động mỗi giây để xác định số lượng thao tác cần thiết để chạy một phiên bản của một mô hình nhất định và khả năng tính toán của phần cứng nhất định như GPU hoặc ngược lại, có thể mất bao lâu để đào tạo một mô hình trên phần cứng đó Trong trường hợp hai mô hình cung cấp độ chính xác giống nhau, FLOPs của mô hình nào thấp hơn sẽ được ưu tiên và chia sẻ khái niệm này với các tham số – trọng số của mô hình bao gồm cả mô hình có thể huấn luyện và không thể huấn luyện
Phần mềm
MATLAB (viết tắt của "MATrix LABoratory") là ngôn ngữ lập trình đa mô hình và môi trường điện toán số độc quyền được phát triển bởi MathWorks MATLAB cho phép thao tác ma trận, vẽ đồ thị các hàm và dữ liệu, thực hiện các thuật toán, tạo giao diện người dùng và giao tiếp với các chương trình được viết bằng các ngôn ngữ khác Ngoài ra, Matlab còn hỗ trợ xây dựng các model trong học sâu, chạy song song trên CUDA, GPU và tích hợp bộ chuyển đổi sang code Python Học viện sử dụng Matlab trong việc xây dựng bộ dữ liệu ảnh IR dựa trên tập ảnh gốc RGB bằng phương pháp GAN: Unsupervised image-to- image translation (UNIT) [30]
Python là một ngôn ngữ lập trình đa nền tảng, đa mô hình, được diễn giải Nó thúc đẩy lập trình mệnh lệnh có cấu trúc, chức năng và hướng đối tượng Nó có tính năng gõ động mạnh mẽ, quản lý bộ nhớ tự động bằng cách thu thập rác và hệ thống xử lý ngoại lệ; do đó nó tương tự như Perl, Ruby, Schema, Smalltalk và Tcl
Ngôn ngữ Python được đặt theo giấy phép miễn phí và hoạt động trên hầu hết các nền tảng máy tính, từ điện thoại thông minh đến máy tính lớn7, từ Windows đến Unix bao gồm GNU/Linux đến macOS hoặc thậm chí cả Android, iOS và cũng có thể được dịch sang Java hoặc NET Nó được thiết kế để tối ưu hóa năng suất của lập trình viên bằng cách cung cấp các công cụ cấp cao và cú pháp dễ sử dụng Hơn nữa, các bộ thư viện lớn như Pytorch, Scikit-learn, Numpy, SciPy,… được xây dựng chủ yếu trên ngôn ngữ Python Vì vậy, đây là ngôn ngữ được sử dụng chủ yếu trong quá trình nghiên cứu của học viên.
Phần cứng
Tất cả các thử nghiệm được thực hiện trong cùng môi trường của RAM máy tính 64GB, GPU NVIDIA Quadro RTX 5000 (16GB chuyên dụng và 32GB chia sẻ),
Kết luận chương 2
Với cơ sở lý thuyết được giới thiệu từ bước xử lý dữ liệu: các phương pháp tăng cường, các mô hình học sâu, các khối nâng cấp, phương pháp tự học và các thông số để dùng trong việc đánh giá Việc giới thiệu mô hình chung, phần mềm sử dụng, phần cứng cũng không kém phần quan trọng và các kết quả nghiên cứu, so sánh, đánh giá sẽ được khảo sát trong các chương tiếp theo.
Kết quả nghiên cứu
Kết quả
3.1.1 Tập dữ liệu: Khảo sát với các kích thước cắt khác nhau:
Bảng 3.1: Kết quả khảo sát đánh giá độ chính xác F1 tương ứng với các kích thước cắt ảnh lần lượt là 16, 32, 64 trên các mô hình khác nhau: ResNet18, DenseNet121,
EfficientNetB0, CoAtNet_tiny và ViT Small
Size ResNet18 DenseNet121 EfficientNetB0 CoAtNet_tiny ViT Small
Như đã giới thiệu trong phần tiền xử lý dữ liệu, từ bảng 1, khảo sát trên cả 5 mô hình khác nhau (ResNet18, DenseNet121, EfficiencyNetB0, CoAtNet và ViT), cùng một môi trường điều kiện kiểm tra như số lượng nhãn, số lượng lớp, kích thước lô, v.v để đánh giá ảnh hưởng của kích thước đến độ chính xác của mô hình Từ đó, học viên nhận thấy rằng độ chính xác sẽ giảm trong khi kích thước của hình ảnh đầu vào tăng lên vì hình ảnh càng lớn, dữ liệu trong hình ảnh càng nhiễu (ví dụ: chuồng, da lợn) và thẻ ít được chú ý hơn Trong phân tích này, kích thước 16 của hình ảnh là độ chính xác tốt nhất lần lượt 78% trên ResNet18, 81% trên DenseNet121, 77% trên EfficientNetB0, 74% trên CoAtNet_tiny và 50% ViT, tuy nhiên ta sẽ không thể quan sát được toàn bộ thẻ trong khi kích thước 32 có độ chính xác nhỏ hơn (với các kết quả tương ứng lần lượt là: 75%, 70%, 64%, 72% và 43%) nhưng ta có thể quan sát đầy đủ thẻ Ngoài ra, kích thước 64, cung cấp cả thẻ và cả phần dư thừa, nhưng kết quả học của mô hình kém hơn Vì vậy, học viên đã chọn kích thước cắt là 32x32 để xây dựng toàn bộ tập dữ liệu Hơn nữa, từ các mô hình căn bảng được khảo sát trên tập dữ liệu, ta có thể thấy mô hình tối ưu như ViT lại không phù hợp với tập dữ liệu hiện tại luôn cho kết quả thấp nhất trong các mô hình được khảo sát trong khi mô hình đơn giản nhất trong các mô hình được khảo sát: ResNet18 cho kết quả tốt nhất trên tập dữ liệu thuần chưa áp dụng các phương pháp tăng cường cũng như các khối cải thiện
Vì số lượng ảnh trong tập dữ liệu thấp (khoảng 3000 ảnh), học viên đã sử dụng thông số của các mô hình khi đã được huấn luyện trước trên tập dữ liệu ảnh chuẩn ImageNet (thông số này có thể được tìm thấy trên các trang open source, git) và tiếp tục học chuyển tiếp trên tập dữ liệu PigBrother để giúp mô hình có thể học tiếp và đạt được giá trị hội tụ
3.1.2 Tập dữ liệu: Các phương pháp tăng cường:
Tiếp theo từ bảng khảo sát 2, ta có thể thấy sự ảnh hưởng khác nhau đến kết quả đánh giá của các phương pháp tăng cường khi được áp dụng trên tập ảnh vào cùng loại mô hình
Ví dụ, với mô hình ResNet18, ứng với phương pháp truyền thống bao gồm: Xoay ảnh với góc quay 90 o , tạo nhiễu, nghiên ảnh từ 30 o -60 o , hoặc kết hợp cả 3 phương pháp trên thì phương pháp xoay ảnh với góc xoay 90 o cho kết quả học của mô hình rất tốt: Precision: 84%, Recall: 85% và F1-score: 85% Trong khi đó, với phướng pháp hiện đại hơn bao gồm CutOut với kích thước của khối là 16 (1/2 ảnh) và RandAugment thì RandAugment cho các kết quả Precision, Recall và F1-score cao nhất cùng là 86% Bên cạnh đó, phương pháp này cũng cho thấy mức độ phù hợp và đáp ứng khi khảo sát trên các mô hình và kết quả thu được: DenseNet121 (P = R = F1 = 85%), EfficientNetB0 (P ≈ R = F1 = 82%)
Bảng 3.2: Kết quả đánh giá trên các mô hình khác nhau (và cả với các mô hình có tích hợp hoặc không tích hợp khối CBAM) khi kết hợp các loại tăng cường khác nhau và kết quả thông số của mô hình (M tính bằng triệu) RUCBAM12, RUCBAM123 có nghĩa là
ResNet18 + Updated CBAM cập nhật ở lớp 1, 2 hoặc lớp 1, 2, 3
Tiếp theo, ta có thể thấy với các mô hình ResNet18 khi kết hợp với khối CBAM đã được nâng cấp ở lớp 1, 2 (RUCBAM12) hoặc ở lớp 1, 2, 3 (RUCBAM123) kết quả cải thiện từ 2-4% so với mô hình ResNet18 nguyên bản khi cùng được kết hợp phương pháp xoay 90 o trên tập dữ liệu – khoảng 85% ở phiên bản ResNet18 gốc, 87% ở phiên bản RUCBAM12 và 89% ở RUCBAM123 Qua đó, học viên chọn lọc các phương pháp tăng cường phù hợp với tập ảnh và cải thiện khả năng học của mô hình Sau các phương pháp thử nghiệm trên tập ảnh để chọn ra các phương pháp xử lý và tăng cường phù hợp tập dữ liệu, mô hình là bước quan trọng và nghiên cứu chủ yếu để cải thiện kết quả đánh giá của bài toán
3.1.3 Mô hình: Các khối tích hợp: SE, CBAM và khối CBAM nâng cấp:
Bảng 3.3: Các quan sát để đánh giá độ chính xác của các mô hình: ResNet18,
DenseNet121, EfficientNetB0, tích hợp CBAM Chữ viết tắt L, B có nghĩa là Layer (lớp) và Block (khối) tương ứng
Accuracy (%) CBAM [25] Our proposed CBAM [43]
Trong khi khảo sát và nghiên cứu cải thiện mô hình, các thử nghiệm sẽ tập trung vào mô hình và áp dụng trực tiếp trên tập dữ liệu ảnh với kích thước 32x32 không áp dụng các phương pháp tăng cường Từ bảng 1, ta có kết quả khảo sát trên mô hình: ResNet18, DenseNet121, EfficientNetB0 lần lượt là 75%, 70% và 64%, các khảo sát sẽ không thực hiện trên mô hình CoAtNet và Vision Transformer vì khối chú ý nhiều đầu (Multi-head self-attentions) đã được tích hợp sẵn trong các mô hình này Như đã giới thiệu ở chương lý thuyết tổng quan, với khối CBAM nguyên bản [25], sau khi khảo sát và tích hợp lần lượt vào cấu trúc của các mô hình, kết quả thu được cải thiện từ 1% – trên DenseNet – đến 10% – trên ResNet18 ở lớp 1, 2, 3 Tuy nhiên, khối CBAM cũng có thể phá hủy cấu trúc của mô hình và làm giảm hiệu suất, ví dụ như ở mô hình EfficientNetB0, thông số chính xác giảm một nửa còn 29% khi tích hợp khối CBAM sau khối 2 Từ bảng 3, các kết quả giữa khối CBAM nguyên bản và khối CBAM được nâng cấp cho độ chính xác đa phần được cải thiện, ít nhất là không thay đổi so với kết quả gốc, ta có thể thấy ở mô hình ResNet18 đã tăng 2% đạt 87% khi tích hợp khối CBAM mới ở lớp 1, 2, 3 và tăng 12% so với mô hình ResNet18 gốc, phân tích tương tự với DenseNet121 và EfficientNetB0 Qua đó, học viên sẽ sử dụng khối CBAM đã được nâng cấp trong các khảo sát tiếp theo
Bảng 3.4: Khảo sát sự kết hợp giữa khối Squeeze and Excitation (SE-) và CBAM trong mô hình ResNet18 qua giá trị chính xác (Accuracy)
Position – Layer(s) SE-block SE-block + CBAM
Bên cạnh đó, từ bảng 4, các kết quả khảo sát với khối SE- và kết hợp với CBAM trên mô hình ResNet18, ta có thể thấy chỉ với khối SE- cho kết quả cải thiện đáng kể – kết quả dao động từ 85-87% so mới mô hình gốc 76% Khi tích hợp thêm khối CBAM, kết quả của giá trị chính xác không thay đổi nhiều 1-2% (88% là giá trị cao nhất trong việc cải thiện mô hình khi kết hợp SE- và CBAM) hoặc làm giảm độ chính xác của mô hình như trong trường hợp ở lớp 3 và 4 Vì vậy, tùy theo nhu cầu của người sử dụng sau này hoặc chỉ sử dụng khối CBAM hoặc chỉ khối SE- hoặc CBAM và SE- cho lớp 4, học viện chỉ mở rộng thêm trong nghiên cứu của mình, tuy nhiên, vẫn giữ nguyên mô hình ResNet18 kết hợp với khối CBAM được nâng cấp ở các lớp 1, 2, 3 và dùng mô hình này như xương sống cho phương pháp tự học Barlow Twins tiếp theo và huấn luyện để các thông số đặc trưng riêng cho tập dữ liệu
3.1.4 Mô hình: Phương pháp tự học Barlow Twins:
Liên quan đến phương pháp tự học Barlow Twins, mô hình được huấn luyện có độ chính xác cao từ bước học có giám sát trước đó (ResNet18+CBAMupdated 1, 2, 3) đã được sử dụng làm xương sống trong phương pháp Barlow Twins để tối ưu hóa trên tập dữ liệu của dự án Để đạt độ chính xác 91%, mô hình đã chạy với 64 lô, 700 kỷ nguyên, với hàm mất Focal Loss với gamma bằng ẵ hoặc 2 thay vỡ hàm mất Cross-Entropy; với 512-512-
512 và GELU thay vì 512-256-1024 và ReLU cho project head; với 512-64-13 cho perceptron nhiều lớp, với 512 cho cả chiều mã hóa (dimension of encode) và z (chiều phản hồi ngược lại – backward propagation); và sử dụng giá trị được huấn luyện trước trên ImageNet do hạn chế trong dữ liệu và kết quả được trình bày ở bảng 5 Đặc biệt, để trích xuất toàn bộ các đặc tính của tập dữ liệu, sự kết hợp của nhiều phương pháp tăng cường như crop, flipping, xoay, dịch, biến đổi affine, nhiễu gauss, làm mờ gauss, cắt bỏ kích thước
16, tăng cường, v.v đã được sử dụng nhiều nhất có thể để tối đa hóa hiệu quả trong bước này
Bảng 3.5: Việc loại bỏ để quan sát tính chính xác của mô hình tự học ResNet18 với mô- đun chú ý được cập nhật ở lớp 1, 2 và 3, một bộ tăng cường được giữ nguyên Chữ viết tắt Ba, Ep, PH, MLP, LF, BLL và Acc lần lượt có nghĩa là Batch (Lô), Epoch (Kỷ nguyên), Project Head (Trưởng dự án), Perceptron nhiều lớp (Perceptron Multi layer), Hàm mất mát (Loss Function), Barlow Twins Loss và Độ chính xác (Accuracy)
Ba Ep PH MLP LF BLL Acc (%)
Ý nghĩa thực tiễn và khoa học
Ban đầu, với bài toán theo dõi các cá thể lợn được đặt ra trong dự án của NorsvinAS – PigBrother, mỗi cá thể được gắn nhận dạng bằng RFID để theo dõi Tuy nhiên, tín hiệu có thể bị mất trong trường hợp lớn nằm chồng lên nhau và chỉ có thể xác định lại khi chúng trở lại trạm cho ăn Trường hợp, lợn có các tập tính bất thường như cắn, húc nhau thì ta chỉ có thể theo dõi lại trên camera – một bước lặp lại và tốn khá nhiều thời gian để truy xuất dữ liệu từ camera Từ đó, bài toán theo dõi lợn dựa vào camera được đặt ra, để phân biệt được 12 con lợn khác nhau trong cùng 1 chuồng và theo dõi các tập tính bất thường trực tiếp bằng camera 24/7, công ty NorvinAS đã sử dụng thẻ đeo tai khác nhau nhằm phân biệt và theo dõi từng cá thể Toàn bộ dự án bao gồm các mảnh ghép: bài toán xác định heo (Pig Detection), bài toán phân loại (Pig classification) và bài toán theo dõi (Pig Tracking) đã được hoàn thành với các thành viên tham gia khác nhau Học viên đảm nhận bài toán phân loại và hoàn thành bài toán của mình với mô hình hiện tại với chỉ số chính xác trên 90% Trong tương lai, khi được ghép lại hoàn chỉnh, một hệ thống theo dõi lơn 24/7 và xác định những cá thể có tính cách bất thường sẽ được hoàn thiện và sẽ tối ưu trong việc chọn lọc giống vật nuôi trực tiếp trên camera và có thể hạn chế sự can thiệp của người nuôi
Luận văn thạc sĩ của học viên theo hướng nghiên cứu Với phần tìm hiểu trong việc nâng cấp khối tập trung CBAM bằng việc kết hợp thay thế hàm kích hoạt ReLU bằng GeLU trong khối chú ý kênh và chèn thêm lớp chuẩn hàng loạt ở sau khối MaxPool và Average Pool trong khối chú ý không gian để tăng sự hội tụ đã giúp cải thiện từ 2-4% so với khối CBAM gốc và đã được báo cáo tại Hội Nghị NAFOSTED tại Hồ Chí Minh, Việt Nam vào năm 2022 – Improvement on Mechanics Attention Deep Learning Model for Classification Ear-tag of Swine Để giúp mô hình được huấn luyện riêng cho tập dữ liệu PigBrother (sử dụng cả những hình ảnh chưa được gắn nhãn với số lượng nhiều hơn tập gán nhãn), phương pháp tự học Barlow Twins đã được áp dụng và thay thế công thức tính mất mát truyền thống (Cross-Entropy) bằng công thức tính mất mát tiêu cự (Focal Loss) để một phần hỗ trợ mô hình trong trường hợp dữ liệu mất cân bằng – điều này là không thể tránh khỏi vì tập dữ liệu chưa gán nhãn rất lớn và xác suất mất cân bằng rất cao Nhờ đó, độ chính xác đã tăng thêm
4-5% đạt trên 90% cho mô hình sau khi huấn luyện và đồng thời kết quả được báo cáo ở hội nghị ISPCEM tại Montreal, Canada vào năm 2023 – Self-supervised Learning for Swine Ear-tag Classification with Attention Module Model (Tham khảo thêm thông tin các bài báo ở phần phụ lục).
Kết luận chương 3
Ở chương này, các kết quả nghiên cứu được so sánh, trình bày chi tiết và cụ thể cho thấy quá trình nghiên cứu và cải thiện giá trị học của mô hình Các thí nghiệm được thực hiện trong cùng môi trường phần cứng và phần mềm với các thông số khảo sát tối ưu cụ thể trong bảng 6
Bảng 3.6: Các giá trị siêu tham số (hyperparameters) được sử dụng trong cấu hình của các thí nghiệm
1 Number data Around 3000 labeled and 2000 unlabeled
14 Augmentation method Rotage, Shear, CutOut, RandAugment