Tải bản đầy đủ (.pdf) (61 trang)

(Đồ án tốt nghiệp) Ứng dụng học máy cho bài toán phát sinh ảnh thời trang từ câu mô tả

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 (2.9 MB, 61 trang )

Trường Đại Học Sư Phạm Kỹ Thuật
Khoa Đào Tạo Chất Lượng Cao
Ngành Công Nghệ Thông Tin

ĐỒ ÁN TỐT NGHIỆP

ỨNG DỤNG HỌC MÁY CHO BÀI TOÁN PHÁT SINH
ẢNH THỜI TRANG TỪ CÂU MƠ TẢ

Sinh Viên Thực Hiện
MSSV
Sinh Viên Thực Hiện
MSSV
Khố
Ngành
GVHD

:
:
:
:
:
:
:

NGUYỄN BÁ LÊ AN
15110001
NGUYỄN HỮU KHANG
15110062
K15
CÔNG NGHỆ THÔNG TIN


TS. NGUYỄN THIÊN BẢO

Tp. Hồ Chí Minh, tháng 07 năm 2020


Đồ án tốt nghiệp
Em xin cam đoan đây là đồ án của riêng nhóm em và được sự hướng dẫn của
thầy Nguyễn Thiên Bảo. Các nội dung nghiên cứu, kết quả trong đề tài này là
trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây. Những số liệu
trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác
giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo.
Ngồi ra, trong đồ án cịn sử dụng một số nhận xét, đánh giá cũng như số liệu
của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn
gốc.
Nếu phát hiện có bất kỳ sự gian lận nào em xin hồn tồn chịu trách
nhiệm về nội dung đồ án của mình​. Trường đại học Sư Phạm Kỹ Thuật không
liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong q trình
thực hiện (nếu có).
TP. Hồ Chí Minh, ngày 01 tháng 07 năm 2020
Tác giả 1

Nguyễn Bá Lê An
Tác giả 2

Nguyễn Hữu Khang


LỜI CẢM ƠN
Nhóm chúng em xin chân thành c​ảm ơn thầy Nguyễn Thiên Bảo đã tận tình
hướng dẫn và hỗ trợ nhóm trong suốt q trình nghiên cứu đồ án này. Ngồi ra,

nhóm em xin cảm ơn cơ Võ Hồng Anh, và các anh sinh viên khóa trên đã hỗ trợ
chỉnh sửa, khắc phục lỗi sai để nhóm em có thể hồn thành bài đồ án này một
cách tốt nhất.
Nhóm chúng em cũng xin gửi lời cảm ơn đến tác giả Han Zhang đã tạo ra
một cơng trình mang tính thực tiễn và vơ cùng có ích cho những nghiên cứu về
trí tuệ nhân tạo và xử lý ảnh số.
Đây là lần đầu chúng em nghiên cứu đề tài này nên khơng tránh khỏi cịn
nhiều thiếu sót về nội dung, kính mong q thầy cơ thơng cảm bỏ qua và tận tình
góp ý.
Chân thành cảm ơn!

vi


TÓM TẮT
Ngày nay, cùng với sự phát triển của linh kiện phần cứng máy tính thì các
ứng dụng trí tuệ nhân tạo nói chung và thị giác máy tính nói riêng đang phát
triển mạnh mẽ. Trong đó, phát sinh ảnh là một trong số những ứng dụng đang
cực kỳ phát triển và có tầm ảnh hưởng nhất hiện nay.
Tuy nhiên, ứng dụng này vẫn chưa được áp dụng trong các lĩnh vực địi
hỏi sự sáng tạo và tính thẩm mỹ cao như thiết kế thời trang. Vì vậy, bài
nghiên cứu này sẽ tập trung vào việc ứng dụng trí tuệ nhân tạo để phát sinh
ảnh thời trang từ câu mô tả.

vii


SUMMARY
Nowadays, along with the development of computer hardware
components, computer vision applications in particular and artificial

intelligence are generally thriving. Initializing photos is one of the
most influential and ever-evolving applications.
However, this application has not been widely applied in areas that
require high creativity such as fashion design. So this research will
focus on the application of machine learning to the creation of fashion
photos.

viii


MỤC LỤC
TRANG
Trang phụ bìa
Nhiệm vụ đồ án tốt nghiệp……………………...…………………..…...……..i
Trang phiếu nhận xét của giáo viên hướng dẫn...………………….……....…..ii
Trang phiếu nhận xét của giáo viên phản biện…..…….………….……....…..iii
Lời cảm ơn.………..…………..………………………………….………........v
Tóm tắt.…………….………….……………………………………………....vi
Mục lục ……………………….………………………………………...…....ix
Danh mục các chữ viết tắt ……..…………………………………...………....xi
Danh mục các hình ảnh, biểu đồ..…………………………………...………..xii
CHƯƠNG 1​……………………………………………………………………1
TỔNG QUAN ĐỀ TÀI
1.1 Giới thiệu đề tài………….………………………………………….……..1
1.2 Phát biểu bài tốn…………….…………………….…………....………...2
1.2.1 Mơ tả bài tốn…………………..……………………………..………...2
1.2.2 Phát biểu hình thức………………..………………….……..…………..2
Khó khăn và thách thức………….…....………….…………….….........2
1.3
1.4

Mục tiêu đề tài…………………….……………..………………….......3
1.5
Phạm vi đề tài…………………….………………………………..…....3
CHƯƠNG 2 ​…………………………....………………………………………4
CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN
CHƯƠNG 3​………………….………………………………………………....6
CƠ SỞ LÝ THUYẾT
3.1​ ​Mạng nơ-ron tích chập (CNN)….…...……………...……………………....6
3.1.1​ ​Giới thiệu……………………..……………….…………………………..6
3.1.2​ Cấu trúc của CNN…….……….………………….……………………….8
3.2​ ​Mạng nơ-ron hồi quy (RNN)…………………...………....……...………..10
3.2.1​ ​Giới thiệu………....……….……….………………………………….....10
3.2.2​ ​Mạng LSTM (Bộ nhớ dài ngắn hạn)…………....……………………….16
3.3​ ​Các kỹ thuật được sử dụng trong đồ án…....…...…….……...………….....24
3.3.1​ ​Upsampling​….………….……....………………...….……………….….24
3.3.2​ ​Downsampling​………….…………………………………………….….25
ix


CHƯƠNG 4​……..…………………………………………………………...…2
​MƠ HÌNH ĐỀ XUẤT
4.1​ ​StackGAN-v2​..………....……….………………………………………....27
4.1.1​ ​Giới thiệu..…………….………...…………………………………….....27
4.1.2​ ​Xấp xỉ phân phối.…..…………….……………………………………...29
4.1.3​ ​Phân phối ảnh có điều kiện và khơng điều kiện…………………...…….30
4.2​ AttnGAN​…………..…….………………………………………………...31
4.2.1​ ​Giới thiệu…………...……...…………………………………………….31
4.2.2​ ​Cấu trúc…………………………………………....…………………….32
CHƯƠNG 5​…………………………………………………………………...38
KẾT QUẢ NGHIÊN CỨU

5.1​ T
​ ập dữ liệu sử dụng.……...………….…………………………………….38
5.2​ Tiêu chí đánh giá...………………….……………………..……..…..……40
5.2.1​ ​Inception Score (IS)​..…………………………………………………….40
5.2.2​ F​réchet Inception Distance (FID)​.………………...…………..………....41
5.3​ Kết quả mơ hình phát sinh………...……………………………………….42
CHƯƠNG 6​…………………………………………………………………...45
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1​ K
​ ết luận…………………………...……...………………………………...45
6.2​ H
​ ướng phát triển………………...………………………....…………...….45
TÀI LIỆU THAM KHẢO……………………………………………………47
PHỤ LỤC……………………………………………………………………..49

x


DANH MỤC CHỮ VIẾT TẮT
CÁC THUẬT NGỮ
GAN
AttnGAN
CNN
RNN

Generative Adversarial Network
Attentional Generative Adversarial Network
Convolution Neural Network
Recurrent Neural Network


LSTM

Long Short Term Memory Networks

xi


Danh mục biểu đồ và hình ảnh
1.1 Mơ tả bài tốn phát sinh ảnh trang phục từ câu mơ tả ………….....2
3.1 Mơ hình CNN​……………………………………………………...7
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21


