Ứng dụng học máy trong nhận diện biểu cảm của sinh viên đại học Thủ Dầu Một

Khám phá ứng dụng học máy trong việc nhận diện biểu cảm của sinh viên Đại học Thủ Dầu Một sau buổi học, nâng cao trải nghiệm học tập.

Chuyên ngành

Trí tuệ nhân tạo và khoa học dữ liệu

Người đăng

Ẩn danh

Thể loại

Báo cáo tổng kết đề tài nghiên cứu khoa học của sinh viên

2022

53
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về đề tài

Đề tài "Nhận diện biểu cảm sinh viên đại học Thủ Dầu Một bằng học máy" được thực hiện nhằm mục đích xây dựng một hệ thống nhận diện biểu cảm khuôn mặt của sinh viên sau buổi học. Hệ thống này không chỉ giúp giảng viên đánh giá tình hình học tập mà còn điều chỉnh phương pháp giảng dạy cho phù hợp. Việc ứng dụng học máy trong lĩnh vực này mang lại nhiều lợi ích, đặc biệt trong bối cảnh học trực tuyến hiện nay, nơi mà việc tương tác giữa giảng viên và sinh viên gặp nhiều khó khăn. Hệ thống sẽ sử dụng các thuật toán trí tuệ nhân tạo để phân tích và nhận diện các biểu cảm như hạnh phúc, buồn bã, tức giận, và ngạc nhiên.

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

Mục tiêu chính của nghiên cứu là phát triển một mô hình có khả năng nhận diện các biểu cảm khuôn mặt của sinh viên. Hệ thống sẽ thu thập hình ảnh từ webcam và sử dụng các thuật toán học sâu để phân tích. Kết quả sẽ được báo cáo cho giảng viên, giúp họ có cái nhìn rõ hơn về tâm lý của sinh viên trong quá trình học tập. Việc này không chỉ hỗ trợ giảng viên trong việc điều chỉnh phương pháp giảng dạy mà còn nâng cao sự chủ động của sinh viên trong việc học tập.

II. Tổng quan tình hình nghiên cứu

Nhận diện biểu cảm khuôn mặt đã trở thành một lĩnh vực nghiên cứu quan trọng trong khoa học hành vikhoa học lâm sàng. Nhiều nghiên cứu đã chỉ ra rằng việc nhận diện biểu cảm có thể cải thiện giao tiếp giữa con người và máy móc. Các phương pháp hiện tại bao gồm việc sử dụng mạng nơron tích chập (CNN)máy vectơ hỗ trợ (SVM) để phân loại các biểu cảm khác nhau. Tuy nhiên, vẫn còn nhiều thách thức trong việc phát triển một hệ thống nhận diện tự động chính xác và hiệu quả. Các nghiên cứu trước đây đã chỉ ra rằng việc kết hợp nhiều kỹ thuật có thể nâng cao độ chính xác của hệ thống nhận diện.

2.1. Các phương pháp nhận diện biểu cảm

Các phương pháp nhận diện biểu cảm hiện nay chủ yếu dựa vào việc phân tích các đặc điểm khuôn mặt. Một số nghiên cứu đã sử dụng thuật toán học sâu để phát hiện và phân loại các biểu cảm như vui vẻ, buồn bã, và tức giận. Việc áp dụng machine learning trong lĩnh vực này không chỉ giúp cải thiện độ chính xác mà còn giảm thiểu thời gian xử lý. Hệ thống nhận diện biểu cảm có thể được ứng dụng trong nhiều lĩnh vực khác nhau, từ giáo dục đến chăm sóc sức khỏe tâm lý.

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

Nghiên cứu này sử dụng phương pháp học máy để phát triển mô hình nhận diện biểu cảm. Dữ liệu được thu thập từ webcam của sinh viên trong các buổi học. Sau đó, dữ liệu này sẽ được xử lý và phân tích bằng các thuật toán học sâu như CNN. Mô hình sẽ được huấn luyện trên một tập dữ liệu lớn để cải thiện khả năng nhận diện. Việc sử dụng các thư viện như TensorFlowKeras sẽ giúp tối ưu hóa quá trình phát triển mô hình. Kết quả của mô hình sẽ được đánh giá dựa trên độ chính xác và khả năng nhận diện các biểu cảm khác nhau.

3.1. Quy trình thực hiện

Quy trình thực hiện nghiên cứu bao gồm các bước: thu thập dữ liệu, tiền xử lý dữ liệu, huấn luyện mô hình và đánh giá mô hình. Trong bước thu thập dữ liệu, hình ảnh khuôn mặt của sinh viên sẽ được ghi lại và lưu trữ. Tiếp theo, dữ liệu sẽ được tiền xử lý để loại bỏ các yếu tố không cần thiết. Sau đó, mô hình sẽ được huấn luyện với các thuật toán học máy để nhận diện các biểu cảm. Cuối cùng, mô hình sẽ được đánh giá để xác định độ chính xác và khả năng áp dụng trong thực tế.

IV. Kết quả và ứng dụng

Kết quả nghiên cứu cho thấy mô hình có khả năng nhận diện các biểu cảm cơ bản như hạnh phúc, buồn bã, và tức giận với độ chính xác cao. Hệ thống này không chỉ giúp giảng viên hiểu rõ hơn về tâm lý của sinh viên mà còn có thể được áp dụng trong nhiều lĩnh vực khác nhau như giáo dục, chăm sóc sức khỏe tâm lý và nghiên cứu hành vi. Việc ứng dụng học máy trong nhận diện biểu cảm mở ra nhiều cơ hội mới cho việc cải thiện giao tiếp giữa con người và máy móc.

4.1. Đóng góp của nghiên cứu

Nghiên cứu này đóng góp vào việc phát triển các phương pháp nhận diện biểu cảm khuôn mặt trong môi trường học tập. Hệ thống không chỉ giúp giảng viên điều chỉnh phương pháp giảng dạy mà còn nâng cao sự tương tác giữa sinh viên và giảng viên. Ngoài ra, kết quả nghiên cứu cũng có thể được áp dụng trong các lĩnh vực khác như chăm sóc sức khỏe tâm lý, nơi mà việc hiểu rõ tâm lý của bệnh nhân là rất quan trọng.

01/02/2025

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

Chương 1. Cơ sở lí thuyết - Unsupervised learning(học không giám sát) là cho máy tính học trên dữ liệu mà không được gán nhãn, các thuật toán machine learning sẽ tìm ra sự tương quan dữ liệu, mô hình hóa dữ liệu hay chính là làm cho máy tính có kiến thức, hiểu về dữ liệu, từ đó chúng có thể phân loại các dữ liệu về sau thành các nhóm, lớp (clustering) giống nhau mà chúng đã được học hoặc giảm số chiều dữ liệu (dimension reduction). Deep learning Deep Learning là một nhánh của Machine Learning sử dụng mạng lưới thần kinh với nhiều lớp. Một mạng lưới thần kinh sâu phân tích dữ liệu với các biểu diễn đã học tương tự như cách một người nhìn vào một vấn đề của họ.

Và nó có tác dụng hỗ trợ cho máy tính tự huấn luyện chính nó để có thể thực hiện mọi tác vụ tương tự như con người. Điều này chính là giúp máy tính bắt chước con người cách học hỏi và suy nghĩ. Điển hình là thuật toán convolutional neural network(CNN). Cơ sở lí thuyết Hình 1.1: Deep learning(website) Một phương pháp tiếp cận thuật toán khác từ cộng đồng machine-learning, Artificial Neural Networks, được nhắc đến nhiều thập kỷ qua.

Neural Networks được lấy cảm hứng từ sự hiểu biết về sinh học của bộ não loài người – sự liên kết giữa các nơ-ron. Tuy nhiên, không giống như một bộ não sinh học nơi mà bất kỳ nơ-ron nào cũng có thể liên kết với các nơ-ron khác trong một khoảng cách vật lý nhất định, các mạng thần kinh nhân tạo này có các lớp rời rạc, các kết nối, và các hướng truyền dữ liệu. Mỗi nơ-ron đảm nhiệm một chức năng – làm thế nào để biết chính xác liệu rằng nó có liên quan đến nhiệm vụ đang được thực hiện. Vì vậy, suy nghĩ về điểm dừng là một dấu hiệu.

Các thuộc tính của một hình ảnh dấu hiệu “dừng” được cắt nhỏ và được “kiểm tra” bởi các nơ-ron – dạng hình trụ, màu đỏ của các động cơ cháy, các chữ cái đặc trưng, kích thước biển báo giao thông, và sự chuyển động hoặc sự thiếu hụt của nó. Nhiệm vụ của mạng thần kinh là để kết luận liệu đây có phải là dấu hiệu dừng hay không. Nó đi kèm với một “vector xác suất”. Trong ví dụ của chúng ta, hệ thống có thể xác định chắc chắn đến 86% một dấu hiệu dừng, 7% rằng đó là một dấu hiệu giới hạn tốc độ, và 5% còn lại là một con diều bị mắc kẹt trong cây,( hoặc cái gì đó tương tự) vv … và kiến trúc mạng sau đó sẽ thông báo đến mạng nơron cho dù đó là đúng hay sai.

Cơ sở lí thuyết Ngày nay, khả năng nhận dạng hình ảnh của máy móc được luyện tập thông qua deep learning trong một số tình huống tốt hơn so với con người. AlphaGo của Google đã được huấn luyện chơi cờ vay – nó điều chỉnh mạng lưới thần kinh của mình bằng cách tự mình chống lại chính mình. Training set Tập huấn luyện (training set) là tập dữ liệu được sử dụng để huấn luyện mô hình. Các thuật toán học máy sẽ học các mô hình từ tập huấn luyện này.

Việc học sẽ khác nhau tùy thuộc vào thuật toán và mô hình sử dụng. Ví dụ, khi sử dụng môt hình Hồi quy tuyến tính (Linear Regression), các điểm trong tập huấn luyện được sử dụng để tìm ra hàm số hay đường phù hợp nhất mô tả quan hệ giữa đầu vào và đầu ra của tập dữ liệu huấn luyện bằng cách sử dụng một số phương pháp tối ưu hóa như công thức nghiệm ở bài trước hoặc các thuật toán tối ưu gần đúng như gradient descent hay stochastic gradient descent. Trong thuật toán K-Nearest Neighbors (K-Hàng xóm gần nhất), các điểm trong tập huấn luyện là những điểm có thể là hàng xóm của nhau (gần nhau) được học theo các phương pháp tham lam. Trong thực tế, tập dữ liệu huấn luyện thường bao gồm các cặp vectơ đầu vào và vectơ đầu ra tương ứng, trong đó vector đầu ra thường được gọi là nhãn (label hoặc target).

Các thuật toán nói chung sẽ tìm cách tối ưu sai số dự đoán trên tập huấn luyện này đến mức đủ tốt. Trong trường hợp overfitting sai số dự đoán của mô hình trên tập huấn luyện có thể rất thấp, thậm chí = 0%. Validation Việc sử dụng testing set giúp chúng ta đánh giá được hiệu quả của mô hình xây dựng cuối cùng. Tuy nhiên, nếu kết quả đánh giá tệ thì sao? Rõ ràng chúng ta lại phải cố gắng điều chỉnh để đưa ra các mô hình tốt hơn.

Tức là testing set đang có vẻ ảnh hưởng đôi chút đến việc huấn luyện mô hình. Điều này theo một mặt nào đó là có vẻ không công bằng. Chúng ta đang cố gắng dự đoán những điều chưa biết, chuẩn bị cho các tính huống xấu nhất cơ mà!!! Chứ không phải là đưa lại tình huống đã xảy ra đã biết để hiệu chỉnh lại mô hình. Chính vì lí do đó, một tập dữ liệu khác sẽ được sử dụng để đóng vai trò đưa ra các phản hồi nhằm hiệu chỉnh các mô hinh sau quá trình huấn luyện.

