MIL là một kỹ thuật học có giám sát cho phép mô hình học từ dữ liệu có nhãn ởmức instance-level nhãn cấp instance thay vì ở mức image-level nhãn cấp hình ảnh,giúp cho việc phân loại dữ l
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNHKHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌC CÔNG NGHỆ HỌC SÂU MULTIPLE INSTANCELEARNING DỰA TRÊN ATTENTION CHO BÀI
TOÁN PHÂN LOẠI
Giảng viên giảng dạy: Hồ KhôiSinh viên thực hiện : Trần Tiến Đạt
Trang 22BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNHKHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌC CÔNG NGHỆ HỌC SÂU MULTIPLE INSTANCELEARNING DỰA TRÊN ATTENTION CHO BÀI
TOÁN PHÂN LOẠIGiảng viên giảng dạy: Hồ KhôiSinh viên thực hiện : Trần Tiến Đạt
Sinh viên thực hiện : Lê Nguyễn Tường Vy
Tp.HCM, tháng 5 năm 2023
Trang 4LỜI CẢM ƠNĐặc biệt xin gửi lời cám ơn đến cha mẹ và anh chị em trong gia trình đã động viên tinhthần cũng như chia sẻ những khó khăn trong những năm qua.
Để hoàn thành chuyên đề báo cáo đồ án lần này trước tiên em xin gửi đến các quý thầy,cô giáo trường Đại Học Nguyễn Tất Thành lời cảm ơn chân thành và sâu sắc nhất
Em chân thành cám ơn Giảng viên hướng dẫn Hồ Khôi, người đã hướng dẫn tận tình,đóng góp các ý kiến chuyên môn của đồ án môn học Thầy đã động viên tinh thần emcố gắng hoàn thành những nghiên cứu đặt ra Thầy cũng cung cấp một số tài liệu liênquan đến đồ án môn học mà em đang nghiên cứu và ân cần nhắc nhở em đến tiến độthực hiện đồ án môn học này
Em xin gửi lời cám ơn đến anh, chị, em bè, đồng nghiệp bằng nhiều hình thức khácnhau đã giúp đỡ em trong quá trình học tập tại trường cũng như trong thời gian hoànthành đồ án môn học
Trang 5TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNHTRUNG TÂM KHẢO THÍ
KỲ THI KẾT THÚC HỌC PHẦN
HỌC KỲ … … NĂM HỌC …… - ….…
PHIẾU CHẤM THI TIỂU LUẬN/ĐỒ ÁNMôn thi:Chuyên đề chuyên sâu trí tuệ nhân tạo 2 Lớp học phần:20DTH1C
Nhóm sinh viên thực hiện :
1.Trần Tiến Đạt Tham gia đóng góp:100%
2.Lê Nguyễn Tường Vy Tham gia đóng góp:100%
Ngày thi:16/05/2023 Phòng thi:L.509
Đề tài tiểu luận/báo cáo của sinh viên : CÔNG NGHỆ HỌC SÂU MULTIPLE INSTANCELEARNING DỰA TRÊN ATTENTION CHO BÀI TOÁN PHÂN LOẠI
Phần đánh giá của giảng viên (căn cứ trên thang rubrics của môn học):Tiêu chí (theoCĐR HP) Đánh giá của GVĐiểm tốiđaĐiểm đạtđượcCấu trúc củabáo cáo
Nội dung- Các nộidung thànhphần
Giảng viên chấm thi
Trang 6
LỜI MỞ ĐẦUTrong thời đại số hóa hiện nay, việc xử lý và phân tích dữ liệu là một vấn đề quantrọng và cần thiết để các tổ chức và doanh nghiệp có thể đưa ra những quyết định đúngđắn Trong đó, bài toán phân loại dữ liệu là một trong những bài toán cơ bản và phổbiến nhất trong lĩnh vực này Tuy nhiên, việc xử lý ảnh là một thách thức lớn do tính đadạng và độ phức tạp của dữ liệu hình ảnh
Để giải quyết vấn đề này, trong đề tài này, em sẽ tìm hiểu về công nghệ học sâuMultiple Instance Learning (MIL) dựa trên Attention để giải quyết bài toán phân loạiảnh MIL là một kỹ thuật học có giám sát cho phép mô hình học từ dữ liệu có nhãn ởmức instance-level (nhãn cấp instance) thay vì ở mức image-level (nhãn cấp hình ảnh),giúp cho việc phân loại dữ liệu chính xác hơn và phù hợp với nhiều ứng dụng thực tế.Đồng thời, mô hình Attention cũng là một kỹ thuật học sâu được sử dụng phổ biếntrong xử lý ảnh, giúp cho mô hình chú ý vào những phần quan trọng của ảnh để đưa raquyết định phân loại chính xác hơn Kết hợp giữa MIL và Attention sẽ mang lại hiệuquả cao hơn trong việc phân loại dữ liệu hình ảnh
Trong đề tài này, em sẽ cùng tìm hiểu về cách thức hoạt động của công nghệ học sâuMultiple Instance Learning dựa trên Attention và cách áp dụng nó vào bài toán phânloại ảnh
Trang 7NHẬN XÉT CỦA GIẢNG VIÊN GIẢNG DẠY
Trang 82 Giới thiệu đề tài 12
3 Mục tiêu của đề tài 13
2.1 Giới thiệu về học sâu 16
2.1.1 Giới thiệu chung 16
2.1.2 Mạng nơron nhân tạo 17
2.1.3 Các thuật toán huấn luyện 17
3.3 Áp dụng thuật toán vào bài toán 23
3.4 Thực nghiệm với thư viện python 23
Trang 9DANH MỤC CÁC BẢNG BIỂU
Trang 10DANH MỤC CÁC BẢNG HÌNH
Trang 11DANH MỤC CÁC TỪ VIẾT TẮTChữ viết tắt Ý nghĩa
Ví dụ: CSDL Cơ sở dữ liệu
Trang 12CHƯƠNG IGIỚI THIỆU
1 Lý do chọn đề tàiTính ứng dụng cao: Bài toán phân loại dữ liệu hình ảnh là một trong những bàitoán quan trọng và phổ biến trong xử lý dữ liệu Sự kết hợp giữa công nghệ học sâuMultiple Instance Learning và mô hình Attention sẽ giúp cho việc phân loại chính xáchơn và phù hợp với nhiều ứng dụng thực tế
Tiềm năng phát triển: Công nghệ học sâu Multiple Instance Learning dựa trênAttention là một lĩnh vực đang phát triển nhanh chóng và được ứng dụng rộng rãi trongnhiều lĩnh vực, từ xử lý ảnh đến y tế, tài chính, quản lý chất lượng sản phẩm, v.v Việctìm hiểu về đề tài này sẽ giúp cho các nhà nghiên cứu và chuyên gia có thể áp dụng nóvào nhiều ứng dụng khác nhau
Đóng góp cho nghiên cứu: Việc tìm hiểu và phát triển các mô hình học sâu cho bàitoán phân loại dữ liệu là một đóng góp quan trọng cho lĩnh vực khoa học máy tính vàtrí tuệ nhân tạo Nghiên cứu về công nghệ học sâu Multiple Instance Learning dựa trênAttention sẽ giúp cho em hiểu sâu hơn về cách thức hoạt động của mô hình và cách ápdụng nó vào các bài toán thực tế
2 Giới thiệu đề tàiĐề tài "Công nghệ học sâu Multiple Instance Learning dựa trên Attention chobài toán phân loại" là một đề tài nghiên cứu trong lĩnh vực trí tuệ nhân tạo, chủ yếu tậptrung vào bài toán phân loại dữ liệu hình ảnh Đề tài tập trung vào việc kết hợp giữa haiphương pháp hiệu quả là Multiple Instance Learning và mô hình Attention để phát triểnmột mô hình học sâu mới giúp cho việc phân loại dữ liệu chính xác hơn
Multiple Instance Learning là một phương pháp học máy được sử dụng để giải quyếtcác bài toán phân loại khi không biết được nhãn của từng điểm dữ liệu một cách chính
Trang 13xác Thay vào đó, em chỉ biết được tập hợp các mẫu (instances) có nhãn chung nhưngkhông biết chính xác nhãn của từng instance Phương pháp này được ứng dụng trongnhiều lĩnh vực, ví dụ như phát hiện tế bào ung thư, phân loại tài liệu văn bản, phân tíchhình ảnh, v.v.
Mô hình Attention là một phương pháp giúp cho mô hình học sâu có khả năng tậptrung vào các phần quan trọng của dữ liệu đầu vào, giúp cải thiện độ chính xác và hiệuquả của mô hình Phương pháp này đã được sử dụng thành công trong nhiều ứng dụngnhư nhận dạng ngôn ngữ tự nhiên, xử lý ngôn ngữ tự nhiên, v.v
Việc kết hợp giữa Multiple Instance Learning và mô hình Attention cho phép em ápdụng một cách hiệu quả các phương pháp học sâu cho bài toán phân loại dữ liệu hìnhảnh Trong đề tài này, em sẽ trình bày một mô hình học sâu Multiple Instance Learningdựa trên Attention để phân loại các ảnh thành hai nhóm: ảnh chứa đối tượng cần nhậndạng và ảnh không chứa đối tượng đó
Đề tài này mong muốn góp phần nâng cao độ chính xác và hiệu quả của các mô hìnhhọc sâu trong bài toán phân loại dữ liệu hình ảnh, đồng thời cung cấp một phương phápmới để giải quyết các bài toán phân loại dữ liệu trong thực tế
3 Mục tiêu của đề tàiMục tiêu của đề tài "Công nghệ học sâu Multiple Instance Learning dựa trênAttention cho bài toán phân loại" là phát triển và đánh giá một mô hình học sâuMultiple Instance Learning dựa trên Attention để phân loại các ảnh thành hai nhóm:ảnh chứa đối tượng cần nhận dạng và ảnh không chứa đối tượng đó
Cụ thể, đề tài sẽ tập trung thực hiện các mục tiêu sau:1 Nghiên cứu và tìm hiểu về phương pháp học sâu Multiple Instance Learning và môhình Attention
2 Xây dựng một mô hình học sâu Multiple Instance Learning dựa trên Attention đểphân loại các ảnh thành hai nhóm: ảnh chứa đối tượng cần nhận dạng và ảnh khôngchứa đối tượng đó
3 Đánh giá hiệu quả của mô hình được xây dựng trên các bộ dữ liệu thực tế và so sánhvới các phương pháp khác
Trang 144 Công nghệ áp dụngTrong đề tài này, em áp dụng công nghệ học máy và học sâu để giải quyết bàitoán phân loại ảnh Colab là một nền tảng đám mây được cung cấp bởi Google, cungcấp môi trường trực tuyến cho việc phát triển và chạy các mô hình học máy và học sâumột cách dễ dàng và tiện lợi Colab cung cấp các tài nguyên tính toán và thư viện hỗtrợ cho các công cụ phổ biến như Python và TensorFlow, giúp các nhà nghiên cứu vàkỹ sư có thể tập trung vào việc triển khai mô hình mà không cần phải lo lắng về vấn đềphần cứng và cài đặt.
Để sử dụng Colab, bạn chỉ cần có tài khoản Google và truy cập vào trang web củaColab Sau đó, bạn có thể tạo một notebook mới và bắt đầu viết mã Python để triểnkhai và chạy các mô hình học máy và học sâu Colab cung cấp một số lượng tài nguyêntính toán miễn phí cho mỗi tài khoản, và bạn cũng có thể nâng cấp để sử dụng nhiều tàinguyên hơn
Điều này giúp cho việc triển khai và thực hiện các mô hình học máy và học sâu trở nêndễ dàng và tiện lợi hơn, đặc biệt đối với những người mới bắt đầu hoặc không cónguồn tài nguyên phần cứng và phần mềm phức tạp
5 Phương pháp đề tàiTrong đề tài này, phương pháp sử dụng là Multiple Instance Learning (MIL) kếthợp với mô hình Convolutional Neural Network (CNN) để giải quyết bài toán phânloại
Cụ thể, phương pháp này sử dụng kỹ thuật attention mechanism để tập trung vào cácvùng quan trọng của ảnh, giúp cải thiện độ chính xác của mô hình phân loại Đồng thời,phương pháp MIL cũng được áp dụng để xử lý bộ dữ liệu không đầy đủ nhãn, nơi màchỉ có thông tin nhãn cho toàn bộ ảnh, mà không biết chính xác các vùng trong ảnhchứa đối tượng được phân loại là gì
Trang 15Sau khi trích xuất đặc trưng bằng CNN, các instance-level attention maps sẽ được tạora bằng cách sử dụng một mạng lưới attention, và kết hợp với thông tin về nhãn củatoàn bộ ảnh để tính toán ra predicted bag-level labels.
Phương pháp này được đánh giá bằng các thước đo độ chính xác và độ F1 trên tập dữliệu thử nghiệm, và cho thấy độ chính xác và độ F1 đều cao hơn so với các phươngpháp khác
6 Đối tượng phạm vi nghiên cứuĐối tượng nghiên cứu của đề tài này là các ảnh chứa các đối tượng cần đượcphân loại Phạm vi nghiên cứu là sử dụng phương pháp Attention-based Deep MultipleInstance Learning để phân loại các ảnh này, đồng thời có thể xử lý được trường hợpkhông có nhãn cho từng ảnh cụ thể Phương pháp này có thể áp dụng cho các bài toánphân loại ảnh trong nhiều lĩnh vực khác nhau, chẳng hạn như y tế, nông nghiệp, côngnghiệp, v.v
Trang 16CHƯƠNG IICƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về học sâuHọc sâu (Deep Learning) là một phương pháp học máy (Machine Learning)được xây dựng trên các mạng neuron nhân tạo (Artificial Neural Networks) có khảnăng học và tự điều chỉnh thông qua các lớp ẩn sâu
Mục tiêu của học sâu là để giải quyết các bài toán phức tạp, có đầu vào là các dữ liệulớn và đa dạng như hình ảnh, âm thanh, văn bản, hoặc video Học sâu được sử dụngrộng rãi trong nhiều lĩnh vực như xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói, phânloại hình ảnh, tự động lái xe và nhận dạng đối tượng trong video
Học sâu được xây dựng trên cơ sở các thuật toán học máy như: hồi quy tuyến tính(linear regression), phân loại (classification), rừng ngẫu nhiên (random forests), máyvector hỗ trợ (support vector machines) và bộ phân loại naive Bayes Tuy nhiên, họcsâu cho phép mô hình hóa các mối quan hệ phức tạp hơn trong dữ liệu thông qua cáclớp ẩn sâu giúp nó trở nên mạnh mẽ hơn và độ chính xác cao hơn so với các phươngpháp học máy truyền thống
2.1.1 Giới thiệu chung
Trang 17Học máy (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo (ArtificialIntelligence) có khả năng cho phép máy móc học hỏi và cải thiện hoạt động thông quacác kinh nghiệm, mà không cần được lập trình trực tiếp Điều này có nghĩa là máy móccó khả năng tự động học và cải thiện từ dữ liệu.
Có nhiều loại học máy khác nhau, bao gồm học có giám sát (supervised learning), họckhông giám sát (unsupervised learning) và học tăng cường (reinforcement learning).Học có giám sát yêu cầu có sự can thiệp của con người để cung cấp cho máy móc cácví dụ dữ liệu đã được gán nhãn, trong khi học không giám sát cho phép máy móc tựhọc từ các dữ liệu không có nhãn Học tăng cường cho phép máy móc học thông quaviệc thực hiện các hành động và được cung cấp phần thưởng hoặc hình phạt tương ứng.Trong những năm gần đây, học máy đã có những tiến bộ đáng kể, đặc biệt là trong lĩnhvực học sâu (Deep Learning), cho phép máy móc hiểu và xử lý các dữ liệu phức tạpnhư hình ảnh, âm thanh và văn bản Học máy đã được sử dụng trong nhiều lĩnh vực,bao gồm công nghệ, y tế, tài chính, marketing, và nhiều lĩnh vực khác
2.1.2 Mạng nơron nhân tạoMạng neuron nhân tạo (Artificial Neural Networks) là một hệ thống tính toánđược lấy cảm hứng từ cách hoạt động của hệ thống thần kinh sinh học Hệ thống nàyđược thiết kế để học và tự điều chỉnh thông qua các lớp ẩn sâu để tìm ra mối quan hệphức tạp giữa đầu vào và đầu ra
Mỗi một mạng neuron nhân tạo bao gồm một số lượng lớp, mỗi lớp bao gồm một sốlượng neuron Các neuron trong mỗi lớp sẽ nhận đầu vào và thực hiện các phép tính đểtính toán đầu ra và chuyển tiếp đến lớp tiếp theo Các lớp ẩn sâu giúp mạng neuronnhân tạo có khả năng học các mối quan hệ phức tạp và đưa ra dự đoán chính xác hơn.Trong quá trình huấn luyện, mạng neuron nhân tạo sẽ được cung cấp các tập dữ liệuđầu vào và đầu ra tương ứng Mạng sẽ thực hiện các phép tính và điều chỉnh các thamsố để tối ưu hóa hàm mất mát (loss function) và đưa ra dự đoán chính xác nhất.Mạng neuron nhân tạo được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm xử lý ngônngữ tự nhiên, nhận dạng giọng nói, phân loại hình ảnh, tự động lái xe và nhận dạng đốitượng trong video Học sâu (Deep Learning) là một phương pháp học máy được xâydựng trên các mạng neuron nhân tạo và được sử dụng rộng rãi trong nhiều lĩnh vực
Trang 18Trong học máy, quá trình huấn luyện một mô hình là rất quan trọng Có nhiềuthuật toán huấn luyện khác nhau để tối ưu hóa mô hình để có thể dự đoán đầu ra chínhxác từ đầu vào Dưới đây là một số thuật toán huấn luyện phổ biến:
Gradient Descent: Thuật toán Gradient Descent được sử dụng để tối ưu hóa hàm mấtmát (loss function) của một mô hình Thuật toán này tính toán gradient của hàm mấtmát đối với các tham số của mô hình, sau đó điều chỉnh các tham số đó theo chiềungược lại của gradient để giảm thiểu hàm mất mát
Stochastic Gradient Descent (SGD): Là một biến thể của Gradient Descent, SGD sửdụng một tập dữ liệu nhỏ (batch) để tính toán gradient và điều chỉnh các tham số Đâylà một thuật toán huấn luyện phổ biến trong học sâu
Adam: Là một thuật toán tối ưu hóa động cho phép tự động tinh chỉnh các thông số học(learning rate) để tối ưu hóa mô hình Thuật toán Adam kết hợp các ưu điểm của thuậttoán Momentum và RMSProp
Adagrad: Là một thuật toán tối ưu hóa động, tương tự như Adam, Adagrad cũng có khảnăng tự động tinh chỉnh thông số học Tuy nhiên, Adagrad sử dụng một tỷ lệ học tậpriêng cho mỗi tham số, tùy thuộc vào tần suất xuất hiện của tham số trong quá trìnhhuấn luyện
Adadelta: Là một thuật toán tối ưu hóa động, được thiết kế để giảm thiểu vấn đề củathuật toán Adagrad với việc giảm giá trị của tỷ lệ học tập khi thời gian huấn luyện tănglên
Các thuật toán huấn luyện này là những thuật toán cơ bản và phổ biến trong học máy.Tùy thuộc vào loại mô hình và tập dữ liệu, các thuật toán khác nhau có thể phù hợphơn để tối ưu hóa mô hình
2.2 CNN là gì ?
Trang 19CNN (Convolutional Neural Network) là một kiến trúc mạng neural networktrong deep learning, được sử dụng chủ yếu trong các ứng dụng computer vision và xửlý ảnh Kiến trúc này được thiết kế để tự động rút trích các đặc trưng (features) từ ảnhđầu vào một cách hiệu quả.
CNN được thiết kế với nhiều lớp đặc biệt, bao gồm các lớp Convolution, Pooling vàFully Connected Trong đó, lớp Convolution là lớp quan trọng nhất của kiến trúc CNN.Lớp này giúp chúng em tự động tìm ra các đặc trưng của ảnh bằng cách sử dụng các bộlọc (filters) để thực hiện phép tích chập (convolution) trên ảnh đầu vào Quá trình nàygiúp giảm thiểu độ phức tạp của mô hình và tăng khả năng nhận dạng đối tượng trongảnh
Sau khi qua lớp Convolution, các feature maps sẽ được đưa vào lớp Pooling để giảmkích thước của feature maps và trích xuất ra các đặc trưng quan trọng nhất Sau đó, cácfeature maps sẽ được đưa vào lớp Fully Connected để đưa ra dự đoán cho các lớp đầura
CNN là một trong những mô hình phổ biến nhất trong computer vision và được ápdụng rộng rãi trong nhiều ứng dụng như phân loại ảnh, nhận dạng đối tượng, phân tíchvideo và xử lý ảnh y khoa Với kiến trúc phức tạp và khả năng học tự động các đặctrưng, CNN đã mang lại nhiều đóng góp quan trọng cho việc giải quyết các bài toántrong lĩnh vực computer vision