Tải bản đầy đủ (.docx) (85 trang)

ĐB tính riêng tư cho mô hình DL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.47 MB, 85 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ĐỒ ÁN TỐT NGHIỆP

ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU TRONG
CÁC MƠ HÌNH PHÁT HIỆN HIỂM HỌA AN TỒN
THƠNG TIN DỰA TRÊN HỌC SÂU
Ngành: An tồn thơng tin
Mã số: 7.48.02.02

Sinh viên thực hiện:

Người hướng dẫn:

Hà Nội, 2021


BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ĐỒ ÁN TỐT NGHIỆP

ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU TRONG
CÁC MƠ HÌNH PHÁT HIỆN HIỂM HỌA AN TỒN
THƠNG TIN DỰA TRÊN HỌC SÂU
Ngành: An tồn thơng tin
Mã số: 7.48.02.02


Sinh viên thực hiện:

Người hướng dẫn:

Hà Nội, 2021



MỤC LỤC
MỤC LỤC..................................................................................................i
DANH MỤC HÌNH ẢNH.......................................................................iii
DANH MỤC BẢNG..................................................................................v
DANH MỤC TỪ VIẾT TẮT...................................................................vi
LỜI CÁM ƠN.........................................................................................vii
LỜI MỞ ĐẦU........................................................................................viii
CHƯƠNG I: TỔNG QUAN VỀ CƠNG NGHỆ TRÍ TUỆ NHÂN
TẠO......................................................................................................................1
1.1 Machine learning..................................................................................1
1.2 Deep Learning.......................................................................................3
1.3 Các loại mạng trong Deep Learning.....................................................5
1.3.1 Mạng nơ ron tích chập, kiến trúc mạng nơ ron tích chập.................5
1.3.2 Mạng hồi quy RNN............................................................................9
1.3.3 Mạng LSTM......................................................................................11
1.3.4 Mạng GAN........................................................................................13
1.3.5 Kết luận............................................................................................14
1.4 Tổng kết chương.................................................................................14
CHƯƠNG II: ỨNG DỤNG CỦA DEEP LEARNING TRONG PHÁT
HIỆN CÁC HIỂM HỌA ATTT.......................................................................16
2.1. Ứng dụng deep learning trong phát hiện phần mềm độc hại.............16
2.1.1. Phát hiện phần mềm độc hại dựa trên máy PC..............................16

2.2. Ứng dụng deep learning trong phát hiện tấn công mạng...................25
2.3. Ứng dụng deep learning phát hiện lừa đảo, phát hiện spam và trang
web phát hiện defacemen....................................................................................33
2.3.1. Phát hiện lừa đảo...........................................................................33
2.3.2. Phát hiện thư rác............................................................................34
2.3.3. Phát hiện bề mặt trang web............................................................35
2.4. Những thách thức và hạn chế.............................................................35
2.5. Kết luận chương.................................................................................35
CHƯƠNG III: CÁC GIẢI PHÁP ĐẢM BẢO TÍNH RIÊNG TƯ CHO
DỮ LIỆU VỚI MƠ HÌNH DEEP LEARNING TRÊN NỀN TẢNG ĐIỆN
TOÁN ĐÁM MÂY............................................................................................36
3.1 PPDL dựa vào HE...............................................................................37
3.2 Bảo mật PPDL dựa trên MPC.............................................................45
4


3.3 PPDL dựa vào quyền riêng tư khác biệt.............................................51
3.4 PPDL dựa trên vỏ bọc an toàn............................................................52
3.5 PPDL dựa trên HYBRID....................................................................54
CHƯƠNG IV: TRIỂN KHAI CÀI ĐẶT MƠ HÌNH...........................56
4.1 Mục tiêu, mơ hình bài tốn.................................................................56
4.1.1 Mục tiêu...........................................................................................56
4.1.2 Mơ hình thuật tốn..........................................................................56
4.2. Cài đặt mơ hình..................................................................................57
4.2.1 Chuẩn bị..........................................................................................57
4.2.2 Xây dựng mạng, huấn luyện và triển khai mơ hình.........................60
4.3 Áp dụng thuật tốn mã hóa đảm bảo tính riêng tư cho mơ hình.........62
4.4 Thử nghiệm dự đốn mơ hình.............................................................63
4.5. Kết quả và đánh giá............................................................................64
KẾT LUẬN..............................................................................................65

TÀI LIỆU THAM KHẢO......................................................................66

5


DANH MỤC HÌNH Ả
Y
Hình 1.1. Tổng quan AI - Machine learning - Deep learning................................1
Hình 1.2. Cách tiếp cận bài tốn bằng phương pháp truyền thống.......................2
Hình 1.3. Cách tiếp cận bài tốn bằng mơ hình học máy......................................2
Hình 1.4. Mơ hình học máy tự động học từ dữ liệu..............................................2
Hình 1.5. Tổng quan cách tiếp cận truyền thống...................................................3
Hình 1.6. Tổng quan cách tiếp cận bằng học máy.................................................3
Hình 1.7. Mạng thần kinh sinh học.......................................................................3
Hình 1.8. Mạng nơ ron nhân tạo............................................................................4
Hình 1.9. Quá trình học từ dữ liệu của mơ hình Deep learning............................5
Hình 1.10. So sánh mạng nơ ron và mạng nơ ron tích chập..................................6
Hình 1.11. Kiến trúc mạng CNN...........................................................................7
Hình 1.12. Bộ lọc tích chập sử dụng trên ma trận điểm ảnh.................................7
Hình 1.13. Lấy mẫu Max Pooling và Average Pooling.........................................9
Hình 1.14 Mơ hình mạng RNN...........................................................................10
Hình 1.15 Mơ hình mạng many to many của mạng RNN...................................10
Hình 1.16 Một số mơ hình khác của mạng RNN................................................11
Hình 1.17. Mô-đun lặp lại trong RNN tiêu chuẩn chứa một lớp duy nhất..........12
Hình 1.18 Mơ-đun lặp lại trong LSTM chứa bốn lớp tương tác.........................12
Hình 1.19 Các kí hiệu trong mơ hình mạng LSTM.............................................12
Hình 1.21. Hiệu quả Deep learning - Machine learning khi dữ liệu tăng...........15
Hình 1.22. Khác nhau trong quá trình xây dựng mơ hình Machine learning Deep learning...........................................................................................................
Hình 3.1. Các phương pháp bảo vệ tính riêng tư truyền thống...........................36
Hình 3.2. Các phương pháp PPDL theo các kỹ thuật bảo vệ quyền riêng tư......37

Hình 3.3. Cấu trúc của PPDL dựa trên HE..........................................................38
Hình 3.4. Cấu trúc của PPDL dựa trên MPC bảo mật.........................................46
Hình 3.5. Cấu trúc của PPDL dựa trên tính tốn hai bên an tồn........................47
Hình 3.6. Cấu trúc của PPDL dựa trên quyền riêng tư khác biệt........................51
Hình 3.7. Cấu trúc của PPDL dựa trên mã hóa an tồn.......................................52
YHình 4.1. Tập dữ liệu Spam/ham......................................................................57
Hình 4.2. Dữ liệu của 5 dịng đầu tiên.................................................................58
Hình 4.3. Biều đồ thể hiện tỉ lệ Spam/ham trong bộ dữ liệu...............................58
Hình 4.4. Wordcloud với các từ thường xuyên xuất hiện trong email spam.......59
6


Hình 4.5. Wordcloud thể hiện các từ khơng xuất hiện trong email spam............59
Hình 4.6. Mơ hình sử dụng mạng LSTM............................................................60
Hình 4.7. Mạng LSTM phân loại thư rác............................................................60
Hình 4.8. Các giá trị sau khi training model........................................................61
Hình 4.9. So sánh giá trị training loss và giá trị validation loss..........................61
Hình 4.10. So sánh giá trị training và validation accuracy..................................61
Hình 4.11. Cấu trúc model phát hiện email spam...............................................62
Hình 4.12 Tạo nhiễu cho weight cho server........................................................62
Hình 4.13 Giá trị đầu vào trước và sau khi được làm nhiễu................................63
Hình 4.14. Hình ảnh dự đốn đoạn phân loại thư rác..........................................64
Hình 4.15. Hình ảnh đoạn văn bản là một spam.................................................64

7


DANH MỤC BẢNG
Bảng 3.1. Đặc điểm của PPDL dựa trên HE........................................................45
Bảng 3.2. Các tính năng của PPDL dựa trên MPC bảo mật đã được khảo sát của

chúng tôi..............................................................................................................50
Bảng 3.3. Các tính năng của PPDL dựa trên sự khác biệt...................................52
Bảng 3.4. Các tính năng của PPDL dựa trên mã hóa an tồn..............................53
Bảng 3.5. Các tính năng của PPDL dựa trên kết hợp..........................................55

8


DANH MỤC TỪ VIẾT TẮT
ATTT
LR
ML
DL
OSP
ESN
SGD
RNN
LSTM
SDAE
DAE
HMM
PPDL
RBM

An tồn thơng tin
Logistic Regression
Machine Learning
Deep Learning
One Side Perceptron
Echo State Network

Stochastic Gradient Descent
Recurrent neural network
Long short term memory
Stacked Denoising AE
Denoising AE
Hidden Markov Model
Phương pháp kết hợp giữa phương pháp PP cổ điển và DL
Restricted Boltzmann Machine (mạng nơ ron được sản sinh
ngẫu nhiên)

9


LỜI CÁM ƠN
Trong quá trình thực hiện đồ án tốt nghiệp này, tơi đã nhận được sự giúp
đỡ tận tình của cán bộ hướng dẫn là ThS. Trần Anh Tú – Giảng viên Khoa An
tồn thơng tin Học viện Kỹ thuật Mật mã, sự quan tâm sâu sát của cán bộ Hệ
quản lý học viên, sự động viên của người thân và bạn bè.
Xin cảm ơn tất cả mọi người đã tạo những điều kiện tốt nhất để tơi hồn
thành đồ án tốt nghiệp này!
SINH VIÊN THỰC HIỆN ĐỒ ÁN

