Luận văn: Nhận dạng cảm xúc khuôn mặt bằng Mạng Nơ-ron Tích chập (CNN)

Tài liệu nghiên cứu Nhận dạng cảm xúc khuôn mặt sử dụng mạng nơ ron tích chập, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Chuyên ngành

Hệ thống thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2020

105
0
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

TÓM TẮT LUẬN VĂN

DANH MỤC CHỮ VIẾT TẮT

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH, ĐỒ THỊ

1. CHƯƠNG 1: TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU

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

1.2. Mục tiêu nghiên cứu

1.3. Đối tượng, phạm vi nghiên cứu

1.4. Phương pháp nghiên cứu

1.5. Ý nghĩa khoa học và thực tiễn

1.6. Bố cục luận văn

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN

2.1. Mạng Nơ-ron tích chập

2.1.1. Mạng Nơ-ron nhân tạo

2.1.2. Mạng Nơ-ron tích chập

2.2. Các mô hình học sâu CNN

2.2.1. Sự hình thành và phát triển

2.2.2. Các mô hình CNN tiêu biểu

2.3. Nhận dạng cảm xúc khuôn mặt

2.3.1. Hướng tiếp cận

2.3.2. Hướng đề xuất nghiên cứu

2.4. Các nghiên cứu liên quan

2.5. Tiểu kết chương

3. CHƯƠNG 3: MÔ HÌNH ĐỀ XUẤT

3.1. Tổng quan mô hình đề xuất

3.2. Các đặc trưng của mô hình

3.3. Phát hiện khuôn mặt

3.4. Nhận dạng cảm xúc với CNN

3.5. Mô hình học sâu lai CNN-LSTM

3.6. Nhận dạng cảm xúc

3.7. Phương pháp đánh giá kết quả

3.8. Huấn luyện mô hình

3.9. Xây dựng ứng dụng

4. CHƯƠNG 4: THỰC NGHIỆM

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

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

CÔNG TRÌNH CÔNG BỐ

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Hướng dẫn toàn diện luận văn nhận dạng cảm xúc bằng CNN

Bài toán nhận dạng cảm xúc khuôn mặt (Facial Emotion Recognition - FER) đang là một chủ đề thu hút sự quan tâm lớn trong lĩnh vực thị giác máy tínhtrí tuệ nhân tạo. Luận văn Thạc sĩ "Nhận dạng cảm xúc khuôn mặt sử dụng mạng nơ-ron tích chập" của tác giả Lê Minh Tiến, dưới sự hướng dẫn của TS. Bùi Thanh Hùng, là một công trình nghiên cứu khoa học tiêu biểu, đi sâu vào việc ứng dụng học sâu (deep learning) để giải quyết vấn đề này. Giao tiếp phi ngôn ngữ, đặc biệt là biểu cảm khuôn mặt, chiếm tới 2/3 hiệu quả giao tiếp, do đó, khả năng tự động hóa việc nhận diện cảm xúc mở ra tiềm năng to lớn. Các ứng dụng nhận dạng cảm xúc trải dài từ an ninh, y tế, giáo dục cho đến tương tác người-máy. Luận văn này không chỉ tổng hợp cơ sở lý thuyết vững chắc về Convolutional Neural Network (CNN) mà còn đề xuất một mô hình lai CNN-LSTM độc đáo, chứng tỏ hiệu quả vượt trội qua thực nghiệm. Công trình tập trung vào 7 cảm xúc cơ bản theo phân loại của Ekman: tức giận, ghê tởm, sợ hãi, vui vẻ, buồn bã, ngạc nhiên và trung tính. Việc lựa chọn phương pháp học sâu thay vì các kỹ thuật xử lý ảnh truyền thống cho thấy sự nắm bắt xu hướng công nghệ và tiềm năng mà nó mang lại trong việc trích xuất đặc trưng tự động và hiệu quả. Nghiên cứu này đặt nền móng quan trọng cho các đồ án tốt nghiệp trí tuệ nhân tạo và các dự án thực tiễn sau này, khẳng định giá trị khoa học và ứng dụng của đề tài.

1.1. Tầm quan trọng của Facial Emotion Recognition trong AI