Tầng maxpooling………………………………………………......9
Mơ hình RNN​……………………………………………………...10
Mơ hình one to many​……………………………………………....12
Mơ hình many to one​……………………………………………....12
Mơ hình many to many​………………………………………….....13
Mơ hình many to many khác​……………………………………....13
Cách hoạt động của RNN………………………………………….15
Sigmod cho vanishing/exploding gradients​………………………..16
Mơ hình mảng LSTM……………………………………………...17
Kiến trúc mảng LSTM……………………………………………..18
Kí hiệu trong mảng LSTM………………………………………....18
Đường truyền trạng thái…………………………………………....19
Cổng LSTM………………………………………………………..20
Thông tin đầu vào của LSTM……………………………………...21
Xử lý thông tin……………………………………………………..21
Cập nhật vào Cell State……………………………………………23
Thông tin đầu ra…………………………………………………...23
Cấu trúc của Upsampling…………………………………………..24
Cấu trúc của Downsampling……………………………………….25
Cấu trúc của Residual Block……………………………………….26

4.1

Mô hình StackGAN-v2 được đồ án sử dụng cho bài tốn phát sinh
ảnh thời trang………………………………………………….28

xii



4.2
4.3

Mơ hình xấp xỉ phân phối hình ảnh………………………………….31
Mơ hình của AttnGAN được đồ án sử dụng cho bài toán phát sinh ảnh
thời trang………………………………………………………...32

5.1
5.2
5.3
5.4

Một số mẩu của tập dữ liệu Fashion-gen…………………………….38
Thống kê tập dữ liệu theo các loại quần áo…​…………………….….39
Thống kê tập dữ liệu theo tập huấn luyện và kiểm tra.........................40
Kết quả so sánh giữa ảnh được StackGAN-v2 và At​tnGAN tạo ra với
quần và giày………………………………………………………….43
Kết quả so sánh giữa ảnh được StackGAN-v2 và At​tnGAN tạo ra với
các loại áo thun và áo khoác………………………………………...44

5.5

xiii


 

Chương 1
TỔNG QUAN ĐỀ TÀI
1.1


 

Giới thiệu đề tài

● Ngày nay trước sự phát triển khơng ngừng của trí tuệ nhân tạo mà cụ
thể là thị giác máy tính đang được ứng dụng vào nhiều lĩnh vực trong
đời sống như: nhận dạng khuôn mặt, nhận dạng cảm xúc, nhận dạng đối
tượng hoặc thậm chí được ứng dụng trong các lĩnh vực u cầu độ
chính xác cao như: y tế (chẩn đốn một số bệnh ung thư, xác định vùng
bệnh ung thư,...), nơng nghiệp,...
● Trong hơn một thập kỷ gần đây thì Học sâu (Deep Learning) đã và đang
trở thành một trong những công cụ phổ biến được ứng dụng vào nhiều
bài tốn, mang lại hiệu quả đáng kể khơng những xét về độ chính xác
mà cịn cả độ hiệu quả trong các ứng dụng thời gian thực. Trước sự phát
triển vượt bậc của các giải thuật và sức mạnh của máy tính như hiện
nay, những ứng dụng tưởng chừng như khơng tưởng trước đây đã được
đưa vào để giải quyết và có được những kết quả đáng kể. Một trong số
đó là việc ứng dụng Học máy vào giải quyết các bài toán liên quan đến
thời trang, đây là một trong những hướng tiếp cận mới.
● Một cách cụ thể, trong đồ án này các giải thuật Học máy được sử dụng
để giải quyết bài toán thiết kế ra một trang phục mới từ một câu mô tả
cho trang phục mà qua đó thể hiện mong muốn của khách hàng. Bài
tốn này mang đến nhiều lợi ích khơng những xét về ý nghĩa khoa học
lẫn ý nghĩa thực tiễn.
● Tuy nhiên, đây là một bài toán đầy thách thức bởi ảnh thời trang có sự
đa dạng, phức tạp cả về hình dáng, màu sắc, và chất liệu tương ứng với
từng loại trang phục, không những vậy những ảnh hưởng của các đối
tượng khơng liên quan như: khn mặt, màu da, tóc, và nền xung quanh
cũng tác động không nhỏ đến việc giải quyết bài toán này.


1


● Bên cạnh đó, từ câu mơ tả ảnh trang phục còn cho thấy sự đa dạng và
phức tạp về mặt ngữ nghĩa của các từ vựng liên quan đến thời trang.
Ngoài ra, việc thể hiện mối liên hệ giữa từ ngữ và hình ảnh trong mơ
hình cũng cho thấy sự phức tạp của bài tốn này.
 

1.2

Phát biểu bài tốn
 

1.2.1

Mơ tả bài tốn

Từ câu mơ tả về ảnh thời trang cho trước, mơ hình sẽ thực hiện xử lý câu
mơ tả đó dựa vào các giải thuật Học máy và từ đó phát sinh ra một ảnh thời
trang có những đặc điểm gần giống với câu mơ tả đầu vào.

Hình 1.1: Mơ tả bài tốn phát sinh ảnh trang phục từ câu mơ tả
 

1.2.2

Phát biểu hình thức
yˆ​ ← ​f ​(​t​)


(1.2.1)

Trong đó ​yˆ​ là ảnh phát sinh được tạo ra từ hàm ​f ​với ​t ​là câu mơ tả ảnh đầu
vào.

1.3

 

Khó khăn và thách thức

Một số vấn đề chung thường gặp phải cho bài toán phát sinh ảnh:
● Tốn khá nhiều thời gian cho việc huấn luyện mơ hình phát sinh ảnh, và
tối ưu tham số cho mơ hình vì chưa thật sự có một độ đo nào phù hợp
nhất để đo đạc phân bố xác suất của dữ liệu phát sinh và dữ liệu gốc.
● Vấn đề chất lượng hình ảnh tạo ra chưa đạt được mong đợi. Hình ảnh
tạo ra chưa đủ chi tiết, phân giải còn khá thấp.
● Hiện tượng Vanishing gradient xảy ra làm cho mơ hình khó khăn trong
q trình huấn luyện.
● Hiện tượng Mode collapse dẫn đến tạo ra những hình ảnh giống nhau.
● Một số vấn đề riêng cho bài toán phát sinh ảnh thời trang:
2


o Các thơng tin chi tiết thuộc tính thời trang rất khó thể hiện trong
ảnh được phát sinh.
o Các đối tượng ảnh thời trang có hình dạng và cấu trúc ảnh phức
tạp.
o Sự phức tạp trong câu mô tả dẫn đến khó khăn trong việc phát

sinh ảnh thời trang phù hợp.

1.4

 

Mục tiêu đề tài

● Đồ án tập trung vào tìm hiểu bài tốn sinh ảnh thời trang từ đoạn mơ tả
cho trước thông qua các giải thuật được sử dụng phổ biến hiện nay. Dựa
trên cơ sở lý thuyết tìm hiểu, tiến hành xây dựng, phân tích và lựa chọn
mơ hình phù hợp cho bài tốn phát sinh ảnh thời trang.

1.5

 

Phạm vi đề tài

● Đồ án tập trung nghiên cứu trên đối tượng ảnh thời trang và các câu mô
tả kèm theo tương ứng với từng ảnh, phương pháp được sử dụng dựa
vào Học máy với mơ hình GAN, để từ đó phát sinh ảnh thời trang mới
từ câu mơ tả đầu vào. Phạm vi đề tài chỉ giới hạn trên tập ảnh thời trang
với nền trắng và chỉ phát sinh một loại quần áo tại một thời điểm.

1.6

 

Bố cục


Đồ án bao gồm các chương sau:


CHƯƠNG 1: Tổng quan đề tài



CHƯƠNG 2: Cơng trình nghiên cứu liên quan



CHƯƠNG 3: Cơ sở lý thuyết



CHƯƠNG 4: Mơ hình đề xuất



CHƯƠNG 5: Kết quả thực nghiệm



CHƯƠNG 6: Kết luận và hướng phát triển

3


 


Chương 2
CƠNG TRÌNH NGHIÊN CỨU
LIÊN QUAN
Trước khi đi vào các cơng trình liên quan, ta sẽ đi qua khái niệm về GAN và
các cơng trình có liên quan tới mơ hình kiến trúc mà nhóm em đang nghiên cứu.
Mơ hình GAN [3] công bố vào năm 2014. Và đây được xem là nền tảng phát
triển cho các cơng trình GAN khác trong tương lai.
GANs là kiến trúc mạng nơ-ron được hình thành trên sự cạnh tranh
(adversarial) của 2 mạng nơron khác nhau:
● Generator network (ký hiệu là G) mục tiêu sinh ra dữ liệu giả từ khơng gian
tìm ẩn Z (latent space) sao cho giống với dữ liệu thật nhất.
● Discriminator (ký hiệu là D) nhận nhiệm vụ phân biệt dữ liệu được tạo ra từ
G với dữ liệu thật cho trước.
Mơ hình này được dùng để phát sinh ra hình ảnh sao cho có thể giống với ảnh
thật nhất. Điều này giúp ta có thể tạo ra những chữ ký ảo có thể giống với người
nhất hay tạo ra một vật thể gì đó dựa trên hiểu biết của máy nhưng vẫn hợp với
thực tế cuộc sống. Tuy lợi ích là vậy thế nhưng mơ hình vẫn cịn vướng phải khá
nhiều khuyết điểm như việc mơ hình trong q trình huấn luyện khơng được ổn
định, hình ảnh được tạo ra nhưng phân giải còn khá thấp, các vấn đề Vanishing
Gradient, vấn đề tạo ra khá nhiều mẫu giống nhau (mode collapse).
Nhờ vào sự có mặt của GAN mà các cơng trình sau này dựa trên nền tảng này
phát triển khá nhiều và một trong số đó phải kể đến là LAPGAN.
Đồ án tham khảo bài báo khoa học của Emily L. Denton [2] được công bố
2015, cơ sở dữ liệu là LSUN, CIFAR10 và STL10.
4