10


LỜI MỞ ĐẦU
Trong nhưng năm gần đây học máy ngày càng được quan tâm và ứng
dụng rộng rãi: image processing, natural language processing, business
intelligent, self driving, health care, cyber security,…
Để xây dựng được mơ hình học máy mang mang lại hiệu quả cao đòi hỏi

nhiều yếu tố: tiền bạc, thời gian, nhân lực... Một công ty mất 6 tháng để nghiên
cứu, phát triển một mơ hình học máy hồn chỉnh có khả năng phát hiện ung thư
da , sau quá trình kiểm thử, mơ hình đem lại độ chính xác 96%. Quan trọng hơn
hết, dữ liệu phục vụ cho việc xây dựng mơ hình là dữ liệu của 14051996 khách
hàng đã thỏa thuận với cơng ty, nói cách khác đây là dữ liệu có tính chất riêng
tư, vì vậy việc bảo đảm tính riêng tư cho dữ liệu là yếu tố bắt buộc. Lúc này
công ty quyết định mở dịch vụ, chỉ cần chụp hình khu vực da mà bạn muốn
kiểm tra có bị ung thư hay khơng, sau đó gửi tấm hình cho cơng ty và nhận kết
quả trả về là có hay khơng ung thư da với tỉ lệ % tương ứng. Tuy nhiên, mơ hình
học máy của cơng ty bỗng bị ai đó sao chép, tái sử dụng, thông tin của bộ dữ
liệu được dùng cho việc xây dựng mơ hình học máy bị rị rỉ...
Cho tới nay, đã và đang có những nghiên cứu nhằm đảm bảo tính riêng tư
cho dữ liệu xây dựng mơ hình, đảm bảo tính riêng tư cho mơ hình, có thể kể đến
như:federated learning, homomorphic encryption, secure multi-party
computation, ensemble learning, … Mỗi phương pháp là một phép toán đánh đổi
khác nhau giữa thời gian xử lí - độ chính xác - mức độ đảm bảo tính riêng tư.
Tùy thuộc vào yêu cầu cụ thể mà có thể sử dụng đơn lẻ hoặc kết hợp các phương
pháp.
Đề tài " Đảm bảo tính riêng tư cho dữ liệu trong các mơ hình phát hiện
hiểm họa an tồn thơng tin dựa trên học sâu " với mục đích nghiên cứu, tìm
hiểu, ứng dụng deep learning nhằm đảm bảo tối đa tính riêng tư cho dữ liệu
trong xây dựng mơ hình phát hiện hiểm họa an tồn thơng tin. Với nội dung
chính gồm 4 chương cụ thể như sau:
Chương I: Tổng quan về trí tuệ nhân tạo
Chương II: Ứng dựng của deep learning trong phát hiện hiểm họa an
tồn thơng tin
Chương III: Các giải pháp bảo vệ tính riêng tư cho dữ liệu với mơ hình
deep learning trên nền tảng điện tốn đám mây
Chương IV: Triển khai cài đặt mơ hình
11



CHƯƠNG I: TỔNG QUAN VỀ CƠNG NGHỆ TRÍ TUỆ NHÂN
TẠO
Tổng quan AI - Machine learning - Deep learning:
 Machine learning là một mảng nhỏ của AI với mục đích giúp máy
tính có thể tự động học, cải thiện thơng qua dữ liệu được cung cấp mà
khơng cần phải lập trình một cách cụ thể.
 AI là một khái niệm với bao qt hơn: các hệ thống, máy tính có
khả năng thực hiện nhiệm vụ một cách thông minh, giống như là trí tuệ con
người.
 Deep learning lại là một mảng nhỏ của Machine learning nói riêng,
của AI nói chung

Hình 1.1. Tổng quan AI - Machine learning - Deep learning
1.1 Machine learning
Machine learning đề cập tới việc máy tính có khả năng tự học, tự cải
thiện theo thời gian nhờ học từ nguồn dữ liệu đầu vào mà không cần phải
lập trình một cách cụ thể: “Machine learning is the field of study that gives
computers the ability to learn without being explicitly programmed” Arthur Samuel, 1959.
Ví dụ: Thiết lập hệ thống lọc email (spam emails, phishing
emails, ...), thay vì ta tự thiết lập các bộ luật sau đó áp dụng cho hệ thống
thì ở đây Machine learning sẽ học từ chính dữ liệu (bao gồm các emails
spam và không spam) liên tục theo thời gian (dữ liệu sẽ thay đổi theo thời
gian), từ đó trích xuất ra các đặc trưng nhằm phục vụ cho việc phân loại
emails.
1


 Theo phương pháp truyền thống, chúng ta sẽ xem xét, phân tích

các email được cho là spam để xác định, phân tích sự khác nhau giữa email
spam và khơng spam. Từ đó rút ra các luật, từ khóa, điều kiện, ... cuối cùng
kiểm thử hệ thống lọc mail này, tiếp tục đánh giá và cải thiện các luật này
cho đến khi cảm thấy hệ thống đã hoạt động tốt