Trong kỷ nguyên số, Facial Emotion Recognition (FER) không chỉ là một bài toán học thuật mà còn là chìa khóa cho nhiều ứng dụng thực tiễn. Khả năng máy tính "hiểu" được cảm xúc con người thông qua hình ảnh khuôn mặt tạo ra một cuộc cách mạng trong tương tác người-máy (HCI). Lĩnh vực này là giao điểm của thị giác máy tính và khoa học hành vi, cho phép phát triển các hệ thống thông minh hơn, thân thiện hơn. Ví dụ, trong y tế, nó giúp theo dõi trạng thái tinh thần của bệnh nhân. Trong ngành ô tô, nó có thể phát hiện sự mệt mỏi của tài xế để cảnh báo tai nạn. Luận văn của Lê Minh Tiến đã nhấn mạnh rằng việc tự động nhận dạng cảm xúc có tiềm năng lớn trong an ninh, phát hiện nói dối, và giáo dục, làm cho các luận văn AI về chủ đề này trở nên cực kỳ giá trị và có ý nghĩa thực tiễn cao.

1.2. Mục tiêu nghiên cứu và bố cục của luận văn Thạc sĩ

Mục tiêu chính của luận văn là xây dựng một hệ thống có khả năng phát hiện khuôn mặt và nhận dạng 7 cảm xúc cơ bản với độ chính xác cao bằng cách ứng dụng mạng nơ-ron tích chập. Tác giả đặt ra nhiệm vụ nghiên cứu sâu về các kiến trúc CNN tiêu biểu, từ đó đề xuất một mô hình lai hiệu quả. Phạm vi nghiên cứu tập trung vào các phương pháp học sâu và hiệu năng của chúng. Bố cục luận văn được trình bày logic, bắt đầu từ tổng quan, cơ sở lý thuyết về CNN và các nghiên cứu liên quan, sau đó trình bày chi tiết mô hình đề xuất, kết quả thực nghiệm và cuối cùng là kết luận và hướng phát triển. Cấu trúc này không chỉ đảm bảo tính khoa học mà còn giúp người đọc dễ dàng theo dõi và nắm bắt nội dung cốt lõi của một công trình nghiên cứu khoa học bài bản.

II. Các thách thức cốt lõi trong xử lý ảnh và nhận dạng FER

Mặc dù tiềm năng của nhận dạng cảm xúc khuôn mặt là rất lớn, việc xây dựng một hệ thống FER hiệu quả phải đối mặt với nhiều thách thức kỹ thuật. Một trong những khó khăn lớn nhất đến từ sự đa dạng và phức tạp của biểu cảm con người. Cùng một cảm xúc có thể được biểu hiện theo nhiều cách khác nhau tùy thuộc vào cá nhân, văn hóa và bối cảnh. Các yếu tố như góc mặt, cường độ ánh sáng, độ phân giải ảnh, và vật cản (kính, tóc, khẩu trang) đều ảnh hưởng trực tiếp đến chất lượng xử lý ảnh và độ chính xác của mô hình. Bài toán trích xuất đặc trưng là cực kỳ quan trọng; các phương pháp truyền thống thường yêu cầu kỹ thuật thủ công phức tạp và không đủ mạnh mẽ để bao quát hết các biến thể. Luận văn đã chỉ ra rằng việc lựa chọn một bộ dữ liệu chất lượng cao và đủ lớn như FER2013 hay dataset CK+ là bước đầu tiên nhưng cũng đầy thách thức. Hơn nữa, việc huấn luyện một mô hình học sâu đòi hỏi tài nguyên tính toán đáng kể và kỹ thuật tối ưu hóa để tránh các vấn đề như overfitting (quá khớp). Những khó khăn này đòi hỏi một phương pháp tiếp cận mạnh mẽ, có khả năng tự học các đặc trưng quan trọng từ dữ liệu thô, và đây chính là lúc mạng nơ-ron tích chập phát huy thế mạnh.

2.1. Sự biến đổi phức tạp của biểu cảm và dữ liệu đầu vào

Biểu cảm khuôn mặt không phải là một tín hiệu tĩnh và đơn giản. Nó thay đổi liên tục và tinh vi. Các yếu tố như điều kiện ánh sáng không đồng nhất, tư thế đầu khác nhau, và sự che khuất một phần khuôn mặt là những rào cản chính trong thị giác máy tính. Ví dụ, một nụ cười nhẹ có thể dễ bị nhầm lẫn với biểu cảm trung tính trong điều kiện ánh sáng yếu. Một bộ dữ liệu lý tưởng cần chứa hình ảnh từ nhiều góc độ, môi trường và đối tượng khác nhau để mô hình có thể học cách khái quát hóa. Việc tiền xử lý dữ liệu, chẳng hạn như căn chỉnh khuôn mặt và chuẩn hóa độ sáng, là bước quan trọng nhưng không thể loại bỏ hoàn toàn các biến thể này. Đây là lý do tại sao các mô hình học sâu có khả năng học các đặc trưng bất biến lại được ưu tiên.

2.2. Khó khăn trong việc trích xuất đặc trưng thủ công

Trước khi deep learning trở nên phổ biến, các phương pháp trích xuất đặc trưng cho bài toán FER chủ yếu dựa vào các kỹ thuật thủ công như Gabor wavelets, Local Binary Patterns (LBP), hay Active Appearance Models (AAM). Mặc dù các phương pháp này có hiệu quả ở một mức độ nhất định, chúng đòi hỏi kiến thức chuyên môn sâu để thiết kế và lựa chọn đặc trưng phù hợp. Hơn nữa, các đặc trưng được thiết kế thủ công thường cứng nhắc và khó thích ứng với các bộ dữ liệu mới hoặc các điều kiện không lường trước. Chúng không thể nắm bắt được các sắc thái tinh tế và mối quan hệ phức tạp giữa các vùng trên khuôn mặt, điều mà các lớp tích chập trong mạng nơ-ron tích chập có thể tự động học được một cách hiệu quả.

III. Phương pháp Mạng Nơ ron Tích Chập CNN giải mã cảm xúc

Để vượt qua các thách thức của xử lý ảnh truyền thống, Mạng Nơ-ron Tích Chập (Convolutional Neural Network - CNN) đã nổi lên như một giải pháp đột phá trong lĩnh vực thị giác máy tính. Luận văn của Lê Minh Tiến đã phân tích sâu sắc cấu trúc và nguyên lý hoạt động của CNN. Không giống như mạng nơ-ron nhân tạo (ANN) thông thường, CNN được thiết kế đặc biệt để xử lý dữ liệu dạng lưới như hình ảnh. Cấu trúc của nó lấy cảm hứng từ vỏ não thị giác của con người, sử dụng các lớp tích chập để tự động học và phát hiện các đặc trưng phân cấp. Ban đầu, các lớp đầu tiên học các đặc trưng cơ bản như cạnh, góc và màu sắc. Càng đi sâu vào mạng, các lớp sau sẽ kết hợp những đặc trưng này để nhận diện các cấu trúc phức tạp hơn như mắt, mũi, miệng, và cuối cùng là toàn bộ khuôn mặt và biểu cảm của nó. Khả năng trích xuất đặc trưng tự động này loại bỏ nhu cầu thiết kế thủ công và giúp mô hình có khả năng thích ứng cao. Các thành phần chính của một kiến trúc CNN bao gồm lớp tích chập (Convolutional Layer), lớp hàm kích hoạt (thường là ReLU), lớp gộp (Pooling Layer) và lớp kết nối đầy đủ (Fully Connected Layer). Sự kết hợp của các lớp này cho phép CNN giảm chiều dữ liệu trong khi vẫn giữ lại thông tin quan trọng, giúp mô hình hoạt động hiệu quả và mạnh mẽ.

3.1. Cấu trúc và nguyên lý hoạt động cốt lõi của CNN

Một kiến trúc CNN điển hình bao gồm ba loại lớp chính. Lớp Tích chập (Convolutional Layer) sử dụng các bộ lọc (kernels) trượt trên ảnh đầu vào để tạo ra các bản đồ đặc trưng (feature maps), phát hiện các mẫu cục bộ. Lớp Gộp (Pooling Layer), thường là Max Pooling, làm giảm kích thước không gian của các bản đồ đặc trưng, giúp giảm số lượng tham số và kiểm soát overfitting. Điều này làm cho mô hình trở nên bất biến hơn với các thay đổi nhỏ về vị trí của đặc trưng. Cuối cùng, Lớp Kết nối đầy đủ (Fully Connected Layer) hoạt động giống như một mạng nơ-ron truyền thẳng, nhận đầu vào là vector đặc trưng đã được làm phẳng và thực hiện nhiệm vụ phân loại cuối cùng. Quá trình huấn luyện mô hình CNN về cơ bản là quá trình tối ưu hóa trọng số của các bộ lọc thông qua thuật toán lan truyền ngược để giảm thiểu hàm mất mát.

3.2. So sánh CNN với các mô hình VGG16 ResNet tiêu biểu

Luận văn không chỉ xây dựng mô hình riêng mà còn thực hiện so sánh với các kiến trúc CNN nổi tiếng như VGG16ResNet. VGG16 nổi bật với kiến trúc đơn giản và đồng nhất, sử dụng các bộ lọc 3x3 xếp chồng lên nhau để tăng độ sâu của mạng. Tuy nhiên, nó có số lượng tham số rất lớn. Ngược lại, ResNet (Residual Network) giải quyết vấn đề suy giảm độ dốc ở các mạng rất sâu bằng cách sử dụng các kết nối tắt (skip connections). Kiến trúc này cho phép huấn luyện các mạng sâu hơn nhiều (ví dụ ResNet-50) mà vẫn đạt hiệu quả cao. Việc phân tích và thực nghiệm trên các mô hình này cung cấp một cái nhìn toàn cảnh về sự phát triển của học sâu và giúp tác giả đưa ra lựa chọn thiết kế phù hợp cho mô hình đề xuất của mình, kết hợp những ưu điểm của các kiến trúc đi trước.

