1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo tiểu luận môn học phát triển các hệ thống thông minh

117 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Triển Các Hệ Thống Thông Minh
Tác giả Va Huy Hoang
Người hướng dẫn Thầy Trần Đình Quộ
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Tiểu Luận
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 117
Dung lượng 5,3 MB

Nội dung

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 1

HOC 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 2

LOI 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 3

MUC 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 4

2.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 5

2.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 6

CHUONG 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 7

CHUONG 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 10

1.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 11

Oo

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 12

o_ 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 13

Cá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 14

1.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 15

1.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 16

1.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 17

o 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 18

o 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 19

1.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 20

Vi 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 21

CHUONG 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 23

2014: 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 24

Dữ 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 25

o 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 26

2 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 27

o 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 28

2.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 29

2.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 30

o_ 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 32

Feature 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 34

o_ 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 36

def 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 37

digit 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 38

Tó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 39

5 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 40

max 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

Ngày đăng: 23/02/2025, 21:36