Học sâu, một tập hợp con của học máy, sử dụng các mạng nơ-ron sâu deep neural networks để mô phỏng cách thức hoạt động của não người, cho phép máy tính giải quyết các vấn đề phức tạp hơ
Trang 1
HOC VIEN CONG NGHE BUU CHINH VIEN THONG KHOA CONG NGHE THONG TIN 1
BAO CAO THUC TAP CO SO
Đề tài: Mô hình mang no-ron tich chap cho việc phân loại ảnh
Giảng viên: PGS TS Phạm Văn Cường
Sinh viên: An Quác Việt - B21DCCN787
HÀ NỘI, THÁNG 5/2024
Trang 2
LOI NOI DAU
Trong vài năm trở lại đây, sự bùng nô của trí tuệ nhân tạo (AI) đã mang đến nhiều tiện ích và đôi mới trong cuộc sóng con người, Ứng dụng trí tuệ nhân tạo ngày càng phỏ biến trên nhiều lĩnh vực giải trí, y tế, giao thông, thương mại bởi tính hiệu quá và cải
thiện năng suất làm việc Trí tuệ nhân tạo giúp tự động hoá quy trình sản suất và phân tích dữ liệu lớn, mở ra cơ hội nghiên cứu và phát triển công nghệ
Trí tuệ nhân tạo gồm nhiều nhánh khác nhau, trong đó có học máy (machine learning) và học sâu (deep learning) giúp máy tính tăng hiệu quả làm việc thông qua trải
nghiệm Học máy là các hệ thống được thiết ké dé hoc hoi từ dữ liệu và cải thiện hiệu suất theo thời gian mà không cần lập trình rõ ràng Học sâu, một tập hợp con của học
máy, sử dụng các mạng nơ-ron sâu (deep neural networks) để mô phỏng cách thức hoạt
động của não người, cho phép máy tính giải quyết các vấn đề phức tạp hơn và với độ
chính xác cao hơn Từ việc cải thiện khả năng dự đoán của các mô hình kinh té đến việc
phát triên các hệ thông nhận diện hình ánh và giọng nói tiên tiền, học máy và học sâu
đang thay đôi cách chúng ta tương tác với công nghệ và thé giới xung quanh
Học máy và học sâu đã có rất nhiều ứng dụng thực tiễn trong các lĩnh vực khác
nhau Trong công nghệ thông tin, hai công nghệ này có ứng dụng xử lý ngôn ngữ tự nhiên dùng trong việc phát triên trợ lý ảo, phân loại email (spam hay không spam), nhận diện hình ảnh dùng trong các hệ thông nhận diện khuôn mặt, phân loại hình ảnh Các
Sàn thương mại điện tử dùng công nghệ học máy và học sâu đề đưa ra các gợi ý về sản phẩm phù hợp, phân tích hành vi khách hàng từ đó dự đoán hành vi mua sắm đề cải
thiện chiến lược tiếp thị và ban hàng Trong y khoa, người ta có thẻ sử dụng các hình
ảnh y khoa dé chan đoán bệnh hay đánh giá hiệu quả của các hợp chát, từ đó tăng tốc quá trình tìm kiếm và phát triên thuốc
Mạng nơ-ron tích chập (Convolutional Neural Network — CNN) là trung tâm cua các ứng dụng học máy và học sâu trong việc nhận diện và xử lý hình ảnh Đây là một
công cụ được thiết ké để tự động học các đặc trưng dữ liệu ánh và dữ liệu không gian
Thay vì phải xác định các đặc trưng thủ công, CNN tự động tìm ra các đặc trưng quan
trọng bảng cách sử dụng các lớp tích chập và hàm kích hoạt
Được giới thiệu lần đầu vào cuối những năm 1980, CNN đã trải qua những bước
phát triển, đặc biệt là từ cuộc thi InageNet vào năm 2012, con người được chứng kiến
Sự vượt trội của mô hình AlexNet Kẻ từ đó, hàng loạt kiến trúc ONN tiên tiến như VGGNet, ResNet, va EffcientNet đã ra đời, không ngừng thúc đây khả năng nhận diện
và phân loại hình ảnh CNN đã được phát triên và áp dụng rộng rãi trong phân loại ảnh, một nhiệm vụ cơ bản trong thị giác máy tính Phân loại ảnh là quá trình gán nhãn cho hình ảnh dựa trên nội dung của chúng Ví dụ, một hệ thống phân loại ảnh có thẻ được
1
Trang 3huần luyện đề nhận biết các loài động vật khác nhau, các loại phương tiện giao thông,
hoặc thậm chí là các bệnh lý trong ảnh chụp X-quang
Trong bài báo cáo này, người viết sẽ đi từ những khái niệm cơ bản về học máy va
học sâu, sau đó vào chủ đề chính là những nguyên lý của mạng nơ-ron tích chập, khám phá cấu trúc của nó, cách hoạt động và lý do tại sao nó hiệu quả trong việc trích xuất các đặc trưng từ dữ liệu hình ảnh Thêm vào đó, bài báo cáo sẽ thực hành xây dựng một
mô hình ONN dùng đề phân loại các loài hoa gồm các bước tạo dựng, huán luyện, kiêm thử và triên khai Qua bài báo cáo này, sinh viên được trang bị các kiến thức và trải nghiệm cơ bản trong việc xây dựng và triên khai một mô hình ONN, giúp củng có kiến thức và kỹ năng của bản thân đề có thẻ xây dựng những mô hình phức tạp hơn trong
tương lai
Trang 4MUC LUC
E909) 0000007 .A.d ÔỎ 1 B1 0N 6.0.8) 0000) 00000 .4313133 HHHậH) 4
3 Ứng dụng thực tiễn của học máy . +: 55+ +S++< + s+Ezveeererekrrreererrrrrree 4
1 Khái niệm và phương pháp hoạt động SH HH TH» nh key 5
2 Ứng dụng của học SâU +: 55+ +22 S**E SE 2E xxx nh nghe 5
3 CA v00 0ì 6
II Mạng nơ-ron tích chập - - HH» HH TH Hà Ko xi KE* 7
1 CAC KNAi NIGIN 2 7
2 Cac lớp co bản của mạng nơ-ron tích chập - -c SH» ky 7
3 Cau trUc Mang no-1ON tiCh CHAP .cceceeccsseseecsesscsesseecscsesscsesesecsesecetaeeesesseseeeeaes 9
A UNG o0 .dj|ARHẬHH 10
Phần II Thurc nghiém va Ket QUA .cccccssssesescsescscscecseeseesscscatscsceessnsesacetitasenseneneass 11
I Tạo dựng và huần luyện mô hình . - ¿+ 2 2 <+2+*+s+s+e+eezEereserrxrsrrereezrs 11
II Ứng dụng vào phân loại ảnh - 5-2 2 ++2+S+E+E+£eze£zEzseeeersrerrezreree 17
Phan III Phụ lục và tài liệu tham khảo -¿-©s¿©+++E+xe+EEESEEEESEEEvEEkevrxesrreeee 19
I T@i TIGU THAM KNAO 2 19
Trang 5Phần I Cơ sở lý thuyết
| Học máy
1 Khái niệm
Học máy (machine learning) là một lĩnh vực con của trí tuệ nhân tạo (AI) tập trung
vào việc phát triên các thuật toán và mô hình đê máy tính có thê "học" từ dữ liệu và cải thiện hiệu suất của mình mà không cần lập trình rõ ràng Học máy cho phép các hệ thống
tự động hóa quy trình ra quyét định bằng cách nhận biết các mẫu và xu hướng trong dữ
liệu, từ đó đưa ra dự đoán hoặc hành động
Học máy có thê được chia thành ba loại chính: học có giám sat (supervised learning), học không giam sat (unsupervised learning), va học tăng cường (reinforcement learning) Mỗi loại học có những ứng dụng và phương pháp riêng biệt, phù hợp với các tình huống và loại dữ liệu khác nhau
2 Các thuật toán học máy
a) Học Có Giám Sát (Supervised Leaming)
o Hài Quy Tuyền Tính (Linear Regression): Dự đoán giá trị dau ra liên tục dựa trên một hoặc nhiều biến đầu vào
o Hài Quy Logistic (Logistic Regression): Sử dụng cho các bài toán phân loại
nhị phân, dự đoán xác suất của một kết quả nhát định
o Cay Quyét Dinh (Decision Trees): Sw dụng cau trúc cây đề đưa ra quyết định
dựa trên các đặc trưng của đữ liệu
o May Vector Hỗ Trợ (Support Vector Machines - SVM): Phân loại dữ liệu bằng
cách tìm siêu phắng tốt nhát phân chia các lớp dữ liệu khác nhau
b) Hoc khéng giam sat (Unsupervised learning)
eo K-Means Olustering: Nhóm dữ liệu vào các cụm dựa trên đặc trưng tương
đồng
o Phân Tich Thanh Phan Chinh (Principal Component Analysis - PCA): Giam
chiều dữ liệu bang cach chuyền đổi nó thành một tập hợp các giá trị mới không tương
quan
C) Hoc tang cwong (Reinforcement learning)
o Q-Learning: Một thuật toán học tăng cường giúp tìm ra chính sách tối ưu để
tối đa hóa phần thưởng trong môi trường nhất định
3 Ứng dụng thực tiễn của học máy
a) Y Tế: Học máy giúp chân đoán bệnh dựa trên hình ảnh y khoa như MRI, X-
quang, và siêu âm Nó cũng hỗ trợ phát triển các liệu pháp điều trị cá nhân hóa dựa trên
hồ sơ bệnh nhân
b) Tài Chính: Trong lĩnh vực tài chính, học máy được sử dụng đề dự đoán xu hướng thị trường, phát hiện gian lận và quản lý rủi ro
Trang 6c) Giao Thông: Các hệ thống lái xe tự động và hỗ trợ lái xe (ADAS) sử dụng học máy đề nhận diện và phản ứng với môi trường xung quanh Học máy cũng giúp tối ưu hóa lộ trình và quản lý giao thông đô thị
d) Thương Mại Điện Tử: Các nén tảng thương mại điện tử sử dụng học máy dé dé
xuat san pham cho khach hàng dựa trên hành vi mua sắm trước đó, giúp tăng cường trải
nghiệm người dùng và doanh thu
e) An Ninh Mạng: Học máy được áp dụng đề phát hiện các cuộc tắn công mạng và các hoạt động đáng ngờ, từ đó bảo vệ hệ thông thông tin
ƒ) Giải Trí: Các dịch vụ truyền phat nhac va video nhu Netflix va Spotify sử dụng
hoc máy đẻ đề xuất nội dung dựa trên sở thích cá nhân của người dùng
II Học sâu
1 Khái niệm và phương pháp hoạt động
Học sâu (deep learning) là một nhánh của học máy (machine learning) tập trung vào việc sử dụng các mạng nơ-ron nhân tạo (artificial neural networks) có nhiều lớp (deep neural networks) dé m6 phong cach hoạt động của não người trong việc học hỏi từ dữ
liệu Mô hình học sâu có thẻ tự động trích xuất các đặc trưng từ dữ liệu mà không càn
sự can thiệp của con người, giúp nâng cao độ chính xác và hiệu suất trong nhiều bài toán phức tạp
Cách hoạt động của học sâu dựa trên các câu trúc mạng nơ-ron gồm nhiều lớp, bao gồm lớp vào (input layer), các lớp ân (hidden layers), và lớp ra (output layer) Mỗi nút (node) trong một lớp ân kết nối với các nút trong lớp tiếp theo, và mỗi kết nói có một trọng số (weipht) điều chinh trong quá trình huần luyện Quá trình huấn luyện diễn ra
thông qua một thuật toán gọi là lan truyền ngược (backpropagation), trong đó sai số dự
đoán được lan truyền ngược từ lớp ra qua các lớp ân để cập nhật các trọng só, tối ưu hóa
mô hình
2 Ứng dụng của học sâu
a) Thị Giác Máy Tính (Computer Vision): Học sâu được sử dụng để nhận diện và phân loại hình ánh, phát hiện đối tượng, và phân đoạn hình ảnh Ví dụ, các mô hình học
sâu có thẻ nhận diện khuôn mặt trong ảnh hoặc video, phát hiện các khối u trong ảnh y
khoa, và tự động gắn thẻ hình ảnh trong các ứng dụng mạng xã hội
b) Xử Lý Ngôn Ngữ Tự Nhiên (Natural Language Processing - NLP): Học sâu cải
thiện hiệu suất của các nhiệm vụ xử lý ngôn ngữ tự nhiên như dịch máy, tông hợp văn
bản, và nhận diện giọng nói Các mô hình học sâu như GPT-3 có khả năng tạo ra văn bản tự nhiên, dịch ngôn ngữ với độ chính xác cao, và thậm chí trả lời câu hỏi từ người dùng
c) Hệ Thống Khuyén Nghi (Recommendation Systems): Học sâu giúp cải thiện hệ
thông gợi ý sản phâm hoặc nội dung dựa trên sở thích và hành vi của người dùng Ví
5
Trang 7dụ, Netflix su dung hoc sau dé goi y phim va chuong trinh truyén hinh, trong khi
Amazon su dung cong nghé nay dé dé xuat san pham
d) Y Té va Chan Đoán: Học sâu hỗ trợ chân đoán bệnh từ hình ảnh y khoa, phát hiện các bát thường trong dữ liệu bệnh nhân, và phát triển các liệu pháp điều trị cá nhân hóa Các mô hình học sâu có thê phân tích hình ảnh X-quang để phát hiện các bệnh lý
như ung thư, tôn thương não, và các van dé tim mach
e) Ô Tô Tự Lái (Autonomous Vehicles): Học sâu được sử dụng trong hệ thông lái
xe tự động để nhận diện và phản ứng với môi trường xung quanh, từ đó giúp xe tự động
điều khiến mà không cần sự can thiệp của con người Công nghệ này giúp cải thiện an toàn giao thông và tối ưu hóa lộ trình
3 Các kỹ thuật học sâu
a) Mang No-ron Tich Chap (Convolutional Neural Networks - CNNs): CNNs chủ
yếu được sử dụng cho các bài toán thị giác máy tính như phân loại ảnh, phát hiện đối
tượng, và nhận diện khuôn mặt Các lớp tích chập trong CNNs giúp trích xuất các đặc trưng không gian tử dữ liệu hình ảnh
b) Mạng Nơ-ron Hỏi Quy (Recurrent Neural Networks - RNNs): RNNs được Sử dụng cho các bài toán xử lý chuỗi dữ liệu như dịch máy, nhận diện giọng nói, và phân
tích chuỗi thời gian Các biến thẻ của RNN như LSTM (Long Short-Term Memory) và
GRU (Gated Recurrent Unit) giúp giải quyết vấn đề nhớ dài hạn trong dữ liệu tuần tự c) Mang Sinh Tạo Đối Kháng (Generative Adversarial Networks - GANs): GANs
gòm hai mạng đối kháng, một mạng sinh (generator) và một mạng phân biệt
(discriminator), giúp tạo ra dữ liệu mới giống như dữ liệu thực GANs được sử dụng
trong tạo hình ảnh, video, và tông hợp âm thanh
d) Mạng Chú Ý (Attention Networks): Kỹ thuật chú ý, bao gồm các mô hình
Transformer, giúp cải thiện hiệu suát trong các nhiệm vụ xử lý ngôn ngữ tự nhiên bằng cách tập trung vào các phản quan trọng của dữ liệu đầu vào Các mô hình như BERT và GPT sử dụng mạng chú ý đề đạt được kết qua an tượng trong nhiều bài toán NLP
4 Các lớp cơ bản của học sâu
a) Lớp Dense (Fully Connected Layer): Két nói tất cả các nơ-ron ở lớp này với tat
cả các nơ-ron ở lớp khác, thường dùng ở cuối mạng
b) Lớp Convolutional (Convolutional Layer): Dung dé trich xuat dac trung tir hinh anh bang cac bé loc (filter) Thuong st dung trong CNN
c) Lép Pooling (Pooling Layer): Giảm kích thước dữ liệu và số tham số bảng cách
lay gia tri cực đại (max pooling) hoặc trung bình (average pooling)
d) Lớp Recurrent (Recurrent Layer): Xử lý dữ liệu tuần tự như văn bản hoặc chuỗi thời gian Các biến thé phé bién la LSTM va GRU
e) Lop Embedding (Embedding Layer): Biêu diễn các từ hoặc ký tự thành các vectơ số trong không gian liên tục Chủ yéu dùng trong xử lý ngôn ngữ tự nhiên
6
Trang 8f) Lop Normalization (Normalization Layer): Chuan hoa dau vao cua mdi lop dé tang téc va én dinh qua trinh huan luyén Vi du: Batch Normalization
g) Lớp Dropout (Dropout Layer): Ngau nhién bo qua mét sé no-ron trong qua trinh
huần luyện đề giảm overfitting
h) Lớp Activation (Activation Layer): Đưa phi tuyến tính vào mạng đề học các hàm phức tạp Các hàm kích hoạt phô biến: ReLU, Sigmoid, Tanh
ï) Lớp Flatten (Flatten Layer): Biến đôi dữ liệu từ nhiều chiều thành một chiều
trước khi đưa vào các lớp fully connected
Ill Mang no-ron tích chập
1 Các khái niệm
Mang no-ron tich chap (Convolutional Neural Network — CNN) là một trong những
mô hình Deep Learning cực kỳ tiên tiền cho phép xây dựng những hệ thống có độ chính xác cao và thông minh Nhờ khả năng đó, CNN có rất nhiều ứng dụng, đặc biệt là những bài toán cần nhận dạng vat thé (object) trong anh CNN vô cùng quan trọng đề tạo nên
những hệ thống nhận diện thông minh với độ chính xác cao trong thời đại công nghệ ngày nay
Convolutional là một loại cửa số dạng trượt nằm trên một ma trận Các convolutional layer sẽ chứa các parameter có khả năng tự học, qua đó sẽ điều chỉnh và
tìm ra cách láy những thông tin chính xác nhất trong khi không càn chọn feature Lúc
này, convolution hay tích chập đóng vai trò là nhân các phần tử thuộc ma trận Sliding Window, hay kernel, filter hoặc feature detect, là loại ma trận có kích thước nhỏ
2 Các lớp cơ bản của mạng nơ-ron tích chập
a) Lớp input
o Chức năng: Lớp này chịu trách nhiệm nhận dữ liệu đầu vào và cung cáp nó cho các lớp tiếp theo trong mạng
o Cơ chế hoạt động: Không thực hiện bát kỳ phép tính nào mà chỉ định dạng và
truyền dữ liệu đầu vào tới lớp ké tiếp
o Định dạng đâu vào: Dữ liệu đầu vào có thẻ là hình ảnh, văn bản, âm thanh hoặc bát kỳ dạng dữ liệu nào khác, với hình dạng cụ thê phụ thuộc vào loại dữ liệu và yêu
cầu của mô hình
b) Lớp Convolutional
o Chức năng: Lớp này sử dụng các bộ lọc (kernels) đề trích xuất đặc trưng từ dữ
liệu đầu vào băng cách thực hiện phép tích chập (convolution)
o Cơ chế hoạt động: Mỗi bộ lọc di chuyên qua dữ liệu đầu vào và thực hiện phép nhân điểm (dot product) giữa bộ lọc và các phân tương ứng của dữ liệu Kết quả là một
ma trận đặc trưng (feature map)
Trang 9o Tham số: Số lượng bộ lọc, kích thước bộ lọc, stride (bước di chuyên), và
padding (bỏ sung biên)
c) Lép Activation
o Chức năng: Lớp này đưa phi tuyến tính vào mô hình, giúp mạng học các đặc trưng phức tạp hơn
o Các hàm kích hoạt phô biến
s«ReLU: { )x max 0,):
1 1+ ©
© Tanh: f( } 4anh( x
d) Lop Normalization (Normalization Layer)
o Chức năng: Chuân hóa dữ liệu đầu vào của mii lop, gitp tang toc dé huan
luyện và ôn định quá trình học
o Các loại pho bién:
e Sigmoid: f (x)=
¢ Batch Normalization: Chuan hoa theo ting batch cua dé lisu huan luyén
e Layer Normalization: Chuan hoa theo tirng lop
e) Lop Pooling
o Chức năng: Giảm kích thước không gian của đầu ra từ lớp convolutional, giảm
số lượng tham số và tính toán trong mạng
o Cơ chế hoạt động: Áp dụng các phép pooling như max pooling (chọn giá trị lớn nhát trong vùng) hoặc average pooling (tính trung bình các giá tri trong vùng)
o Tham số: Kích thước vùng pooling, siride
f) Lop Dropout
o Chire nang: Ky thuat regularization dé giam overfitting bang cach ngau nhién
bỏ qua một số nơ-ron trong quá trinh huan luyén
o Cơ chế hoạt động: Trong mãi lần cập nhật tham só, ngẫu nhiên bỏ qua (đặt giá
trị bảng 0) một tỷ lệ phần trăm của nơ-ron
g) Lớp Flatten
o Chức năng: Biến đổi dữ liệu từ nhiều chiều (ví dụ, từ các lớp convolutional và pooling) thành một chiều (vector phăng) đề chuẩn bị cho các lớp fully connected
o Cơ chế hoạt động: Chuyên đôi ma trận 2D hoặc 3D thành một vector 1D
h) Lớp Dense (Fully Connected)
o Chức năng: Mỗi nơ-ron trong lớp này được kết nối với tất cả các nơ-ron ở lớp
trước đó Thường được Sử dụng ở cuối mạng đề thực hiện phân loại hoặc dự đoán
o Cơ chế hoạt động: Tính toán trọng só và bias để đưa ra kết quả cuối cùng j) Lớp Output
o Chức năng: Đưa ra dự đoán cuối cùng của mô hình
Trang 10o Cac ham kich hoat phé bién:
e Softmax: Được sử dụng trong các bài toán phân loại đa lớp, biến đôi đầu ra thành xác suất cho mỗi lớp
e Sigmoid: Được sử dụng trong các bài toán phân loại nhị phân
3 Cấu trúc mạng nơ-ron tích chập
Mang CNN là một trong những tập hợp của lớp Convolution được chồng lên nhau Mang CNN con su dung cac ham nonlinear activation (nhu ReLU va tanh) nham kích hoạt trọng số trong node Khi đã thông qua hàm, lớp này sẽ thu được trọng số trong các
node và tạo ra nhiều thông tin trừu tượng hơn cho các lớp kế cận
Đặc diém m6 hình CNN cé 2 khía cạnh can phải đặc biệt lưu ý là tính bát biến và tính két hợp, do đó độ chính xác hoàn toàn có thê bị ảnh hưởng néu có cùng một đối tượng được chiều theo nhiều phương diện khác biệt Với các loại chuyên dịch, co giãn
và quay, người ta sẽ sử dụng pooli layer và làm bát biến những tính chất này Từ đó,
ONN sẽ cho ra kết quả có độ chính xác ứng với từng loại mô hình
Pooling layer giúp tạo nên tính bát biến đối với phép dịch chuyền, phép co giãn và
phép quay Trong khi đó, tính kết hợp cục bộ sẽ thẻ hiện các cấp độ biều diễn, thông tin
từ mức độ thấp đến cao, cùng độ trừu tượng thông qua convolution từ các filter Dựa trên cơ chế convolution, một mô hình sẽ liên kết được các layer với nhau
Với cơ chế này, layer tiếp theo sẽ là kết quả được tạo ra từ convolution thuộc layer
kế trước Điều này đảm bảo bạn có được kết nói cục bộ hiệu quả nhất Mỗi nơ-ron sinh
ra ở lớp tiếp theo từ kết quả filter sẽ áp đặt lên vùng ảnh cục bộ của nơ-ron tương ứng trước đó Cũng có một số layer khác như pooling/subsampling layer được dùng đề chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiéu)
A Typical Convolutional Neural Network (CNN
Output
Convolution Pooling Convolution Pooling or ả @
"H4 »ˆ
oO @
l§: "nh @ e"
serie @
Input Image Featured Pooled Featured Pooled Flatten
maps Featured maps maps Featured maps layer @
+ * < >
Feature Maps Fully connected layer
Feature Extraction Classification Probabilistic
Hình 1 Cấu trúc mạng CNN