IV. Bí quyết xây dựng mô hình cho đồ án trí tuệ nhân tạo

Việc xây dựng một mô hình thành công cho đồ án tốt nghiệp trí tuệ nhân tạo đòi hỏi một quy trình bài bản và khoa học. Luận văn đã trình bày chi tiết các bước thực hiện, từ lựa chọn và tiền xử lý dữ liệu đến thiết kế và huấn luyện mô hình. Bước đầu tiên là lựa chọn bộ dữ liệu. Nghiên cứu này chủ yếu sử dụng bộ dữ liệu FER2013, một tập dữ liệu công khai lớn với hàng chục nghìn ảnh khuôn mặt xám được gán nhãn với 7 loại cảm xúc. Dữ liệu được chia thành các tập huấn luyện, kiểm định và kiểm tra để đảm bảo việc đánh giá độ chính xác khách quan. Tiếp theo, tác giả đề xuất một mô hình lai kết hợp giữa CNN và LSTM (Long Short-Term Memory), có tên là CNN-LSTM. Trong khi CNN mạnh mẽ trong việc trích xuất đặc trưng không gian từ hình ảnh, LSTM lại có khả năng học các mối quan hệ tuần tự. Mô hình CNN-LSTM được kỳ vọng sẽ mang lại kết quả tốt hơn. Quá trình xây dựng và huấn luyện mô hình được thực hiện bằng các thư viện học sâu phổ biến như TensorFlow, KerasPyTorch, kết hợp với OpenCV để xử lý ảnh. Việc lựa chọn các tham số, hàm mất mát, và thuật toán tối ưu hóa đều được cân nhắc kỹ lưỡng để đạt được hiệu suất tốt nhất.

4.1. Khai thác bộ dữ liệu FER2013 và dataset CK hiệu quả

Chất lượng của mô hình học sâu phụ thuộc rất lớn vào dữ liệu huấn luyện. Bộ dữ liệu FER2013 là một lựa chọn phổ biến vì kích thước lớn và tính thực tế (ảnh được thu thập "in the wild"). Tuy nhiên, nó cũng chứa nhiều nhiễu và ảnh chất lượng thấp. Luận văn đã áp dụng các kỹ thuật tiền xử lý như chuẩn hóa histogram và tăng cường dữ liệu (data augmentation) để cải thiện chất lượng và sự đa dạng của tập huấn luyện. Ngoài ra, việc tham khảo các dataset CK+ (Cohn-Kanade) cũng được đề cập. CK+ chứa các chuỗi hình ảnh với biểu cảm được dàn dựng trong môi trường có kiểm soát, rất hữu ích cho việc phân tích chi tiết và kiểm định mô hình trong điều kiện lý tưởng.

4.2. Thiết kế chi tiết kiến trúc mô hình CNN LSTM đề xuất

Điểm nhấn của luận văn là việc đề xuất mô hình lai CNN-LSTM. Cụ thể, mô hình bao gồm một khối CNN 5 tầng để trích xuất đặc trưng từ ảnh đầu vào. Vector đặc trưng đầu ra từ khối CNN sau đó được đưa vào một lớp LSTM. Ý tưởng đằng sau kiến trúc này là CNN nắm bắt các đặc điểm không gian của khuôn mặt, trong khi LSTM có thể học được mối liên hệ động giữa các đặc trưng này. Bài báo "Facial Expression Recognition with CNN-LSTM" được công bố tại hội nghị RICE 2020 và đoạt giải "Best Paper Awards" là minh chứng rõ ràng cho tính mới và hiệu quả của phương pháp này. Đây là một cách tiếp cận sáng tạo, kết hợp thế mạnh của hai loại mạng nơ-ron khác nhau để giải quyết bài toán FER.

V. Cách đánh giá độ chính xác và ứng dụng thực tiễn của FER