Tập dữ liệu này gọi là tập dữ liệu kiểm chứng (validation set). Thực ra, đây mới nên dịch là tập kiểm thử còn testing set phải là tập kiểm định. Anh chạy thử xe, thử thuốc các kiểu rồi thì mới được đưa ra cấp chứng nhận kiểm định (bài test cuối cùng) trước khi đưa ra sử dụng. Tuy nhiên, các thuật ngữ đã được đưa khá nhiều trong các tài liệu khác tiếng Việt, do đó, ở đây chúng ta không tìm cách sửa lại nó nữa.

Chúng ta chỉ 10 Chương 1. Cơ sở lí thuyết cần nắm được rằng, tập validation là tập cho phép lựa chọn mô hình huấn luyện cho phù hợp, còn testing set là tập đánh giá lại mô hình lần cuối cùng. Điều này, cũng giống như các bạn học trên lớp, có các bài kiểm tra miệng, bài tập, kiểm tra giữa kỳ để đánh giá mức độ học của bạn, từ đó biết mình yếu phần nào, cần bổ sung phần nào để chuẩn bị cho bài thi cuối cùng vậy. Và cũng do đó, nên các đoạn phía sau này, chúng ta sẽ tạm dùng từ tiếng anh (Validation set và testing set) để giữ được nghĩa vốn có này.

Tập dữ liệu kiểm chứng (validation set) cung cấp các đánh giá công bằng về sự phù hợp của mô hình trên tập dữ liệu huấn luyện trong quá trình huấn luyện. Validation set có chức năng như một sự kết hợp: nó vừa là dữ liệu huấn luyện được sử dụng để thử nghiệm, nhưng không phải là một phần của quá trình huấn luyện cấp thấp cũng không phải là một phần của thử nghiệm cuối cùng. Nó là một bước chung gian cho phép lựa chọn mô hình phù hợp. Validation set có tác dụng giúp tìm kiếm mô hình tốt nhất trong các ứng viên được huấn luyện từ training set.

Nó được sử dụng để so sánh hiệu suất của các mô hình ứng viên này và quyết định cái nào sẽ là mô hình tốt nhất cuối cùng bằng cách so sánh các độ đo hiệu suất như độ chính xác, độ nhạy cảm, độ hồi tưởng, RMSE, MSE, … đạt được trên nó. Nó giúp cho quá trình điều chỉnh các siêu tham số của mô hình chẳng hạn số lượng đơn vị ẩn (lớp và chiều rộng lớp) trong mạng nơron để đạt được mô hình phù hợp. Validation set cũng giúp phát hiện và dừng sớm (early stopping) quá trình huấn luyện mô hình khi lỗi trên validation set tăng lên đột biến, vì đây là dấu hiệu của mô hình overfitting. Kỹ thuật early stopping là một kỹ thuật được sử dụng khá phổ biến để tránh việc overfitting.

Mặc dù nhìn có vẻ khá đơn giản, nhưng việc thực hiện nó trên thực tế lại khá phức tạp. Sỡ dĩ như vậy là do lỗi dự đoán trên validation set có thể dao động trong quá trình huấn luyện, tạo ra nhiều cực tiểu địa phương. Sự phức tạp này đã dẫn đến việc có rất nhiều các quy tắc đặc biệt được xây dựng và đề xuất để xác định chính xác thời điểm overfitting thực sự bắt đầu dựa trên lỗi dự đoán trên tập validation set. Cơ sở lí thuyết Hình 1.1: Validation Như trên hình vẽ trên, ta thấy chúng ta có thể dừng việc huấn luyện tại vị trí có sự thay đổi rõ rệt sai số trong tập validation set.