Hình 1.2. Cách tiếp cận bài toán bằng phương pháp truyền thống
Áp dụng Machine learning: Vấn đề đặt ra là đối với cách tiếp cận
truyền thống, thì các luật, từ khóa, điều kiện ngày càng trở lên phức tạp, và
khó kiểm soát. Ngược lại đối với cách tiếp cận Machine learning, hệ thống
lọc email spam này sẽ tự động học các từ, cụm từ, luật, ... để đưa ra dự
đoán phân loại email spam. Điều này giúp việc lập trình trở nên ngắn gọn
hơn, dễ kiểm sốt hơn, thậm chí hiệu quả hơn

Hình 1.3. Cách tiếp cận bài tốn bằng mơ hình học máy
Ngồi ra, nếu như người gửi thư spam thay đổi các từ, cụm từ được
cho là spam thì hệ thống lọc email spam truyền thống còn hoạt động? Ví
dụ: Từ “2U” được liệu vào danh sách email spam, nếu như người gửi đổi
thành toU thì chắc chắn hệ thống hồn tồn bị vơ hiệu hố đối với từ này.
Ngược lại nếu ta có thể áp dụng cách tiếp cận Machine learning một cách
tự động, thì hệ thống sẽ tự động cập nhật các patterns này

2


Hình 1.4. Mơ hình học máy tự động học từ dữ liệu
Nhìn lại một cách tổng quát: Machine learning với những thuật tốn
khác nhau, nhưng với cùng một mục đích là tìm cách biểu diễn, mơ hình
hố dữ liệu đầu vào để thực hiện các tác vụ cụ thể.
 Cách tiếp cận truyền thống:


Hình 1.5. Tổng quan cách tiếp cận truyền thống

Hình 1.6. Tổng quan cách tiếp cận bằng học máy
1.2 Deep Learning
Deep learning là một lĩnh vực cụ thể của học máy: một cách tiếp cận
trong việc “học” từ dữ liệu, tập trung nhấn mạnh vào việc học từ các biểu
diễn ngày càng có ý nghĩa của dữ liệu qua các lớp liên tiếp. Ưu điểm của
các mơ hình Deep learning là tự động học các đặc trưng của dữ liệu để thiết
lập các đặc trưng mới và phân lớp dữ liệu. Deep learning hiện đại thường
liên quan đến hàng chục hoặc thậm chí hàng trăm lớp biểu diễn liên tiếp và
tất cả chúng đều học tự động từ việc tiếp xúc với dữ liệu. Trong khi đó, các
phương pháp học máy truyền thống có xu 3hướng tập trung vào việc chỉ
học một hoặc hai cách mô tả dữ liệu. Các mơ hình Deep learning mơ phỏng
cách xử lý thông tin và giao tiếp như trong các hệ thống thần kinh sinh học.
Trong hệ thống thần kinh của con người chứa các tế bào, được gọi là tế bào
thần kinh, các nơ ron được kết nối với nhau bằng cách sử dụng các sợi trục
và đuôi gai cùng với các vùng kết nối giữa các sợi trục và sợi nhánh được
gọi là các khớp thần kinh. Các kết nối này được minh họa như hình 1.7.
3


Hình 1.7. Mạng thần kinh sinh học
Ưu điểm của các kết nối khớp thần kinh để đáp ứng với các kích
thích bên ngồi ln thay đổi. Sự thay đổi này là cách các sinh vật sống
“học” các hiện tượng diễn ra trong cuộc sống. Cơ chế sinh học này được
mô phỏng trong các mạng nơ ron nhân tạo, chứa các đơn vị kết hợp được
gọi là các nơ ron. Các đơn vị tính tốn được kết nối với nhau thơng qua các
trọng số, đóng vai trị tương tự như các kết nối khớp thần kinh trong các
sinh vật. Kiến trúc này được minh họa trong hình 1.8


Hình 1.8. Mạng nơ ron nhân tạo
Một mạng nơ ron nhân tạo tính tốn hàm của các đầu vào bằng cách
truyền các giá trị được tính tốn từ các nơ ron đầu vào đến các nơ ron đầu
ra và sử dụng các trọng số làm các tham số trung gian. Việc học diễn ra
bằng cách thay đổi các trọng số liên quan đến các tế bào thần kinh. Giống
như các kích thích ảnh hưởng tới việc học ở sinh vật, các kích thích ảnh
hưởng trong các mạng thần kinh nhân tạo được cung cấp bởi dữ liệu huấn
luyện chứa các ví dụ về các cặp đầu vào - đầu ra của hàm cần học. Ví dụ:
dữ liệu huấn luyện là hình ảnh đầu vào và nhãn của chúng làm đầu ra. Các
cặp dữ liệu huấn luyện này được đưa vào mạng thần kinh bằng cách sử
dụng các biểu diễn đầu vào và đưa dự đoán về nhãn đầu ra. Dữ liệu huấn
4