Một phần không thể thiếu của bất kỳ công trình nghiên cứu khoa học nào là quá trình đánh giá và kiểm định. Để đánh giá độ chính xác của mô hình nhận dạng cảm xúc khuôn mặt, luận văn đã sử dụng các độ đo tiêu chuẩn trong học máy. Độ chính xác tổng thể (Accuracy) là chỉ số cơ bản, cho biết tỷ lệ các dự đoán đúng trên tổng số mẫu kiểm tra. Tuy nhiên, để có cái nhìn chi tiết hơn, ma trận nhầm lẫn (Confusion Matrix) đã được sử dụng. Ma trận này trực quan hóa hiệu suất của mô hình trên từng lớp cảm xúc riêng biệt, giúp phát hiện các lớp nào thường bị nhầm lẫn với nhau (ví dụ: 'sợ hãi' và 'ngạc nhiên'). Kết quả thực nghiệm cho thấy mô hình CNN-LSTM đề xuất đạt độ chính xác cao hơn so với các mô hình CNN cơ bản và một số phương pháp khác trên bộ dữ liệu FER2013. Ngoài kết quả học thuật, luận văn còn xây dựng một ứng dụng demo, cho phép nhận dạng cảm xúc theo thời gian thực qua webcam, minh họa rõ ràng giá trị và tiềm năng của các ứng dụng nhận dạng cảm xúc. Các ứng dụng này có thể được triển khai trong nhiều lĩnh vực như phân tích phản hồi của khách hàng, hệ thống dạy học thông minh, hay theo dõi sức khỏe tâm thần.

5.1. Phân tích kết quả thực nghiệm và ma trận nhầm lẫn

Kết quả được trình bày trong luận văn cho thấy mô hình CNN 5 tầng tự xây dựng và mô hình CNN-LSTM đều cho kết quả khả quan. Bảng so sánh độ chính xác giữa các mô hình khác nhau (CNN 3 lớp, VGG16, ResNet, mô hình đề xuất) cung cấp một bằng chứng thuyết phục về hiệu quả của kiến trúc được lựa chọn. Ma trận nhầm lẫn chi tiết chỉ ra rằng các cảm xúc như 'hạnh phúc' (happy) thường có độ chính xác nhận dạng cao nhất do các đặc điểm rõ ràng (nụ cười). Trong khi đó, các cảm xúc tinh tế hơn như 'buồn' (sad) hay 'sợ hãi' (fear) có thể bị nhầm lẫn. Việc phân tích này không chỉ xác nhận hiệu suất mô hình mà còn gợi ý hướng cải tiến trong tương lai.

5.2. Các ứng dụng nhận dạng cảm xúc trong đời sống thực tế

Từ kết quả nghiên cứu, các ứng dụng nhận dạng cảm xúc có thể được phát triển rộng rãi. Trong bán lẻ, hệ thống có thể phân tích cảm xúc của khách hàng khi xem sản phẩm để tối ưu hóa trải nghiệm mua sắm. Trong giáo dục, nó có thể giúp giáo viên nhận biết khi nào học sinh đang cảm thấy khó hiểu hoặc mất tập trung. Trong lĩnh vực chăm sóc sức khỏe, công nghệ này hỗ trợ các nhà trị liệu theo dõi tiến trình cảm xúc của bệnh nhân. Việc xây dựng một ứng dụng demo trong luận văn là bước đi quan trọng, kết nối giữa nghiên cứu khoa học và ứng dụng thực tiễn, làm cho đề tài trở nên hữu hình và thuyết phục hơn.

VI. Tương lai nghiên cứu và source code nhận dạng cảm xúc AI

Luận văn Thạc sĩ về nhận dạng cảm xúc khuôn mặt bằng CNN đã đạt được những kết quả đáng khích lệ, nhưng đây vẫn là một lĩnh vực rộng lớn với nhiều hướng phát triển trong tương lai. Hướng phát triển tiềm năng bao gồm việc cải thiện độ chính xác của mô hình trên các cảm xúc vi mô (micro-expressions) – những biểu cảm rất nhanh và khó nhận biết. Một hướng khác là xây dựng các mô hình có khả năng hoạt động hiệu quả hơn trong điều kiện thực tế khắc nghiệt, với các khuôn mặt bị che khuất một phần hoặc ở góc nhìn nghiêng. Việc kết hợp phân tích cảm xúc từ nhiều nguồn khác nhau như giọng nói, cử chỉ cơ thể cùng với khuôn mặt (multimodal emotion recognition) cũng là một lĩnh vực đầy hứa hẹn. Đối với cộng đồng sinh viên và nhà nghiên cứu, việc tìm kiếm source code nhận dạng cảm xúc là rất quan trọng để học hỏi và phát triển tiếp. Các code luận văn và dự án mã nguồn mở sử dụng TensorFlow, Keras, PyTorchOpenCV là tài nguyên quý giá. Công trình của Lê Minh Tiến không chỉ đóng góp một mô hình hiệu quả mà còn tạo tiền đề cho các đồ án tốt nghiệp trí tuệ nhân tạo và các nghiên cứu sâu hơn, thúc đẩy sự tiến bộ của ngành trí tuệ nhân tạo tại Việt Nam.

6.1. Hướng phát triển và cải tiến mô hình trong tương lai

Để nâng cao mô hình, các nghiên cứu trong tương lai có thể tập trung vào việc sử dụng các kiến trúc mạng nơ-ron tiên tiến hơn như Transformers, vốn đã rất thành công trong xử lý ngôn ngữ tự nhiên, cho bài toán thị giác máy tính. Kỹ thuật học chuyển giao (transfer learning) từ các mô hình đã được huấn luyện trên các bộ dữ liệu khổng lồ như ImageNet cũng có thể giúp cải thiện đáng kể hiệu suất. Ngoài ra, việc tối ưu hóa mô hình để có thể chạy trên các thiết bị di động hoặc thiết bị nhúng với tài nguyên hạn chế là một hướng đi thực tiễn, mở rộng phạm vi của các ứng dụng nhận dạng cảm xúc.

6.2. Tầm quan trọng của code luận văn và tài nguyên mở

Sự phát triển của trí tuệ nhân tạo gắn liền với tinh thần chia sẻ và cộng tác. Việc công khai source code nhận dạng cảm xúccode luận văn giúp cộng đồng nhanh chóng tái tạo kết quả, kiểm chứng và xây dựng dựa trên các nghiên cứu trước đó. Các nền tảng như GitHub là nơi lý tưởng để chia sẻ mã nguồn, mô hình đã được huấn luyện mô hình, và các hướng dẫn chi tiết. Điều này không chỉ thúc đẩy nghiên cứu khoa học mà còn là nguồn tài liệu học tập vô giá cho sinh viên đang thực hiện các đồ án tốt nghiệp trí tuệ nhân tạo, giúp họ tiết kiệm thời gian và tập trung vào việc đổi mới, sáng tạo.

05/10/2025

Trích đoạn nội dung tài liệu

Chương 1 trình bày khái quát về bài toán nhận dạng cảm xúc khuôn mặt, những ứng dụng cũng như mục tiêu của đề tài. Chương 2: Cơ sở lý thuyết và các nghiên cứu liên quan: Chương 2 trình bày cơ sở lý thuyết và các nghiên cứu liên quan đến các thuật toán phát hiện, nhận dạng và phân loại hình ảnh được phát triển trong luận văn. Chương 3: Mô hình đề xuất: Chương 3 trình bày phương pháp phát hiện khuôn mặt, phương pháp nhận dạng, phân loại cảm xúc, sơ đồ liên kết giữa mô hình và ứng dụng web. 4 Chương 4: Thực nghiệm: Chương 4 trình bày quá trình thực nghiệm, kết quả đạt được, phân tích và đánh giá các kết quả đạt được.

