BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN NGUYỄN TRẦN HOÀNG LINH TÌM HIỂU Mạng tích chập VÀ xây dựng ỨNG DỤNG ĐẾM CÁC VẬT THỂ tHÔNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH ĐÀ NẴNG – 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN NGUYỄN TRẦN HOÀNG LINH TÌM HIỂU Mạng tích chập VÀ xây dựng ỨNG DỤNG ĐẾM CÁC VẬT THỂ tHÔNG DỤNG Chuyên ngành Khoa học máy tính Mã số 84 80 101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học TS ĐẶNG VIỆT HÙNG ĐÀ NẴNG – 2021 LỜI CAM ĐOAN Sau quá trình h.
Mục tiêu nghiên cứu
- Tìm hiểu về học máy và các lĩnh vực liên quan
- Tìm hiểu về mạng tích chập và các biến thể
- Xây dựng mô hình mạng tích chập RetinaNet hỗ trợ đếm vật thể
Phương pháp nghiên cứu
Nghiên cứu, tìm hiểu các kỹ thuật để xây dựng mạng RetinaNet
Để đạt được mục tiêu nghiên cứu, chúng tôi đã áp dụng hai phương pháp chính: phương pháp nghiên cứu lý thuyết, bao gồm phân tích và tổng hợp để hiểu rõ về lý thuyết mạng tích chập, và phương pháp thực nghiệm, trong đó xây dựng ứng dụng thực tế và đánh giá hiệu quả hoạt động của nó.
Kết quả dự kiến
-Phiên bản triển khai của RetinaNet dung để đếm các vật thể thông dụng.
Ý nghĩa khoa học và thực tiễn của luận văn
Nghiên cứu chứng minh rằng RetinaNet là một giải pháp hiệu quả cho bài toán nhận diện và đếm vật thể trong hình ảnh Tuy nhiên, vẫn tồn tại một số nhược điểm cần được khắc phục để nâng cao hiệu suất của mô hình này.
Giải quyết được các vấn đề về nhận dạng vật thể trong ảnh :
-Vấn đề về nhận dạng, tính toán giá cho đồ ăn, thức uống
-Vấn đề về nhận dạng, điểm danh số người dự hội thảo
-Vấn đề về nhận dạng, đếm các vật dụng thông dụng…vv
Bố cục luận văn
Luận văn được chia làm bố cục 3 chương như sau:
Chương 1 cung cấp cái nhìn tổng quan về Học máy, giới thiệu các lớp phương pháp trong Machine Learning và làm rõ mối liên hệ giữa Học máy với các lĩnh vực khác.
Chương 2: Trình bày về mạng tích chập CNN Chương 2 trình bày mạng tích chập CNN, các biến thể, kiến trúc của chúng và chi tiết về mạng RetinaNet
Chương 3: Xây dựng chương trình học máy sử dụng mạng RetinaNet để giải quyết vấn đề đếm vật thể thông dụng.
HỌC MÁY LÀ GÌ
Học máy (ML) là nghiên cứu các thuật toán giúp máy tính tự động cải thiện thông qua kinh nghiệm và dữ liệu Được coi là một nhánh của trí tuệ nhân tạo, học máy xây dựng mô hình từ "dữ liệu đào tạo" để đưa ra dự đoán hoặc quyết định mà không cần lập trình cụ thể Các thuật toán học máy được ứng dụng rộng rãi trong nhiều lĩnh vực như y học, lọc email, nhận dạng giọng nói và thị giác máy tính, nơi mà việc phát triển thuật toán truyền thống để thực hiện nhiệm vụ là khó khăn hoặc không khả thi.
Học máy là một lĩnh vực con của thống kê tính toán, tập trung vào việc dự đoán thông qua máy tính, nhưng không phải tất cả học máy đều liên quan đến thống kê Nghiên cứu tối ưu hóa toán học cung cấp các phương pháp và lý thuyết cho học máy, trong khi khai phá dữ liệu tập trung vào phân tích dữ liệu qua học tập không giám sát Trong bối cảnh kinh doanh, học máy thường được gọi là phân tích dự đoán Học máy cho phép máy tính tự khám phá cách thực hiện các tác vụ mà không cần lập trình cụ thể, học hỏi từ dữ liệu để thực hiện nhiệm vụ Đối với những nhiệm vụ đơn giản, có thể lập trình thuật toán cho máy tính, nhưng với các tác vụ phức tạp hơn, việc để máy tự phát triển thuật toán của riêng mình có thể hiệu quả hơn so với việc con người chỉ định từng bước.
Kỷ luật học máy áp dụng nhiều phương pháp khác nhau để dạy máy tính thực hiện nhiệm vụ mà không có thuật toán sẵn có Khi có nhiều câu trả lời tiềm năng, một chiến lược là gán nhãn cho một số câu trả lời đúng để tạo ra dữ liệu đào tạo Dữ liệu này giúp cải thiện thuật toán của máy tính trong việc xác định câu trả lời chính xác Chẳng hạn, bộ dữ liệu MNIST, bao gồm các chữ số viết tay, thường được sử dụng để đào tạo hệ thống nhận dạng ký tự kỹ thuật số.
MỐI LIÊN HỆ VỚI CÁC LĨNH VỰC KHÁC
Thuật ngữ "học máy" được Arthur Samuel, một IBMer người Mỹ, giới thiệu vào năm 1959, đánh dấu sự khởi đầu cho nghiên cứu trong lĩnh vực trí tuệ nhân tạo và máy tính chơi game Trong những năm 1960, cuốn sách nổi bật của Nilsson về học máy đã tập trung vào việc phân loại mẫu Đến những năm 1970, mối quan tâm về nhận dạng mẫu vẫn tiếp tục phát triển, được mô tả bởi Duda và Hart.
Năm 1981, một báo cáo quan trọng đã được công bố về việc áp dụng các chiến lược giảng dạy nhằm giúp một mạng nơ-ron học cách nhận diện 40 ký tự, bao gồm 26 chữ cái, 10 chữ số và 4 ký hiệu đặc biệt, từ một thiết bị đầu cuối máy tính.
Tom M Mitchell đã định nghĩa chính thức về học máy như sau: "Một chương trình máy tính được cho là học hỏi từ kinh nghiệm E đối với một số loại nhiệm vụ T và đo lường hiệu suất P nếu hiệu suất của nó tại các tác vụ trong T, được đo bằng P, cải thiện theo kinh nghiệm E." Định nghĩa này cung cấp cái nhìn cơ bản hơn về học máy, không chỉ dựa trên thuật ngữ nhận thức Điều này phản ánh đề xuất của Alan Turing trong bài viết "Máy tính và trí thông minh", nơi ông chuyển từ câu hỏi "Máy móc có thể suy nghĩ không?" sang câu hỏi "Liệu máy móc có thể làm những gì tôi có thể làm không?"
Học máy hiện đại có hai mục tiêu chính: phân loại dữ liệu và dự đoán kết quả tương lai Một ví dụ cụ thể là sử dụng tầm nhìn máy tính kết hợp với học có giám sát để phân loại nốt ruồi ung thư Bên cạnh đó, thuật toán học máy trong giao dịch chứng khoán cũng có thể cung cấp thông tin dự đoán tiềm năng cho các nhà giao dịch.
Học máy, một nhánh của trí tuệ nhân tạo, đã phát triển từ những nỗ lực tìm kiếm cách máy móc có thể học hỏi từ dữ liệu Trong giai đoạn đầu, nhiều nhà nghiên cứu đã thử nghiệm các phương pháp biểu tượng khác nhau, cũng như mạng nơ-ron, chủ yếu là perceptron và các mô hình tương tự, mà sau này được nhận ra là sự phát minh lại của các mô hình thống kê tuyến tính Lý thuyết xác suất cũng đóng vai trò quan trọng, đặc biệt trong lĩnh vực chẩn đoán y tế tự động.
Sự chú trọng ngày càng tăng vào phương pháp tiếp cận dựa trên tri thức đã tạo ra rạn nứt giữa AI và học máy, khi các hệ thống xác suất gặp khó khăn với vấn đề thu thập và biểu diễn dữ liệu Đến năm 1980, các hệ thống chuyên gia chiếm ưu thế trong AI, trong khi thống kê trở nên kém phổ biến Mặc dù công việc học tập dựa trên biểu tượng và kiến thức vẫn tiếp tục trong AI, nhưng nghiên cứu thống kê hiện nay chủ yếu nằm ngoài lĩnh vực AI, tập trung vào nhận dạng mẫu và truy xuất thông tin Đồng thời, nghiên cứu mạng thần kinh cũng bị AI và khoa học máy tính bỏ rơi trong giai đoạn này, mặc dù nó vẫn được tiếp tục phát triển bên ngoài lĩnh vực AI.
AI và Khoa học máy tính, được gọi là "chủ nghĩa kết nối", đã được nghiên cứu bởi các chuyên gia như Hopfield, Rumelhart và Hinton Thành công nổi bật của họ diễn ra vào giữa những năm 1980, khi họ tái tạo lại quá trình nhân giống trong lĩnh vực này.
Học máy (ML) đã trở thành một lĩnh vực riêng biệt và phát triển mạnh mẽ từ những năm 1990, với mục tiêu chuyển từ việc đạt được trí thông minh nhân tạo sang giải quyết các vấn đề thực tiễn Lĩnh vực này đã thay đổi trọng tâm từ các phương pháp biểu tượng, mà trước đây nó thừa hưởng từ AI, sang áp dụng các phương pháp và mô hình dựa trên thống kê và lý thuyết xác suất.
Tính đến năm 2020, học máy (ML) vẫn được coi là một nhánh của trí tuệ nhân tạo (AI), nhưng có sự bất đồng về việc liệu tất cả ML có phải là AI hay không Một số ý kiến cho rằng việc sử dụng ML đồng nghĩa với việc sử dụng AI, trong khi những người khác cho rằng chỉ một phần "thông minh" của ML mới thực sự thuộc về AI.
Judea Pearl đã giải thích sự khác biệt giữa Machine Learning (ML) và Artificial Intelligence (AI) trong cuốn sách "The Book of Why" Theo đó, ML chủ yếu học hỏi và dự đoán từ các quan sát thụ động, trong khi AI liên quan đến việc một tác nhân tương tác với môi trường để tìm hiểu và thực hiện các hành động nhằm tối đa hóa cơ hội thành công trong việc đạt được mục tiêu.
Học máy và khai thác dữ liệu có nhiều điểm tương đồng trong phương pháp, nhưng mục tiêu của chúng khác nhau: học máy tập trung vào dự đoán dựa trên các thuộc tính đã biết từ dữ liệu đào tạo, trong khi khai thác dữ liệu nhằm khám phá các thuộc tính chưa biết trong dữ liệu Khai thác dữ liệu áp dụng nhiều kỹ thuật học máy với mục tiêu khác nhau, và học máy cũng sử dụng các phương pháp khai thác dữ liệu như một bước tiền xử lý để nâng cao độ chính xác Sự nhầm lẫn giữa hai lĩnh vực này thường đến từ những giả định cơ bản khác nhau: trong học máy, hiệu suất được đánh giá dựa trên khả năng tái tạo kiến thức đã biết, trong khi nhiệm vụ chính của khai thác dữ liệu là khám phá kiến thức chưa được biết đến Trong một nhiệm vụ KDD điển hình, việc sử dụng phương pháp được giám sát thường không khả thi do thiếu dữ liệu huấn luyện.
Học máy có mối liên hệ chặt chẽ với tối ưu hóa, trong đó nhiều vấn đề học tập được xây dựng dưới dạng tối thiểu hóa các hàm mất mát trên tập hợp ví dụ đào tạo Các hàm mất mát này thể hiện sự khác biệt giữa dự đoán của mô hình và các trường hợp thực tế Chẳng hạn, trong bài toán phân loại, mục tiêu là gán nhãn cho các trường hợp, và các mô hình được đào tạo để dự đoán chính xác các nhãn đã được gán trước cho tập hợp ví dụ đó.
Sự khác biệt giữa tối ưu hóa và học máy nằm ở mục tiêu tổng quát hóa; trong khi tối ưu hóa tập trung vào việc giảm thiểu tổn thất trên tập huấn luyện, học máy lại chú trọng đến việc giảm thiểu tổn thất trên các mẫu chưa thấy Nghiên cứu hiện nay đang tích cực khám phá đặc trưng tổng quát hóa của các thuật toán học tập, đặc biệt là trong lĩnh vực deep learning.
Học máy và thống kê có mối liên hệ chặt chẽ về phương pháp, nhưng khác biệt ở mục tiêu: thống kê rút ra suy luận từ mẫu, trong khi học máy tìm kiếm mẫu dự đoán có khả năng tổng quát Michael I Jordan nhấn mạnh rằng nhiều ý tưởng trong học máy, từ phương pháp luận đến công cụ lý thuyết, đã có nguồn gốc lâu đời trong thống kê Ông cũng đề xuất thuật ngữ "khoa học dữ liệu" như một cách gọi chung cho lĩnh vực này.
Leo Breiman phân biệt hai loại mô hình thống kê: mô hình dữ liệu và mô hình thuật toán Trong đó, "mô hình thuật toán" chủ yếu đề cập đến các thuật toán học máy, chẳng hạn như rừng ngẫu nhiên.
Một số nhà thống kê đã áp dụng các phương pháp từ học máy, dẫn đến một lĩnh vực kết hợp mà họ gọi là học thống kê.
LÝ THUYẾT
Mục tiêu chính của người học là tổng quát hóa từ kinh nghiệm của mình, tức là khả năng của một hệ thống học máy thực hiện chính xác các nhiệm vụ mới mà chưa từng gặp trước đó Quá trình này dựa vào việc xây dựng một mô hình chung từ các ví dụ đào tạo, mặc dù những ví dụ này thường đến từ các phân phối xác suất chưa biết Người học cần phát triển khả năng đưa ra dự đoán chính xác trong các tình huống mới, từ đó phản ánh sự hiểu biết sâu sắc về không gian xuất hiện.
Phân tích tính toán và hiệu suất của các thuật toán học máy là một lĩnh vực trong khoa học máy tính lý thuyết, được gọi là lý thuyết học tập tính toán Do tập huấn luyện có giới hạn và tương lai không chắc chắn, lý thuyết học tập thường không đảm bảo hiệu suất của các thuật toán, mà thường đưa ra các giới hạn xác suất cho hiệu suất Phân tích phương sai thiên lệch giúp xác định sai số tổng quát hóa Để đạt hiệu suất tối ưu trong tổng quát hóa, độ phức tạp của giả thuyết cần phải tương thích với độ phức tạp của hàm cơ sở dữ liệu Nếu giả thuyết đơn giản hơn hàm, mô hình sẽ phù hợp với dữ liệu Tuy nhiên, nếu độ phức tạp của mô hình tăng lên mà không cần thiết, sẽ dẫn đến tình trạng trang bị quá mức và giảm khả năng tổng quát hóa.
Trong nghiên cứu lý thuyết học tập, ngoài giới hạn hiệu suất, các nhà lý thuyết còn xem xét sự phức tạp về thời gian và tính khả thi của quá trình học Theo lý thuyết học tập tính toán, một phép tính được coi là khả thi nếu có thể thực hiện trong thời gian đa thức Có hai loại kết quả phức tạp về thời gian: kết quả khả quan cho thấy một lớp hàm nhất định có thể được học trong thời gian đa thức, trong khi kết quả phủ định chỉ ra rằng một số lớp nhất định không thể học được trong thời gian này.
CÁC LỚP PHƯƠNG PHÁP TRONG MACHINE LEARNING
Các phương pháp tiếp cận học máy truyền thống được phân loại thành ba nhóm chính, dựa trên loại "tín hiệu" hoặc "phản hồi" mà hệ thống học tập nhận được.
Học có giám sát là quá trình mà máy tính nhận các đầu vào ví dụ cùng với đầu ra mong muốn từ "giáo viên" Mục tiêu của phương pháp này là để máy tính học được quy tắc chung nhằm ánh xạ đầu vào với đầu ra một cách chính xác.
Học không giám sát là phương pháp mà thuật toán không được cấp nhãn, cho phép nó tự khám phá cấu trúc trong dữ liệu đầu vào Phương pháp này có thể được coi là một mục tiêu tự thân để phát hiện các mẫu ẩn trong dữ liệu hoặc được sử dụng như một công cụ để học các tính năng cần thiết.
Học tập củng cố là một phương pháp trong đó chương trình máy tính tương tác với môi trường năng động nhằm đạt được mục tiêu cụ thể, như lái xe hoặc chơi trò chơi với đối thủ Trong quá trình điều hướng không gian vấn đề, chương trình nhận được phản hồi tương tự như phần thưởng, giúp nó tối đa hóa kết quả đạt được.
Các thuật toán học tập có giám sát xây dựng mô hình toán học từ dữ liệu đào tạo, bao gồm cả đầu vào và đầu ra mong muốn Mỗi ví dụ huấn luyện được biểu diễn bằng vectơ đặc trưng, và dữ liệu huấn luyện được tổ chức thành ma trận Thông qua việc tối ưu hóa chức năng mục tiêu, các thuật toán học cách dự đoán đầu ra cho các đầu vào mới Một thuật toán hiệu quả sẽ cải thiện độ chính xác của dự đoán theo thời gian, cho phép nó xác định chính xác đầu ra cho những đầu vào không có trong dữ liệu huấn luyện.
Các loại thuật toán học có giám sát bao gồm học tích cực, phân loại và hồi quy Thuật toán phân loại được áp dụng khi đầu ra chỉ nằm trong một tập giá trị hạn chế, trong khi thuật toán hồi quy được sử dụng cho đầu ra có thể là bất kỳ giá trị số nào trong một khoảng nhất định Ví dụ, trong thuật toán phân loại để lọc email, đầu vào là một email đến và đầu ra là tên thư mục nơi lưu trữ email đó.
Học tương tự là một lĩnh vực của học máy có giám sát, liên quan đến hồi quy và phân loại, với mục tiêu học từ các ví dụ thông qua hàm tương tự để đo lường mức độ liên quan giữa hai đối tượng Lĩnh vực này có nhiều ứng dụng thực tiễn, bao gồm hệ thống xếp hạng, đề xuất, theo dõi nhận dạng trực quan và xác minh khuôn mặt.
Các thuật toán học tập không giám sát phân tích dữ liệu đầu vào để tìm kiếm cấu trúc ẩn bên trong, chẳng hạn như việc nhóm hoặc phân cụm các điểm dữ liệu.
Thuật toán học không giám sát học hỏi từ dữ liệu chưa được gán nhãn, phân loại hoặc phân nhóm Thay vì phản hồi trực tiếp, các thuật toán này xác định các điểm chung trong dữ liệu và phản ứng dựa trên sự hiện diện hoặc vắng mặt của những điểm chung đó trong dữ liệu mới Một ứng dụng quan trọng của học không giám sát là ước tính mật độ trong thống kê, như tìm hàm mật độ xác suất, và nó cũng bao gồm các lĩnh vực khác liên quan đến việc tóm tắt và giải thích các đặc điểm của dữ liệu.
Phân tích cụm là quá trình phân chia một tập hợp quan sát thành các cụm, trong đó các quan sát trong cùng một cụm tương tự nhau theo các tiêu chí nhất định, trong khi các quan sát từ các cụm khác nhau lại khác biệt Các kỹ thuật phân nhóm có những giả định riêng về cấu trúc dữ liệu, thường được xác định thông qua các thước đo độ tương đồng Đánh giá phân nhóm có thể dựa trên độ gọn bên trong, sự tương đồng giữa các thành viên trong cùng một cụm và sự phân tách giữa các cụm khác nhau Ngoài ra, một số phương pháp còn dựa vào mật độ ước tính và kết nối đồ thị để thực hiện phân tích.
Học tập bán giám sát là phương pháp nằm giữa học tập không giám sát và học tập có giám sát Nó sử dụng một lượng nhỏ dữ liệu được gắn nhãn cùng với một lượng lớn dữ liệu không gắn nhãn Nghiên cứu cho thấy rằng việc kết hợp dữ liệu không gắn nhãn với dữ liệu có gắn nhãn có thể cải thiện đáng kể độ chính xác của mô hình học máy.
Trong quá trình học tập với sự giám sát kém, các nhãn đào tạo thường bị nhiễu, hạn chế hoặc không chính xác Mặc dù vậy, những nhãn này thường dễ dàng thu thập hơn, dẫn đến việc tạo ra các tập huấn luyện hiệu quả hơn.
Học tăng cường là một lĩnh vực trong học máy, tập trung vào cách các tác nhân phần mềm thực hiện hành động trong môi trường để tối đa hóa phần thưởng tích lũy Với tính tổng quát cao, nó được nghiên cứu trong nhiều ngành như lý thuyết trò chơi, lý thuyết điều khiển, và trí thông minh bầy đàn Môi trường trong học máy thường được mô hình hóa dưới dạng quy trình quyết định Markov (MDP), và nhiều thuật toán học tăng cường áp dụng kỹ thuật lập trình động Những thuật toán này không yêu cầu kiến thức về mô hình toán học chính xác của MDP, cho phép sử dụng trong các tình huống mà mô hình chính xác không khả thi, như trong phương tiện tự hành hoặc khi học chơi trò chơi với đối thủ con người.
Giảm thứ nguyên là quá trình giảm số lượng biến ngẫu nhiên bằng cách thu thập các biến chính, nhằm tối ưu hóa kích thước tập hợp tính năng Các kỹ thuật giảm kích thước thường bao gồm việc loại bỏ hoặc trích xuất đặc trưng Phân tích thành phần chính là một trong những phương pháp phổ biến để thực hiện giảm kích thước này.
Phân tích thành phần chính (PCA)
PCA là phương pháp chuyển đổi dữ liệu có chiều cao hơn, như 3D, thành không gian nhỏ hơn, chẳng hạn như 2D Quá trình này giúp giảm kích thước dữ liệu từ 3D xuống 2D mà vẫn bảo toàn tất cả các biến ban đầu trong mô hình mà không làm thay đổi dữ liệu.
1.1.10 Các vấn đề liên quan khác
GIỚI THIỆU VỀ MẠNG CNN VÀ RETINANET
MẠNG NƠ-RON TÍCH CHẬP
Trong deep learning, mạng nơ-ron tích chập (CNN) là một loại mạng nơ-ron sâu phổ biến nhất cho phân tích hình ảnh Chúng được biết đến với khả năng bất biến dịch chuyển, nhờ vào kiến trúc trọng số chia sẻ của các bộ lọc tích chập Mạng nơ-ron tích chập cung cấp phản hồi tương đương dịch, tạo ra bản đồ đối tượng Mặc dù hầu hết các mạng này chỉ tương đương với phép dịch, chúng có nhiều ứng dụng quan trọng, bao gồm nhận dạng hình ảnh và video, hệ thống khuyến nghị, phân loại và phân đoạn hình ảnh, phân tích hình ảnh y tế, xử lý ngôn ngữ tự nhiên, giao diện não-máy tính, và phân tích chuỗi thời gian tài chính.
CNN là phiên bản chính quy của perceptron nhiều lớp, với đặc điểm kết nối đầy đủ giữa các nơ-ron Tuy nhiên, cấu trúc này dễ bị quá tải dữ liệu Để ngăn chặn tình trạng này, các phương pháp như phạt thông số trong quá trình đào tạo hoặc cắt bỏ kết nối thường được áp dụng Khác với các mạng kết nối đầy đủ, CNN sử dụng mô hình phân cấp trong dữ liệu, cho phép lắp ráp các mẫu phức tạp từ những mẫu đơn giản hơn thông qua các bộ lọc Nhờ đó, CNN giảm thiểu quy mô kết nối và độ phức tạp, mang lại hiệu quả cao hơn trong việc xử lý thông tin.
Mạng liên kết được phát triển dựa trên các quá trình sinh học, trong đó mô hình kết nối giữa các tế bào thần kinh tương tự như cấu trúc của vỏ não thị giác ở động vật Mỗi tế bào thần kinh vỏ não chỉ phản ứng với kích thích trong một vùng nhất định của trường thị giác, được gọi là trường tiếp nhận Các trường tiếp nhận của các tế bào thần kinh khác nhau có sự chồng chéo, giúp chúng bao phủ toàn bộ trường thị giác.
CNNs sử dụng ít tiền xử lý hơn so với các thuật toán phân loại hình ảnh truyền thống, cho phép mạng tự động tối ưu hóa các bộ lọc (hạt nhân) thông qua học máy Sự độc lập này khỏi kiến thức trước đó và can thiệp của con người trong việc khai thác tính năng mang lại lợi thế đáng kể cho CNNs.
Mạng nơ-ron tích chập, hay còn gọi là mạng chuyển đổi, sử dụng phép toán tích chập thay vì phép nhân ma trận truyền thống trong ít nhất một lớp của mạng Điều này giúp tăng cường khả năng xử lý dữ liệu hình ảnh và âm thanh, mang lại hiệu quả cao trong các ứng dụng học sâu.
Mạng nơ-ron tích chập bao gồm một lớp đầu vào, các lớp ẩn và một lớp đầu ra Trong mạng nơ-ron chuyển tiếp, các lớp giữa được gọi là lớp ẩn vì đầu vào và đầu ra của chúng bị che bởi hàm kích hoạt và phép tích chập Các lớp ẩn trong mạng nơ-ron tích chập thực hiện các phép chập, thường là tích điểm của nhân chập với ma trận đầu vào Sản phẩm này thường là sản phẩm bên trong Frobenius và sử dụng hàm kích hoạt ReLU Khi nhân chập di chuyển qua ma trận đầu vào, phép toán này tạo ra bản đồ đặc trưng, đóng góp vào đầu vào của lớp tiếp theo Các lớp tiếp theo bao gồm lớp gộp, lớp kết nối đầy đủ và lớp chuẩn hóa.
Trong mạng nơ-ron tích chập (CNN), đầu vào là một tensor có kích thước: (số lượng đầu vào) x (chiều cao đầu vào) x (chiều rộng đầu vào) x (kênh đầu vào) Sau khi trải qua một lớp phức hợp, hình ảnh được trừu tượng hóa thành bản đồ đối tượng, hay còn gọi là bản đồ kích hoạt, với kích thước: (số lượng đầu vào) x (chiều cao bản đồ đối tượng) x (chiều rộng bản đồ đối tượng) x (kênh bản đồ đối tượng) Lớp phức hợp trong CNN thường có những thuộc tính đặc trưng.
Bộ lọc / hạt nhân chuyển đổi được xác định bởi chiều rộng và chiều cao (siêu tham số).
Số lượng kênh đầu vào và đầu ra trong một lớp phải tương ứng, với kênh đầu vào bằng độ sâu của đầu vào Các siêu tham số quan trọng trong phép toán tích chập bao gồm khoảng đệm, sải chân và độ giãn nở, ảnh hưởng trực tiếp đến hiệu suất của mô hình.
Các lớp chuyển đổi trong mạng nơ-ron tích chập hoạt động giống như phản ứng của tế bào thần kinh trong vỏ não thị giác, xử lý dữ liệu cho từng trường tiếp nhận Mặc dù mạng nơ-ron truyền thẳng có thể được sử dụng để phân loại dữ liệu, nhưng chúng không thực tế cho các đầu vào lớn như hình ảnh độ phân giải cao do yêu cầu về số lượng tế bào thần kinh lớn Ví dụ, một lớp kết nối đầy đủ cho hình ảnh 100 x 100 sẽ có 10.000 trọng số cho mỗi nơ-ron trong lớp tiếp theo Ngược lại, mạng nơ-ron tích chập giảm số lượng tham số, cho phép tạo ra mạng sâu hơn bằng cách sử dụng vùng xếp hình 5 x 5 với 25 tham số có thể học được Việc sử dụng trọng số chính quy trên ít tham số hơn giúp tránh các vấn đề về gradient biến mất và bùng nổ trong quá trình nhân giống ngược Hơn nữa, mạng nơ-ron tích chập rất phù hợp cho dữ liệu có cấu trúc liên kết dạng lưới như hình ảnh, vì nó tính đến các mối quan hệ không gian giữa các đối tượng trong quá trình tích chập và gộp.
Hình 2.1 So sánh LeNex và AlexNex b Các lớp Pooling
Mạng kết hợp bao gồm các lớp tổng hợp cục bộ và toàn cầu cùng với các lớp tích hợp truyền thống, giúp giảm kích thước dữ liệu bằng cách kết hợp đầu ra của các cụm nơ-ron thành một nơ-ron duy nhất ở lớp tiếp theo Gộp cục bộ thường sử dụng các cụm nhỏ có kích thước 2 x 2, trong khi tổng hợp toàn cầu hoạt động trên tất cả các nơ-ron của bản đồ đối tượng Hai kiểu gộp phổ biến là tối đa và trung bình; trong đó, gộp tối đa sử dụng giá trị lớn nhất của mỗi cụm nơ-ron cục bộ, còn gộp trung bình lấy giá trị trung bình.
Các lớp kết nối đầy đủ liên kết mọi nơ-ron trong một lớp với tất cả nơ-ron trong lớp khác, tương tự như mạng nơ-ron perceptron nhiều lớp (MLP) truyền thống Ma trận được làm phẳng qua lớp kết nối đầy đủ giúp phân loại hình ảnh hiệu quả.
Mạng CNN là con của phương pháp học có giám sát, sau đây tôi xin trình bày về các loại mạng CNN thông dụng a Mạng LeNet
Mạng LeNet gồm hai phần
Một khối các tầng tích chập
Một khối các tầng kết nối đầy đủ
Hình 2.2 Minh họa mạng LeNet
Các đơn vị cơ bản trong khối tích chập bao gồm một tầng tích chập và một lớp gộp trung bình Tầng tích chập nhận dạng các mẫu không gian trong ảnh, như các đường cạnh và bộ phận của vật thể, trong khi lớp gộp trung bình giúp giảm số chiều Khối tầng tích chập được tạo thành từ việc xếp chồng các khối nhỏ này Mỗi tầng tích chập sử dụng hạt nhân kích thước 5×5 và áp dụng hàm kích hoạt sigmoid, mặc dù ReLU hiện nay được biết là hiệu quả hơn Tầng tích chập đầu tiên có 6 kênh đầu ra, và tầng thứ hai tăng độ sâu kênh lên 16.
Sự gia tăng số lượng kênh đầu ra dẫn đến việc giảm chiều cao và chiều rộng đáng kể Kích thước tham số của hai tầng tích chập trở nên tương tự nhau, trong khi hai lớp gộp trung bình có kích thước 2×22×2 và sải bước bằng 2, không chồng chéo, làm giảm kích thước biểu diễn xuống còn một phần tư trước khi gộp Đầu ra của khối tích chập được xác định bởi kích thước batch, kênh, chiều cao và chiều rộng Để chuyển đổi đầu ra sang khối kết nối đầy đủ, tôi cần làm phẳng từng mẫu trong minibatch, biến đổi đầu vào 4D thành 2D Cuối cùng, khối tầng kết nối đầy đủ của LeNet gồm ba tầng với số lượng đầu ra lần lượt là 120.
Trong bài toán phân loại, tôi sử dụng tầng đầu ra 10 chiều để tương ứng với 10 lớp đầu ra khả thi, đại diện cho các chữ số từ 0 đến 9 Mạng AlexNet là một trong những kiến trúc mạng nơ-ron phổ biến được áp dụng trong nhiệm vụ này.
AlexNet là mạng quy mô lớn đầu tiên vượt trội hơn các phương pháp thị giác máy tính truyền thống trong các thử thách lớn VGG sử dụng nhiều khối lặp lại, trong khi Mạng trong Mạng (NiN) di chuyển toàn bộ mạng nơ-ron theo từng điểm ảnh đầu vào GoogLeNet áp dụng các phép nối song song giữa các mạng, còn Mạng phần dư (ResNet) hiện đang là kiến trúc phổ biến nhất Cuối cùng, Mạng tích chập kết nối dày đặc (DenseNet) mặc dù yêu cầu tính toán lớn nhưng vẫn thường được sử dụng làm mốc chuẩn trong thời gian gần đây.
GIỚI THIỆU VỀ RETINANET
RetinaNet là mô hình phát hiện đối tượng một giai đoạn hàng đầu, nổi bật với khả năng xử lý hiệu quả các đối tượng dày đặc và kích thước nhỏ Chính vì vậy, nó đã trở thành lựa chọn phổ biến trong việc phát hiện vật thể từ hình ảnh vệ tinh và trên không.
Hình 2.9 Phát hiện bể bơi từ hình ảnh chụp trên cao sử dụng RetinaNet
RetinaNet được phát triển dựa trên hai cải tiến chính so với các mô hình phát hiện đối tượng một giai đoạn trước đây, bao gồm Mạng Kim tự tháp tính năng (FPN) và Focal Loss Trước khi khám phá sâu về kiến trúc của RetinaNet, chúng ta hãy tìm hiểu về FPN.
2.2.1 Mạng Kim Tự Tháp tính năng (FPN)
Trong lĩnh vực thị giác máy tính, kim tự tháp hình ảnh bằng lông vũ được sử dụng để phát hiện các đối tượng với tỷ lệ khác nhau trong hình ảnh Những kim tự tháp này được xây dựng dựa trên các kim tự tháp hình ảnh, cho phép người dùng lấy một hình ảnh và tạo mẫu thành hình ảnh có độ phân giải thấp hơn và kích thước nhỏ hơn, từ đó hình thành một kim tự tháp mới.
Các tính năng được thiết kế thủ công trong kim tự tháp được trích xuất để phát hiện đối tượng, nhưng quy trình này tốn nhiều tài nguyên tính toán và bộ nhớ Với sự phát triển của học sâu, các tính năng này đã được thay thế bằng mạng nơ-ron tích chập (CNN), trong đó kim tự tháp được xây dựng dựa trên cấu trúc phân cấp hình chóp tự nhiên của CNN Trong kiến trúc CNN, kích thước đầu ra của bản đồ đối tượng giảm dần sau mỗi khối phép toán tích hợp, tạo thành một cấu trúc hình chóp.
Kiến trúc Kim Tự Tháp đã được áp dụng trong nhiều thiết kế khác nhau, với hình ảnh đặc trưng là tính toán chuyên sâu Bản đồ đối tượng đơn đã giúp phát hiện nhanh chóng, tuy nhiên, để có kết quả chính xác nhất, các kim tự tháp vẫn cần thiết Hệ thống phân cấp đối tượng địa lý hình chóp được sử dụng trong các mô hình như máy dò ảnh đơn, nhưng không tái sử dụng các bản đồ đối tượng địa lý nhiều tỷ lệ từ các lớp khác nhau Mạng Kim tự tháp tính năng (FPN) đã khắc phục những hạn chế này bằng cách kết hợp các tính năng mạnh về ngữ nghĩa có độ phân giải thấp với các tính năng yếu về ngữ nghĩa có độ phân giải cao Điều này được thực hiện thông qua một con đường từ trên xuống với các kết nối bên và các lớp phức hợp từ dưới lên Sự kết hợp này sẽ được làm rõ hơn khi xem xét kiến trúc RetinaNet, nơi FPN được tích hợp cùng với mạng con phân loại và hồi quy để tạo ra mô hình phát hiện đối tượng hiệu quả.
Kiến trúc mô hình RetinaNet bao gồm bốn thành phần chính: Đường dẫn từ dưới lên với mạng xương sống như ResNet, tính toán các bản đồ đối tượng ở nhiều tỷ lệ khác nhau; Đường từ trên xuống và các kết nối bên, nơi các bản đồ đối tượng thô hơn được truyền từ các tầng kim tự tháp cao hơn và các lớp được hợp nhất với kích thước không gian tương đồng; Mạng con phân loại, dự đoán xác suất của sự hiện diện của đối tượng tại mỗi vị trí không gian cho từng anchor box và lớp đối tượng; và Mạng con hồi quy, hồi quy phần bù cho các hộp giới hạn từ các anchor box cho mỗi đối tượng chân lý nền.
Hình 2.11 Mô hình kiến trúc RetinaNet
Mất tiêu điểm (FL) là một cải tiến so với Suy hao xuyên Entropy (CE), được thiết kế để giải quyết vấn đề mất cân bằng lớp trong các mô hình phát hiện đối tượng một giai đoạn Các mô hình này thường gặp khó khăn với sự mất cân bằng giữa lớp nền và lớp đối tượng do việc lấy mẫu dày đặc các anchor box Trong RetinaNet, mỗi lớp kim tự tháp có thể chứa hàng nghìn anchor box, nhưng chỉ một số ít được gán cho đối tượng chân lý, trong khi phần lớn là lớp nền Những ví dụ dễ dàng này, mặc dù có xác suất phát hiện cao và dẫn đến giá trị tổn thất nhỏ, có thể áp đảo hiệu suất chung của mô hình Tổn thất trọng điểm giúp giảm ảnh hưởng của các ví dụ dễ dàng và tăng cường tầm quan trọng của việc cải thiện các ví dụ đã phân loại sai.
Focal loss là một hàm loss function được giới thiệu lần đầu trong RetinaNet, nổi bật trong các bài toán phát hiện đối tượng (object detection) Hàm này thể hiện hiệu quả cao trong việc xử lý tình trạng mất cân bằng nghiêm trọng giữa hai lớp: positive (các bounding box chứa đối tượng) và negative (các bounding box không chứa đối tượng), trong đó số lượng negative thường lớn hơn rất nhiều so với positive.
Hình 2.5 Ví dụ minh họa negative trong Focal Loss
Chỉ có 4 bounding box thuộc positive (đường viền in đậm), các trường hợp còn lại thuộc nhóm negative.
Applying the loss function as the cross-entropy can reduce the accuracy when predicting bounding boxes that contain objects In the paper "Focal Loss for Dense Object Detection," the authors introduced the Focal Loss, which is based on two parameters, α and γ.
Tôi thường chọn giá trị γ ∈ [0,5]
Hàm focal loss chỉ bổ sung một nhân tử (1−qi)γ vào công thức của balanced cross entropy, nhưng nhân tử này có tác động lớn đến việc điều chỉnh ảnh hưởng của nhãn lên loss function và gradient descent Cụ thể, nó giúp cải thiện hiệu suất trong hai trường hợp: dễ dự đoán và khó dự đoán.
Mô hình huấn luyện trên dữ liệu mất cân bằng thường dễ dàng dự đoán chính xác các mẫu đa số, được gọi là các trường hợp dễ dự báo Trong những trường hợp này, xác suất q i của các mẫu dễ dự báo thường cao hơn.
Do đó ( 1−q i ) γ có xu hướng rất nhỏ và dường như không tác động lên loss function đáng kể.
Trong trường hợp khó dự báo, giá trị qi sẽ nhỏ hơn, dẫn đến tác động của nó lên hàm mất mát (loss function) gần bằng 1, cụ thể là (1−qi)γ Mức độ tác động này cao hơn rất nhiều so với trường hợp dễ dự báo Chẳng hạn, nếu trong trường hợp dễ dự báo qi=0.9 và khó dự báo qi=0.1, thì tỷ lệ chênh lệch đóng góp vào hàm mất mát khi γ=2 sẽ rất đáng kể.
Tỷ lệ này sẽ gia tăng khi giá trị của trường hợp dễ dự báo tiến gần đến 1, trong khi trường hợp khó dự báo lại gần 0 Điều này có tác động đáng kể đến đạo hàm, ảnh hưởng đến cách mà các biến số tương tác và thay đổi trong mô hình phân tích.
Có đạo hàm của focal loss như sau: δFPFP ( q) δFP q i ¿ ¿
Dòng thứ 4 ở biến đổi trên , đặt g (x )=[ γ log 1−q (q i ) i
Bất đẳng thức quan trọng đối với hàm logarit khi x ∈ (0, 1] được thể hiện qua công thức log(x) ≥ β(1/x - 1) với mọi β ≤ -1 Để chứng minh bất đẳng thức này, ta khảo sát sự biến thiên của đạo hàm bằng cách đặt f(x) = log(x) - β(1/x - 1) Từ đó, ta có f'(x) = 1/x + β/x² = x + β/x², và điều này cho thấy f'(x) ≤ 1 + β/x² ≤ 0, chứng tỏ rằng f(x) là hàm giảm.
Như vây f ( x) nghịch biến trên ¿ Từ đó suy ra cực tiểu min x ∈¿ f ( x)=f (1)=0
Tương tự cũng chứng minh được bất đẳng thức sau: log ( x) ≤ β ( 1 x −1) với ∀ β ≥ 0 Như vậy nếu chọn β 1 ≤−1 và β 2 ≥ 0 là hai giá trị bất kỳ: g( x )= γ log (q i )
Giá trị của g(x) được chứng minh là bị chặn trong khoảng [C1, C2], điều này cho thấy độ lớn gradient của focal loss chủ yếu phụ thuộc vào γ và β Nhận định này rất quan trọng vì nó ảnh hưởng đến cách mà focal loss hoạt động trong các bài toán học sâu.
Dễ dự báo: Giá trị ¿ có xu hướng rất nhỏ và do đó ảnh hưởng của gradient descent của các trường hợp dễ dự báo không đáng kể.
Khó dự báo: ¿ sẽ gần bằng 1 Mức độ tác động lên gradient descent lớn hơn rất nhiều lần so với trường hợp dễ dự báo.