luyện cung cấp phản hồi về tính chính xác của các trọng số trong mạng tùy
thuộc vào xác suất đầu ra dự đoán cho một đầu vào cụ thể khớp với nhãn
đầu ra có chú thích trong dữ liệu huấn luyện. Xác suất này được coi là các
phản hồi trong quá trình huấn luyện giúp cải thiện việc học. Tương tự,
trọng số giữa các nơ ron được điều chỉnh trong mạng lưới thần kinh để đáp
ứng với các xác suất dự đoán. Mục tiêu của việc thay đổi các trọng số là
sửa đổi hàm được tính tốn để làm cho các dự đốn chính xác hơn trong
các lần lặp tiếp theo. Do đó, các trọng số được thay đổi cẩn thận theo cách
hợp lý về mặt toán học để giảm sai số trong tính tốn. Bằng cách điều
chỉnh liên tục các trọng số giữa các nơ ron qua nhiều cặp đầu vào đầu ra,
hàm được tính tốn bởi mạng nơ ron được tinh chỉnh theo thời gian để cung
cấp dự đốn chính xác hơn. Tính hữu dụng chính của tất cả các mơ hình
học máy là khả năng khái qt hóa việc học từ dữ liệu huấn luyện tiến tới
dự đốn các ví dụ chưa thấy. Hình 1.9 thể hiện khái qt hóa q trình học
tập từ dữ liệu của các mơ hình Deep learning.


Hình 1.9. Q trình học từ dữ liệu của mơ hình Deep learning
Mặc dù Deep learning là một lĩnh vực không mới mẻ trong học máy
nhưng nó chỉ nổi lên vào đầu những năm 2010. Trong vài năm gần đây,
Deep learning đã đạt được những bước đột phá trong các lĩnh vực khó khăn
mà trước đây các phương pháp học máy chưa xử lý được như:
 Nhận dạng giọng nói gần cấp độ của con người
 Phân loại hình ảnh ở mức độ gần giống người
 Phiên âm chữ viết gần cấp độ của con người
 Cải thiện chuyển đổi văn bản thành giọng nói
 Lái xe tự động ở mức gần con người
5


Deep learning đã bắt đầu áp dụng cho rất nhiều vấn đề ngồi nhận
thức về máy móc và đọc hiểu ngơn ngữ tự nhiên. Điều này có thể báo trước
một thời đại mà Deep learning hỗ trợ con người trong khoa học, phát triển
phần mềm và hơn thế nữa.
1.3 Các loại mạng trong Deep Learning
1.3.1 Mạng nơ ron tích chập, kiến trúc mạng nơ ron tích chập
Để dạy thuật tốn nhận diện đối tượng trong hình ảnh, ta sử dụng một
loại mạng nơ ron nhân tạo (Artificial Neural Network) gọi là mạng nơ ron
tích chập (CNN - Convolutional Neural Network) - một trong những mơ
hình mạng Deep learning phổ biến nhất hiện nay. CNN có khả năng nhận
dạng và phân loại hình ảnh với độ chính xác rất cao, thậm chí cịn tốt hơn
con người trong nhiều trường hợp. Mơ hình này đã và đang được phát triển,
ứng dụng vào các hệ thống xử lý ảnh lớn của các tập đồn cơng nghệ hàng
đầu thế giới như Facebook, Google hay Amazon… cho các mục đích khác
nhau như các thuật tốn gán nhãn tự động, tìm kiếm ảnh hoặc gợi ý sản
phẩm cho người tiêu dùng. Sự ra đời của mạng CNN là dựa trên ý tưởng cải
tiến cách thức các mạng nơ ron nhân tạo truyền thống học thông tin trong

ảnh. Do sử dụng các liên kết đầy đủ giữa các điểm ảnh vào nút, các mạng nơ
ron nhân tạo truyền thẳng bị hạn chế rất nhiều bởi kích thước của ảnh, ảnh
càng lớn thì số lượng liên kết càng tăng nhanh và kéo theo sự bùng nổ khối
lượng tính tốn. Ngồi ra sự liên kết đầy đủ này cũng là sự dư thừa khi với
mỗi bức ảnh, các thông tin chủ yếu thể hiện qua sự phụ thuộc giữa các điểm
ảnh với những điểm xung quanh nó mà khơng quan tâm nhiều đến các điểm
ảnh ở cách xa nhau. Mạng CNN ra đời với kiến trúc thay đổi, có khả 6năng
xây dựng liên kết chỉ sử dụng một phần cục bộ trong ảnh kết nối đến nút
trong lớp tiếp theo thay vì tồn bộ ảnh như trong mạng nơ ron truyền thẳng.
o Kiến trúc mạng nơ ron tích chập
Mạng CNN có kiến trúc khác với mạng nơ ron thơng thường. Mạng
nơ ron bình thường chuyển đổi đầu vào thơng qua hàng loạt các tầng ẩn.
Mỗi tầng là một tập các nơ ron và các tầng được liên kết đầy đủ với các nơ
ron ở tầng trước đó. Và ở tầng cuối cùng sẽ là tầng kết quả đại diện cho dự
đốn của mạng. Cịn các lớp của mạng CNN có các nơ ron được sắp xếp
theo 3 chiều: chiều rộng, chiều cao, chiều sâu. Kế đến, các nơ ron trong
mạng khơng liên kết hồn tồn với tồn bộ nơ ron kế đến mà chỉ liên kết
6