Mục tiêu là tạo ra hình ảnh chất lượng cao từ những hình ảnh dư thừa của
những trạng thái trước ứng với từng tầng của kim tự tháp. Mơ hình sử dụng kỹ

thuật kim tự tháp Laplacian kết hợp với nhiều lớp mạng tích chập (CNNs).
Việc kết hợp này mang lại những ưu điểm sau cho mơ hình. Mơ hình train
khơng phụ thuộc vào nhau giúp tránh được khó khăn cho mơ hình khi ghi nhớ mẫu
huấn luyện. Hình ảnh tạo ra có độ chân thật gần như giống với ảnh thật nhất do
input ở các đầu vào là ảnh gốc và chỉ làm mờ và downsampling. Tuy nhiên, mơ
hình vẫn cịn bị hạn chế ở việc tạo ra hình ảnh có phân giải thấp. Một vài chi tiết
của ảnh chưa được sinh ra rõ ràng, cụ thể Một công trình khác có sự liên quan mật
thiết tới mơ hình của bài luận nhóm em đang áp dụng là StackGAN. Đồ án tham
khảo bài báo khoa học của Han Zhang [8] được công bố vào năm 2016. Cơ sở dữ
liệu được dùng trong bài báo là MSCOCO, Oxford-102 và CUB.
Mục tiêu tạo ra hình ảnh có độ phân giải cao và chi tiết hơn của một vật thể.Mơ
hình sử dụng mơ hình GAN nhưng được chia thành 2 giai đoạn. Giai đoạn một
nhằm khái quát các chi tiết và màu sắc cơ bản của đối tượng. Giai đoạn chia sẻ tập
trung khai thác những chi tiết còn thiếu cũng như tăng phân giải của hình đó lên.
Nhờ việc ứng dụng kỹ thuật trên mà mơ hình tạo ra hình ảnh có độ phân giải cao
và chi tiết hơn. Thế nhưng mơ hình vẫn cịn vướng phải lỗi Mode Collapse, lỗi
Vanishing Gradient và vẫn cịn hạn chế trong việc hình ảnh tạo ra có thể khơng
khớp với câu mơ tả được cấp sẵn.
Mơ hình cuối cùng này được nhóm em áp dụng vào bài nghiên cứu là
AttnGAN. Đồ án tham khảo bài báo khoa học của Tao Xu [7] được công bố vào
năm 2017. Cơ sở dữ liệu được dùng trong bài báo là COCO và CUB
Mục tiêu nhằm tạo ra hình ảnh có độ phân giải cao đồng thời các chi tiết của
đối tượng cũng sẽ rõ ràng hơn. Mô hình sử dụng mạng khởi tạo tập trung
(Attentional Generative Network) và Deep Attentional Multimodal Similarity
Model. Nhờ ra đời sau cùng nên mơ hình khắc phục gần hết các khuyết điểm mà
các cơng trình phía trên mắc phải. Mơ hình đã có thể khắc phục được vấn đề
Vanishing Gradient một lối vốn phổ biến ở mơ hình GAN. Mơ hình tạo ra hình
ảnh có độ phân giải cao và chi tiết hơn. Mơ hình cũng có phân ưu việt khi có thể
tạo ra hình ảnh trùng khớp với từng câu mơ tả mà mơ hình StackGAN-v1.


5


 

Chương 3
CƠ SỞ LÝ THUYẾT
3.1
3.1.1

Mạng nơ-ron tích chập (CNN)
 

Giới thiệu

