Chăng hạn, trong một hệ thông email, ML co thé tu động phân loại thư vào các thư mục khác nhau, trong khi trong các hệ thống tài chính, ML có thê tự động phát hiện cac giao dịch gian lận
Trang 1HOC VIEN CONG NGHE BUU CHINH VIEN THONG
KHOA CONG NGHE THONG TIN 1
o0o
exit
BAO CAO TIEU LUAN
Môn học: Phát triển các hệ thống thông minh
Trang 2LOI CAM ON
Trước tiên với tỉnh cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòng biết ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ em trong suốt quá trình học tập và nghiên cứu đẻ tài này Trong suốt thời gian từ khi bắt đầu học tập tại trường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của các thầy cô và bạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Học viện Công
nghệ Bưu Chính Viễn thông đã truyền đạt vốn kiến thức quý báu cho em trong suốt
quá trình học tập Nhờ có những lời hướng dẫn, dạy bảo của các thầy cô nên đè tài nghiên cứu của em mới có thể hoàn thiện tốt đẹp
Một lần nữa, em xin chân thành cảm ơn thầy Trần Đình Qué đã giúp đỡ, quan tâm đề em có thê hoàn thành tốt bài báo cáo này trong thời gian qua
Bước đầu đi vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báu của thầy để kiến thức của em trong bộ môn nảy được hoàn thiện hơn đồng thời có điều kiện bố sung, nâng cao ý thức của mình
Em xin chân thành cảm ơn!
Trang 3MUC LUC
CHUONG I Một số vấn đề cơ bản của Machine Learning .-¿- 5-55 s5+ssss+ss 1 1.1 Tai sao Machine Learning (Học Máy) ra đời và Mục đích của nó 1 1.2 Các Kỹ Thuật Machine Learning Cơ Bản - + + SH HH 3 1.2.1 Học Có Giảm Sát (Supervised LearnI8)) anh cư 4 1.2.2 Học Không Giảm Sát (UnsupervIsed Learning) . + sex se 5 1.2.3 Hoc Cting Cé (Reinforcement Learning) .c.cccccccescsesesseseeesecsesesseseeeeeeaeseeees 6 1.3 Các Kỹ Thuật Của Deep LearnIng - nhe cư 7
1.3.1 Mạng Nơ-ron Nhân Tạo (Artificial Neural Networks - ANN) 7
1.3.2 Mang No-ron Convolutional (Convolutional Neural Networks - CNNs) 8 1.3.3 Mang Nơ-ron Hồi Tiếp (Recurrent Neural Networks - RNN§) 8 1.3.4 Mạng LSTM (Long Short-Term Memory Network§) cà 8 1.3.5 Mạng Nơ-ron Tích Hợp Attention (Attention Mechanisms) 9 IEN Micro o0 sac nh (444 9 1.3.7 Generative Adversarial Networks (GA NS) ch 9 I0 2c ốc hố e 10 1.3.9 Deep Reinforcement Learning (DRL) - + + Sky 10 1.4 Làm Sạch và Chuân Hóa Dữ Liệu (Data Cleaning and Preprocessing) 10
1.4.1 Nhận diện và Xử lý Dữ Liệu Thiếu (Missing Data) . - 5-5 =5 10
1.4.2 Xử ly Dữ Liệu Sai (utÏI€TS) Ăn HH vu II
1.4.3 Chuyển Đối Dữ Liệu (Data Transformation) . - 5 << +s=s<+<+s+s 12 1.4.4 Loại Bỏ Các Biến Không Cần Thiết (Feature Selection) - 13 1.4.5 Chính sửa Dữ Liệu SaI (Correctine Data ETrOTS) - se 13 1.4.6 Xử lý Dữ Liệu Không Đồng Nhất (Handling Inconsistent Data) 13
Trang 42.1.2 Sự tái sinh của mạng nơ-ron và sự phát triển cua backpropagation (1980s -
2.1.3 Ky nguyén cua Deep Learning hién dai (2000s - nay) .eeeeeeeeeeeeeeeeeeeeeeees 16
"8S án oi 0 0n 17 2.2.1 Các Thành Phần Chính trong Kiến Trúc Mạng Nơ-ron - - 18 2.2.2 Các Kiến Trúc Mạng Nơ-ron Tiêu Chuẩn . - 2 s=+s<s<+<zs+zc=s+ 20 2.3 Các bước xây dựng mô hình học sâu (Deep Learning) «<< 21
2.3.1 Xác định bải tOáN Ăn Họ Họ xo KH 21
2.3.2 Thu thập và chuẩn bị đữ liệu . 2-2-2 =+=+s+s++szszztzezxzeezszzxzrzc+ 22
2.3.3 Chọn kiến trúc ITẠHØ HƠ-TOHA - Q51 ST kh 22 2.3.4 Chọn hàm mắt mát (Loss Funetion) . - 5-2 se =+<+<+eceszeszszzezezsescse 23
2.3.5 Chọn thuật toán tôi ưu hóa (Optimizer) -. - +s<s<+s=s<+<zsxex<c+ 23 2.3.6 Thiết kế quá trình huấn luyện - 2-2-5 + +52 +e+z£+szE£zezEze+eszsrezezxeers 23 2.3.7 Triển khai huấn luyện mô hỉnh - - 2 2 2 ++s+#+Sz#+z£eEz+zzzszzezzzszscse 24
2.3.8 Đánh giá mô hỉnÌh - 6 S1 KH KH ok KH Hit 24
2.3.10 Tối ưu hóa và mở rộng - - + + +2 2 ++s+s++E+E+e+exeeeeeexerresrsreerererere 25
2.4 Mạng Nơ-ron Tích Chập (Convolutional Neural Networks - CNNs) 25
2.4.1 Cấu trúc CNN - ch HH HH HH HH HH HH TH TH TH HH 25
2.4.2 Quy trình Trích xuất Đặc trưng và Phân loại - -s-s=+<z<zs 27
2.4.3 Ưu điểm của CNN ch HH HH rệt 28
Trang 52.6.1 GiGi thigu V6 LSTM .ccccceccceccscecceecececccenccencesscecacccecceseeccacecececsaeesereceseeeaseees 57
2.6.2 Cấu trúc LS TÌM tk HT HH HH HH HH TH TH HH HH hệt 57
2.6.3 Luồng hoạt động của LSTÌM - -¿- 2= +2 ++s+e++E+z+eteeexeeeeeeerrrrrrsrecee 59
2.6.4 Ưu điểm của LSTÌM tt nh HH ri 59
2.8.4 Thách thức - - << S11 TH TH 73 CHUONG 3 Deep learning trong dự đoán và xử lý ảnh « «55+ S<<<<s+<ssssss2 74 3.1 Dữ liệu ảnh và áp dụng bài toán nhận dạng chữ viết tay - 74
3.1.1 Biểu diễn Dữ liệu Ảnh ch thiệt 74 3.1.2 Chuân hóa Dữ liệu Ảnh - ¿+ té EEEtrErrrxrrkkkrrkrkrrkrkrrrrkrrrrkrreis 74 3.1.3 Chuyên đổi Dữ liệu để Phủ hợp với Mô Hình . - 5-2 -5<s<5<2 75 3.1.4 Xử Lý Ảnh Đầu Vào Từ Người Dùng -5 s5 <s+sceceeseeereersescee 75
3.1.5 Kết quả áp dụng bài toán nhận dạng chữ viết tay sử dụng mô hình CNN 75
3.2 Dự đoán và ví dụ dự đoán điỂm cành 78 3.2.1 Clean và Chuân hóa Dữ liệu - St EEt*EkkEkkkikkerkkrerkrrrrrkerred 80 3.2.2 Xây dựng mô hình dự đoán điểm . -5-+- 5s =+=+2+e+zzszezszzeeezszscxs 82
CHUONG 4 Deep learning trong xir ly ng6n net tu nhién «20 eee eeeeeeeeseeeeseeeeeeeees 89
lân nh .H)HẬĂ 89 4.1.1 Ứng dụng của Deep Learning trong NLP .- 5-5-5 55s <+cs+sescececers 89 4.1.2 Các mô hình Deep Learning phố biến trong NLP - -5- -=<<<<=+ 89 4.1.3 Các bước thực hiện một bài toán NLP với Deep Learning 90 4.1.4 Công cụ và thư viện hỗ trợ NLP ca 1x HS vn KH KH cv rưệp 91 4.1.5 Thach thire trong NLP voi Deep Learning eee eee 91 4.1.6 Ung dụng thực tế của NLP với Deep Learnrng csssxxs 91 4.1.7 Tương lai của Deep Learning trong NLP ccS ST ssskrrxerrxerrxeees 92 4.2 Áp dụng cho phân loại comment với word V€COF .- 5-5-5 5552 2s £z<zs+s 92
Trang 6CHUONG 5 Trién khai M6 hinh hoc may .ccsscccccssesesessesescsesseseseeecsenenseseseeeeseseneeaes 99 h5 AT H.HằHÂẬHẬĂẬ| 99
5.1.1 Deploying ML (Triển khai Mô hình Học Miáy) - -5 - 5s <5s5s<s2 99 5.1.2 Case Study (Nghiên cứu Trường hợp) «sọ 99
5.1.3 Huấn luyện và Lưu trữ Mô hình 2- 5-+-=+s+s+e++szsezezezxeeeszsezcee 100 5.1.4 Triển khai Mô hình - -c t+}ÉtEEEEEEkEkkkEkk khi 100 5.1.5 Kiểm thử Mô hình - + tt TH HH HH rg 101
5.2 Dự đoán nguy cơ mắc bệnh tiêu đường + s5 +s+s=sc+sz+eezszsezezzesxs 101 5.2.1 Xây dựng và triển khai mô hình học máy để dự đoán bệnh tiểu đường
0Ì 0 101 5.2.2 So a " 108
Trang 7CHUONG 1 Một số vẫn đề cơ bản của Machine Learning
1.1 Tại sao Machine Learning (Học Máy) ra đời và Mục dích của nó
Machine Learning (ML) là một nhánh của trí tuệ nhân tao (AI), ra đời dé giải quyết những vấn đề phức tạp mà các phương pháp lập trình truyền thống không thể xử lý hiệu quả Trong khi các hệ thông truyền thống yêu cầu người lập trình phải xác định
rõ các quy tắc và thuật toán đề giải quyết các vấn đề cụ thể, ML cho phép máy tính tự học và tự cải thiện từ dữ liệu mà không cần sự can thiệp của con người Sự phat triển mạnh mẽ của ML được thúc đây bởi các yếu tổ như lượng dữ liệu không lồ, khả năng tính toán ngày cảng mạnh mẽ, và yêu cầu xử lý các vấn đề phức tạp mà không thể giải quyết bằng cách lập trình thủ công
Lượng Dữ Liệu Ngày Càng Tăng và Phức Tạp
e Vấn đề: Với sự gia tăng của dữ liệu từ Internet, cảm biến, thiết bị di động, và các công nghệ số, lượng dữ liệu ngày nay vô cùng phong phú và đa dạng Các phương pháp truyền thống dựa vào lập trình không thê xử lý hiệu quả lượng dữ
liệu không lồ này Thêm vào đó, dữ liệu ngày cảng trở nên không có cấu trúc rõ
ràng và chứa nhiều yếu tô phức tạp, như ngữ cảnh, mỗi quan hệ, và sự thay đôi theo thời gian
« - Giải pháp của ML: Machine Learning cho phép máy tính tự động phân tích và học từ dữ liệu mà không cần phải lập trình từng quy tắc cụ thể Thay vì yêu cầu lập trình thủ công cho từng trường hợp, các thuật toán ML có thê tìm ra các mẫu và mối quan hệ ấn trong dữ liệu, điều này giúp hệ thống xử lý đữ liệu lớn
và phức tạp một cách hiệu quả
Tự Động Hóa Quy Trình và Giảm Thiếu Can Thiệp Con Người
e Vấn đề: Các công việc lặp đi lặp lại như phân loại email, phân tích dữ liệu, hay
tự động điều khiển các quy trình kinh doanh, khi được thực hiện thủ công, tốn rất nhiều thời gian và công sức Việc tự động hóa hoàn toàn các quy trình này
thông qua lập trình truyền thống là rất khó khăn và đắt đỏ
« - Giải pháp của ML: Một trong những mục đích chính của ML là tự động hóa các quy trình mà không cần sự can thiệp thủ công của con người Các thuật toán ML có thê học và tự động cải thiện qua thời gian Chăng hạn, trong một hệ thông email, ML co thé tu động phân loại thư vào các thư mục khác nhau, trong khi trong các hệ thống tài chính, ML có thê tự động phát hiện cac giao dịch gian lận dựa trên các mẫu đã học từ dữ liệu trước đó
Nhận Diện Mẫu và Dự Đoán Kết Quả
Trang 8¢ Van dé: Mét trong nhimg thach thire lớn nhất khi xử lý dữ liệu là phát hiện ra
các mẫu ân và các xu hướng trong đữ liệu Các mô hình truyền thống khó có thê nhận diện những mẫu này khi dữ liệu quá phức tạp hoặc có rất nhiều yếu tô thay đổi
« - Giải pháp của ML: ML có khả năng nhận diện các mẫu ấn trong dữ liệu mả con người không thê dễ dàng nhận ra Các thuật toán như Học có giám sát (Supervised Learning) và Học không giảm sát (Unsupervised Learning) giup tim ra các mỗi quan hệ và phân loại dữ liệu thành các nhóm có sự tương đồng Điều này đặc biệt hữu ích trong việc đưa ra dự đoán về các sự kiện tương lai dựa trên các mẫu lịch sử Ví dụ, trong ngành tài chính, ML có thể dự đoán
xu hướng thị trường chứng khoán dựa trên dữ liệu qua khử
Khả Năng Học và Cải Thiện Qua Thời Gian
‹ - Vấn đề: Các hệ thống truyền thống khi đối mặt với di liệu mới thường yêu cầu
sự can thiệp và cập nhật của lập trình viên Trong khi đó, môi trường và dữ liệu luôn thay đôi, và các hệ thông phải có khả năng thích nghi nhanh chong dé đảm bảo hiệu suất ôn định
« - Giải pháp của ML: Một trong những điểm mạnh của ML là khả năng học và cải thiện qua thời gian mà không cần sự can thiệp của con người Các mô hỉnh học máy có thể được huấn luyện để nhận ra những đặc trưng mới từ dữ liệu vả
tự động điều chỉnh để cải thiện kết quả dự đoán Điều này giúp các hệ thống
ML duy trì hiệu quả trong những tỉnh huống thay đôi liên tục Ví dụ, trong một
hệ thông phát hiện gian lận, ML có thể học từ các mẫu giao dịch mới và phát
hiện các hành vi bất thường mà không cần cập nhật thủ công các quy tắc Giải Quyết Các Bài Toán Phức Tạp và Không Thể Lập Trình Truyền Thống
‹ _ Vấn đề: Các bài toán như nhận diện hình ảnh, phân tích ngữ nghĩa trong ngôn ngữ tự nhiên, hay phân tích hành vi của khách hang trong môi trường phức tạp đòi hỏi các hệ thông phải có khả năng tự học và phân tích, điều mà các phương
pháp lập trình truyền thông khó có thể xử lý
« - Giải pháp của ML: Machine Learning cho phép giải quyết những bài toán này thông qua việc sử dụng các mô hình như Deep Learning, giup may tính tự động nhận diện và phân loại các mẫu phức tạp trong dữ liệu mà không cần phải lập trình chi tiết từng bước Ví dụ, trong nhận diện hình ảnh, ML có thé phat hiện và phân loại các đối tượng trong hình ảnh mà không cần phải lập trình thủ công cho mỗi loại hình ảnh
Xử Lý Dữ Liệu Không Co Nhan (Unsupervised Learning)
Trang 9« Van dé: Nhiéu dir ligu khéng cé nhan sẵn (dữ liệu không được phân loại hay
găn nhãn), và việc áp dụng các phương pháp truyền thống đề phân tích loại đữ
liệu này là rất khó khăn
« - Giải pháp của ML: Unsupervised Learning (Học không giám sát) cho phép các mô hình học từ dữ liệu không có nhãn và tự động phát hiện các mẫu, nhóm
dữ liệu, hoặc các điểm bất thường Điều này giúp máy tính tìm ra các câu trúc tiềm ân trong dữ liệu, từ đó đưa ra những quyết định hoặc dự đoán mà không cần gán nhãn từ trước
Dự Đoán và Ra Quyết Định Trong Môi Trường Thay Đỗi Nhanh
« - Vấn đề: Các lĩnh vực như tài chính, y té, va thương mại điện tử đòi hỏi phải đưa ra quyết định dựa trên dữ liệu thời gian thực Khi môi trường thay đôi nhanh chóng, các phương pháp truyền thông không thể phản ứng kịp thời và chính xác
« _ Giải pháp của ML: Machine Learning giúp các hệ thống có thể đưa ra quyết định nhanh chóng và chính xác bằng cách học từ dữ liệu thời gian thực Ví dụ, trong giao dịch chứng khoán, ML có thê phân tích các biến động của thị trường
và dự đoán xu hướng tiếp theo Trong ngành y tế, ML có thể phân tích các chỉ
số sức khỏe của bệnh nhân và đưa ra dự đoán về tình trạng sức khỏe trong thời gian ngắn
Khả Năng Sáng Tạo và Phát Triển Công Nghệ
e Vấn đề: Việc lập trình các hệ thông sáng tạo, chăng hạn như tạo ra âm nhạc, nghệ thuật, hoặc viết văn, bằng các quy tắc truyền thông là rất phức tạp và hạn chế
« - Giải pháp của ML: Deep Learning và các mô hình học máy có khả năng sáng tạo, giúp tạo ra các sản phâm sáng tạo như âm nhạc, văn bản, hình ảnh nghệ thuật Các hệ thống nảy học từ các dữ liệu sáng tạo trước đó để tạo ra các sản phẩm mới, điều này không chỉ giúp ích trong nghệ thuật mà còn mở ra khả năng sáng tạo trong nhiều lĩnh vực khác
1.2 Các Kỹ Thuật Machine Learning Cơ Bản
Machine Learning (ML) có nhiều kỹ thuật và phương pháp khác nhau được áp dụng tùy thuộc vào loại bài toán và dữ liệu có sẵn Dưới đây là các kỹ thuật cơ bản trong học máy, phân chia theo các phương pháp học chính: Học có giám sát (Supervised Learning), Học không giám sát (Unsupervised Learning) và Học củng cố
(Reinforcement Learning)
Trang 101.2.1 Hoe Co Giam Sat (Supervised Learning)
Học có giám sát là kỹ thuật học máy phổ biến nhất, trong đó các mô hình được huấn luyện trên đữ liệu đã được gán nhãn (có kết quả đầu ra rõ ràng) Mục tiêu là tạo ra một
mô hình có thê dự đoán được đầu ra cho dữ liệu chưa thấy
Các Kỹ Thuật Cơ Bản Trong Học Có Giám Sát:
1 Hồi quy tuyến tính (Linear Regression)
2 Hồi quy logistic (Logistic Regression)
Ứng dụng: Phân loại, chân đoán bệnh, phân tích tín dụng
3 CAy quyét dinh (Decision Tree)
Q
Oo
Mô tả: Cây quyết định là một mô hình phân loại va hồi quy, trong đó dữ liệu được chia thành các nhóm con bằng cách sử dụng các câu hỏi hoặc đặc trưng đặc trưng
Cách hoạt động: Mô hình tạo ra một câu trúc giông cây với các nhánh đại diện cho các câu hỏi hoặc các điêu kiện kiêm tra, và các lá cây là các
dự đoán
o_ Ứng dụng: Phân loại khách hàng, phân loại email, phân tích kinh doanh
4 K-Nearest Neighbors (KNN)
Trang 11Oo
M6 ta: Day là một thuật toán phân loại dựa trén khoang cach gitra cac điểm đữ liệu KNN phân loại một điểm đữ liệu mới dựa trên nhãn của các điểm dữ liệu gần nhất
Cách hoạt động: Đối với mỗi điểm dữ liệu mới, thuật toán tìm kiếm k
điểm gan nhat trong dữ liệu huấn luyện và dự đoán nhãn dựa trên đa số phiếu bầu của các điểm đó
Ứng dụng: Phân loại văn bản, nhận diện hình ảnh, phân tích hành vĩ
6 Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANN)
Ứng dụng: Nhận dạng hỉnh anh, dich may, phân tích ngữ nghĩa
1.2.2 Học Không Giám Sát (Unsupervised Learning)
Trong học không giám sát, đữ liệu không có nhãn sẵn Mô hình học từ các đặc trưng của đữ liệu để khám phá các cấu trúc ân trong dữ liệu mà không cần dựa vào các nhãn đầu ra
Các Kỹ Thuật Cơ Bản Trong Học Không Giám Sát:
1 Phan cum K-means (K-means Clustering)
o Mô tả: Là một thuật toán phân cụm phổ biến, K-means tìm cách chia dữ liệu thành k nhóm sao cho các điểm trong mỗi nhóm có sự tương đông cao nhật
Trang 12o_ Cách hoạt động: Thuật toán xác định các tâm cụm (centroids) và gan mỗi điểm dữ liệu vào nhóm gan nhất, sau đó điều chỉnh các tâm cụm dé tối ưu hóa sự phân tách
o_ Ứng dụng: Phân khúc khách hàng, phân tích dữ liệu lớn, nghiên cứu thị trường
2 Phân tích thành phần chinh (PCA - Principal Component Analysis)
o_ Mô tả: PCA là một kỹ thuật giảm chiều đữ liệu, giúp giảm bớt số lượng biến trong dữ liệu mà vẫn giữ lại phần lớn thông tin quan trọng
o_ Cách hoạt động: PCA xác định các thành phần chính (principal components) mdi, la cac két hop tuyén tính của các đặc trưng ban đầu, giúp giảm bớt độ phức tạp của dữ liệu
o_ Ứng dụng: Giảm chiều dữ liệu, tìm kiếm mẫu ẳn, phân tích hình ảnh
3 Phát hiện bắt thường (Anomaly Detection)
o_ Mô tả: Là một kỹ thuật trong học không giám sát dùng để phát hiện các điểm dữ liệu khác biệt hoặc không bình thường so với phần còn lại của tập đữ liệu
o_ Cách hoạt động: Thuật toán học các mẫu chuân trong dữ liệu và phát hiện các diém bat thường có sự khác biệt lớn
o Ung dụng: Phát hiện gian lận trong giao dich tải chính, kiểm tra chất lượng sản phẩm, phát hiện sự cố trong hệ thống
4 Mạng nơ-ron tự mã hóa (Autoencoders)
o M6 ta: Autoencoders là một loại mạng nơ-ron được huấn luyện dé hoc cách nén đữ liệu vào một không gian kích thước nhỏ và sau đó phục hồi
Trang 13Các Kỹ Thuật Cơ Bản Trong Học Củng Cố:
o Ung dung: Ty động hóa quá trình ra quyết định trong robot, xe tự lái, và các trò chơi chiến thuật
1.3 Các Kỹ Thuật Của Deep Learning
Deep Learning (Hoc sau) la mot nhánh con của Machine Learning (ML), với mục tiêu phát triển các mô hình học tự động thông qua các mạng nơ-ron nhân tạo sâu Các
kỹ thuật trong Deep Learning sử dụng nhiều lớp mạng nơ-ron để tự học từ đữ liệu, giúp giải quyết các bài toán phức tạp trong nhận dạng hình ảnh, ngữ âm, ngôn ngữ tự nhiên, và nhiều ứng dụng khác
1.3.1 Mạng No-ron Nhan Tao (Artificial Neural Networks - ANN)
¢ M6 ta: Mang no-ron nhân tạo (ANN) là mô hình học sâu co ban nhất, mô phỏng cách thức hoạt động của bộ não con người Mạng này bao gồm nhiều lớp nơ-ron (hoặc đơn vị xử lý) kết nối với nhau để học và tạo ra các dự đoán
‹ _ Cấu trúc: Một mạng ANN bao gồm ba loại lớp:
o_ Lớp đầu vào (Input Layer): Chứa các đặc trưng của dữ liệu đầu vảo o_ Lớp dn (Hidden Layers): Các lớp này thực hiện tính toán và học các đặc trưng phức tạp từ dữ liệu
o_ Lớp đầu ra (Output Layer): Cung cấp kết quả dự đoán hoặc phân loại
Trang 141.3.2
1.3.3
1.3.4
Ứng dụng: Phân loại văn bản, dự báo thời tiết, nhận diện hình ảnh
Mang No-ron Convolutional (Convolutional Neural Networks - CNNs)
Mô tả: CNNs là một loại mạng nơ-ron được thiết kế đặc biệt để xử lý và phân tích dữ liệu có cấu trúc dạng lưới, chăng hạn như hình ảnh và video CNN sử dụng các phép toán convolutfion đề phát hiện các đặc trưng như cạnh, hình dang trong anh
Cấu trúc: Một CNN dién hinh bao gồm:
o_ Lớp convolution (Convolutional Layer): Áp dụng các bộ loc (filters)
để trích xuất các đặc trưng từ ảnh
o Lép pooling (Pooling Layer): Giam độ phân giải của hình ảnh để giảm tính toán và giữ lại các đặc trưng quan trọng
o_ Lớp fully connected (Eully Connected Layer): Kết nối các đặc trưng
đã học để đưa ra kết quả phân loại
Ứng dụng: Nhận diện hình ảnh, phân loại ảnh, nhận dạng đối tượng, nhận
dạng khuôn mặt, nhận dạng chữ viết tay
Mạng Nơ-ron Hồi Tiếp (Recurrent Neural Networks - RNNs)
Mô ta: RNNs được thiết kế để xử lý dữ liệu theo chuỗi, như văn bản, âm thanh hoặc chuỗi thời gian Mô hình này có khả năng nhớ các thông tin trong quá khứ nhờ vào các kết nối hồi tiếp, giúp xử lý các dữ liệu tuần tự
Cấu trúc: Các nơ-ron trong RNN có kết nối hồi tiếp, giúp thông tin từ các bước trước đó được lưu trữ và sử dụng cho các bước tiếp theo trong chuỗi Ứng dụng: Xử lý ngôn ngữ tự nhiên (NLP), dịch máy, phân tích chuỗi thời gian, nhận dạng giọng nói, dự báo tài chính
Mang LSTM (Long Short-Term Memory Networks)
Mô tả: LSTM là một dạng mở rộng của RNN, được thiết kế để khắc phục van
dé "bién mat gradient" trong quá trình huấn luyện RNN với chuỗi dài LSTM
có các công (gates) giúp lưu trữ thông tin lâu dài và loại bỏ thông tin không cần
thiết
Cấu trúc: LSTM sử dung cac céng input gate, forget gate, va output gate dé điều khiển dòng thông tin trong mạng, cho phép mô hình học các mối quan hệ dài hạn
Ứng dụng: Dịch máy, tạo văn bản tự động, phân tích chuỗi thời gian phức tạp, nhận diện giọng nói
Trang 151.3.5
1.3.6
1.3.7
Mang No-ron Tich Hgp Attention (Attention Mechanisms)
Mô tả: Attention la mét kỹ thuật trong deep learning giup m6 hình tập trung vào các phần quan trọng nhất của dữ liệu đầu vào Kỹ thuật này giúp cải thiện hiệu suất của các mô hình xử lý ngôn ngữ tự nhiên (NLP) và các bài toán liên quan đến chuỗi
Cấu trúc: Mô hình sử dụng cơ ché attention dé tu động điều chỉnh trọng số cho từng phần của đữ liệu, giúp mô hình quyết định phần nào của dữ liệu cần chú ý nhiều hơn
Ứng dụng: Dịch máy (machine translation), tóm tắt văn bản, tạo caption cho ảnh, trả lời câu hỏi tự động
Transformer Networks
Mô tả: Transformer là một kiến trúc deep learning duoc gidi thiéu trong bai bao "Attention is All You Need" M6 hinh nay str dung hoan toan co ché self- attention dé xu ly thong tin, thay vì sử dụng các mạng hồi tiếp như RNN và LSTM
Cấu trúc: Các mô hình Transformer bao gồm hai phần chính:
o_ Eneoder: Xử lý thông tin đầu vào và chuyên đổi chúng thành các vector đặc trưng
o Decoder: Su dung cac vector đặc trưng dé tao ra dau ra
Ung dụng: Dịch máy, tạo văn bản tự động, phân tích ngữ nghĩa trong văn bản, GPT, BERT các mô hỉnh ngôn ngữ tự nhiên tiên tiễn
Generative Adversarial Networks (GANs)
Mô tả: GANs bao gồm hai mang no-ron canh tranh: Generator (Tao sinh) va Discriminator (Phan biét) Mé hinh nay hoc cach tao ra dir liéu giéng nhu dir liệu gốc bằng cách cô gắng "lừa" phân biệt Generator tạo ra đữ liệu giả, trong khi Discriminator cố găng phân biệt giữa dữ liệu thật và giả
Cấu trúc:
o_ Generator: Tạo ra dữ liệu giả từ một vector ngẫu nhiên
o_ Discriminator: Nhận dữ liệu và quyết định liệu nó là dữ liệu thật hay giả
Ứng dụng: Tạo hình ảnh, tạo video, tạo văn bản, tạo âm nhạc, tăng cường dữ liệu, chuyển đôi ảnh (style transfer)
Trang 161.3.8 Autoencoders
« - Mô tả: Autoencoders là mạng nơ-ron không giám sát được huấn luyện để học một biêu diễn nén (compressed representation) của dữ liệu đầu vào Mô hình này học cách tái tạo lại dữ liệu đầu vào từ biểu diễn nén, giúp giảm chiều dữ liệu và phát hiện các đặc trưng quan trọng
¢ Cấu trúc: Một Autoencoder bao gồm hai phần:
o_ Eneoder: Mã hóa đầu vào thành một vector nén
o_ Decoder: Tái tạo lại đầu ra từ vector nén
« Ung dụng: Giảm chiều dữ liệu, học đặc trưng, phát hiện bắt thường, lọc nhiễu 1.3.9 Deep Reinforcement Learning (DRL)
¢ M6 ta: Deep Reinforcement Learning két hop giita hoc cuing cé va hoc sau Các mô hỉnh DRL sử dụng các mạng nơ-ron sâu đề học cách tôi ưu hóa hành động trong môi trường, thông qua việc tối đa hóa phần thưởng tích lũy
« Cấu trúc DRLsử dụng các mô hình học sâu (như CNN hoặc RNN) để học các chiến lược hành động trong các môi trường phức tạp Hệ thống này có thể tự động học và tối ưu hóa chính sách hành động qua nhiều vòng huấn luyện
« Ung dụng: Xe tự lái, game, robot tự động, tối ưu hóa chiến lược
1.4 Làm Sạch và Chuẩn Hóa Dữ Liệu (Data Cleaning and Preprocessing)
Làm sạch và chuẩn hóa dữ liệu là một bước quan trọng trong quy trình phân tích dữ
liệu và xây dựng mô hình học máy Dữ liệu thô có thể chứa nhiều lỗi và sự thiếu sót,
và chúng cần được xử lý trước khi có thể đưa vào mô hình học máy
Các bước trong quá trình làm sạch và chuẩn hóa dữ liệu thường bao gồm:
Các Bước Cơ Bản:
1.4.1 Nhận diện và Xử lý Dữ Liệu Thiếu (Missing Data)
Trong quá trình phân tích và xử lý dữ liệu, dữ liệu thiếu là một vấn đề phổ biến có thể ảnh hưởng nghiêm trọng đến hiệu quả của mô hình học máy Các phương pháp để xử
lý dữ liệu thiếu bao gồm:
Phát hiện dữ liệu thiếu
¢ Sir dung phương pháp thống kê:
o_ Đêm số lượng giá trị thiêu trong mỗi cột đề xác định mức độ nghiêm trọng của dữ liệu thiêu
Trang 17o Thuong sử dụng các phương pháp như isnull() hoặc sum() trong thu viện Pandas đê phát hiện và đếm các giá trị bị thiếu
Xử lý dữ liệu thiếu
¢ Điền giá trị thay thế:
o_ Điền giá trị trung bình (mean) cho dữ liệu số, hoặc mođe (giá trị xuất
hiện nhiều nhất) đối với dữ liệu phân loại
o_ Ví dụ: Cột Age có thê điền giá trị trung bình hoặc điền giá trị của độ tuôi
nhóm tương ứng (ví dụ nhóm tuôi 30-40)
« Sử dụng thuật toán dé du doan gia tri thiéu (Imputation):
o_ Một số kỹ thuật nâng cao sử dụng các mô hình học máy đề dự đoán giá trị thiếu dựa trên các đặc trưng khác Thường sử dụng các mô hình như KNN, Decision Trees để dự đoán gia tri
o Thu vién nhu sklearn.impute.SimpleImputer hoac IterativeImputer
có thê được sử dụng
« Loại bỏ dữ liệu thiếu:
o_ Nếu tỉ lệ dữ liệu thiếu quá cao (vi dụ, hơn 40% dữ liệu bị thiếu trong một cột), có thể loại bỏ cột đó
o_ Loại bỏ hàng khi dữ liệu thiếu quá nhiều, nhưng chỉ thực hiện khi số
lượng hàng thiếu không quá lớn so với tông số hàng
1.4.2 Xử lý Dữ Liệu Sai (Outliers)
Outliers hay giá trị ngoại lai là các giá trị nằm ngoài phạm vi dự đoán bình thường của
dữ liệu Các giá trị này có thê là sai sót trong quá trinh thu thập hoặc nhập liệu, hoặc
có thê là những giá trị cực đoan nhưng hợp lệ
Phát hiện Outliers
¢« Phuwong phap IQR (Interquartile Range):
o Cach phé bién dé phat hién outliers là sử dụng khoảng tứ phân vị (IQR) Giá trị ngoại lai có thể được xác định là những giá trị nằm ngoài phạm
vi [QL - 1.5*IQR, Q3 + 1.5*IQR], với Q1 và Q3 là tứ phân vị thứ nhất
và thứ ba
¢« Phương pháp Z-score:
Trang 18o Nêu dữ liệu có phân phoi chuan, có thê sử dụng Z-score đê phát hiện outliers Cac giá trỊ có Z-score > 3 hoặc < -3 được coi là ngoại lai
1.4.3 Chuyên Đỗi Dữ Liệu (Data Transformafion)
Chuyên đổi dữ liệu giúp đưa dữ liệu vào một dạng có thê sử dụng được cho mô hỉnh học máy
Chuyén đỗi dữ liệu phân loại thành dữ liệu số (Encoding Categorical Variables):
¢ Label Encoding: Chuyén cac giá trị phân loại thành các giá trị số nguyên Tuy nhiên, phương pháp này có thê gây hiểu nhằm nếu dữ liệu phân loại không có thứ tự (ordinal) Ví dụ, cột Gender với các giá trị "Male", "Female" có thể mã
hóa thành 0 va 1
¢ One-Hot Encoding: Tao cac cét nhị phân cho mỗi giá trị phân loại Ví dụ, với cột City, "New York" có thé trở thành cột City _New York, có giá trị | hoặc 0
Chuẩn hóa và Tỉ lệ hóa Dữ Liệu:
¢ Chuan héa (Normalization): La quá trình thay đổi giá trị của các thuộc tính sao cho tất cả các giá trị của dữ liệu nằm trong khoảng từ 0 đến I Điều này rất quan trọng khi sử dụng các thuật toán yêu cầu tính toán khoảng cách như KNN, SVM
o_ Công thức chuẩn hóa: Xaorm=X—XminXmax-XminX {\textƒnorm}} =
\Wrac{X - X_{Wext{min}}}{X {\text{max}} - X_{\text{min}}}Xnorm
=Xmax—XminX—Xmin
¢ Tilé héa (Standardization): La quá trình thay đổi các giá tri sao cho dữ liệu
có giá trị trung bình là 0 và độ lệch chuẩn là 1 Kỹ thuật này thích hợp với các thuật toán hoc may nhu Linear Regression, Logistic Regression va PCA
o Céng thitc chuan hoa: Xscaled=X—ppoX_{\text{scaled}} =\frac{X -
\mu} {\sigma} Xscaled=oX—n trong do u\muyp là giá trị trung bình va o\sigmao là độ lệch chuẩn
Trang 191.4.4, Loai Bé Các Biến Không Cần Thiét (Feature Selection)
Chọn lựa các đặc trưng (features) có ảnh hưởng đến mô hình là một bước quan trọng
dé cai thiện hiệu quả và giảm độ phức tạp của mô hình
Ky thuat Feature Selection:
¢ Variance Threshold: Loai bo cac bién co phuong sai thap, vi ching khéng mang nhiéu théng tin
¢ Correlation Matrix: Kiém tra ma tran tuong quan gitta cac bién s6 Néu hai biến có tương quan cao, có thể loại bỏ một trong số chúng đề tránh hiện tượng
đa cộng tuyến (multicollinearity)
« - Đặc (trưng quan trọng từ mô hình: Sử dụng các mô hình học máy như
Random Forest hoặc XGBoost để xác định mức độ quan trọng của các đặc trưng và chọn ra các đặc trưng quan trọng
1.4.5 Chỉnh sửa Dữ Liệu Sai (Correcting Data Errors)
Dữ liệu có thể bị lỗi do qua trinh thu thập hoặc nhập liệu Những lỗi này có thê ảnh hưởng lớn đến kết quả phân tích Các bước sửa chữa dữ liệu sai bao gồm:
« Kiém tra tính hợp lệ của kiểu dữ liệu: Kiểm tra và sửa các kiểu dữ liệu không hợp lệ Ví dụ, cột Date of Birth nên là kiểu datetime, không phải kiều chuỗi
‹« _ Sửa lỗi nhập liệu: Dữ liệu nhập sai như tên không đúng, số điện thoại thiếu, hay địa chỉ email không hợp lệ cần được xử lý Cũng có thê sửa các giá trị sai như giá trị âm trong các trường không thẻ có giá trị âm (ví dụ: thu nhập, tuổi) 1.4.6 Xử lý Dữ Liệu Không Dong Nhat (Handling Inconsistent Data)
Dữ liệu không đồng nhất có thể bao gồm các vấn đề như:
« - Các giá trị ghi không thống nhất (ví dụ: viết "yes", "Yes", "YES" cho cùng một giá trị phân loại)
« _ Các đơn vị đo lường không thống nhất (ví dụ: chiều cao ghi bằng cm và m)
Xử lý dữ liệu không đồng nhất:
‹ - Chuẩn hóa các giá trị phân loại: Đảm bảo rằng các giá trị phân loại như
"ves", "Yes" đều được chuẩn hóa về một dạng duy nhất (ví dụ: "yes")
‹ - Chuyến đỗi đơn vị đo lường: Nếu cần thiết, chuyên đổi các đơn vị đo lường
về một dạng chuẩn
Trang 20Vi Du Cu Thé
Giả sử có bộ dữ liệu khách hàng với các cột nhu Age, Income, Gender, City,
Purchase Amount, va Credit Score Cụ thé:
1 Dữ liệu thiếu: Cột Age có 5 giá trị thiếu, có thé điền giá trị trung bình của tuôi Cột Gender có nhiều cách viết khác nhau (ví dụ: "male", "Male", "M"), nên cần chuan héa thanh "Male" va "Female"
2 Dữ liệu ngoại lai: Cột Income có một vài giá trị ngoại lai rất cao (ví dụ: I triệu USD), có thể sử dụng phương pháp IQR đề phát hiện và loại bỏ
3 Chuyên đổi phân loại: Cột City có các giá trị như "New York", "Los Angeles",
có thê áp dụng One-Hot Encoding đề chuyền thành các cột riêng biệt như City New York, City_Los Angeles
4 Chuẩn hóa dữ liệu: Cột Income có giá trỊ rất lớn, có thê chuẩn hóa
Trang 21CHUONG 2 Deep Learning 2.1 Lịch sử phát triển
Deep Learning (DL), hay học sâu, là một lĩnh vực con của học máy (Machine
Learning) tập trung vào các mô hình mạng nơ-ron nhân tạo có nhiều lớp (layers) để học các biểu diễn đữ liệu từ các đặc trưng đơn giản đến phức tạp Lịch sử phát triển của Deep Learning có thể chia thành nhiều giai đoạn quan trọng, từ những ý tưởng ban đầu cho đến sự phát triển mạnh mẽ trong những năm gần đây
2.1.1 Khởi đầu của các mô hình học may va mang no-ron (1950s - 1980s)
1950s - 1960s: Khởi đầu
« 1950s: Các nhà khoa học đầu tiên bắt đầu nghiên cứu các mô hình học máy, với những khái niệm cơ bản về trí tuệ nhân tạo (AI) Alan Turing là người đi đầu trong việc đưa ra các ý tưởng về máy tính và trí tuệ nhân tạo Năm 1950,
Turing dua ra bai bao “Computing Machinery and Intelligence", trong do 6ng
đề xuất "Turing Test" như một tiêu chuân đề xác định trí tuệ nhân tạo
« 1958 - Frank Rosenblatt: M6 hinh Perceptron là một trong những phat minh đầu tiên có ảnh hưởng lớn đến sự phát triển của mạng nơ-ron nhân tạo Đây là
một mô hình đơn giản để phân loại các điểm dữ liệu, với một lớp duy nhất
(sinple-layer)
1960s - 1970s: Thoi ky am dam (AI Winter)
« Mac du mang no-ron đã xuât hiện từ những năm 1950, nhưng các nghiên cứu
về học sau van gap phải nhiêu van đề, chăng hạn như vẫn đề gradient
vanishing khi đào tạo các mạng nơ-ron với nhiêu lớp
« - Cuối những năm 1960 và 1970, có sự suy giảm sự quan tâm đến nghiên cứu AI, một giai đoạn được gọi là AI Winter (mùa đông AI), do thiếu ứng dụng thực tế
và hạn chế của phần cứng
2.1.2 Sự tải sinh của mạng nơ-ron và sự phát triển của backpropagation (1980s - 1990s)
1980s: Tái xuất hiện và thuật toán backpropagation
« 1986 - Geoffrey Hinton, David Rumelhart, Ronald J Williams: Phat minh quan trọng nhất của thập kỷ này là thuật toán backpropagation (truyén
ngược), cho phép huấn luyện các mạng nơ-ron đa lớp (multilayer neural
networks) Thuật toán này giúp giảm thiểu lỗi trong quá trình huấn luyện mạng bằng cách truyền ngược lỗi từ đầu ra về các lớp ân, điều chỉnh trọng số của mỗi nơ-ron
Trang 22« Tuy nhién, mac du thuat toan backpropagation là bước đột phá quan trọng, mang no-ron van gap phai nhiều khó khăn trong việc xử lý các mô hình có nhiều lớp do vấn đề vanishing øradient và giới hạn của phần cứng trong thời gian đó
1990s: Mạng nơ-ron sâu và SVM
« _ 1990s: Cùng với sự phát triển của thuật toán Support Vector Machine (SVM), các phương pháp học máy như Decision Trees và Random Forests bắt đầu trở nên phổ biến, và học sâu dường như không còn là sự lựa chọn chính trong nghiên cứu
« _ Tuy nhiên, vẫn có một số nhóm nghiên cứu tiếp tục cải thiện các mô hình nơ- ron sâu, đặc biệt là trong lĩnh vực nhận diện chữ viết tay
2.1.3 Kỷ nguyên của Deep Learning hiện đại (2000s - nay)
2000s: Mạng nơ-ron học được nhờ GPU
« _ 2006 - Geoffrey Hinton: Geoffrey Hinton và các cộng sự công bố một bài báo quan trong vé Restricted Boltzmann Machines (RBM) va Deep Belief
Networks (DBN) Các mô hình này giúp vượt qua một số hạn chế của mạng nơ-ron truyền thống, mang đến khả năng huấn luyện mạng sâu hơn Đây là những bước đầu tiên trong việc phát triển các mô hình deep learning hiện đại
« - Trong những năm này, một bước đột phá quan trọng nữa là việc sử dụng GPU (Graphics Processing Units) để tăng tốc quá trình huấn luyện Các mô hình học máy truyền thống phụ thuộc nhiều vào CPU, nhưng GPU đã chứng minh khả năng xử lý song song mạnh mẽ, giúp giảm thời gian huấn luyện mạng nơ- ron với số lượng lớn dữ liệu
2012: Bước dột phá trong nhận diện hình ảnh
« 2012 - AlexNet: M6 hinh AlexNet do Alex Krizhevsky, Ilya Sutskever, va Geoffrey Hinton phat triển đã mang đến một bước đột phá trong nhận diện hình ảnh AlexNet sử dụng một mạng nơ-ron sâu với 8 lớp, bao gồm các lớp convolutional va max pooling, va đã chiến thắng trong cuộc thi ImageNet Large Scale Visual Recognition Challenge (ILSVRC), giảm mạnh tỷ lệ lỗi so với các phương pháp trước đó
o_ Kết quả của AlexNet đã làm nô ra một cuộc cách mạng trong cộng
đồng AI, khiến các nhà nghiên cứu và công ty lớn bắt đầu chú ý hơn đến
deep learning Các công ty như Google, Facebook, va Microsoft bắt đầu đầu tư vào nghiên cứu deep learning
16
Trang 232014: GANs va Deep Reinforcement Learning
2014 - Generative Adversarial Networks (GANs): Ian Goodfellow va cac cộng sự giới thiệu GANs, một kỹ thuật deep learning moi trong đó hai mạng nơ-ron cạnh tranh với nhau: một mạng tạo ra dữ liệu giả, trong khi mạng còn lại phân biệt giữa dữ liệu thật và g1ả
Deep Reinforcement Learning (DRL): Các nghiên cứu về Reinforcement Learning (RL) két hop voi deep learning dé tạo ra các tác vụ tự học trong môi trường phức tạp Một ví dụ nỗi bật là thành công của DeepMind với AlphaGo,
sử dụng deep reinforcement learning để đánh bại các nhà vô địch Go của thế gidi
2015 - 2017: Tiến bộ trong các mô hình học sâu
2015 - ResNet (Residual Networks): ResNet do Kaiming He và các cộng sự phát triển là một bước đột phá trong việc xây dựng các mạng rất sâu (hơn 100 lớp) Mạng ResNet sử dụng skip connections (kết nối bỏ qua) đề tránh vẫn đề vanishing gradient và giúp huấn luyện các mô hình cực kỳ sâu mà không bị mắt đi độ chính xác
2016 - Transformer và BERT: Vaswani et al giới thiệu Transformer, một
mô hình mới giúp xử lý các chuỗi đữ liệu (như văn bản) mà không cần đến các mạng nơ-ron hồi tiếp (RNN) Mô hình này trở thành nền tảng cho các tiễn bộ
trong xử lý ngôn ngữ tự nhiên (NLP) BERT và các mô hình sau đó, như GPT, đều dựa trên Transformer và đã dẫn đến sự bùng nô trong ứng dụng của deep learning vao NLP
2018 - 2023: Deep Learning trở thành xu hướng chủ đạo
GPT-3 và các mô hình ngôn ngữ lớn khác đã đặt deep learning ở trung tâm của các ứng dụng AI hiện đại, bao gồm cả văn bản, hình ảnh, âm thanh và video Các ứng dụng deep learning giờ đây không chỉ dừng lại ở nhận diện hình ảnh
mả còn mở rộng sang các lĩnh vực như tự động lái xe, chăm sóc sức khỏe, va trò chơi điện tử
2.2 Kiến trúc mạng Neuron
Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANN) là một thành phần chính của học sâu (Deep Learning) được thiết kế để mô phỏng hành vi của não bộ con người nhằm giải quyết các vấn để phức tạp dựa trên dữ liệu ANN được sử dụng rộng
rai trong nhiều lĩnh vực khác nhau, từ nhận dạng giọng nói, nhận diện khuôn mặt đến
chăm sóc sức khỏe và tiếp thị
Trang 24Dữ liệu đầu vào được đưa vào ANN qua nhiều lớp nơ-ron nhân tạo xếp chong lên nhau, thực hiện các phép toán phức tạp để tạo ra kết quả đầu ra mong muốn
2.2.1 Các Thành Phần Chính trong Kiến Trúc Mạng Nơ-ron
Kiên trúc mạng nơ-ron được tạo thành từ các đơn vị cơ bản gọi là nơ-ron, với mục tiêu băt chước cách thức hoạt động của nơ-ron sinh học trong não bộ Dưới đây là chị tiết các thành phần:
Thành phần của một nơ-ron trong ANN
o Qua trình học sẽ điều chỉnh trọng số đề tối ưu hóa kết quả
o Ví dụ: Trong phân tích cảm xúc, từ ngữ tiêu cực sẽ có trọng sô cao hơn các từ trung tính, ảnh hưởng lớn đến dự đoán cuối củng
3 Transfer Function (Ham chuyén doi):
18
Trang 25o Két hop tat cả các giá tri đầu vào lại thành một giá trị dau ra duy nhất bang cach tinh téng (summation) cac gia trị đầu vào đã nhân trọng số
4 Activation Function (Ham kich hoat):
o_ Hàm kích hoạt thêm tính phi tuyến vào mạng, giúp mô hình có thê học được các mối quan hệ phức tạp
o_ Nếu không có hàm này, mạng sẽ chỉ thực hiện các phép toán tuyến tính, giới hạn khả năng học
o_ Ví dụ: Các hàm kích hoạt phố biến gồm ReLU, Sigmoid, Tanh
5 Bias (Độ lệch):
o Độ lệch điều chỉnh giá trị được tạo ra bởi hàm kích hoạt, tương tự như hằng số trong phương trình tuyến tính
o_ Bias giúp mô hỉnh hoạt động hiệu quả hơn trong việc tối ưu hóa
Kiến Trúc Mạng Nơ-ron Đa Lớp
Khi nhiều nơ-ron được kết nối và sắp xếp trong các lớp, chúng tạo thành kiến trúc mang no-ron da lép (Multi-layer Neural Network) Kién trúc cơ bản gồm:
Input Layer Hidden Layer 1 Hidden Layer 2 Output Layer
1 Input Layer (Lop dau vao)
« _ Lớp này nhận đữ liệu từ các nguồn bên ngoài như tệp CSV, cơ sở dữ liệu, hoặc dịch vụ web
« _ Đây là lớp duy nhất trong mạng có thê quan sát được từ bên ngoài
« _ Không thực hiện bất kỳ tính toán nào, chỉ truyền dữ liệu vào các lớp tiếp theo
19
Trang 262 Hidden Layers (Lép an)
« _ Là những lớp trung gian giữa đầu vào và đầu ra, thực hiện tat cả các phép toán
và trích xuất đặc trưng từ dữ liệu
« - Lớp ân cho phép mô hình học các đặc trưng phức tạp trong dữ liệu
3 Qutput Layer (Lớp đầu ra)
« - Nhận dữ liệu từ các lớp ân để đưa ra kết quả cuối cùng
« = Ví dụ:
o_ Trong bải toán phân loại, lớp đầu ra có thê là một nút (node) đại diện cho một nhãn cụ thê
o_ Trong hổi quy, lớp đầu ra có thê là một giá trị số
2.2.2 Các Kiến Trúc Mạng Nơ-ron Tiêu Chuẩn
Trang 27o Day la dang mang co ban va phé bién nhất
¢ Qua trinh hoc:
o_ Thông tin được truyền qua các lớp, trọng số được điều chỉnh qua quá trình lan truyén nguoc (backpropagation) dé giam sai s6
° Ứng dụng:
o_ Hồi quy, phân loại
3 Residual Networks (ResNet)
‹ Vấn đề trong mạng sâu:
o_ Khi mạng có quá nhiều lớp, gradient có thê giảm hoặc tăng quá nhanh (hiện tượng vanishing gradient hoac exploding gradient), gay kho khan trong huấn luyện
«ồ Cách giải quyết cua ResNet:
o_ Sử dụng skip connecfions (kết nỗi bỏ qua) để cho phép dữ liệu từ các lớp đầu tiên được chuyền trực tiếp đến các lớp sau
o Skip connections gitip mé hinh hoc tét hon ma không làm mất thông tin 2.3 Các bước xây dựng mô hình học sâu (Deep Learning)
Xây dựng một mô hình học sâu (Deep Learning) đòi hỏi một quy trình có hệ thống, từ việc chuẩn bị dữ liệu đến triển khai mô hình vào ứng dụng thực tế Dưới đây là các bước chỉ tiết:
2.3.1 Xác định bài toàn
« _ Mục tiêu: Làm rõ vẫn đề cần giải quyết, chăng hạn như phân loại, hồi quy, nhận diện đối tượng, hoặc dự đoán chuỗi thời gian
«ồ Loại dữ liệu:
o_ Dữ liệu đầu vào (hình ảnh, âm thanh, văn bản, đữ liệu số)
o_ Dữ liệu đầu ra (nhãn phân loại, giá trị số, chuỗi ký tự)
Trang 282.3.2 Thu thập và chuẩn bị dữ liệu
o_ Xử lý dữ liệu thiếu, loại bỏ đữ liệu nhiễu hoặc không hợp lệ
o_ Chuẩn hóa đữ liệu (ví dụ: chuẩn hóa ảnh về cùng kích thước, chuân hóa giá trị đầu vào về khoảng [0, I])
¢« Phân chia dữ liệu:
o_ Chia thành ba tập:
«Training set (tập huấn luyện): Đề huấn luyện mô hình (thường
chiếm 70-80% đữ liệu)
» _ Validation set (tập kiểm định): Đề tối ưu hóa và kiểm tra mô
hình trong quá trình huấn luyện (thường 10-20%)
» _ Test set (tập kiểm tra): Đề đánh giá hiệu năng cuối cùng của mô hình (thường 10%)
2.3.3 Chọn kiến trúc mang no-ron
« Xac định loại mô hình phù hợp với bài toán:
o Feedforward Neural Network (ENN): Các bài toán hồi quy hoặc phân loại cơ bản
o Convolutional Neural Network (CNN): Xử lý hình anh va video
o Recurrent Neural Network (RNN): Xử lý đữ liệu chuỗi như văn bản hoặc âm thanh
o_ Transformer: Các bài toán xử lý ngôn ngữ tự nhiên và dữ liệu tuần tự lớn
¢« - Số lượng lớp và nơ-ron:
o_ Lựa chọn sô lớp ân và sô lượng nơ-ron trong môi lớp đê cân băng g1ữa hiệu năng và độ phức tạp
22
Trang 292.3.4 Chọn hàm mất mát (Loss Function)
Hàm mắt mát giúp đo lường độ sai lệch giữa đầu ra của mô hình và nhãn thực tế Loại hàm mắt mát phụ thuộc vào bài toán:
« Phân loại:
o Binary Crossentropy: Phan loại hai lớp
o Categorical Crossentropy: Phan loại nhiều lớp
« Hồi quy:
o Mean Squared Error (MSE): Chénh lệch binh phương giữa giá trị dự đoán và gia tri thực
o Mean Absolute Error (MAE)
«ồ Cac bai toán đặc biệt:
o Hinge Loss: Phân loại với SVM
o_ Sparse Categorical Crossentropy: Phân loại nhiều lớp với nhãn dạng số 2.3.5 Chọn thuật toán tối ưu hóa (Optimizer)
Các thuật toán tối ưu hóa giúp cập nhật trọng số của mạng đề giảm giá trị của hàm mat mat:
¢ Gradient Descent: Thuat toan co ban, cAp nhat trọng số theo hướng giảm gradient
« Stochastic Gradient Descent (SGD): Cap nhat trong s6 sau mdi mau
« Adam Optimizer: Két hop gitta SGD va Moment Optimization, phé bién va hiéu qua
2.3.6 Thiét ké qua trinh huan luyén
« Xác định số epoch:
o Số lần toàn bộ tập dữ liệu huấn luyện được đưa qua mô hình Quá ít epoch co thé dan dén underfitting, qua nhiéu dan dén overfitting
« Chọn kích thước batch (Batch Size):
o_ Kích thước tập hợp các mẫu được đưa vào mô hình trong một lần tính toán
« - Regularization (Quy chuẩn hóa):
23
Trang 30o_ Dropout: Loại bỏ ngẫu nhiên một số nơ-ron trong quá trình huấn luyện
dé tránh overfÑtting
o_ Weight Decay: Thêm ràng buộc vảo trọng số để hạn chế giá trị lớn 2.3.7 Triển khai huấn luyện mô hình
«ồ Cong cu:
o_ Sử dụng thư viện học sâu như TensorFlow, PyTorch, Keras
o_ Xây dựng và biên dịch mô hình với các tham số như kiên trúc, hàm mật mát, và thuật toán tôi ưu
Vi du voi Keras:
from keras.models import Sequential
from keras.layers import Dense
# Tao mé hinh
model = Sequential ()
model.add (Dense (128, activation='relu', input shape=(input dim, )))
model.add(Dense(64, activation='relu'))
model.add (Dense (output dim, activation='softmax') )
# Bién dich mé hinh
model.compile(optimizer='adam', loss='categorical crossentropy',
metrics=['accuracy'])
# Huẫn luyện mô hình
model.fit(X train, y train, epochs=10, batch size=32,
validation data=(X val, y_val))
2.3.8 Đánh giá mô hình
‹ _ Sử dụng tập kiểm tra (Test SeÐ:
o_ Đo lường hiệu năng của mô hình trên dữ liệu chưa từng thấy
o Su dung cac chi SỐ:
«= Accuracy: Ti 1é du đoán đúng
24
Trang 31« Precision, Recall, Fl-score: Đặc biệt quan trọng trong cac bai toán phân loại mắt cân bằng
= Mean Absolute Error (MAE), Root Mean Squared Error (RMSE): Trong bài toán hồi quy
2.3.9 Trién khai va cai tiền
« = Trién khai:
o Tich hop mô hỉnh vào hệ thống thực tế, ví dụ: API, ứng dụng di động, hoặc hệ thông phân tích
« Theo dõi và cải tiến:
o_ Giám sát hiệu năng của mô hỉnh trong môi trường thực tế
o_ Thu thập dữ liệu mới và tải huấn luyện mô hình để cải thiện
2.3.10 Tối ưu hóa và mở rộng
¢ Tối ưu hóa:
o_ Điều chỉnh hyperparameter (tham số siêu) như số lớp, số nơ-ron, tốc độ học (learning rate)
o Su dung Grid Search hoặc Bayesian Optimization dé tìm bộ tham số tối ưu
«ồ Mở rộng:
o_ Áp dụng các kỹ thuật nhu hoc chuyén giao (Transfer Learning) dé tan dụng các mô hình đã được huấn luyện trước trên tập dữ liệu lớn
2.4 Mạng Nơ-ron Tích Chập (Convolutional Neural Networks - CNNs)
CNN là một loại mạng nơ-ron truyền thăng (Feed-Forward Neural Network) được thiết kế chuyên biệt cho các bài toán xử lý dữ liệu dạng lưới, như hình ảnh và video CNN được sử dụng phô biến trong:
« - Phân tích hình ảnh: Nhận diện khuôn mặt, nhận diện vật thể, phát hiện biên
« - Xử lý ngôn ngữ tự nhiên (NLP): Phân loại văn bản, phát hiện ý nghĩa
« - Phân loại hình ảnh phức tạp: Ví dụ, nhận diện mèo, chó, hoặc eau Koala
trong hinh minh hoa
2.4.1, Cấu tric CNN
CNN được xây dựng từ nhiều lớp (layers), với các chức năng chính:
25
Trang 32Feature Extraction & Classification
Eye, nose, ears etc
1 Lép tich chap (Convolutional Layers):
o_ Các lớp này phát hiện các đặc trưng (features) trong dữ liệu, như:
» _ Cạnh (edges), đường viễn (borders), hình dạng (shapes)
_ Các đặc trưng phức tạp hơn như mắt, tai, mũi của vật thẻ
o_ Bộ lọc (Eilters):
»_ Là một ma trận nhỏ (ví dụ: 3x3, 5x5), được sử dụng đề quét qua anh dau vao
26
Trang 33« Bo loc “tich chap" (convolve) trén timg vung nho của ảnh, nhân cac gia tri pixel voi trong số trong bộ lọc, sau đó cộng lại dé tao thành một giá trị đầu ra duy nhất
o_ Phép tích chập:
» _ Tạo ra các ban do dic trung (feature maps), thê hiện các chi tiết được phát hiện từ ảnh đầu vào
o Ham kích hoạt (ReLU):
» Thay thé cac giá trị âm trong bản đồ đặc trưng bằng 0, giúp mô hình có tính phi tuyến cao hơn
2 Lớp gộp (Pooling Layers):
o_ Giảm kích thước không gian của bản đồ đặc trưng, giảm số lượng tham
số và tính toán
o Max Pooling: Lay gia trị lớn nhất trong mỗi vùng con
o_ Average Pooling: Lấy giá trị trung bình của các giá trị trong vùng con o_ Lợi ích:
»_ Làm cho mô hỉnh chịu được các biến dạng (distortions) hoặc thay đôi nhỏ (variations) trong ảnh, như xoay ảnh hoặc thay đổi ánh sảng
3 Làm phẳng (Flattening):
o_ Sau các lớp tích chập và gộp dữ liệu (các bản đỗ đặc trưng) được làm phăng thành một vector để chuẩn bị cho giai đoạn phân loại
4 Lớp kết nối đầy du (Fully Connected Layers):
o_ Nhận dữ liệu từ các lớp trước đó để đưa ra dự đoán cuối củng
° Ứng dụng:
» _ Phân loại hỉnh ảnh thành các nhãn cụ thê (ví dụ: mèo, chó, hoặc gau Koala)
2.4.2 Quy trình Trích xuất Đặc trưng và Phân loại
1 Trích xuất đặc trưng (Feature Extraction):
¢ Lép dau tiên:
27
Trang 34o_ Phát hiện các đặc điểm co bản, như cạnh, góc, hoặc các đường viên
«ồ Lớp sâu hơn:
o_ Phát hiện các chi tiết phức tạp hơn, nhu mat, tai, va cac đặc điểm cụ thê của vật thê
o_ Ví dụ: Trong hình ảnh minh họa, các lớp đầu tiên nhận diện tai và mắt,
trong khi các lớp sau nhận diện toàn bộ phần đầu hoặc cơ thể của eau Koala
2 Phan loai (Classification):
« - Dữ liệu sau khi qua các lớp tích chập và gộp được làm phăng và đưa vào các
lớp kết nối đầy đủ
« - Lớp cuối cùng đưa ra dự đoán dựa trên xác suất, ví dụ: "Hình này có phải là gầu Koala không?"
2.4.3 Ưu điểm của CNN
« - Hiệu quả tính toán:
o_ CNN giảm số lượng tham số cần huấn luyện nhờ vào việc sử dụng bộ lọc chung cho toàn bộ ảnh
« Khả năng tông quát hóa tốt:
o_ Các lớp gộp giúp mạng không bị ảnh hưởng bởi các biến dạng nhỏ trong
dữ liệu, như xoay hoặc thay đôi góc nhìn
¢ Ung dung rong rai:
o_ Từ nhận diện hình ảnh, nhận diện khuôn mặt, cho đến xử lý ngôn ngữ tự nhiên
Trang 35# Chuẩn hóa đỡ liệu: chuyển đổi giá trị pixel về khoảng [0,1]
x train, x test = x train / 255.0, x test / 255.0
# Chuyên đổi đữ liệu thành định dang 4D cho CNN
x train = x_train.reshape(-1, 28, 28, 1) # (số mẫu, chiều cao, chiéu réng,
# Huẫn luyện mô hình
model.fit(x train, y train, epochs=5, batch size=32)
# Danh giá mô hình
test loss, test acc = model.evaluate(x test, y test)
print(f'Accuracy on test dataset: {test acc:.4f}')
29
Trang 36def predict digits(image) :
# Chuyén ảnh sang ché dé grayscale néu cần
image = image.convert('L")
# Chuyển ảnh thành mảng numpy
image data = np.array (image)
# Dung OpenCV để phát hiện các vùng chứa chữ
_, thresh = cv2.threshold(image data, 128, 255, cv2.THRESH BINARY INV)
# Tim cac contours trong anh
contours, — = cv2.findContours (thresh, cv2.RETR_ EXTERNAL,
cv2.CHAIN APPROX SIMPLE)
# Sắp xếp các contours theo thứ tụ từ trái sang phải (theo trục x) contours = sorted(contours, key=lambda contour:
cv2.boundingRect (contour) [0] )
# Tạo danh sách lưu kết quả dự đoán
predictions = []
# Duyét qua các contour, tìm tùng chữ
for contour in contours:
# Tinh bounding box cho mỗi chữ
x, Y, w, h = cv2.boundingRect (contour)
# Cắt phần chữ tù ảnh gốc
đigit image = image đata[y:y+h, x:x+w]
# Resize về 28x28 để phù hợp với mô hình
đigit image = cv2.resize(digit image, (28, 28))
30
Trang 37digit image = digit image / 255.0
# Thém chiéu để phù hợp với đầu vào của CNN (28x28x1)
đigit image = đigit image.reshape(1, 28, 28, 1)
†# Dự đoán với mô hình CNN bredictien = model.predict (đigit image) predictions.append(str(np.argmax(prediction))) # Lay nhãn có xác
suất cao nhất
# Trả về đanh sách các nhãn dự đoán cho từng chữ
return ', '.join(predictions)
# Tao giao điện với Gradio
interface = gr.Interface(fn=predict digits,
inputs=gr.Image (image mode='L', type='"pil'), # Dam bao nhap anh 6 dang PIL
outputs="text", live=True, title="Handwritten Digit Recognition (CNN)", description="Upload an image with handwritten digits to predict the digits using CNN.")
# Chay tng dung Gradio
interface.launch()
Accuracy on test dataset: @.9876
* Running on local URL: http://127.0.0.1:7863
To create a public link, set `share-True` in `launch(}`
Handwritten Digit Recognition (CNN)
Upload an image with handwritten digits to predict the digits using CNN
&
Flag Clear
31
Trang 38Tóm Tắt Các Bước Thực Hiện
I Chuẩn Bị Dữ Liệu (MNIST):
o_ Tải bộ đữ liệu chữ số viết tay MNIST từ TensorFlow
o_ Chia dữ liệu thành tập huấn luyện vả kiểm tra
o_ Chuẩn hóa giá trị pixel về khoảng [0, 1]
o_ Định dạng dữ liệu thành 4 chiêu (sô mẫu, chiêu cao, chiêu rộng, số kênh)
2 Xây Dựng Mô Hình CNN:
o_ Thêm các lớp:
«= Conv2D: Phat hién đặc trưng trong dữ liệu
» MaxPooling2D: Giảm độ phân giải và số lượng tham số
3 Huấn Luyện và Đánh Giá Mô Hình:
o _ Huấn luyện mô hỉnh trên tập huấn luyện với 5 epochs
o_ Đánh giá hiệu suất trên tập kiểm tra và in độ chính xác
4 Xử Lý Ảnh Đầu Vào Từ Người Dùng:
o_ Chuyên ảnh tải lên thành ørayscale và mảng numpy
o Ap dung thresholding dé lam néi bat chữ số
o_ Phát hiện các vùng chứa chữ số (contours)
o_ Cắt resize từng vùng về kích thước 28x28, chuẩn hóa và định dạng cho CNN
32
Trang 395 Dự Đoán Chữ Số:
o_ Dự đoán từng vùng chữ số băng mô hình CNN
o Trả về kêt quả dự đoán dưới dạng chuối chữ sô
6 Tạo Giao Diện Người Dùng với Gradio:
o_ Xây dựng giao diện:
»_ Input: Ảnh tải lên từ người dùng
» Output: Dự đoán chữ số trong ảnh
o_ Kích hoạt ứng dụng để người dùng tương tác trực tiếp
2.4.4.2, Dự doán cảm xúc bình luận
import tensorflow as tf
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_ sequences
from tensorflow.keras.models import
from tensorflow.keras.layers import
† Tiêu cực Tiêu cực Tích cực Tiêu cực Tiêu cực
Trang 40max vocab size = 1000 # Sé tu tối đa trong tù điển
max sequence length = 20 # Độ dài tối đa của mỗi bình luận
# Tokenizer: chuyển đổi văn bản thành chuỗi số
tokenizer = Tokenizer(num words=max vocab size, oov token="<QOV>")
tokenizer.fit_on_texts(train texts)
train sequences = tokenizer.texts to sequences(train texts)
train padded = pad_sequences (train sequences, maxlen=max sequence length, padding="post")
# Chuyển đổi dtt 1iéu thanh numpy array
train padded = np.array(train padded, dtype=np.int32)
train labels = np.array(train labels, dtype=np.int32)
# Xây dựng mồ hình CNN
embedding dim = 50
model = Sequential ([
Embedding (input _dim=max vocab size, output _dim=embedding dim),
ConvlD(filters=128, kernel size=3, activation='relu'),
# Huẫn luyện mô hình
model.fit(train padded, train labels, epochs=10, batch size=2)
# Ham dy đoán cảm xúc
34