Đây là thời điểm xảy ra overfitting. Testing set Mục tiêu của machine learning là tạo ra những mô hình có khả năng tổng quát hóa để dự đoán tốt trên cả dữ liệu chưa thấy bao giờ (nằm ngoài tập huấn luyện), do đó, để biết một thuật toán hay mô hình có tốt hay không thì sau khi được huấn luyện, mô hình cần được đánh giá hiệu quả thông qua bộ dữ liệu kiểm thử (testing set). Bộ dữ liệu này được sử dụng để tính độ chính xác hoặc sai số của mô hình dự đoán đã được huấn luyện. Chúng ta biết nhãn thực của mọi điểm trong tập hợp dữ liệu kiểm thử này, nhưng chúng ta sẽ tạm thời giả vờ như không biết và đưa các giá trị đầu vào của tập vào mô hình dự đoán để nhận kết quả dự đoán đầu ra.

Sau đó chúng ta có thể nhìn vào các nhãn thực và so sánh nó với kết quả dự đoán của các đầu vào tương ứng này và xem liệu mô hình có dự đoán đúng hay không. Việc tính tổng trung bình của toàn bộ các lỗi này chúng ta có thể tính toán được lỗi dự đoán trên tập kiểm thử. Các lỗi dự đoán này được đánh giá thông qua rất nhiều chỉ số khác nhau như độ chính xác (precision), độ hồi tưởng (recall), F1-Score, RMSE, MAE,…Các chỉ số này sẽ được trình bày chi tiết hơn trong bài tiếp theo. Một lưu ý là các chỉ số đo mức độ hiệu quả của mô hình này trên tập kiểm thử có thể khác với các lossfunction hay objective function sử dụng để tối ưu hóa mô hình trên tập huấn luyện.

Nghĩa là quá trình kiểm thử và quá trình huấn luyện là hoàn toàn độc lập với nhau, cả về bộ dữ liệu lẫn cách thức so sánh chỉ số. Tập dữ liệu kiểm thử tốt là một tập dữ liệu độc lập với tập dữ liệu huấn luyện (để ngoài và không được tham gia vào quá trình huấn luyện), nhưng tuân theo cùng một 12 Chương 1. Cơ sở lí thuyết phân phối xác suất như tập dữ liệu huấn luyện. Điều này giúp cho việc đánh giá không bị thiên vị.

Nếu một mô hình phù hợp với trainining set nhưng lại sai khác trên testing set, thì việc rất có khả năng nó bị overfitting (xem hình bên dưới). Ngược lại, sai số không quá nhiều thì thường chúng là một mô hình phù hợp.

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

Bài viết "Nhận diện biểu cảm sinh viên đại học Thủ Dầu Một bằng học máy" khám phá cách mà công nghệ học máy có thể được áp dụng để nhận diện và phân tích biểu cảm của sinh viên. Tác giả trình bày các phương pháp và thuật toán được sử dụng trong nghiên cứu, đồng thời nhấn mạnh tầm quan trọng của việc hiểu biết về cảm xúc trong môi trường học tập. Bài viết không chỉ cung cấp cái nhìn sâu sắc về ứng dụng của học máy trong lĩnh vực giáo dục mà còn mở ra cơ hội cho các nghiên cứu tiếp theo trong việc cải thiện trải nghiệm học tập của sinh viên.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng của học máy trong các lĩnh vực khác, hãy tham khảo bài viết "Hcmute ứng dụng giải thuật fastica trong tách nguồn mù và trích đặc trưng", nơi bạn sẽ thấy cách mà các thuật toán có thể được áp dụng để xử lý tín hiệu. Ngoài ra, bài viết "Luận văn thạc sĩ khoa học máy tính sử dụng contextual valence shifters để phân loại cảm xúc cho các văn bản đơn giản trong một lĩnh vực" sẽ giúp bạn hiểu rõ hơn về việc phân loại cảm xúc trong văn bản, một khía cạnh quan trọng trong việc phát triển các ứng dụng học máy. Cuối cùng, bạn có thể khám phá thêm về "Tiểu luận đồ án tốt nghiệp đại học đề tài thiết kế neural network trên fpga để nhận dạng chữ số viết tay", nơi mà công nghệ mạng nơron được áp dụng để nhận diện chữ viết tay, mở rộng hiểu biết của bạn về các ứng dụng thực tiễn của học máy.