● Mạng nơ-ron tích chập là một tập hợp gồm nhiều tầng tích chập được
xếp chồng lên nhau. Với mục đích nhằm tạo ra những thơng tin có tính
trừu tượng làm input cho những tầng tích kế tiếp.
● Mạng nơ-ron tích chập có ít tham số hơn so với những mạng nơ-ron
truyền thống. Và một điểm khác biệt nữa ở mạng nơ-ron tích chập với
mạng nơ-ron truyền thống nữa đó chính là cơ chế tích chập. Với những
mạng nơ-ron truyền thống thì các tầng được liên kết với nhau thơng qua
1 tham số W, nhưng ở mạng nơ-ron tích chập thì các tầng được liên kết
với nhau qua cơ chế tích chập. Cơ chế tích chập này sẽ tạo ra 1 output là
đặc trưng được rút ra ở tầng này và sẽ là input cho tầng tiếp theo sử
dụng. Bên cạnh đó mạng nơ-ron tích chập cịn có sử dụng tầng pooling.
Tầng này có nhiệm vụ sẽ làm giảm số chiều của đặc trưng được rút ra,
sẽ chắt lọc lại những thơng tin có ích cho những tầng sau. Mạng nơ-ron
tích chập có tính bất biến và tính kết hợp cục bộ. Nếu ta xét trên một đối
tượng, độ chính xác của hình sẽ bị ảnh hưởng tùy thuộc vào góc độ

chụp của hình đó. Tính bất biến của hình sẽ biểu hiện ở q trình
pooling qua các phép tính dịch chuyển, phép quay, phép co giãn.
● Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ
thấp đến mức độ cao và trừu tượng hơn thơng qua q trình tích chập từ
các bộ lọc là một trong những mơ hình Deep Learning tiên tiến giúp cho
chúng ta xây dựng được những hệ thống thông minh với độ chính xác
cao. Ví dụ như diện khn 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
6


nhận dạng các đối tượng trong ảnh. Mạng tích chập bao gồm một hay
nhiều tầng tích chập, dùng để trích xuất thơng tin cho các tầng tiếp theo.

Hình 3.1: Mơ hình CNN

Nguồn:

3.1.2

 

Định nghĩa tích chập

Tích chập có thể được xem như một cửa sổ trượt trên ma trận của hình ảnh.
Việc tích chập sẽ làm giảm kích thước của ma trận xuống nhưng sẽ rút trích được
những đặc trưng cơ bản của ma trận hình đó.
Cách tính: 1 phép tốn thực hiện nhân tích chập ma trận của ảnh với filter /
mask / kernel (bộ lọc) để được ma trận điểm ảnh mới:


7


g​(​x, y)​ = ​h​(​x, y)​ ​∗​ ​f (​ ​x, y​)

(3.1.1)

Trong đó:
– f, g​: input/output


h​:

mask/filter/kernel
Cáchtính:
– Trượt filter trên ma trận ảnh.
– Nhân các phần tử tương ứng và sau đó tổng chúng lại với nhau.
– Lặp lại quy trình này cho đến khi tất cả các giá trị của hình ảnh được tính

3.1.3

 

Cấu trúc của CNN

Mạng CNN gồm rất nhiều lớp chồng lên và có 3 loại chính :
Lớp Convolution
● Đây là một trong những lớp quan trọng và cần thiết nhất trong CNN.
Lớp convolution có vai trị rút ra những đặc trưng của đối tượng. Và là
đầu vào của những lớp tiếp theo.

● Lớp Convolution sử dụng các hàm kích hoạt phi tuyến như ReLU và
tanh để kích hoạt các trọng số trong các node. Mỗi một lớp sau khi
thông qua các hàm kích hoạt sẽ tạo ra các thơng tin trừu tượng hơn cho
các lớp tiếp theo. Các layer liên kết được với nhau thông qua cơ chế
convolution. Layer tiếp theo là kết quả convolution từ layer trước đó,
nhờ vậy mà ta có được các kết nối cục bộ. Như vậy mỗi nơ-ron ở lớp kế
tiếp sinh ra từ kết quả của filter đặt lên một vùng ảnh cục bộ của nơ-ron
trước đó.

8


Lớp Pooling
Pooling/subsampling layer (Tầng tổng hợp) 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). Việc sử dụng lớp pooling như vậy sẽ
giúp làm giảm số chiều của ảnh. Trong quá trình huấn luyện mạng (training) CNN
tự động học các giá trị qua các lớp filter dựa vào cách thức mà bạn thực hiện. Ví
dụ trong tác vụ phân lớp ảnh, CNNs sẽ cố gắng tìm ra thơng số tối ưu cho các
filter tương ứng theo thứ tự raw pixel > edges > shapes > facial > high-level
features
Có rất nhiều cách để tổng hợp, chẳng hạn như lấy trung bình hoặc cực đại.
Thủ tục pooling được dùng nhiều nhất là maxpooling.
Cách tính: Ta sẽ cho trượt khơng tuyến tính của sổ (filter) trên ảnh. Và ta sẽ
chọn ra giá trị lớn nhất trong cửa sổ đó. Lặp lại cho tới khi các giá trị được tính.
Ví dụ:

Hình 3.2: Tầng maxpooling
Nguồn: r​a.com

9



Lớp Fully connected

- Fully connected: Layer cuối cùng tổng hợp các kết quả từ quá
trình convolution và subsampling.

3.2
3.2.1

Mạng nơ-ron hồi quy (RNN)
Giới thiệu

Là mạng hồi quy mang lại thành tựu to lớn trong ngành Deep learning nói
chung cũng như là xử lý ngôn ngữ tự nhiên. Mạng này được gọi là hồi quy do
mạng này xử lý thông tin theo dạng chuỗi. Như là xử lý cho 1 câu gồm nhiều
từ hay một văn bản gồm nhiều câu. Và kết quả đầu ra ở một thời điểm i sẽ phụ
thuộc vào việc tính tốn dữ liệu của thời điểm i−1 trước đó Nói cách khác,
RNN là một mơ hình có trí nhớ (memory), có khả năng nhớ được thơng tin đã
tính tốn trước đó. Khơng như các mơ hình mạng nơ-ron truyền thống đó là
thơng tin đầu vào (input) hồn tồn độc lập với thơng tin đầu ra (output). Về lý
thuyết, RNNs có thể nhớ được thơng tin của chuỗi có chiều dài bất kỳ, nhưng
trong thực tế mơ hình này chỉ nhớ được thông tin ở vài bước trước đó.

Hình 3.3: Mơ hình RNN
Nguồn:

10



Từ mơ hình trên ta có:
– xt​ l​ à input tại thời điểm thứ t. Và ​xt​ o​ đây sẻ được biểu diễn dưới dạng
một one-hot vector tương ứng với 1 từ trong câu
– st​ l​ à hidden state (memory) tai thời điểm thứ ​t.​ ​st​ đ​ ược tính dựa trên các
hidden state trước đó kết hợp với input của thời điểm hiện tai ​st​ =
​ ​f (​ ​Ux​ ​1 ​+
W​s​t−​1 ​) ​.
–Hàm ​f ​là hàm phi tuyến tính thường là hàm tanh, ReLU. ​st​ −​ 1 ​là hidden state
được khởi tạo là một vectơ không.
– o​t l​ à output tại thời điểm thứ ​t​. ​o​t ​là một vector chứa xác suất của toàn bộ
​ ​softmax(​ ​Vs​ t​ )​ ​.
các từ trong từ điển và được tính như sau ot​ ​ =
Từ mơ hình trên ta có thể thấy các thành phần trong chuỗi có tính phụ thuộc
lẫn nhau. Ví dụ nếu ta xét 1 câu gồm 7 chữ thì ứng với một chữ trong câu
sẽ là một lớp mạng được dàn trải ra. Và ở mơ hình RNN này thì bộ tham số
được dùng là (U,V,W) sẽ được sử dụng cho tồn bộ q trình huấn luyện.
Các dạng RNN

RNN có 4 dạng được sử dụng phổ biến là:
Dạng one – to – many: Từ 1 input cho ra nhiều output. Dùng để chú
thích, mơ tả hình ảnh. Thường thì người ta sẽ sử dụng mạng CNN để
detect object trong ảnh và sau đó sẽ dùng RNN để sinh ra các câu có nghĩa
để mơ tả cho bức ảnh đó.

11


Hình 3.4: Mơ hình one to many
Nguồn: a


Dang many – to – one: Từ nhiều input cho ra 1 output. Dùng cho việc
tính tốn ra kết quả cuối cùng cho nhiều dữ liệu đầu vào

Hình 3.5: Mơ hình many to one
Nguồn: a

12


Dạng many – to – many: Dùng cho dịch thuật. Từ nhiều đầu vào
cho ra nhiều đầu ra.

Hình 3.6: Mơ hình many to many
Nguồn: a

Một dạng khác của many – to – many: Dùng cho phân biệt video trên từng
khung hình.

Hình 3.7: Mơ hình many to many khác
Nguồn: a

13


X​t:​ Input tại thời điểm t

S​t:​ Trạng thái tại thời điểm

F​w:​ Hàm đệ quy với tham số W


Ví dụ mạng RNN đơn giản:
Tù cơng thúc (1) ta có trạng thái ​St​ t​ ại thời điểm t được tính theo cơng
thức đệ quy với hàm kích hoạt tanh của tổng các tích của trạng thái đầu
vào S​ ​t​−1
h​t​ ​= ​tanh​(​W​hh​ht ​− 1 + ​W​xhx​ t​ ​) ​y​t​ =
​ ​Why
​ ​h​t
Không như với mạng nơ-ron truyền thống, chỉ sử dụng duy nhất
một ma trận trọng số W
​ đ​ ể tính tốn thì với RNN nó sử dụng 3 ma trận
trọng số cho 2 q trình tính tốn. Đầu tiên ta sẽ tính t​ anh ​cna tổng 2 giá
trị tại thời điểm h​ ​t−​ 1 ​với thời điểm h​ ​t.​ Sau đó lấy tích giá trị h​ t​ ​với
W​hy​ đ
​ ể tính ra kết quả y​t
Mặc dù mạng RNN được giới khoa học kỳ vọng là mơ hình mạng có
thể giải quyết các vấn đề về phụ thuộc xa (long-term dependencies).
Nhưng thực tế thì mơ hình này có thực sự đúng như kỳ vọng của họ. Câu
trả lời là khơng hạn.

Hình 3.8: Cách hoạt động của RNN
Nguồn:

Từ hình minh họa trên, trong mơ hình hóa ngơn ngữ, chúng ta cố gắng dự đốn từ
tiếp theo dựa vào các từ trước đó. Nếu chúng ta có câu “đám mây bay trên bầu
trời”, thì chúng ta khơng cần xét q nhiều từ trước đó, chỉ cần đọc tới “đám mây
trên bầu” là đủ biết được chữ tiếp theo là “trời” rồi. Trong trường hợp này, khoảng
cách tới thông tin liên quan được rút ngắn lại, mạng RNN có thể học và sử dụng
các thơng tin quá khứ. Nhưng cũng với trường hợp này nếu ta xét với 1 câu dài

14



hơn, nhiều thông tin hơn, nghĩa phụ thuộc vào ngữ cảnh. Ví dụ như ta dự đốn từ
cuối cùng của 1 văn bản sau “I grew up in France... I speak fluent French.” Nếu
như chỉ đọc “I speak fluent French” thì ta chỉ có thể dự đốn được tên ngơn ngữ
chứ khơng thể xác định được chính xác đó là ngơn ngữ gì. Nếu muốn biết chính
xác đó là ngơn ngữ gì thì ta cần phải xét ln ngữ cảnh “I grew up in France” thì
mới có thể suy luận được. Từ đây ta có thể thấy khoảng cách thơng tin đã khá xa
khiến cho việc dự đoán trở nên khó khăn và nhọc nhằn hơn và bên cạnh đó có thể
kết quả trả ra sẽ sai sót. Việc thiếu sót của mạng RNN mang lại đã được 2 nhà bác
học “Hochreiter (1991) [German] and Bengio, et al. (1994)” đưa ra và đã trở thành
một nỗi lo lắng cho giới khoa học trong thời điểm nóng bỏng này.
Nhưng quan trọng hơn, 2 nhà bác học trên đã chỉ ra 2 yếu tố khiến cho mạng RNN
khơng giải quyết được chính xác vấn đề “long term dependencies” là Vanishing và
Exploding Gradients. Và 2 yếu tố này thường sẽ xuất hiện nhiều trong q trình
huấn luyện mơ hình. Vanishing gradients chỉ xảy ra khi gradient signal ngày càng
nhỏ theo quá trình huấn luyện, khiến cho q trình tối thiểu hóa hàm lỗi hội tụ
chậm hoặc dừng hẳn Exploding gradients chỉ xảy ra khi gradient signal ngày càng
bị phân tán trong quá trình huấn luyện, khi đó q trình tối thiểu hố hàm lỗi
khơng hội tụ.

Hình 3.9: Sigmod cho vanishing/exploding gradients
Nguồn:

Và để giải quyết 2 vấn đề trên, mạng LSTM đã ra đời.

15



×