tới một vùng nhỏ. Cuối cùng, một tầng đầu ra được tối giản thành véc tơ
của giá trị xác suất.

Hình 1.10. So sánh mạng nơ ron và mạng nơ ron tích chập
Các lớp cơ bản trong một mạng CNN bao gồm: lớp tích chập
(Convolutional), lớp kích hoạt phi tuyến (Activation), lớp lấy mẫu
(Pooling) và lớp kết nối đầy đủ (Fully-connected), được thay đổi về số
lượng và cách sắp xếp để tạo ra các mơ hình huấn luyện phù hợp cho từng
bài tốn khác nhau.


Hình 1.11. Kiến trúc mạng CNN
Lớp tích chập: Đây là thành phần quan trọng nhất trong mạng CNN,
cũng là nơi thể hiện tư tưởng xây dựng sự liên kết cục bộ thay vì kết nối
tồn bộ các điểm ảnh. Các liên kết cục bộ này được tính tốn bằng phép
tích chập giữa các giá trị điểm ảnh trong một vùng ảnh cục bộ với các bộ
lọc - filters - có kích thước nhỏ.

7


Hình 1.12. Bộ lọc tích chập sử dụng trên ma trận điểm ảnh
Trong ví dụ ở hình 1.12 ta thấy bộ lọc được sử dụng là một ma trận có
kích thước 3x3. Bộ lọc này được dịch chuyển lần lượt qua từng vùng ảnh đến
khi hoàn thành quét toàn bộ bức ảnh, tạo ra một bức ảnh mới có kích thước nhỏ
hơn hoặc bằng với kích thước ảnh đầu vào. Kích thước này được quyết định tùy
theo kích thước các khoảng trắng được thêm ở viền bức ảnh gốc và được tính
theo cơng thức:

Trong đó:- o: kích thước ảnh đầu ra
- i: kích thước ảnh đầu vào
- p: kích thước khoảng trắng phía ngồi viền của ảnh gốc
- k: kích thước bộ lọc
- s: bước trượt của bộ lọc
Sau khi đưa một bức ảnh đầu vào cho lớp tích chập ta nhận được kết
quả đầu ra là một loạt ảnh tương ứng với các bộ lọc đã được sử dụng để
thực hiện phép tích chập. Các trọng số của các bộ lọc này được khởi tạo
ngẫu nhiên trong lần đầu tiên và sẽ được cải thiện dần xuyên suốt quá trình
huấn luyện.
Lớp kích hoạt: Lớp này được xây dựng với ý nghĩa đảm bảo tính phi
tuyến của mơ hình huấn luyện sau khi đã thực hiện một loạt các phép tính tốn

8


tuyến tính qua các lớp tích chập. Hàm kích hoạt được sinh ra với mục đích bẻ
gãy sự tuyến tính của mạng nơ ron. Các hàm này là một bộ lọc để quyết định
xem thơng tin có được đi qua nơ ron hay khơng. Trong q trình huấn luyện
mạng nơ ron, các hàm kích hoạt đóng vai trị quan trọng trong việc điều chỉnh
độ dốc của đạo hàm và tính chất của các hàm phi tuyến này giúp cho mạng nơ
ron có thể học được biểu diễn của các hàm phức tạp hơn. Hầu hết các hàm kích
hoạt là các hàm liên tục (continuous), tức là có sự thay đổi nhỏ ở kết quả đầu ra
nếu như đầu vào có sự thay đổi nhỏ và khả vi (differentiable) tức là có đạo hàm
tại mọi điểm trong miền xác định của nó. Lớp kích hoạt phi tuyến nói chung sử
dụng các hàm kích hoạt phi tuyến như ReLU hoặc sigmoid, tanh… để giới hạn
phạm vi biên độ cho phép của giá trị đầu ra. Thơng thường, lớp kích hoạt được
áp dụng ngay phía sau lớp tích chập, với đầu ra là một ảnh mới có kích thước
giống với ảnh đầu vào, các giá trị điểm ảnh cũng hoàn toàn tương tự trừ các giá
trị âm đã bị loại bỏ. Lớp lấy mẫu: là một thành phần tính tốn chính khác trong
mạng CNN thường được đặt sau lớp tích chập và lớp kích hoạt để làm giảm kích
thước kích thước ảnh đầu ra trong khi vẫn giữ được các thông tin quan trọng của
ảnh đầu vào. Việc giảm kích thước dữ liệu có tác dụng làm giảm được số lượng
tham số cũng như tăng hiệu quả tính tốn. Lớp lấy mẫu cũng sử dụng một cửa sổ
trượt để quét toàn bộ các vùng trong ảnh tương tự như lớp tích chập và thực hiện
phép lấy mẫu thay vì phép tích chập – tức là sẽ chọn lưu lại một giá trị duy nhất
đại diện cho tồn bộ thơng tin của vùng ảnh đó. Hình 1.13 thể hiện các phương
thức lấy mẫu thường được sử dụng nhất hiện nay, đó là Max Pooling (lấy giá trị
điểm ảnh lớn nhất) và Avarage Pooling (lấy giá trị trung bình của các điểm ảnh
trong vùng ảnh cục bộ).

Hình 1.13. Lấy mẫu Max Pooling và Average Pooling


9


Như vậy, với mỗi ảnh đầu vào được đưa qua lấy mẫu sẽ thu được
một ảnh đầu ra tương ứng, có kích thước giảm xuống đáng kể nhưng vẫn
giữ được các đặc trưng cần thiết cho q trình tính tốn sau này. Lớp kết
nối đầy đủ: được thiết kế hoàn toàn tương tự như trong mạng nơron truyền
thống, tức là tất cả các điểm ảnh được kết nối đầy đủ với nút trong lớp tiếp
theo. So với mạng nơ ron truyền thống, các ảnh đầu vào của lớp này đã có
kích thước được giảm bớt rất nhiều, đồng thời vẫn đảm bảo các thông tin
quan trọng cho việc nhận dạng. Do vậy, việc tính tốn nhận dạng sử dụng
mơ hình truyền thẳng đã khơng cịn phức tạp và tốn nhiều thời gian như
trong mạng nơ ron truyền thống. Mạng CNN là một trong những mơ hình
Deep learning tiên tiến giúp xây dựng được những hệ thống thơng minh với
độ chính xác cao như hiện nay như hệ thống xử lý ảnh lớn như Facebook,
Google hay Amazon đã đưa vào sản phẩm của mình những chức năng
thơng minh như nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái
hay drone giao hàng tự động. CNN được sử dụng nhiều trong các bài toán
phân loại hay nhận dạng các đối tượng trong ảnh.
1.3.2 Mạng hồi quy RNN
Để có thể hiểu rõ về RNN, trước tiên chúng ta cùng nhìn lại mơ hình
Neural Network trong hình 1.14 dưới đây:

Hình 1.14 Mơ hình mạng RNN

10


Như đã thấy thì Neural Network bao gồm 3 phần chính là Input layer,
Hidden layer và Output layer, ta có thể thấy là đầu vào và đầu ra của mạng

neuron này là độc lập với nhau. Như vậy mơ hình này khơng phù hợp với
những bài tốn dạng chuỗi như mơ tả, hồn thành câu, ... vì những dự đốn
tiếp theo như từ tiếp theo phụ thuộc vào vị trí của nó trong câu và những từ
đằng trước nó.
Và như vậy RNN ra đời với ý tưởng chính là sử dụng một bộ nhớ để lưu
lại thông tin từ từ những bước tính tốn xử lý trước để dựa vào nó có thể đưa ra
dự đốn chính xác nhất cho bước dự đốn hiện tại. Để làm rõ vấn thì ta sẽ cùng
xem mơ hình mạng RNN trong hình 1.15 dưới đây sau và cùng phân tích để hiểu
rõ hơn

Hình 1.15 Mơ hình mạng many to many của mạng RNN
Nếu như mạng Neural Network chỉ là input layer x đi qua hidden
layer h và cho ra output layer y với full connected giữa các layer thì trong
RNN, các input xt sẽ được kết hợp với hidden layer ht−1 bằng hàm fW để
tính tốn ra hidden layer ht hiện tại và output y_tyt sẽ được tính ra từ ht
, W là tập các trọng số và nó được ở tất cả các cụm, các L1,L2,...,Lt là các
hàm mất mát sẽ được giải thích sau. Như vậy kết quả từ các quá trình tính
tốn trước đã được "nhớ" bằng cách kết hợp thêm ht−1 tính ra ht để tăng độ
chính xác cho những dự đốn ở hiện tại. Cụ thể q trình tính tốn được viết
dưới dạng tốn như sau:
ht=fW(ht−1,xt)
Hàm fW chúng ta sẽ xử dụng hàm tanh, công thức trên sẽ trở thành :
ht=tanh(Whh*ht−1+Wxh*xt)
11


yt=Why*ht
Đến đây có 3 thứ mới xuất hiện: Wxh,Whh,Why. Đối với mạng NN
chỉ sử dụng một ma trận trọng số W duy nhất thì với RNN nó sử dụng 3 ma
trận trọng số cho 2 q trình tính tốn:Whh kết hợp với "bộ nhớ trước"

ht−1 và Wxh kết hợp với xt để tính ra "bộ nhớ của bước hiện tại" ht từ đó
kết hợp với Why để tính ra yt. Ngồi mơ hình Many to Many như ta thấy ở
trên thì RNN cịn rất nhiều dạng khác như sau:

Hình 1.16 Một số mơ hình khác của mạng RNN
1.3.3 Mạng LSTM
Mạng bộ nhớ dài ngắn(Long Short Term Memory networks), thường được
gọi là LSTM - là một dạng đặc biệt của RNN, nó có khả năng học được các phụ
thuộc xa. LSTM được giới thiệu bởi Hochreiter & Schmidhuber (1997), và sau đó
đã được cải tiến và phổ biến bởi rất nhiều người trong ngành. Chúng hoạt động cực
kì hiệu quả trên nhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay.
LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-term
dependency). Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định của
chúng, chứ ta khơng cần phải huấn luyện nó để có thể nhớ được. Tức là ngay nội tại
của nó đã có thể ghi nhớ được mà khơng cần bất kì can thiệp nào.
Mọi mạng hồi quy đều có dạng là một chuỗi các mô-đun lặp đi lặp lại của
mạng nơ ron. Với mạng RNN chuẩn, các mô đun này có cầu trúc rất đơn giản,
thường là một tầng tanh

12


Hình 1.17. Mơ-đun lặp lại trong RNN tiêu chuẩn chứa một lớp duy nhất
LSTM cũng có kiến trúc dạng chuỗi như vậy, nhưng các mơ-đun trong nó có
cấu trúc khác với mạng RNN chuẩn. Thay vì chỉ có một tầng mạng nơ-ron, chúng
có tới 4 tầng tương tác với nhau một cách rất đặc biệt.

Hình 1.18 Mơ-đun lặp lại trong LSTM chứa bốn lớp tương tác
Giờ thì đừng hoang mang về chi tiết bên trong chúng ngay, chúng ta
sẽ khám phá chúng chi tiết chúng ở bước sau. Điều bạn cần làm bây giờ là

làm hãy làm quen với các kí hiệu mà ta sẽ sử dụng ở dưới đây:

Hình 1.19 Các kí hiệu trong mơ hình mạng LSTM
Ở sơ đồ trên, mỗi một đường mang một véc-tơ từ đầu ra của một nút tới đầu
vào của một nút khác. Các hình trong màu hồng biểu diễn các phép tốn như phép
cộng véc-tơ chẳng hạn, cịn các ơ màu vàng được sử dụng để học trong các từng
mạng nơ-ron. Các đường hợp nhau kí hiệu việc kết hợp, cịn các đường rẽ nhánh ám
chỉ nội dung của nó được sao chép và chuyển tới các nơi khác nhau.
13


1.3.4 Mạng GAN
Có lẽ khi nghe đến trí tuệ nhân tạo, bạn sẽ liên tưởng đến các bộ phim
siêu anh hùng, nơi khả năng kỳ diệu được tạo ra, hay những chú robot có khả
năng nghe, nói và thể hiện cảm xúc. Tất cả những điều đó đem lại cho trí tuệ
nhân tạo cụm từ mang tên sự sáng tạo. Vậy trong thực tế, với các kỹ thuật Deep
Learning hiện nay, chúng có thể đem lại sự sáng tạo cho trí tuệ nhân tạo? Điều
này đang có những bước tiến ban đầu. Và một trong những kỹ thuật giúp tạo ra
sự sáng tạo cho AI đó là mạng Generative Adversarial Networks viết tắt là mạng
GAN.
Mạng GAN được sử dụng trong việc tạo ra rất nhiều sản phẩm hay, ví dụ
việc làm cho máy tính tự động vẽ một bức chân dung, hoặc thậm chí làm cho
máy tính có thể tự động sáng tác ra một bản nhạc theo một phong cách nào đó điều mà bạn nghĩ chỉ có con người mới có thể làm được. So với các cấu trúc của
mạng nơ-ron khác, thì mạng GAN có thể làm được điều tưởng chừng như không
thể mà các mạng nơ-ron khác khơng làm được.
Việc xác định một bức tranh có phải theo phong cách của một họa sĩ nào
đó dễ dàng hơn nhiều so với việc tự vẽ ra bức tranh đó. Và GAN bước đầu đang
đưa ta dần đến giấc mơ trí tuệ nhân tạo.
Và gần đây, có rất nhiều bài báo và sản phẩm được tạo ra từ mạng GAN,
ví dụ như ứng dụng trong phát triển trị chơi. Cơng việc vẽ các nhân vật hoạt

hình tốn rất nhiều chi phí của các nhà phát triển, do họ phải thuê họa sĩ vẽ các
nhân vật hoạt hình này ở các tư thế khác nhau. Và công việc này là một công
việc lặp đi lặp lại. Người ta đã sử dụng tư tưởng của mạng GAN để có thể làm
cho máy tính tự động vẽ ra nhân vật hoạt hình một cách tương tự, điều đó làm
cho nhà phát triển giảm được chi phí th nhân cơng. Do đó, chúng ta có thể tập
trung vào các khía cạnh sáng tạo khác thay vì phải tập trung vào các cơng việc
lặp đi lặp lại.
Trọng tâm chính của mạng GAN thường được áp dụng với hình ảnh, tuy
nhiên với các miền khác như âm nhạc cũng đã được triển khai trong thực tế. Và
thậm chí phạm vi ứng dụng của GAN trong đời sống còn rộng hơn nhiều. Giống
như trong ứng dụng dưới đây, mạng GAN có thể giúp bạn tự động tô màu một
bản vẽ chẳng hạn:

14


×