Chương 5: Kết luận và hướng phát triển: Chương 5 tổng quát kết quả thực hiện, đưa ra các hướng phát triển cho mô hình trong tương lai. 5 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 2. Mạng Nơ-ron tích chập 2. Mạng Nơ-ron nhân tạo Mạng Nơ-ron nhân tạo (Artificial Neural Network – ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật hay còn gọi là mạng Nơ-ron sinh học (hình 2.

Cấu tạo từ số lượng lớn các nơ-ron được kết nối với nhau để xử lý thông tin. ANN giống như bộ não con người, được học bởi kinh nghiệm thông qua huấn luyện, có khả năng lưu giữ những kinh nghiệm tri thức và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết. ANN được giới thiệu năm 1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter Pits. 1: Mạng Nơ-ron sinh học [21] Các ứng dụng của Mạng neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,… Một ANN gồm ba tầng: lớp đầu vào (input layer), các lớp ẩn (hidden layers) và cuối cùng là lớp đầu ra (output layer) được mô tả trong hình 2.2 6 [21], trong đó, lớp ẩn gồm nhiều nơ-ron nhận dữ liệu đầu vào từ các lớp trước đó để xử lý và chuyển đổi các dữ liệu này cho các lớp tiếp theo.

Một ANN có thể có nhiều lớp ẩn hoặc không có lớp ẩn. 2: Cấu trúc của mạng nơ-ron nhân tạo [21] Mỗi node trong mạng gọi là một nơ-ron. Mỗi nơ-ron nhận các dữ liệu đầu vào xử lý chúng và trả ra một kết quả duy nhất. Kết quả đầu ra của nơ- ron này có thể làm dữ liệu đầu vào của các nơ-ron khác.3 [21] mô tả quá trình xử lý của một nơ-ron trong ANN.

Trong đó input là dữ liệu đầu vào, output là kết quả đầu ra. Trọng số liên kết hay trọng số (connection weights hay gọi tắt là weights) là thành phần rất quan trọng, thể hiện mức độ quan trọng đối với quá trình xử lý dữ liệu từ lớp này sang lớp khác. Quá trình học của ANN thực ra là quá trình điều chỉnh trọng số của các dữ liệu đầu vào. 3: Quá trình xử lý của một nơ-ron trong ANN [21] Hàm tổng Σ tính tổng của tích trọng số và dữ liệu vào.

Hàm tính tổng một nơ-ron của k dữ liệu đầu vào của lớp thứ i 𝑎𝑖 = ∑ 𝑥𝑘 𝜔𝑖,𝑘 (2.1) Hàm kích hoạt hay hàm chuyển đổi 𝑓 tính toán đầu ra của một nơ-ron để chuyển đến lớp tiếp theo trong mạng nơ-ron. Hàm kích hoạt phi tuyến được sử dụng vì mạng chỉ sử dụng các hàm kích hoạt tuyến tính có thể lược giản thông qua các biến đổi đại số thành mô hình perceptron một lớp (là mô hình ANN đơn giản nhất, không có lớp ẩn). Một số hàm kích hoạt phi tuyến thường dùng là ReLU (Rectified Linear Unit), sigmoid, logistic, Gaussian, tanh, softmax. 4: Đồ thị các hàm kích hoạt: (a).

Hàm Sigmoid Kết quả xử lý đầu ra hàm tổng của nơ-ron đôi khi quá lớn, hàm kích hoạt thường dùng để xử lý đầu ra này trước khi chuyển đến lớp tiếp theo. Đôi khi thay vì sử dụng hàm kích hoạt, ta thường sử dụng giá trị ngưỡng để 9 kiểm soát đầu ra của nơ-ron. Nếu đầu ra của một nơ-ron nhỏ hơn ngưỡng thì sẽ không được chuyển đến lớp tiếp theo. Một số dạng mạng nơ-ron nhân tạo: Mạng liên kết đầy đủ (fully connected-FC): nếu mọi đầu ra của một lớp liên kết với mọi nơ-ron của lớp tiếp theo.

Mạng lan truyền thẳng (feedforward network): nếu không tồn tại liên kết giữa các nơ-ron thuộc cùng một lớp. Mạng phản hồi (feedback network): nếu tồn tại đầu ra của một nơ-ron liên kết ngược lại làm đầu vào của một nơ-ron cùng lớp. Mạng hồi quy (recurrent network): nếu các mạng phản hồi có các vòng lặp kín. Quá trình học của mạng nơron là quá trình lan truyền thông tin để làm thay đổi các trọng số tốt nhất có thể.

Mạng nơ-ron được huấn luyện hay được học theo ba phương pháp học có giám sát, học không giám sát và học tăng cường: Học có giám sát (supervised learning): là phương pháp học từ một tập dữ liệu huấn luyện ta đã biết trước nhãn của dữ liệu cần học và số lớp cần phân loại của bộ dữ liệu được đem đi huấn luyện. Đây là phương pháp học phổ biến nhất trong các phương pháp học của mạng nơ-ron. Mục đích của phương pháp này là từ tập dữ liệu đã gán nhãn qua quá trình học tạo ra một hàm số thật tốt để khi có dữ liệu mới ta có thể tính hay dự đoán được nhãn tương ứng của dữ liệu đó [21]. Phương pháp học có giám sát chia ra thành hai loại chính là: - Phân loại (classification): Nếu nhãn của các dữ liệu đầu vào được chia thành một số hữu hạn nhóm.

Như các bài toán nhận dạng chữ số viết tay, dò tìm khuôn mặt người, … 10 - Hồi quy (regression): Nếu nhãn của các dữ liệu đầu vào không được chia thành các nhóm mà là một giá trị thực cụ thể. Ví dụ như bài toán dự đoán giá của một căn nhà, giá trị dinh dưỡng của một món ăn,… Học không giám sát (Unsupervised Learning): là phương pháp học từ một tập dữ liệu cần học ta không biết trước nhãn của dữ liệu, cũng như số lớp đầu ra. Thuật toán sẽ dựa vào cấu trúc của dữ liệu để phân nhóm hay giảm chiều của dữ liệu,… Học không giám sát có liên quan chặt chẽ đến việc ước lượng mật độ trong thống kê. Cách học này không sử dụng tri thức từ bên ngoài trong quá trình học nên còn được gọi là tự tổ chức.

Mạng nơ-ron điển hình cho cách học này là Self – Organizing Map (SOM). Một số thuật toán học không giám sát khác như k-means, Hierarchical Agglomerative Clustering (HAC), Fuzzy Cognitive Map (FCM),….[21] Phần lớn ứng dụng học không giám sát vào các bài toán ước lượng như mô hình hóa thống kê, nén, lọc, phân nhóm,… Học tăng cường (Reinforcement Learning): là phương pháp học giúp cho một hệ thống tự động xác định hành động dựa trên hoàn cảnh để đạt lợi ích cao nhất. Học tăng cường bằng cách thử nghiệm dữ liệu để khám phá ra hành động nào là tốt nhất. Hành động đó không chỉ có lợi ích tốt cho bước hiện tại mà còn cho các bước tiếp theo.

Hai đặc điểm quan trọng để phân biệt học tăng cường là tìm kiếm thử - sai (trialand-error search) và bồi dưỡng chậm (delayed reward).[21] Môi trường học thường được biểu diễn dưới dạng quy trình quyết định markov (Markov Decision Process - MDP) trạng thái hữu hạn và các thuật toán học tăng cường liên quan đến các kỹ thuật quy hoạch động. Hiện tại, học tăng cường chủ yếu được áp dụng vào Lý thuyết trò chơi, thuật toán cần xác định hành động tiếp theo để đạt số điểm tốt nhất. Ví 11 dụ, AlphaGo của Google đánh cờ vây thắng con người, trong khi cờ vây có độ phức tạp cao xấp xỉ 10761. AlphaGo kết hợp cả học có giám sát và học tăng cường, Hình 2.

5: AlphaGo của Google1 Thuật toán lan truyền ngược Với thuật toán lan truyền ngược (Backpropagation Algorithm), giả sử L(W,b,X,Y) là một hàm lỗi của bài toán, trong đó W,b là tập hợp tất cả các ma trận trọng số giữa các lớp và hướng của mỗi lớp. X,Y là cặp dữ liệu huấn luyện, X là tập hợp các điểm dữ liệu, Y là nhãn của các điểm dữ liệu tương ứng trong X. Đầu ra dự đoán y ̂ của dữ liệu đầu vào x của mạng neural truyền thẳng đa lớp được tính như sau: 𝑎(0) = 𝑥 (2.com 12 Với 𝑙 = 1, … , 𝐿 là số thứ tự của lớp, a là kết quả của hàm kích hoạt tại mỗi node của một lớp. Bước này được gọi là truyền thẳng vì cách tính toán được thực hiện từ lớp đầu tiên đến lớp cuối của mạng nơ-ron.

Phương pháp phổ biến nhất để tối ưu mạng nơ-ron truyền thẳng đa lớp là trượt dốc. Để có thể áp dụng trượt dốc, ta cần tính được đạo hàm của hàm lỗi theo từng ma trận trọng số W(l) và vector hướng b(l) 𝜕𝐿 𝜕𝐿 ; (2.12) 𝑁 Với N là số cặp dữ liệu (X,Y) trong tập huấn luyện. Theo công thức (2.12) thì việc tính đạo hàm của hàm lỗi theo trọng số và hướng một cách trực tiếp là cực kỳ phức tạp, vì hàm lỗi không phụ thuộc trực tiếp vào các hệ số. Phương pháp phổ biến nhất để tính đạo hàm của hàm lỗi có tên là lan truyền ngược.

Lan truyền ngược giúp tính đạo hàm ngược từ lớp cuối cùng đến lớp đầu tiên. Lớp cuối cùng được tính trước vì nó gần hơn với đầu ra dự đoán và hàm lỗi. Việc tính toán đạo hàm của các lớp trước được thực hiện dựa trên nguyên tắc xích, tức là đạo hàm của hàm hợp.13) 𝜕𝑥 𝜕𝑦 𝜕𝑥 Với z = f(y) và y = g(x) 13 Với một cặp điểm dữ liệu huấn luyện (x,y) và hàm lỗi L chỉ xét cho cặp điểm này, ta có thể tính đạo hàm của hàm lỗi theo ma trận trọng số và hướng. Đạo hàm của hàm lỗi theo chỉ một thành phần của ma trận trọng số của lớp cuối cùng.6 mô phỏng cách tính lan truyền ngược, với đạo hàm theo hệ số ở các lớp 𝑙 thấp hơn, lớp cuối có thể là lớp đầu ra, 𝑑 (𝑙) là số node trong lớp ẩn thứ 𝑙.

6: Mô phỏng cách tính lan truyền ngược [1] 14 Dựa vào hình 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