



















Preview text:
  lOMoAR cPSD| 59031616
 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG     
BÁO CÁO: BÀI TẬP LỚN 
HỌC PHẦN: PHÁT TRIỂN CÁC HỆ THỐNG THÔNG MINH ĐỀ TÀI: 
NHẬN DẠNG ĐỘ TUỔI SỬ DỤNG MẠNG CNN      
Giảng viên hướng dẫn: Đỗ Trung Tuấn 
Nhóm môn học: 6 Nhóm BTL:  10  
Sinh viên thực hiện: 
Vũ Đình Thiết - B21DCCN689 
Nguyễn Anh Đức - B21DCCN244  Ngô Đăng Hán - B21DCCN324  Lê Trí Tâm - B21DCCN657  Lưu Minh Hiếu - B21DCCN358 
Hà Nội, tháng 10/2024      lOMoAR cPSD| 59031616
Tham gia % của các thành viên  Thành viên  Phần phụ trách  Tỷ lệ tham gia  Lưu Minh Hiếu 
Header, Mở đầu, Chương 1: Học máy, Học 20%  sâu 
Nguyễn Anh Đức Chương 2: Bài toán nhận diện, Giải pháp, Kết 20%  luận  Vũ Đình Thiết 
Chương 3: Dữ liệu (Phần 3.1: Bộ dữ liệu, Các 20%  thông số thống kê EDA)  Lê Trí Tâm 
Chương 3: Dữ liệu (Phần Visualization, Phân 20% 
tích dữ liệu, Kết luận)  Ngô Đăng Hán 
Chương 4: Thực nghiệm, Mô hình, Minh họa 20% 
(Jupyter Notebook), Kết luận          lOMoAR cPSD| 59031616 LỜI CẢM ƠN    
Đầu tiên, chúng em xin gửi lời cảm ơn sâu sắc đến Học viện nghệ Bưu chính 
Viễn thông và khoa CNTT1 đã đưa môn học Phát triển các hệ thống thông minh vào 
trong chương trình giảng dạy. Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giảng 
viên bộ môn Đỗ Trung Tuấn đã dạy dỗ, rèn luyện và truyền đạt những kiến thức quý 
báu cho chúng em trong suốt thời gian học tập vừa qua. 
Trong thời gian được tham dự lớp học của thầy, chúng em đã được tiếp thu thêm 
nhiều kiến thức bổ ích, học tập được tinh thần làm việc hiệu quả, nghiêm túc. Đây thực 
là những điều rất cần thiết cho quá trình học tập và công tác sau này của em. Thêm vào 
đó, nhờ sự dẫn dắt và chỉ bảo của thầy, chúng em đã thực hiện được một đề tài bài tập 
lớn hoàn chỉnh cho môn học này, chúng em rất biết ơn điều đó. 
Em xin chân thành cám ơn, chúc thầy luôn khỏe mạnh và tiếp tục đạt được nhiều 
thành công trong cuộc sống ạ!        lOMoAR cPSD| 59031616 MỤC LỤC 
Tham gia % của các thành viên....................................................................................  LỜI  CẢM 
ƠN..................................................................................................................... 
MỤC LỤC..................................................................................................................... 
DANH SÁCH CÁC HÌNH VẼ & TỪ VIẾT TẮT.............................................................  I-  Danh  sách  các  hình 
vẽ...............................................................................................  II-  Danh  sách  các  từ  viết 
tắt..............................................................................................  PHẦN  MỞ 
ĐẦU............................................................................................................... 
LÝ DO CHỌN ĐỀ TÀI..................................................................................... 
CHƯƠNG 1: GIỚI THIỆU VỀ HỌC MÁY - HỌC SÂU............................... 
I. HỌC MÁY (MACHINE LEARNING)......................................................... 
1. Khái niệm và Lịch sử Phát triển............................................................ 
1.1. Khái niệm Học Máy.............................................................................. 
1.2. Lịch sử Phát triển..................................................................................... 
2. Các phương pháp học máy................................................................................. 
2.1. Học có giám sát (Supervised Learning)................................................ 
2.2. Học không giám sát (Unsupervised Learning).......................................... 
2.3. Học bán giám sát, học tăng cường (Reinforcement  Learning)....................  2.4.  Phân  loại 
(Classification)............................................................................ 
2.4.1. Các Thuật Toán Phân Loại............................................................... 
2.4.2. Ứng dụng của Phân Loại.................................................................. 
2.5. Phân cụm (Clustering)........................................................................ 
2.5.1. Các Thuật Toán Phân Cụm.....................................................  2.5.2.  Ứng  dụng  của  Phân 
Cụm.................................................................... 
3. Ứng dụng của Học Máy.............................................................................. 
3.1. Trong Y tế......................................................................................  3.2.  Trong  Tài 
chính............................................................................................ 
3.3. Trong Công nghệ Giải trí................................................................. 
4. Thách thức của Học Máy............................................................................... 
4.1. Chất lượng Dữ liệu................................................................................. 
4.2. Tính giải thích của Mô hình..................................................................      lOMoAR cPSD| 59031616
II. HỌC SÂU (DEEP LEARNING)..................................................................... 
1. Khái niệm và Nguyên lý Cơ bản........................................................................ 
1.1. Khái niệm Học Sâu......................................................................... 
1.2. Nguyên lý Hoạt động của Mạng Nơ-ron Nhân Tạo................................ 
2. Các kiến trúc học sâu phổ biến...................................................................... 
2.1. Mạng Nơ-ron Tích Chập (Convolutional Neural Networks - CNN).......... 
2.2. Mạng Nơ-ron Hồi Quy (Recurrent Neural Networks - RNN)............. 
2.3. Mạng Transformer................................................................. 
3. Ứng dụng của Học Sâu............................................................................. 
3.1. Nhận diện Hình ảnh và Video............................................................ 
3.2. Xử lý Ngôn ngữ Tự nhiên (NLP)............................................................... 
3.3. Ô tô Tự Hành và Robot................................................................. 
4. Thách thức của Học Sâu.................................................................................... 
4.1. Tính Tốn Kém về Tài Nguyên.......................................................... 
4.2. Vấn đề Overfitting.................................................................................... 
III. KẾT LUẬN.......................................................................................... 
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT......................................................................... 
2.1 Bài Toán Nhận Diện Tuổi................................................................................ 
2.1.1 Giới thiệu về Nhận Diện Tuổi............................................................  2.1.2  Các  Phương  Pháp  Nhận  Dạng  Tuổi  Truyền 
Thống......................................... 
2.1.2.1 Phương Pháp Dựa trên Các Đặc Trưng Thủ Công............................... 
2.1.2.2 Phương Pháp Dựa trên Các Phân Tích Hình Học và Thống Kê.......... 
2.1.2.3 Ưu Điểm và Hạn Chế của Các Phương Pháp Truyền Thống............ 
2.1.3 Nhận Dạng Tuổi bằng Mạng Nơ-ron Tích Chập (CNN)................................ 
2.1.3.1 Giới Thiệu về CNN.............................................................................. 
2.1.3.2 Ưu Điểm của CNN trong Nhận Dạng Tuổi........................................ 
2.1.4 Định Nghĩa Bài Toán Cụ Thể trong Dự Án......................................... 
2.1.4.1 Đầu Vào..........................................................................................  2.1.4.2  Đầu 
Ra.................................................................................................... 
2.1.4.3 Mục Tiêu.................................................................................... 
2.2 Giải Pháp: Thuật Toán và Phương Pháp..................................................................... 
2.2.1 Tổng Quan về Mạng Nơ-ron Tích Chập (CNN).................................... 
2.2.1.1 Kiến Trúc Cơ Bản của CNN................................................................ 
2.2.1.2 Cơ Chế Hoạt Động của CNN........................................................... 
2.2.2 Chuẩn Bị Dữ Liệu................................................................................      lOMoAR cPSD| 59031616 2.2.2.1  Thu  Thập  Dữ 
Liệu................................................................................. 
2.2.2.2 Tiền Xử Lý Dữ Liệu............................................................................. 
2.2.2.3 Phân Chia Dữ Liệu............................................................................... 
2.2.3 Thiết Kế Kiến Trúc CNN cho Bài Toán................................................. 
2.2.3.1 Lựa Chọn Kiến Trúc CNN Phù Hợp................................... 
2.2.3.2 Điều Chỉnh Các Siêu Tham Số (Hyperparameters)............................. 
2.2.3.3 Chiến Lược Regularization............................................ 
2.2.4 Huấn Luyện Mô Hình.................................................................. 
2.2.4.1 Quá Trình Huấn Luyện................................................................. 
2.2.4.2 Hàm Mất và Thuật Toán Tối Ưu.......................................................... 
2.2.4.3 Đánh Giá Hiệu Quả....................................................................... 
2.2.5 Triển Khai và Tinh Chỉnh Mô Hình............................................................. 
2.2.5.1 Fine-tuning...................................................................................... 
2.2.5.2 Kiểm Thử trên Dữ Liệu Thực Tế.............................................. 
2.2.6 Các Kỹ Thuật Nâng Cao.................................................................. 
2.2.6.1 Transfer Learning...................................................................  2.2.6.2  Data 
Augmentation................................................................................ 
2.2.6.3 Ensemble Methods................................................................... 
2.3 Kết Luận.......................................................................................................... 
CHƯƠNG 3: DỮ LIỆU................................................................................. 
3.1. Bộ dữ liệu.............................................................................................. 
3.1.1. Giới thiệu bộ dữ liệu............................................................................. 
3.1.2. Nguồn dữ liệu........................................................................................... 
3.1.3. Thông tin nhãn......................................................................................... 
3.1.4. Số lượng mẫu........................................................................................... 
3.1.5. Đặc điểm của dữ liệu............................................................................. 
3.2. EDA (Exploratory Data Analysis).................................................................... 
3.2.1. Các thông số thống kê...................................................................... 
3.2.1.1. Phân phối số lượng ảnh theo nhóm tuổi....................................... 
3.2.1.2. Phân tích độ sáng của ảnh....................................................... 
3.2.1.3. Phân tích độ tương phản của ảnh........................................... 
3.2.1.4. Phân tích kích thước ảnh...................................................................... 
3.2.2. Visualization (Trực quan hóa dữ liệu)............................................. 
3.2.2.1. Biểu đồ Histogram thể hiện số lượng ảnh trong mỗi khoảng tuổi:...... 
3.2.2.2. Biểu đồ Scatter thể hiện sự phân bố của kích thước ảnh trong từng 
khoảng tuổi:..................................................................................... 
3.2.2.3. Biểu đồ Histogram và Facet Grid thể hiện sự phân bố độ sáng của      lOMoAR cPSD| 59031616
ảnh cho từng khoảng tuổi:............................................................. 
3.4. File ảnh............................................................................................................  3.5  .Kết 
luận............................................................................................................................................
.... CHƯƠNG 4: THỰC NGHIỆM..................................................................... 
4.1. Mô hình................................................................................................................... 
4.1.1. Giới thiệu mô hình:.................................................................................... 
4.1.2. Mô hình EfficientNet hoạt động như thế nào............................... 
4.1.2.1. Cạnh và Đường viền (Edges and Boundaries):............................... 
4.1.2.2. Hình dạng và Mẫu (Shapes and Patterns):............................. 
4.1.2.3. Kết cấu (Textures):........................................................... 
4.1.2.4. Màu sắc và Sắc độ (Colors and Tones):............................. 
4.1.2.5. Vị trí không gian của các đặc trưng (Spatial Arrangement of 
Features): ................................. 
4.1.2.6. Ngữ cảnh của đối tượng (Context of Objects):............................. 
4.1.2.7. Kích thước và tỷ lệ của đối tượng (Object Size and Scale):............ 
4.1.2.8. Tương tác giữa các đặc trưng (Feature Interactions):.............. 
4.1.3. Ưu điểm của EfficientNet so với các mô hình khác................................... 
4.1.4. Lý do chọn EfficientNetB3......................................................................... 
4.1.5. Các yếu tố ảnh hưởng tới kết quả của mô hình............................................ 
4.1.5.1. Các thông số huấn luyện............................................................... 
4.1.5.2. Dữ liệu......................................................................... 
4.2. Minh họa( Code bằng Jupyter Notebook)............................................ 
4.3. Kết luận............................................................................... 
TÀI LIỆU THAM KHẢO................................................................................................                            lOMoAR cPSD| 59031616  
DANH SÁCH CÁC HÌNH VẼ & TỪ VIẾT TẮT I 
- Danh sách các hình vẽ  Hình ảnh  Mô tả  H1.1 
Sơ đồ hệ thống kiến trúc của ứng dụng  H2.2.1.1 
Hình ảnh thể hiện cấu trúc của mạng CNN  H3.2.2.1.1 
Biểu đồ Histogram thể hiện số lượng ảnh trong mỗi khoảng  tuổi  H3.2.2.2.1 
Biểu đồ Scatter thể hiện sự phân bố của kích thước ảnh trong  từng khoảng tuổi  H3.2.2.3.1 
Biểu đồ Histogram thể hiện sự phân bố độ sáng của dataset  H3.2.2.3.2 
Biểu đồ Facet Grid kết hợp các Histogram thể hiện sự phân bố 
độ sáng trong từng khoảng tuổi 
II- Danh sách các từ viết tắt  Từ viết tắt  Ý nghĩa  AI 
Artificial Intelligence (Trí tuệ nhân tạo)  EDA 
Exploratory Data Analysis: Phân tích dữ liệu khám phá, là quá 
trình khám phá và tóm tắt các đặc điểm chính của dữ liệu                        lOMoAR cPSD| 59031616 PHẦN MỞ ĐẦU 
LÝ DO CHỌN ĐỀ TÀI 
Việc lựa chọn đề tài nhận dạng độ tuổi sử dụng mạng CNN (Convolutional Neural 
Network) là một quyết định nằm trong phạm vi môn học Phát triển các hệ thông thông 
minh, dưới sự sắp xếp của thầy Đỗ Trung Tuấn. Đề tài này là một hình thức kiểm tra 
khả năng, kiến thức của các sinh viên trong nhóm, cũng như là một cơ hội để học tập, 
tìm hiểu, trau dồi thêm nhiều tri thức liên quan đến các công nghệ, kĩ thuật của thời đại. 
Hơn nữa, nhận dạng độ tuổi là một bài toán quan trọng trong lĩnh vực thị giác máy tính, 
với nhiều ứng dụng thực tiễn như an ninh, chăm sóc sức khỏe, thương mại điện tử, 
marketing và cá nhân hóa dịch vụ. Các công nghệ nhận diện, đặc biệt là nhận dạng 
khuôn mặt và độ tuổi, đang ngày càng trở nên phổ biến trong thời đại chuyển đổi số, 
khi việc phân tích dữ liệu hình ảnh trở thành một phần không thể thiếu trong các hệ 
thống thông minh. Với khả năng trích xuất thông tin từ hình ảnh khuôn mặt, mạng CNN 
mang đến một phương pháp mạnh mẽ và chính xác để giải quyết bài toán nhận dạng độ 
tuổi, điều mà các phương pháp truyền thống trước đây còn nhiều hạn chế. 
Một trong những lý do chính để chọn đề tài này là tính ứng dụng cao trong các hệ thống 
an ninh và giám sát. Các hệ thống camera giám sát hiện đại không chỉ theo dõi hành vi 
mà còn có thể nhận diện đối tượng theo độ tuổi để hỗ trợ các quyết định thông minh. 
Ví dụ, tại các khu vực công cộng, việc nhận dạng độ tuổi có thể giúp ngăn chặn trẻ em 
tiếp cận các khu vực nguy hiểm hoặc hạn chế sự xâm nhập của người dưới tuổi quy 
định vào những nơi cần kiểm soát chặt chẽ. Tương tự, trong lĩnh vực quản lý truy cập 
trực tuyến, việc nhận diện độ tuổi có thể hỗ trợ việc kiểm soát các nội dung không phù 
hợp hoặc các dịch vụ chỉ dành cho người trưởng thành. Đây là một bước tiến quan trọng 
trong việc bảo vệ người dùng, đặc biệt là trẻ em và người vị thành niên, khi họ tham  gia vào môi trường số. 
Trong thương mại và marketing, nhận diện độ tuổi cũng đóng vai trò quan trọng. Khả 
năng dự đoán chính xác độ tuổi của khách hàng giúp các doanh nghiệp tối ưu hóa chiến 
lược quảng cáo và đưa ra các đề xuất sản phẩm phù hợp với từng nhóm tuổi cụ thể. Nhờ 
đó, các doanh nghiệp có thể tăng cường trải nghiệm khách hàng, tạo ra các chiến dịch 
tiếp thị nhắm đúng đối tượng hơn, đồng thời nâng cao hiệu quả trong việc sử dụng ngân 
sách quảng cáo. Ví dụ, các sản phẩm mỹ phẩm, thời trang, hoặc sản phẩm công nghệ 
có thể được quảng cáo nhắm vào những độ tuổi phù hợp, từ đó cải thiện tỷ lệ chuyển 
đổi khách hàng. Việc ứng dụng CNN trong nhận dạng độ tuổi giúp doanh nghiệp tận 
dụng tối đa dữ liệu khách hàng để tạo ra những chiến lược tiếp thị cá nhân hóa, giúp 
tăng cường sự kết nối và tương tác với khách hàng. 
Về mặt kỹ thuật, CNN là một trong những mô hình học sâu (deep learning) tiên tiến 
nhất trong việc xử lý và phân tích hình ảnh. CNN có khả năng học các đặc trưng quan 
trọng từ hình ảnh mà không cần sự can thiệp lớn từ con người, điều này giúp tự động 
hóa quy trình phân tích và nâng cao độ chính xác của hệ thống. So với các phương pháp      lOMoAR cPSD| 59031616
nhận dạng truyền thống dựa trên các kỹ thuật trích xuất đặc trưng thủ công, CNN có 
khả năng tự động học các mẫu phức tạp trong hình ảnh, như kết cấu da, nếp nhăn, hình 
dạng khuôn mặt, giúp dự đoán tuổi tác một cách chính xác hơn. Khả năng phân cấp và 
học tập từ nhiều lớp (layers) của CNN cho phép nó nhận dạng các đặc trưng tinh vi trên 
khuôn mặt, từ đó đưa ra các dự đoán chính xác về độ tuổi. 
Với sự phát triển nhanh chóng của các công nghệ phần cứng như GPU và các công cụ 
mã nguồn mở hỗ trợ học sâu như TensorFlow hay PyTorch, việc xây dựng và triển khai 
các mô hình CNN trở nên dễ dàng hơn bao giờ hết. Điều này giúp giảm đáng kể chi phí 
và thời gian nghiên cứu, cho phép các nhà khoa học dữ liệu và lập trình viên có thể tập 
trung vào việc tối ưu hóa mô hình thay vì phải lo lắng về vấn đề tính toán. Hơn nữa, 
các bộ dữ liệu về hình ảnh khuôn mặt, bao gồm cả hình ảnh gán nhãn độ tuổi, đã có sẵn 
và phong phú, giúp quá trình thu thập và chuẩn bị dữ liệu trở nên thuận lợi. 
Ngoài ra, nhận dạng độ tuổi còn là một vấn đề nghiên cứu thú vị trong lĩnh vực trí tuệ 
nhân tạo. Đây không chỉ là một bài toán kỹ thuật mà còn mang nhiều yếu tố xã hội và 
nhân văn, khi khả năng dự đoán độ tuổi có thể đóng góp vào việc cải thiện chất lượng 
cuộc sống của con người. Ví dụ, trong chăm sóc sức khỏe, các hệ thống nhận diện độ 
tuổi có thể hỗ trợ việc phát hiện các dấu hiệu lão hóa hoặc các bệnh lý liên quan đến 
tuổi tác thông qua việc phân tích hình ảnh khuôn mặt. Điều này mở ra những hướng 
nghiên cứu mới về sức khỏe và tuổi thọ của con người. 
Tóm lại, việc lựa chọn đề tài nhận dạng độ tuổi sử dụng mạng CNN là một quyết định 
hợp lý, kết hợp giữa tính cấp thiết về yêu cầu bài tập nhóm của giảng viên bộ môn và 
tiềm năng nghiên cứu của đề tài.        lOMoAR cPSD| 59031616
CHƯƠNG 1: GIỚI THIỆU VỀ HỌC MÁY - HỌC SÂU 
I. HỌC MÁY (MACHINE LEARNING) 
1. Khái niệm và Lịch sử Phát triển 
Học máy là một nhánh của trí tuệ nhân tạo (AI), tập trung vào việc phát triển các thuật 
toán cho phép máy tính "học" từ dữ liệu mà không cần lập trình rõ ràng. Thuật ngữ "học 
máy" ra đời từ những năm 1950, với các công trình của Alan Turing và Arthur Samuel. 
Từ đó, học máy đã phát triển thành một lĩnh vực quan trọng, với nhiều ứng dụng trong  cuộc sống hằng ngày. 
1.1. Khái niệm Học Máy 
Học máy là quá trình máy sử dụng rất nhiều dữ liệu để nó huấn luyện và kiểm chứng 
lại mô hình để tạo mô hình hoàn chỉnh cho người sử dụng. Học máy là máy tự huấn 
luyện mô hình và con người sử dụng mô hình đó. 
Học máy gồm có phân loại và phân cụm. 
Học máy gồm có học có giám sát, học không giám sát và học bán giám sát (học tăng  cường). 
1.2. Lịch sử Phát triển 
Học máy phát triển từ các khái niệm toán học cơ bản, như xác suất và thống kê, với cột 
mốc quan trọng là sự ra đời của các thuật toán học có giám sát và học không giám sát. 
Vào đầu thế kỷ 21, sự phát triển của phần cứng đã mở ra kỷ nguyên của học sâu và trí 
tuệ nhân tạo tổng quát hơn. 
2. Các phương pháp học máy 
2.1. Học có giám sát (Supervised Learning) 
Học có giám sát là phương pháp trong đó dữ liệu được gắn nhãn, và mô hình học từ 
những dữ liệu này để đưa ra các dự đoán cho dữ liệu chưa biết. Các thuật toán phổ biến 
bao gồm hồi quy tuyến tính, hồi quy logistic, cây quyết định và máy vector hỗ trợ 
(SVM). Ứng dụng phổ biến của học có giám sát là trong nhận diện hình ảnh, nhận dạng 
giọng nói và phân loại văn bản. 
2.2. Học không giám sát (Unsupervised Learning) 
Trong học không giám sát, mô hình không có sẵn các nhãn dữ liệu và phải tìm kiếm các 
mẫu ẩn trong dữ liệu. Các phương pháp phổ biến là phân cụm (clustering), giảm chiều 
(dimensionality reduction), với thuật toán nổi bật như K-Means, PCA (Principal 
Component Analysis), và t-SNE. Ứng dụng của học không giám sát bao gồm phân 
nhóm khách hàng trong marketing và phát hiện gian lận.      lOMoAR cPSD| 59031616
2.3. Học bán giám sát, học tăng cường (Reinforcement Learning) 
Học tăng cường là phương pháp trong đó một tác nhân (agent) học cách tương tác với 
môi trường và nhận phản hồi từ các hành động thông qua phần thưởng hoặc hình phạt. 
Các thuật toán nổi bật bao gồm Q-Learning, SARSA và DQN. Học tăng cường được áp 
dụng thành công trong các trò chơi như cờ vây, robot tự hành và hệ thống khuyến nghị. 
2.4. Phân loại (Classification) 
Phân loại là một trong những nhiệm vụ chính trong học có giám sát. Nhiệm vụ của phân 
loại là dự đoán nhãn của một đối tượng dựa trên các đặc trưng đầu vào của nó. Các 
thuật toán phân loại học từ dữ liệu đã được gắn nhãn để xác định ranh giới phân chia 
giữa các lớp và đưa ra dự đoán cho dữ liệu mới. 
2.4.1. Các Thuật Toán Phân Loại 
Một số thuật toán phân loại phổ biến bao gồm: 
● Hồi quy logistic (Logistic Regression): Là một mô hình thống kê để dự đoán 
khả năng xảy ra của một sự kiện nhị phân (có/không) dựa trên các đặc trưng đầu  vào. 
● Máy vector hỗ trợ (Support Vector Machines - SVM): SVM tìm ra một siêu 
phẳng tối ưu để phân chia các lớp trong không gian đặc trưng. 
● Cây quyết định (Decision Trees): Thuật toán này phân chia không gian dữ liệu 
thành các vùng dựa trên giá trị của các đặc trưng, tạo thành một cấu trúc dạng 
cây với các nút đại diện cho các quyết định hoặc nhãn. 
● K-Nearest Neighbors (KNN): Dự đoán nhãn cho một điểm dữ liệu dựa trên 
nhãn của các điểm gần nó nhất trong không gian đặc trưng. 
2.4.2. Ứng dụng của Phân Loại 
Phân loại được sử dụng trong nhiều ứng dụng, chẳng hạn như: 
● Nhận dạng hình ảnh: Dùng để phân loại hình ảnh thành các loại như chó, mèo,  xe hơi, v.v. 
● Phân tích văn bản: Phân loại văn bản thành các chủ đề khác nhau, như spam 
email hoặc phân loại cảm xúc. 
● Phát hiện gian lận: Dựa trên các đặc trưng giao dịch để xác định xem một giao 
dịch có gian lận hay không. 
2.5. Phân cụm (Clustering) 
Phân cụm là một kỹ thuật học không giám sát, trong đó dữ liệu được chia thành các 
nhóm (cụm) sao cho các đối tượng trong cùng một cụm có sự tương đồng cao hơn với      lOMoAR cPSD| 59031616
nhau so với các đối tượng ở cụm khác. Khác với phân loại, phân cụm không yêu cầu 
dữ liệu được gắn nhãn. 
2.5.1. Các Thuật Toán Phân Cụm 
Một số thuật toán phân cụm phổ biến bao gồm: 
● K-Means: Là thuật toán phân cụm dựa trên khoảng cách giữa các điểm dữ liệu 
và trung tâm cụm (centroids). Thuật toán cố gắng tối thiểu hóa khoảng cách giữa 
các điểm và trung tâm cụm mà chúng thuộc về. 
● Hierarchical Clustering: Tạo một hệ thống phân cấp các cụm bằng cách liên 
kết các điểm dữ liệu hoặc tách rời chúng. Kết quả của quá trình phân cụm được 
trình bày dưới dạng cây phân cấp (dendrogram). 
● DBSCAN (Density-Based Spatial Clustering of Applications with Noise): 
Phân cụm dựa trên mật độ của dữ liệu, tức là những điểm dữ liệu có mật độ gần 
nhau được gom thành các cụm, trong khi những điểm dữ liệu có mật độ thấp hơn  sẽ bị xem là nhiễu. 
2.5.2. Ứng dụng của Phân Cụm 
Phân cụm có nhiều ứng dụng trong các lĩnh vực khác nhau: 
● Phân nhóm khách hàng: Trong marketing, phân cụm giúp phân nhóm khách 
hàng dựa trên hành vi mua hàng để xây dựng các chiến dịch marketing mục tiêu. 
● Phân tích dữ liệu sinh học: Phân cụm giúp phân nhóm các gene có chức năng 
tương tự trong phân tích dữ liệu gene. 
● Phát hiện bất thường: Phân cụm có thể được sử dụng để phát hiện những điểm 
dữ liệu không phù hợp với bất kỳ cụm nào, từ đó nhận diện các trường hợp bất  thường. 
3. Ứng dụng của Học Máy 
Học máy hiện đang được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau, từ y tế, tài  chính đến giải trí.  3.1. Trong Y tế 
Học máy được ứng dụng trong phân tích hình ảnh y khoa, phát hiện bệnh sớm từ các 
hình ảnh chẩn đoán (như MRI, CT scan), và dự đoán quá trình điều trị của bệnh nhân. 
Mô hình học máy có thể học từ hàng triệu trường hợp để đưa ra chẩn đoán chính xác  hơn.      lOMoAR cPSD| 59031616 3.2. Trong Tài chính 
Trong lĩnh vực tài chính, học máy được sử dụng để phân tích dữ liệu thị trường, dự 
đoán xu hướng tài chính, phát hiện gian lận và hỗ trợ các quyết định đầu tư. Các ngân 
hàng và công ty tài chính sử dụng học máy để dự đoán rủi ro tín dụng, tối ưu hóa danh 
mục đầu tư và xây dựng các hệ thống tự động hóa giao dịch. 
3.3. Trong Công nghệ Giải trí 
Học máy đóng vai trò quan trọng trong việc cá nhân hóa trải nghiệm người dùng trên 
các nền tảng giải trí như Netflix, YouTube, và Spotify. Các mô hình học máy dựa trên 
phân tích dữ liệu người dùng để đưa ra các đề xuất nội dung cá nhân hóa, giúp tăng 
cường trải nghiệm khách hàng. 
4. Thách thức của Học Máy 
Mặc dù mang lại nhiều lợi ích, học máy cũng đối mặt với một số thách thức quan trọng: 
4.1. Chất lượng Dữ liệu 
Hiệu quả của học máy phụ thuộc mạnh mẽ vào chất lượng của dữ liệu. Dữ liệu không 
đầy đủ, nhiễu, hoặc thiên vị có thể làm suy giảm độ chính xác của các mô hình. Việc 
thu thập và làm sạch dữ liệu là một quá trình tốn kém và phức tạp. 
4.2. Tính giải thích của Mô hình 
Các mô hình học máy phức tạp, đặc biệt là các mô hình học sâu, thường khó giải thích 
và minh bạch. Điều này gây ra thách thức khi sử dụng các mô hình trong các lĩnh vực 
yêu cầu sự minh bạch cao, như y tế hoặc pháp lý. 
II. HỌC SÂU (DEEP LEARNING) 
1. Khái niệm và Nguyên lý Cơ bản 
Học sâu là một phân nhánh của học máy, sử dụng các mạng nơ-ron nhân tạo để học các 
đặc trưng phức tạp từ dữ liệu. Học sâu nổi bật với khả năng xử lý các dữ liệu phức tạp 
và phi tuyến tính, đặc biệt là dữ liệu hình ảnh, âm thanh và văn bản. 
1.1. Khái niệm Học Sâu 
Học sâu sử dụng các kiến trúc mạng nơ-ron nhiều lớp (deep neural networks) để trích 
xuất đặc trưng và học từ dữ liệu. Các lớp ẩn (hidden layers) trong mạng nơ-ron giúp 
mô hình học được các đặc điểm trừu tượng hơn từ dữ liệu, cho phép xử lý những bài  toán phức tạp.      lOMoAR cPSD| 59031616
1.2. Nguyên lý Hoạt động của Mạng Nơ-ron Nhân Tạo 
Mạng nơ-ron nhân tạo mô phỏng hoạt động của hệ thần kinh con người, với các tế bào 
nơ-ron nhân tạo kết nối với nhau qua các trọng số (weights). Dữ liệu được lan truyền 
qua các lớp của mạng (feedforward), sau đó điều chỉnh trọng số qua quá trình học 
(backpropagation) dựa trên sai số giữa đầu ra dự đoán và giá trị thực tế. 
2. Các kiến trúc học sâu phổ biến 
Học sâu đã phát triển thành nhiều loại kiến trúc mạng nơ-ron khác nhau để phù hợp với  các bài toán cụ thể. 
2.1. Mạng Nơ-ron Tích Chập (Convolutional Neural Networks - CNN) 
CNN là một loại mạng nơ-ron chuyên xử lý dữ liệu dạng lưới, như hình ảnh. CNN bao 
gồm các lớp tích chập (convolutional layers) để trích xuất các đặc trưng cục bộ từ hình 
ảnh, và các lớp pooling để giảm kích thước dữ liệu, giúp tăng hiệu suất tính toán. CNN 
đã được ứng dụng thành công trong các bài toán nhận diện hình ảnh, phát hiện đối tượng  và phân loại hình ảnh. 
2.2. Mạng Nơ-ron Hồi Quy (Recurrent Neural Networks - RNN) 
RNN là một loại mạng nơ-ron được thiết kế để xử lý dữ liệu chuỗi thời gian hoặc dữ 
liệu có sự phụ thuộc giữa các bước, như văn bản hoặc âm thanh. RNN có khả năng ghi 
nhớ các trạng thái trước đó trong chuỗi thông qua các kết nối hồi quy. Tuy nhiên, RNN 
gặp khó khăn trong việc học các mối quan hệ dài hạn, và do đó các biến thể như LSTM 
(Long Short-Term Memory) đã ra đời để khắc phục hạn chế này. 
2.3. Mạng Transformer 
Transformer là một kiến trúc học sâu gần đây, nổi bật với cơ chế "self-attention" cho 
phép mô hình học được các quan hệ giữa các phần tử trong chuỗi dữ liệu mà không cần 
phải xử lý từng phần tử theo thứ tự như RNN. Transformer đã mang lại nhiều đột phá 
trong xử lý ngôn ngữ tự nhiên (NLP), với mô hình nổi bật là BERT và GPT. 
3. Ứng dụng của Học Sâu 
Học sâu đã có nhiều ứng dụng đột phá trong các lĩnh vực xử lý hình ảnh, xử lý ngôn 
ngữ tự nhiên và các hệ thống tự động hóa. 
3.1. Nhận diện Hình ảnh và Video 
Mạng CNN đã cải thiện đáng kể độ chính xác trong các bài toán nhận diện hình ảnh và 
video, từ nhận diện khuôn mặt, phân loại đối tượng cho đến phát hiện các dấu hiệu bất  thường trong ảnh y tế.      lOMoAR cPSD| 59031616
3.2. Xử lý Ngôn ngữ Tự nhiên (NLP) 
Học sâu, đặc biệt là các mô hình Transformer, đã đưa xử lý ngôn ngữ tự nhiên lên một 
tầm cao mới, từ dịch máy, phân tích cảm xúc, đến tạo ra văn bản tự động. Các mô hình 
như GPT-3 và BERT đang được ứng dụng trong nhiều lĩnh vực từ chatbot, trợ lý ảo đến 
phân tích dữ liệu văn bản. 
3.3. Ô tô Tự Hành và Robot 
Các hệ thống học sâu được ứng dụng trong ô tô tự hành để phân tích dữ liệu từ cảm 
biến, camera và radar, giúp xe nhận biết môi trường xung quanh, phát hiện chướng ngại 
vật và điều hướng tự động. 
4. Thách thức của Học Sâu 
Mặc dù đã đạt được nhiều thành tựu, học sâu vẫn còn nhiều thách thức về mặt kỹ thuật 
và ứng dụng thực tiễn. 
4.1. Tính Tốn Kém về Tài Nguyên 
Học sâu yêu cầu lượng dữ liệu lớn và tài nguyên tính toán mạnh mẽ để huấn luyện các 
mô hình phức tạp. Điều này dẫn đến chi phí cao và đòi hỏi sự đầu tư lớn về phần cứng, 
đặc biệt là GPU hoặc TPU. 
4.2. Vấn đề Overfitting 
Với mô hình phức tạp và nhiều tham số, học sâu dễ gặp phải tình trạng overfitting, khi 
mô hình học quá mức từ dữ liệu huấn luyện mà không tổng quát tốt cho dữ liệu mới. 
Các phương pháp như regularization và dropout được sử dụng để giảm thiểu tình trạng  này.  III. KẾT LUẬN 
Học máy và học sâu là hai lĩnh vực quan trọng trong trí tuệ nhân tạo, với những đóng 
góp lớn lao cho sự phát triển của công nghệ và ứng dụng thực tiễn. Học máy mang lại 
các giải pháp hiệu quả cho nhiều bài toán phân tích và dự đoán dữ liệu, trong khi học 
sâu tạo ra những bước đột phá trong các bài toán xử lý phức tạp hơn, như hình ảnh, âm 
thanh và văn bản. Tuy nhiên, cả hai đều đối mặt với những thách thức về dữ liệu, tính 
giải thích của mô hình và yêu cầu tài nguyên tính toán. Với sự phát triển không ngừng 
của công nghệ, học máy và học sâu hứa hẹn sẽ tiếp tục là những công cụ quan trọng 
trong việc xây dựng các hệ thống thông minh, nâng cao hiệu suất và cải thiện chất lượng  cuộc sống.        lOMoAR cPSD| 59031616
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 
2.1 Bài Toán Nhận Diện Tuổi 
2.1.1 Giới thiệu về Nhận Diện Tuổi 
Nhận dạng tuổi là một nhiệm vụ quan trọng trong lĩnh vực thị giác máy tính, 
nhằm mục đích dự đoán hoặc ước lượng độ tuổi của một cá nhân dựa trên hình ảnh 
khuôn mặt. Quá trình này không chỉ đơn giản là phân loại hình ảnh vào các nhóm tuổi 
nhất định mà còn liên quan đến việc phân tích và hiểu biết sâu sắc về các đặc trưng 
khuôn mặt có liên quan đến sự thay đổi theo độ tuổi. Các hệ thống nhận dạng tuổi 
thường sử dụng các kỹ thuật học máy và học sâu để tự động học và trích xuất các đặc 
trưng phức tạp từ hình ảnh, từ đó đưa ra dự đoán chính xác về độ tuổi của người trong  ảnh. 
Nhận dạng tuổi không chỉ giới hạn trong việc phân loại độ tuổi một cách thô sơ mà còn 
mở rộng đến việc phân loại theo các khoảng tuổi cụ thể, chẳng hạn như trẻ em, thanh 
niên, người lớn, trung niên và người già. Điều này đòi hỏi các mô hình nhận dạng phải 
có khả năng phân biệt và phân loại các biến thể tinh vi của khuôn mặt liên quan đến sự 
lão hóa, chẳng hạn như sự xuất hiện của nếp nhăn, thay đổi về hình dạng khuôn mặt, 
cấu trúc xương hàm, và các đặc trưng khác như màu sắc da và sự mờ nhạt của mắt 
2.1.2 Các Phương Pháp Nhận Dạng Tuổi Truyền Thống 
2.1.2.1 Phương Pháp Dựa trên Các Đặc Trưng Thủ Công 
Trước sự phát triển mạnh mẽ của học sâu, các phương pháp truyền thống trong nhận 
diện tuổi chủ yếu dựa trên việc trích xuất và sử dụng các đặc trưng thủ công từ ảnh 
khuôn mặt. Các đặc trưng này bao gồm: 
● Nếp Nhăn và Đường Chảy: Sự xuất hiện và mức độ sâu của nếp nhăn là chỉ số 
quan trọng để xác định tuổi tác, đặc biệt là ở những vùng như trán, quanh mắt  và miệng. 
● Tỷ Lệ Khuôn Mặt: Các tỷ lệ giữa các phần khác nhau của khuôn mặt như 
khoảng cách giữa mắt, kích thước mũi, miệng, và hàm dưới có thể thay đổi theo  độ tuổi. 
● Cấu Trúc Xương: Sự phát triển và thay đổi của cấu trúc xương mặt theo thời 
gian cũng là một yếu tố quan trọng trong việc xác định tuổi. 
● Các Đặc Trưng Hình Học: Bao gồm hình dạng tổng thể của khuôn mặt, tỷ lệ 
giữa các phần như trán, má, cằm và hàm. 
2.1.2.2 Phương Pháp Dựa trên Các Phân Tích Hình Học và Thống Kê 
Ngoài việc sử dụng các đặc trưng thủ công, các phương pháp truyền thống còn sử dụng 
các kỹ thuật phân tích hình học và thống kê để xử lý và phân loại độ tuổi, chẳng hạn  như:      lOMoAR cPSD| 59031616 ● 
Phân Tích Thành Phần Chính (PCA): Giảm chiều dữ liệu bằng cách tìm ra 
các thành phần chính thể hiện phần lớn biến thiên trong dữ liệu khuôn mặt. 
● Phân Tích Ràng Buộc Tuyến Tính (LDA): Tìm kiếm các siêu phẳng tối ưu để 
phân biệt các lớp tuổi khác nhau. 
● Máy Học Cổ Điển: Sử dụng các thuật toán như Hồi quy tuyến tính, Cây quyết 
định, Máy vector hỗ trợ (SVM) để phân loại độ tuổi dựa trên các đặc trưng đã  trích xuất. 
2.1.2.3 Ưu Điểm và Hạn Chế của Các Phương Pháp Truyền Thống Ưu Điểm: 
● Hiểu Biết Sâu về Đặc Trưng: Các phương pháp này cho phép người nghiên 
cứu hiểu rõ hơn về các yếu tố ảnh hưởng đến việc nhận diện tuổi. 
● Tính Giản Đơn và Tốc Độ: Thường ít tốn kém về tính toán so với các mô hình 
học sâu, đặc biệt trong các hệ thống có tài nguyên hạn chế.  Hạn Chế: 
● Độ Chính Xác Hạn Chế: Khả năng phân biệt các độ tuổi gần nhau không cao 
do phụ thuộc vào các đặc trưng thủ công có thể không đủ mạnh để phản ánh đầy 
đủ biến đổi phức tạp của khuôn mặt theo thời gian. 
● Khó Khăn trong Việc Xử Lý Dữ Liệu Phức Tạp: Việc trích xuất và lựa chọn 
các đặc trưng thủ công đòi hỏi nhiều công sức và thường không hiệu quả với dữ 
liệu có độ biến động cao. 
● Thiếu Khả Năng Khái Quát Hóa: Các mô hình dựa trên đặc trưng thủ công 
thường không khả dụng để áp dụng vào các tập dữ liệu mới mà không cần phải 
điều chỉnh lại các đặc trưng. 
2.1.3 Nhận Dạng Tuổi bằng Mạng Nơ-ron Tích Chập (CNN) 
2.1.3.1 Giới Thiệu về CNN 
Mạng Nơ-ron Tích Chập (Convolutional Neural Network - CNN) là một kiến trúc mạng 
nơ-ron sâu được thiết kế đặc biệt để xử lý dữ liệu có cấu trúc lưới, như hình ảnh. CNN 
đã chứng minh được hiệu quả vượt trội trong nhiều nhiệm vụ xử lý ảnh như phân loại, 
nhận diện đối tượng và phân đoạn ảnh. Kiến trúc của CNN bao gồm các lớp tích chập, 
lớp kích hoạt, lớp gộp (pooling), và lớp kết nối đầy đủ (fully connected), giúp mạng tự 
động học các đặc trưng từ dữ liệu đầu vào mà không cần trích xuất thủ công.      lOMoAR cPSD| 59031616 ● 
2.1.3.2 Ưu Điểm của CNN trong Nhận Dạng Tuổi 
● Khả Năng Tự Động Học Các Đặc Trưng Phức Tạp: CNN có thể học các đặc 
trưng từ dữ liệu mà không cần sự can thiệp của con người, giúp tăng cường độ 
chính xác và hiệu quả trong việc phân loại độ tuổi. 
● Tính Khả Chuyển Cao: Các mô hình CNN có thể được áp dụng cho nhiều 
nhiệm vụ khác nhau trong xử lý ảnh mà không cần thay đổi lớn về cấu trúc mạng. 
● Hiệu Quả trong Việc Xử Lý Dữ Liệu Lớn: CNN có khả năng xử lý và học từ 
các tập dữ liệu lớn, giúp cải thiện khả năng khái quát hóa và độ chính xác của  mô hình. 
● Khả Năng Kháng Ồn: CNN có khả năng phát hiện các đặc trưng quan trọng 
ngay cả trong điều kiện dữ liệu bị nhiễu hoặc biến đổi. 
2.1.4 Định Nghĩa Bài Toán Cụ Thể trong Dự Án  2.1.4.1 Đầu Vào 
Đầu vào của bài toán là một hình ảnh khuôn mặt của một người. Ảnh có thể được chụp 
trong các điều kiện ánh sáng khác nhau, từ các góc chụp đa dạng và với các biểu cảm 
khuôn mặt khác nhau để đảm bảo tính đa dạng và toàn diện của dữ liệu.  2.1.4.2 Đầu Ra 
Đầu ra của hệ thống là dải tuổi tương ứng với hình ảnh khuôn mặt đã cho. Các dải tuổi 
được định nghĩa như sau:  ● 0-15: Trẻ con  ● 16-28: Thanh niên 
● 29-40: Người lớn  ● 41-60: Trung niên 
● 61-100: Người già  2.1.4.3 Mục Tiêu 
Mục tiêu của dự án là xây dựng một mô hình CNN có khả năng phân loại ảnh khuôn 
mặt vào các dải tuổi đã định nghĩa với độ chính xác cao. Điều này bao gồm việc thu 
thập và xử lý dữ liệu, thiết kế và huấn luyện mô hình CNN, đánh giá hiệu suất của mô 
hình và triển khai hệ thống nhận dạng tuổi thực tế.      lOMoAR cPSD| 59031616 ● 
2.2 Giải Pháp: Thuật Toán và Phương Pháp 
2.2.1 Tổng Quan về Mạng Nơ-ron Tích Chập (CNN) 
2.2.1.1 Kiến Trúc Cơ Bản của CNN CNN bao gồm các lớp chính sau: 
● Lớp Tích Chập (Convolutional Layer): Đây là lớp đầu tiên trong CNN, chịu 
trách nhiệm trích xuất các đặc trưng từ dữ liệu đầu vào bằng cách áp dụng các 
bộ lọc (filters) nhỏ di chuyển qua toàn bộ ảnh. Mỗi bộ lọc sẽ phát hiện một loại 
đặc trưng cụ thể như cạnh, góc, hoặc các mẫu hình học phức tạp hơn. 
Lớp Kích Hoạt (Activation Layer): Sau lớp tích chập, các giá trị kết quả được 
đưa qua hàm kích hoạt phi tuyến như ReLU (Rectified Linear Unit) để giới thiệu 
tính phi tuyến vào mô hình, giúp mạng học được các mối quan hệ phức tạp hơn. 
● Lớp Gộp (Pooling Layer): Lớp này giúp giảm kích thước không gian của đặc 
trưng, giảm số lượng tham số và tính toán, đồng thời giúp mạng trở nên ổn định 
hơn với các biến đổi nhỏ trong dữ liệu đầu vào. Các phương pháp gộp phổ biến 
bao gồm Max Pooling và Average Pooling. 
● Lớp Kết Nối Đầy Đủ (Fully Connected Layer): Các lớp này kết nối toàn bộ 
các nút từ lớp trước đến lớp tiếp theo, thường là lớp cuối cùng để thực hiện phân 
loại dựa trên các đặc trưng đã được học. 
● Lớp Đầu Ra (Output Layer): Lớp cuối cùng trong CNN thường sử dụng hàm 
softmax hoặc các hàm kích hoạt khác để đưa ra dự đoán cuối cùng của mô hình.   
H2.2.1.1: Hình ảnh thể hiện cấu trúc của mạng CNN 
2.2.1.2 Cơ Chế Hoạt Động của CNN 
CNN hoạt động thông qua quá trình huấn luyện mà trong đó các bộ lọc được cập nhật 
để phát hiện các đặc trưng quan trọng từ dữ liệu đầu vào. Quá trình này bao gồm: