lOMoARcPSD| 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
lOMoARcPSD| 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
sâu
20%
Nguyễn Anh Đức
Chương 2: Bài toán nhận diện, Giải pháp, Kết
luận
20%
Vũ Đình Thiết
Chương 3: Dữ liệu (Phần 3.1: Bộ dữ liệu, Các
thông số thống kê EDA)
20%
Lê Trí Tâm
Chương 3: Dữ liệu (Phần Visualization, Phân
tích dữ liệu, Kết luận)
20%
Ngô Đăng Hán
Chương 4: Thực nghiệm, Mô hình, Minh họa
(Jupyter Notebook), Kết luận
20%
lOMoARcPSD| 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ệ u chính
Viễn thông 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 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 tiếp tc đạt được nhiều
thành công trong cuộc sống ạ!
lOMoARcPSD| 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 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 ờ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..................................................................
lOMoARcPSD| 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ử 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Ở 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................................................................................
lOMoARcPSD| 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 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
lOMoARcPSD| 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 Đườ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 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................................................................................................
lOMoARcPSD| 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
AI
EDA
lOMoARcPSD| 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, ới sự sắp xếp của thầy Đỗ Trung Tuấn. Đề tài này một 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ư một 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 nhân hóa dịch v. Các công nghệ nhận diện, đặc biệt nhận dạng
khuôn mặt độ tuổi, đang ngày càng trở 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 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
còn 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 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 trẻ em người vị thành niên, khi họ tham
gia vào môi trường số.
Trong thương mại 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 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.d, các sản phẩm mỹ phẩm, thời trang, hoặc sản phẩm công nghệ
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ị 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 một trong những 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 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 nâng cao độ chính xác của hệ thống. So với các phương pháp
lOMoARcPSD| 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 thcông, CNN
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 mhỗ 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 hình thay 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, đã 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 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ố 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 thể htrợ việc phát hiện các dấu hiệu lão hóa hoặc các bệnh 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 CNNmộ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
tiềm năng nghiên cứu của đề tài.
lOMoARcPSD| 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 không cần lập trình 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 quá trình máy sử dng rất nhiều dữ liệu để huấn luyện kiểm chứng
lại hình để tạo mô hình hoàn chỉnh cho người sử dng. Học máy 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 học giám sát, học không giám sát 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 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 giám sát phương pháp trong đó dữ liệu được gắn nhãn, và 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 máy vector hỗ trợ
(SVM). Ứng dng phbiến của họ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 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), 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.
lOMoARcPSD| 59031616
2.3. Học bán giám sát, học tăng cường (Reinforcement Learning)
Học tăngờ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 vchính trong học giám sát. Nhiệm v của phân
loại dự đoán nhãn của một đối ợ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): một hình thống để 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 một kỹ thuật học không giám 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
lOMoARcPSD| 59031616
nhau so với các đối ợ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
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 mật độ thấp 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), dự đoán quá trình điều trị của bệnh nhân.
hình học máy thể học từ hàng triệu trường hợp để đưa ra chẩn đoán chính xác
hơn.
lOMoARcPSD| 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 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, Spotify. Các 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 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 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ẽ o chất lượng của dữ liệu. Dữ liệu không
đầy đủ, nhiễu, hoặc thiên vị thể làm suy giảm độ chính xác của các 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 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 -ron nhiều lớp (deep neural networks) để trích
xuất đặc trưng học từ dữ liệu. Các lớp ẩn (hidden layers) trong mạng -ron giúp
hình học được các đặc điểm trừu tượng hơn từ dữ liệu, cho phép xử những bài
toán phức tạp.
lOMoARcPSD| 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 một loại mạng nơ-ron được thiết kế đxử 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 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ử 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 đã nhiều ứng dng đột phá trong các lĩnh vực xử hình ảnh, xử 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ế.
lOMoARcPSD| 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 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ự hành để phân tích dữ liệu từ cảm
biến, camera 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
hình học quá mức từ dữ liệu huấn luyện 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
y.
III. KẾT LUẬN
Học máy học sâu hai lĩnh vực quan trọng trong trí tunhâ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 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 y học sâu hứa hẹn sẽ tiếp tc những công c quan trọng
trong việc y dựng các hệ thống thông minh, nâng cao hiệu suất cải thiện chất lượng
cuộc sống.
lOMoARcPSD| 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 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 ợng độ tuổi của một nhân dựa trên hình ảnh
khuôn mặt. Quá trình này không chỉ đơn giảnphân loại hình ảnh vào các nhóm tuổi
nhất định còn liên quan đến việc phân tích hiểu biết sâu sắc về các đặc trưng
khuôn mặt 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 học sâu để tự động học 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 nsự 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
Tớ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 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 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 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 thống đxử phân loại độ tuổi, chẳng hạn
như:
lOMoARcPSD| 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 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) 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.
lOMoARcPSD| 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 ờ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 thể được áp dng cho nhiều
nhiệm v khác nhau trong xử ảnh 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ử 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 độ chính xác của
mô hình.
Khả Năng Kháng Ồn: CNN 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 xây dựng một hình CNN 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
hình và triển khai hệ thống nhận dạng tuổi thực tế.
lOMoARcPSD| 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ớ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 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:

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: