Dự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâuDự đoán tuổi và giới tính bằng phương pháp học sâu
Trang 1TP HỒ CHÍ MINH - NĂM 2023
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS TS Lê Hoàng Thái
Phản biện 1: ……… Phản biện 2: ………
Đề án sẽ được bảo vệ trước Hội đồng chấm đề án thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu đề án tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Sự phát triển kinh tế - xã hội phụ thuộc vào nhiều yếu
tố khác nhau, nhưng tập trung chủ yếu vào nguồn nhân lực Dù
có máy móc, thiết bị, nhưng chúng trở nên vô dụng nếu thiếu
sự can thiệp của con người Nguồn nhân lực đóng vai trò trung tâm và quan trọng nhất trong phát triển kinh tế - xã hội của đất nước, đặc biệt trong giai đoạn đẩy mạnh công nghiệp hóa, hiện đại hóa và hội nhập kinh tế quốc tế
Tuyển dụng tốt sẽ tạo đội ngũ nhân lực phù hợp với công việc và vị trí, từ đó nâng cao hiệu quả công việc và chất lượng nguồn nhân lực của doanh nghiệp.Đồng thời giúp tiết kiệm được chi phí đào tạo nhân lực, tránh tình trạng ứng viên khai gian dối độ tuổi lao động gây ra vi phạm luật lao động hiện hành dẫn tới phải liên tục tuyển dụng nhân sự mới, doanh nghiệp lại phải tốn chi phí và thời gian để tuyển dụng lại nhân
sự mới
Bằng cách áp dụng các kỹ thuật của trí tuệ nhân tạo kết hợp với mạng CNN đề án đã áp dụng các giải pháp này để hướng đến xây dựng hệ thống hỗ trợ công tác tuyển dụng thông qua dự đoán độ tuổi và giới tính từ đó đưa ra nhận định ứng viên có phù hợp theo độ tuổi lao động hiện hành giúp nhà tuyển dụng tránh được sự khai man của các ứng viên Kết quả của quá trình này đó là đề án đã xây dựng được một ứng dụng
hỗ trợ công tác tuyển dụng Kết quả trả về bao gồm kết quả chính xác và các kết quả liên quan Ứng dụng đã được cài đặt, thử nghiệm tại phòng nhân sự VNPT Tây Ninh giúp cho quá trình tuyển dụng trở nên hiệu quả hơn
Kết quả của đề án được trình bày trong các phần như
mở bài, mục lục, kết luận và kiến nghị, danh mục hình vẽ, danh mục bảng biểu, tài liệu tham khảo, phụ lục, và phần chính của
đề án bao gồm 4 chương như sau:
Trang 4Chương 1: Đề án giới thiệu các thông tin về nghiên cứu
liên quan, phân tích và đánh giá thực trạng, trình bày mục tiêu
và giới hạn của đề án, cung cấp ý nghĩa lý luận và thực tiễn, trình bày phương pháp nghiên cứu, hướng tiếp cận giải quyết vấn đề, và mô tả nội dung thực hiện của đề án
Chương 2: Trình bày cơ sở lý thuyết liên quan đến vấn
đề học sâu và thị giác máy tính, bao gồm các lý thuyết về mô hình mạng nơ ron tích chập (CNN) cùng với các phương pháp xây dựng mô hình dữ liệu
Chương 3: Trình bày tổng quan về bài toán dự đoán độ
tuổi và giới tính bằng phương pháp học sâu Giới thiệu về hệ thống và một số phương pháp tiếp cận
Chương 4: Cài đặt thử nghiệm và đánh giá Thực hiện
mô hình mạng nơ ron tích chập CNN, xây dựng ứng dụng hỗ trợ tuyển dụng Tiến hành thực nghiệm, so sánh và đánh giá kết quả
Trang 5CHƯƠNG 1 TỔNG QUAN 1.1 Lý do chọn đề án
Quản lý nhân sự được coi là lĩnh vực quan trọng nhất đối với mọi doanh nghiệp Một trong những nhiệm vụ quan trọng của nhà quản lý nhân sự là tuyển dụng và chọn lọc ứng viên phù hợp Để tăng tính hiệu quả của quá trình này, nhà quản lý cần đưa ra quyết định đúng đắn và nhanh chóng dựa trên thông tin chính xác về ứng viên
Trong quá khứ, đã có nhiều nghiên cứu và giải pháp được
đề xuất cho việc dự đoán tuổi và giới tính Thường sử dụng phương pháp truyền thống, yêu cầu trích xuất đặc trưng thủ công và sau đó áp dụng bài toán phân loại
Tuy nhiên, với sự phát triển của mạng học sâu, việc dự đoán tuổi và giới tính đã đạt được kết quả ấn tượng trong các bài toán tiêu biểu và có thể thực hiện end-to-end mà không cần trích xuất đặc trưng thủ công Mô hình CNN đã được Alex và nhóm nghiên cứu của họ đề xuất và đạt thành công đáng kinh ngạc khi giành chiến thắng trong cuộc thi ImageNet năm 2012
Dựa trên thực tế này, tôi đã tiến hành một nghiên cứu
để ứng dụng phương pháp học sâu trong dự đoán tuổi và giới tính Nghiên cứu tập trung vào xây dựng một mô hình dự đoán tuổi và giới tính từ hình ảnh trong CV của ứng viên từ đó hệ thống phân tích và dự đoán một cách nhanh chóng và chính xác
để đáp ứng các nhu cầu hiện hữu thông qua phương pháp “dự đoán tuổi và giới tính bằng phương pháp học sâu” đó là lý
do tôi chọn thực hiện đề án này
Trang 61.2 Tổng quan vấn đề nghiên cứu
Tổng quan
Mục tiêu của nghiên cứu này là xây dựng một mô hình học sâu để dự đoán tuổi và giới tính của ứng viên trong quá trình tuyển dụng Bằng cách sử dụng các thuật toán học sâu như mạng nơ ron tích chập (CNN) nghiên cứu này mong muốn đem lại kết quả chính xác và đáng tin cậy
Các công trình nghiên cứu liên quan
- “Phân loại ImageNet bằng mạng nơ ron tích chập sâu” Alex Krizhevsky, Ilya Sutskever và Geoffrey Hinton
- “Học một mạng tích chập sâu nhẹ cho nhận dạng đồng thời tuổi và giới tính” Linnan Zhu cùng các cộng sự
1.3 Mục tiêu nghiên cứu
Mục tiêu tổng quát
Nghiên cứu này sử dụng mạng nơ ron tích chập CNN
để dự đoán tuổi và giới tính Mục tiêu là phát triển một ứng dụng hỗ trợ tuyển dụng cho nhà tuyển dụng Hệ thống này cung cấp các chức năng như xác định giới tính và độ tuổi của ứng viên, và đưa ra dự đoán cho từng ứng viên Điều này giúp cải thiện quá trình tuyển dụng, nhanh chóng và chính xác hơn
Mục tiêu cụ thể
Đề án tập trung nghiên cứu các lý thuyết cơ bản liên quan đến xử lý ảnh, nhận dạng và dự đoán, đặc biệt là xác định tuổi và giới tính từ khuôn mặt trong ảnh Nghiên cứu gồm:
- Tổng quan về phương pháp học sâu và ứng dụng của
nó trong dự đoán tuổi và giới tính
- Xây dựng mô hình học sâu dự đoán tuổi và giới tính
- Đánh giá hiệu quả mô hình CNN trong tuyển dụng
Trang 71.4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
- Các phương pháp và các kỹ thuật thị giác máy tính
- Các phương pháp xử lý hình ảnh
- Các phương pháp nhận dạng tuổi và giới tính
- Phân tích thiết kế và xây dựng chức năng của ứng dụng của hệ thống hỗ trợ tuyển dụng
Phạm vi nghiên cứu
- Mô hình kiến trúc mạng nơ ron tích chập (CNN)
- Phương pháp nhận dạng giới tính (nam và nữ)
- Để nhận dạng giới tính thông qua bức ảnh, có thể sử dụng các đặc trưng sau đây để đạt được hiệu suất tốt hơn như sau: kích thước khuôn mặt, đặc trưng khuôn mặt, các đặc điểm hình học, kiểu tóc, chi tiết vùng mắt
- Phương pháp xác định đối tượng trong 3 nhóm độ tuổi được chia cố định (0-15, 16-45, 46-100)
- Có thể sử dụng các đặc trưng sau đây để đạt được hiệu suất tốt hơn đối với nhận dạng độ tuổi như sau: nếp nhăn và đặc điểm khuôn mặt, sắc tố da và tóc, nám và tàn nhang, kiểu tóc và màu tóc, biểu cảm khuôn mặt, kích thước mắt, miệng
1.5 Phương pháp nghiên cứu
Đề án kết hợp việc sử dụng phương pháp nghiên cứu lý thuyết và xây dựng ứng dụng thực nghiệm
- Nghiên cứu lý
- Nghiên cứu thực nghiệm
1.6 Ý nghĩa khoa học và thực tiễn của đề án
Ý nghĩa khoa học
Trang 8Áp dụng công nghệ mới trong lĩnh vực tuyển dụng nhân
sự Phát triển ứng dụng để góp phần từng bước phổ biến và làm phát triển công nghệ này
Ý nghĩa thực tiễn
Áp dụng các kỹ thuật xử lý ảnh và sử dụng mô hình mạng nơ ron tích chập, ứng dụng này đóng góp quan trọng cho việc nghiên cứu, tìm hiểu, sử dụng và khai thác tài liệu liên quan đến đề án Đồng thời, nó cũng hỗ trợ quá trình tuyển dụng nhân sự một cách nhanh chóng, hiệu quả và chính xác
Trang 9CHƯƠNG 2 SỞ LÝ THUYẾT 2.1 Giới thiệu về học sâu và thị giác máy tính
đề phức tạp
Hình 2.1: Mô hình học sâu 2.1.1.1 Các thành phần của mô hình học sâu
Một mạng nơ ron chuyên sâu có các thành phần sau
- Lớp đầu vào (Input Layer)
- Lớp ẩn (Hidden Layer)
- Lớp đầu ra (Output Layer)
2.1.1.2 So với máy học, mô hình học sâu mang lại những
lợi ích sau
- Xử lý hiệu quả dữ liệu phi cấu trúc
- Khám phá những mối quan hệ và mẫu ẩn
- Học không giám sát
Trang 10- Xử lý dữ liệu dễ biến động
2.1.1 Thị giác máy tính
Thị giác máy tính là khả năng của máy tính trích xuất thông tin từ hình ảnh và video Học sâu được áp dụng để giúp máy tính hiểu và phân tích hình ảnh như con người, dựa trên các đặc trưng và đưa ra dự đoán Thị giác máy tính đã được ứng dụng rộng rãi trong nhiều lĩnh vực như nhận dạng khuôn mặt, phân loại hình ảnh và kiểm duyệt nội dung Mạng nơ-ron tích chập CNN là một kiến trúc phổ biến trong thị giác máy tính, bao gồm nhiều kiến trúc như AlexNet, VGGNet, và GoogleNet
2.2 Kiến trúc mạng nơ ron tích chập
2.2.1 Tổng quan về kiến trúc mạng tích chập
Mạng nơ ron tích chập (CNN) là một mô hình học sâu tiên tiến và hiệu quả trong xử lý dữ liệu hình ảnh, góp phần quan trọng vào xây dựng các hệ thống thông minh chính xác CNN được sử dụng phổ biến trong xử lý ảnh vì nó có khả năng ghi lại sự phụ thuộc không gian của hình ảnh, duy trì thông tin
về sự tương quan giữa các pixel liền kề và áp dụng bộ lọc để tham chiếu mức độ liên quan của các phần hình ảnh với toàn
bộ Trong hình ảnh, mỗi pixel được biểu diễn bằng một giá trị trong khoảng từ 0 đến 255, thể hiện cường độ màu sắc Hình ảnh màu được biểu diễn bằng hệ thống RGB với ba kênh màu (đỏ, xanh lá cây, xanh lam)
Trang 11Hình 2.2: Hình ảnh tỷ lệ xám chỉ có một kênh
2.2.2 Tổng quan về kiến trúc mạng tích chập
Hình 2.3: Mạng Alexnet, kiến trúc điển hình của CNN
Mạng AlexNet, một dạng mạng nơ ron tích chập, sử dụng phương pháp tích chập để trích xuất đặc trưng từ dữ liệu Kiến trúc phân tầng của mạng CNN cho phép học các đặc trưng từ cấp độ thấp đến cao Mạng AlexNet được huấn luyện trên các bộ dữ liệu lớn, tạo ra mạng nhẹ và tăng tốc độ dự đoán Mạng CNN cũng có độ sâu tăng dần, cho phép học được đặc trưng đa dạng Trong quá trình phân loại, đặc trưng hai chiều tạo ra bởi quá trình tích chập được chuyển thành đặc trưng một chiều thông qua phương pháp flatten và được truyền qua các layers kết nối đầy đủ với hàm kích hoạt phi tuyến
2.2.3 Các mạng CNN tiêu biểu
Mộ số mạng tiêu biểu bao gồm: LeNet-5 (1998), AlexNet (2012), VGG-16 (2014), GoogleNet - Inception-V1 (2014), GoogleNet - Inception-V3 (2015)
Trang 12CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 Hướng tiếp cận
Mô hình sẽ tập huấn trên dữ liệu gồm rất nhiều gương mặt cùng với nhãn là giới tính cho mạng dự đoán giới tính, nhãn là tuổi cho dự đoán tuổi
Sau khi huấn luyện được hoàn thành 2 mô hình trên thì
sẽ tiến hành dự đoán trên dữ liệu thực tế, một tấm ảnh hoàn chỉnh gồm khuôn mặt người, độ tuổi khác nhau
Xây dựng hệ thống dựa trên kết quả của mạng nơ ron tích chập trên vào hỗ trợ công tác tuyển dụng nhân sự
3.2 Dữ liệu huấn luyện
3.2.1 Giới thiệu về tập dữ liệu
Tên tập dữ liệu công khai: Adience Dataset
Bộ dữ liệu Adience được phát triển bởi một nhóm các nhà khoa học máy tính tại Đại học Texas tại Austin và Đại học của Torino Họ đã thu thập dữ liệu từ nhiều nguồn khác nhau, bao gồm các hình ảnh chụp trong môi trường tự nhiên và trong phòng thí nghiệm
Hình 3.1: Hình ảnh trong tập dữ liệu Adience
Trang 133.2.1 Các bước xây dựng từ tập dữ liệu Adience Dataset
_Download ảnh: aligned.tar.gz
Thông tin hình ảnh:
- user_id (Định danh sẽ thuộc về thư mục nào)
- original_image (Tên file ảnh)
- face_id (Kiểu khuôn mặt)
3.3.1 Loại bỏ đặc trưng không cần thiết
Để đạt được kết quả tốt trong quá trình huấn luyện mô hình, cần tiến hành phân biệt và loại bỏ các trường dữ liệu không cần thiết trong bộ dữ liệu được sử dụng cho bài toán dự đoán tuổi và giới tính Dựa trên yêu cầu thực tế của bài toán, tôi đã thực hiện loại bỏ các trường như biểu cảm (Expressions)
và tư thế (Pose) không có ý nghĩa quan trọng trong việc dự đoán này
3.3.2 Chỉnh kích thước ảnh sang kích thước phù hợp
Bởi vì các ảnh trong Adience Dataset có kích thước tương đối lớn (816x816x3) vì thế để scale về kích thước mà mô hình cần có để huấn luyện có thể sử dụng
Trang 143.4 Mô hình được sử dụng
3.4.1 Tổng quan mô hình
Để đạt được hiệu quả cao trong việc xây dựng mô hình,
có những yếu tố quan trọng cần được xem xét Đầu tiên, cấu trúc mạng nơ ron và thuật toán được sử dụng đóng vai trò quan trọng Ngoài ra, việc xác định các biến dữ liệu phù hợp và điều chỉnh tham số mô hình dựa trên bộ dữ liệu huấn luyện cũng là yếu tố quan trọng khác
Tôi sẽ sử dụng mạng CNN để dự đoán độ tuổi và giới tính từ hình ảnh Bộ dữ liệu sử dụng đã được giới thiệu trong phần trước và sẽ được sử dụng để huấn luyện mô hình
Cấu trúc mô hình mạng nơ ron tích chập được áp dụng trong bài toán dựa trên mô hình AlexNet Mô hình này bao gồm tổng cộng 8 lớp tích chập (Convolution) Chi tiết cấu trúc của mô hình bao gồm 5 lớp tích chập (convolutional layer), 2 lớp hoàn toàn kết nối (fully connected layer) và 1 lớp hoàn toàn kết nối đầu ra (fully connected layer output) Bên cạnh đó, thay
vì sử dụng activation function(hàm kích hoạt) là ReLU, thì trong mạng AlexNet sử dụng hàm Sigmoid
Hình 3.2: Mạng Alexnet
Trang 153.4.2 Định nghĩa
Đầu tiên, thực hiện import các thư viện cần thiết cho bài toán, bao gồm: OS, Tensorflow, Numpy ,Keras, Sklearn, Cv2, Glob, H5py, Pandas, Livelossplot, flask
3.4.3.Chuẩn bị dữ liệu tập huấn
Với bộ dữ liệu Adience Dataset đã có thì vẫn chưa thể đưa vào model train được, đầu vào yêu cầu luôn luôn là 1 bức ảnh với nhãn của bức ảnh đó
3.4.4 Kiến trúc
Dựa trên kiến trúc Alexnet, đầu vào của mạng là một bức ảnh RGB có kích thước 256x256 pixel, kể cả toàn bộ các bức ảnh của tập train và tập test đều có kích thước 256x256 pixel - nghĩa là những ảnh nào không đủ kích thước hoặc dư thừa resize bỏ phần dư thừa, đưa về đúng chuẩn
Hình 3.3: Mô hình gồm 5 block
3.4.5 Huấn luyện mô hình
3.4.5.1 Khởi tạo mô hình
- Đầu vào sẽ là 1 ảnh 3 kênh màu kích thước 256x256
- Thuật toán optimizer Adam với hệ số học là 0.001
- Hàm loss được sử dụng với mô hình như sau: dự đoán
độ tuổi là categorical_crossentropy, và sự đoán giới tính là binary_crossentropy
Sau khi đã khai báo và thêm tất cả các tầng vào mô hình, có thể xem tổng quan về cấu trúc của mạng và số lượng
Trang 16Sau đó sử dụng ImageToArrayPreprocessor để chuyển đổi hình ảnh sang định dạng ma trận
Class ImageDataSetGenerator trên dùng để: phân chia dataset thành tập dữ liệu train và tập dữ liệu test theo tỉ lệ đã được thiết lập, chuyển đổi label ground truth thành one hot vector và ghi vào file ánh xạ, lấy dữ liệu theo batch size và tiến hành các tác vụ tiền xử lý được truyền vào
3.4.5.3 Các bước tiến hành huấn luyện mô hình
- Sử dụng hàm ImageDataGenerator trong thư viện keras.preprocessing.image để tăng hiệu quả cho quá trình học
- Sử dụng class SimplePreprocess để scale ảnh về kích thước 256x256
- Sử dụng class ImageToArrayPreprocessor để chuyển ảnh về ma trận
- Sử dụng class ImageDatasetGenerator để lấy được tập
dữ liệu huấn luyện và đánh giá đã qua xử lý các bước tiền xử lý nêu trên
- Tiếp tục sử dụng hàm ModelCheckpoint trong thư viện keras.callbacks để lưu lại được các trọng số có giá trị loss thấp nhất trong quá trình huấn luyện