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

ĐỒ ÁN CƠ SỞ NGHIÊN CỨU NHẬN DẠNG CHỮ SỐ VIẾT TAY DÙNG MẠNG NEURAL NHÂN TẠO.

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 (4.58 MB, 41 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ

NGHIÊN CỨU NHẬN DẠNG CHỮ SỐ VIẾT TAY DÙNG MẠNG
NEURAL NHÂN TẠO.
Giảng viên hướng dẫn: ThS. VƯƠNG XUÂN CHÍ
Sinh viên thực hiện:

Nguyễn Lê Tài

MSSV:

2000001633

Chuyên ngành:

KHOA HỌC DỮ LIỆU

Môn học:

ĐỒ ÁN CƠ SỞ KHOA HỌC DỮ LIỆU

Khóa:

2020

Tp.HCM, tháng 9 năm 2022



BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ

NGHIÊN CỨU NHẬN DẠNG CHỮ SỐ VIẾT TAY DÙNG MẠNG
NEURAL NHÂN TẠO.
Giảng viên hướng dẫn: ThS. VƯƠNG XUÂN CHÍ
Sinh viên thực hiện:

Nguyễn Lê Tài

MSSV:

2000001633

Chuyên ngành:

KHOA HỌC DỮ LIỆU

Môn học:

ĐỒ ÁN CƠ SỞ KHOA HỌC DỮ LIỆU

Khóa:

2020


Tp.HCM, tháng 9 năm 2022

1


LỜI CẢM ƠN
Em bày tỏ lòng biết ơn sâu sắc tới Thầy Vương Xn Chí đã tận tình hỗ trợ em hết
mình trong quá trình thực hiện đồ án cơ sở. Thầy đã tạo điều kiện rất tốt từ khâu
chuẩn bị đến việc hoàn thành đồ án. Cùng với những buổi học trên lớp lý thuyết và
thực hành giúp em tiếp thu thêm nhiều kiến thức mới.
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của chúng em, bài báo
cáo này không thể tránh được những thiếu sót. Em rất mong nhận được sự chỉ
bảo, đóng góp ý kiến của các quý thầy cô để bổ sung kiến thức và khắc phục những
sai sót để làm tốt hơn khi làm những bài đồ án hay tiểu luận sau này.
Họ và tên sinh viên

Nguyễn Lê Tài

2


LỜI MỞ ĐẦU
Hiện nay, với hệ thống dữ liệu hình ảnh khổng lồ trên tồn thế giới, việc phân tích,
xử lý để khai thác sử dụng thơng tin trong ảnh là một nhu cầu thiết yếu. Tuy nhiên,
với số lượng dữ liệu khổng lồ, việc phân tích, xử  lý thủ  cơng sẽ  mất rất nhiều thời
gian và nguồn nhân lực. Thực tiễn đã chứng minh, việc  ứng dụng trí tuệ  nhân tạo
nói chung hay Deep Learning nói riêng vào các nhiệm vụ  trên đã giúp tiết kiệm
được nhiều thời gian và cơng sức. Từ  giữa năm 2011, Google đã giới thiệu dự  án
Deep Learning sử dụng mạng neural nhân tạo dùng cho nhận dạng giọng nói và sau
đó mở rộng lên các lĩnh vực khác như Gmail, Google dịch, Google ảnh. Đối với bài

tốn nhận dạng chữ số viết tay, mạng neural nhiều lớp sẽ được huấn luyện dựa trên
các pixel, đơn vị nhỏ nhất của hình ảnh. Vì vậy mạng neural nhân tạo là cơng cụ vơ
cùng thích hợp cho việc xử lý, phân tích hình ảnh và mang lại kết quả rất khả quan.

3


TRƯỜNG ĐẠI HỌC NGUYỄN TẤT
THÀNH
TRUNG TÂM KHẢO THÍ

KỲ THI KẾT THÚC HỌC PHẦN
HỌC KỲ …..… NĂM HỌC …….. -….…

PHIẾU CHẤM THI TIỂU LUẬN/ĐỒ ÁN
Môn thi: Đồ án cơ sở
Lớp học phần: 20DTH2A
Nhóm sinh viên thực hiện :
1. Tham gia đóng góp: Nguyễn Lê Tài
2. Tham gia đóng góp: Lưu Phi Tường
Ngày thi:
Phòng thi:
Đề tài tiểu luận/báo cáo của sinh viên : Nghiên cứu nhận dạng chữ số viết tay dùng

mạng neural nhân tạo.

Phần đánh giá của giảng viên (căn cứ trên thang rubrics của mơn học):
Tiêu chí (theo CĐR HP)
Cấu trúc của báo cáo


Đánh giá của GV Điểm tối đa Điểm đạt được

Nội dung
● Các nội dung thành phần
● Lập luận
● Kết luận
Trình bày
TỔNG ĐIỂM
Giảng viên chấm thi
(ký, ghi rõ họ tên)

4


PHẦN NHẬN XÉT CỦA GIẢNG VIÊN

TPHCM, Ngày … tháng … năm 2022

5


Trường Đại học Nguyễn Tất Thành

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Khoa Công Nghệ Thông Tin

Độc lập – Tự do – Hạnh phúc

🙟🙟🙟🙟


🙟🙟🙟🙟
NHIỆM VỤ ĐỒ ÁN CƠ SỞ
(Sinh viên phải đóng tờ này vào báo cáo)

Họ và tên: Nguyễn Lê Tài

MSSV: 2000001633

Chuyên ngành: Khoa học dữ liệu

Lớp: 20DTH2A

Email:

SĐT:0845000423

Tên đề tài: nghiên cứu nhận dạng chữ số viết tay dùng mạng neural nhân tạo.
Gíao viên hướng dẫn: Vương Xuân Chí
Thời gian thực hiện: 20 /6 /2022 đến 20 /9 /2022
MÔ TẢ ĐỀ TÀI:
Nghiên cứu khái niệm, cách thức tạo mạng Neural nhận tạo nhiều lớp, áp dụng cho việc
nhận dạng chữ số từ 0 đến 10, các chữ số này được viết tay và xây dựng mơ hình nhận
diện chữ số viết tay bằng mạng neural nhân tạo cho tỷ lệ nhận dạng đúng.
NỘI DUNG VÀ PHƯƠNG PHÁP:
- Giới thiệu khái niệm Mạng neural, Deep learning
- Mơ hình và các dạng mạng neural, ứng dụng vào thực tiễn
- Các thuật toán liên quan đến nhận dạng Deep learning
- Ý tưởng về nhận dạng chữ viết tay, đơn vị cấu tạo nhỏ nhất tạo thành mạng neural nhân
tạo đa lớp và cấu trúc, thơng số của mơ hình mạng neural đa lớp

- Kết luận
YÊU CẦU:
- Có kiến thức, đam mê, hiểu biết về công nghệ mới như Mạng neural, Machine
Learning, Deep Learning…. Đọc hiểu tài liệu tiếng Anh, kỹ năng trình bày văn bản trên
máy tính tốt.
- Có tác phong làm việc chăm chỉ, tinh thần trách nhiệm cao, có khả năng làm việc độc
lập hoặc làm việc trong nhóm tốt.
Nội dung và yêu cầu đã được thông qua Bộ môn.

6


TP.HCM, ngày 26 tháng 06 năm 2022
TRƯỞNG BỘ MÔN

GIÁO VIÊN HƯỚNG DẪN

(Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)

ThS. Vương Xuân Chí

ThS. Vương Xuân Chí

7


MỤC LỤC


CHƯƠNG 1 : Giới thiệu khái niệm Mạng Neural, Deep Learning

12

1.1 Mạng neural

12

1.2 Deep Learning

14

Chương 2: Mơ hình và các dạng mạng neural, ứng dụng vào thực tiễn.

15

2.1 Mơ hình Neural Network

15

2.2 Các dạng mạng Nerual

17

2.3 Mạng nơ ron nhân tạo được ứng dụng cho rất nhiều lĩnh vực như :

23

Chương 3 : Các thuật toán liên quan đến nhận dạng Deep Learning.


24

3.1 Mạng nơron tích chập

24

3.2 Mạng CNN

24

3.3 Object Detection

26

3.4 Image Segmentation – Phân đoạn ảnh

27

3.5 Hệ thống nhận dạng khuôn mặt (Face recognition)

29

Chương 4: Ý tưởng về nhận dạng chữ viết tay, đơn vị cấu tạo nhỏ nhất
tạo thành mạng neural nhân tạo đa lớp và cấu trúc, thông số của mơ hình
mạng neural đa lớp.

30

4.1  Đơn vị cấu tạo nhỏ nhất tạo thành mạng neural nhân tạo đa lớp và cấu
trúc(multilayer perceptron-MLP), thơng số của mơ hình mạng neural đa lớp


30

4.2 Thực nghiệm ý tưởng và kết quả

32

Chương 5: KẾT LUẬN

36

8


MỤC LỤC HÌNH ẢNH
Hình 1.2 Deep Learning hoạt động……………………………………………… 13
Hình 1.2 Deep Learning hoạt động……………………………………………… 13
Hình 2.2 Mơ hình Multilayer Perceptron………………………………………... 17
Hình 2.3 Mạng Rơ-ron tích chập (CNN)………………………………………… 18
Hình 2.4 Mạng nơ-ron hồi quy (RNN)…………………………………………... 20
Hình 2.5 Autoencoder……………………………………………………………. 20
Hình 2.6 Backpropagation……………………………………………………….. 21
Hình 3.1 CNN được ứng dụng vơ cùng rộng rãi…………………………………. 25
Hình 3.2: So sánh đầu ra của bài tốn classification với locolization và detection 25
Hình 3.3: Phân biết bài tốn classification, object localization, object detection... 26
Hình 3.4: Phân biệt đầu ra của bài toán Detection và Segmentation…………….. 27
3.5 Kết quả của bài tốn Semantic segmentation………………………………… 27
Hình 3.6 Kết quả của bài tốn Instance segmentation…………………………… 28
Hình 3.7 Face recognition steps………………………………………………….. 29
Hình 4.1 Một mơ hình mạng neural nhân tạo cơ bản……………………………. 30

Hình 4.2 Một số ảnh đã được gắn nhãn tương ứng………………………………. 32
Hình 4.3 Tỷ lệ nhận dạng của mạng MLP với tỷ lệ học LR = 0,3 (a) và tỷ lệ học
LR = 3 (b)…………………………………………………………….………….. 33
Hình 4.4 Kết quả mạng MLP khi kết hợp 2 giá trị LR khác nhau……….………. 34
Hình 4.5 Tỷ lệ nhận dạng đúng với các số lượng lớp ẩn khác nhau……….…….. 34

9


DANH SÁNH TỪ VIẾT TẮT
MLP
NN
CNN
ANN

Multilayer Perceptron
Neural Network
Convolutional Neural Network
Artificial Neural Network

10


THÀNH VIÊN NHÓM

STT

Họ tên

MSSV


1

Nguyên Lê Tài

2000001633

2

Lưu Phi Tường

2000001729

11


CHƯƠNG 1 : Giới thiệu khái niệm Mạng Neural, Deep Learning
1.1 Mạng neural
Mạng neural nhân tạo hay thường gọi ngắn gọn là (artificial neural network ANN hay neural network) là một mô hình tốn học hay mơ hình tính tốn được xây
dựng dựa trên các mạng neural sinh học. Nó gồm có một nhóm các neural nhân
tạo (nút) nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính
giá trị mới tại các nút (cách tiếp cận connectionism đối với tính tốn). Trong nhiều
trường hợp, mạng neural nhân tạo là một hệ thống thích ứng (adaptive system) tự
thay đổi cấu trúc của mình dựa trên các thơng tin bên ngồi hay bên trong chảy qua
mạng trong q trình học.
Neural nhân tạo được xây dựng trên ý tưởng từ neural sinh học, đơn vị cấu
tạo thành hệ thần kinh của não bộ con người. Những neural này có nhiệm vụ nhận 
tín hiệu từ não bộ và truyền tín hiệu đến các bộ phận khác nhau trên cơ thể. Một 
cách tương tự, ta có các neural nhân tạo hay perceptron là đơn vị cấu thành mạng 
neural nhân tạo. Một perceptron sẽ nhận các đầu vào có giá trị x1, x2, ... xn và đầu 

ra của perceptron sẽ cho ra giá trị nhị phân . Hình 1 mơ tả cấu trúc của một 
perceptron đơn giản với 2 giá trị đầu vào X1, X2.

Hình 1.1 Mơ hình Perceptron đơn giản.

12


Nhiệm vụ của perceptron là sử dụng các giá trị đầu vào để tính tốn và xác
định giá trị đầu ra là 0 hoặc 1. Trong một mạng neural nhân tạo, đầu ra của neural
lớp trước sẽ là đầu vào của lớp tiếp theo.
1.1.1 Trọng số (Weight – w)
Weight hay trọng số (w) là con số biểu thị mức độ quan trọng của đầu vào so
với đầu ra . Giá trị đầu ra của perceptron phụ thuộc vào tổng giữa trọng số và đầu
vào:

Trong đó : đầu vào thứ của perceptron; : trọng số của đầu vào ;
ngưỡng : mức ngưỡng quyết định giá trị đầu ra. Hàm xác định đầu ra ở (1) còn được
gọi là hàm step.
1.1.2 Bias – b
Để đơn giản cho perceptron quyết định giá trị đầu ra 0 hay 1, có thể thay thế
giá trị ngưỡng (threshold) bằng nghịch đảo số Bias hay ngưỡng = -b.
Và có thể viết lại như sau:

13


1.2 Deep Learning
Deep Learning (học sâu) có thể được xem là một lĩnh vực con của Machine
Learning (học máy) – ở đó các máy tính sẽ học và cải thiện chính nó thơng qua các

thuật tốn. Deep Learning được xây dựng dựa trên các khái niệm phức tạp hơn rất
nhiều, chủ yếu hoạt động với các mạng nơ-ron nhân tạo để bắt chước khả năng tư
duy và suy nghĩ của bộ não con người.
Deep Learning hoạt động:
Deep Learning là một phương pháp của Machine Learning. Mạng nơ-ron nhân tạo
trong Deep Learning được xây dựng để mô phỏng khả năng tư duy của bộ não con
người.
Một mạng nơ-ron bao gồm nhiều lớp (layer) khác nhau, số lượng layer càng nhiều
thì mạng sẽ càng “sâu”. Trong mỗi layer là các nút mạng (node) và được liên kết với
những lớp liền kề khác. Mỗi kết nối giữa các node sẽ có một trọng số tương ứng,
trọng số càng cao thì ảnh hưởng của kết nối này đến mạng nơ-ron càng lớn.
Mỗi nơ-ron sẽ có một hàm kích hoạt, về cơ bản thì có nhiệm vụ “chuẩn hoá” đầu ra
từ nơ-ron này. Dữ liệu được người dùng đưa vào mạng nơ-ron sẽ đi qua tất cả
layer và trả về kết quả ở layer cuối cùng, gọi là output layer.

Hình 1.2 Deep Learning hoạt động
14


Trong q trình huấn luyện mơ hình mạng nơ-ron, các trọng số sẽ được thay đổi và
nhiệm vụ của mô hình là tìm ra bộ giá trị của trọng số sao cho phán đoán là tốt
nhất.
Các hệ thống Deep Learning yêu cầu phần cứng phải rất mạnh để có thể xử lý được
lượng dữ liệu lớn và thực hiện các phép tính phức tạp. Nhiều mơ hình Deep
Learning có thể mất nhiều tuần, thậm chí nhiều tháng để triển khai trên những
phần cứng tiên tiến nhất hiện nay.
Ưu điểm:
Deep Learning là một bước ngoặt to lớn trong lĩnh vực trí tuệ nhân tạo, cho phép
khác nhà khoa học dữ liệu xây dựng nhiều mơ hình có độ chính xác rất cao trong
lĩnh vực nhận dạng ảnh, xử lý ngôn ngữ tự nhiên, xử lý giọng nói,… Một số ưu điểm

vượt trội của Deep Learning gồm có:


Kiến trúc mạng nơ-ron linh hoạt, có thể dễ dàng thay đổi để phù hợp với nhiều vấn
đề khác nhau.



Có khả năng giải quyết nhiều bài tốn phức tạp với độ chính xác rất cao.



Tính tự động hố cao, có khả năng tự điều chỉnh và tự tối ưu.



Có khả năng thực hiện tính tốn song song, hiệu năng tốt, xử lý được lượng dữ liệu
lớn.
Nhược điểm:
Bên cạnh những ưu điểm, mặt khác, hiện nay Deep Learning vẫn cịn nhiều khó
khăn và hạn chế, chẳng hạn như:



Cần có khối lượng dữ liệu rất lớn để tận dụng tối đa khả năng của Deep Learning.



Chi phí tính tốn cao vì phải xử lý nhiều mơ hình phức tạp.




Chưa có nền tảng lý thuyết mạnh mẽ để lựa chọn các công cụ tối ưu cho Deep
Learning.

15


Chương 2: Mơ hình và các dạng mạng neural, ứng dụng vào
thực tiễn.
2.1 Mơ hình Neural Network
Neural Network có cấu trúc gần giống như hệ thần kinh của chúng ta. Thuật toán là
một hàm ánh xạ từ bộ dữ liệu đầu vào với kết quả đầu ra tương ứng.
Một mạng nơ-ron gôm những cấu phần sau:


Dữ liệu đầu vào – input layer, x



Lớp ẩn – hidden layers



Dữ liệu đầu ra – output layer, ŷ



Các tham số trọng lượng tương ứng W và ngưỡng quyết định b




Hàm ánh xạ cho lớp ẩn σ . Trong bài này, tôi sẽ chọn hàm Sigmoid

Hình ảnh bên dưới biểu thị mơ hình mạng nơ-ron 2 lớp:

16


Hinh 2.1 Mạng nơ-ron 02 lớp
Layer đầu tiên là input layer, các layer ở giữa được gọi là hidden layer, layer cuối
cùng được gọi là output layer. Các hình trịn được gọi là node.
Mỗi mơ hình ln có 1 input layer, 1 output layer, có thể có hoặc khơng các hidden
layer. Tổng số layer trong mơ hình được quy ước là số layer – 1 (Khơng tính input
layer).
Ví dụ như ở hình trên có 1 input layer, 2 hidden layer và 1 output layer. Số lượng
layer của mơ hình là 3 layer.
Mỗi node trong hidden layer và output layer :




Liên kết với tất cả các node ở layer trước đó với các hệ số w riêng.
Mỗi node có 1 hệ số bias b riêng.
Diễn ra 2 bước: tính tổng linear và áp dụng activation function.

17


2.2 Các dạng mạng Nerual

Trong suốt quá trình phát triển của neural network, chúng ta có thể gặp qua nhiều
dạng network khác nhau. Chúng có thể là những kiến trúc xưa cũ như the
Perceptron, Multilayer Perceptron, hoặc là những kiến trúc rất phổ biến hiện nay
như Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), và
Autoencoder.
2.2.1 Perceptron Learning Algorithm (PLA)
The Perceptron là một neural network lâu đời và đơn giản nhất. Kiến trúc này được
phát triển vào năm 1958 với một neural đơn nhất trong mạng lưới. Mặc dù đóng vai
trị quan trọng như là nền tảng phát triển, Perceptron không thực sự hiệu quả vì
chính sự đơn giản dẫn đến sự thiếu hụt khả năng trong xử lý dữ liệu.
Perceptron là một thuật toán Classification cho trường hợp đơn giản nhất: chỉ có
hai class (lớp) (bài tốn với chỉ hai class được gọi là binary classification) và cũng
chỉ hoạt động được trong một trường hợp rất cụ thể. Tuy nhiên, nó là nền tảng cho
một mảng lớn quan trọng của Machine Learning là Neural Networks và sau này là
Deep Learning.
2.2.2 Multilayer Perceptron
Thực chất, Multilayer Perceptron (MPL) là một dạng perceptron nhưng phức tạp
hơn. Sự phức tạp đến từ khái niệm multi-layer. Ở đây, MPL sử dụng nhiều layer
gồm một hoặc nhiều neural và kết nối chúng để xử lý dữ liệu.
Một MPL thường sẽ bao gồm một input layer, một hoặc nhiều hidden layer, và một
output layer. Như tên gọi, chúng ta có thể hiểu được input layer sẽ xử lý input data
và output layer sẽ đưa ra kết quả cuối cùng. Bên cạnh đó, những hidden layer cũng
tham gia xử lý dữ liệu nhưng chúng ta sẽ không tương tác trực tiếp với chúng.
MPL thường được sử dụng để xử lý các tác vụ liên quan đến Computer Vision và
Natural Language Processing.

18


Hình 2.2 Mơ hình Multilayer Perceptron

2.2.3 Mạng Nơ-ron tích chập (CNN)
Mạng Nơ-ron tích chập (Convolutional Neural Network – CNN) là một kiến trúc
mạng nơ-ron nhân tạo nâng cao, được xây dựng để giải quyết các bài toán phức
tạp, đặc biệt là liên quan đến xử lý hình ảnh.
Tích chập là một khái niệm trong xử lý tín hiệu số nhằm biến đổi thơng tin đầu vào
qua một phép tích chập với bộ lọc, nhằm trả về đầu ra là một tín hiệu mới. Tín hiệu
này sẽ giảm bớt những đặc trưng mà bộ lọc không quan tâm, giữ lại những đặc
trưng chính và quan trọng nhất.
Bên cạnh input layer và output layer, mơ hình CNN cịn có thêm một sampling layer
để giới hạn số lượng nơ-ron tham gia vào các layer tương ứng. Việc xây dựng mơ
hình trải qua ba giai đoạn chính:


Q trình tích chập (convolution): Thơng qua các tích chập giữa ma trận đầu vào
với bộ lọc để tạo thành các đơn vị trong một tầng mới. Quá trình này có thể diễn ra
liên tục ở phần đầu của mạng và thường sử dụng kèm với hàm kích hoạt ReLU.
Mục tiêu của tầng này là trích suất đặc trưng hai chiều.
19




Q trình tổng hợp (max pooling): Giảm kích thước khối ma trận đầu vào thơng
qua việc tìm ra 1 giá trị đại diện cho mỗi một vùng không gian mà bộ lọc đi qua sẽ
không làm thay đổi các đường nét chính của bức ảnh nhưng lại giảm được kích
thước của ảnh.



Q trình kết nối hồn tồn (fully connected): Sau khi đã giảm kích thước đến một

mức độ hợp lý, ma trận cần được trải phẳng (flatten) thành một vector và sử dụng
các kết nối hoàn toàn giữa các tầng. Tầng kết nối hoàn toàn cuối cùng (fully
connected layer) sẽ có số lượng đơn vị bằng với số lớp.
Dựa vào những đặc điểm của mình, các ứng dụng phổ biến nhất của mạng CNN
gồm có: Nhận diện, phân tích và phân khúc hình ảnh, phân tích video, xử lý ngơn
ngữ tự nhiên,…

Hình 2.3 Mạng Rơ-ron tích chập (CNN)
2.2.4 Mạng nơ-ron hồi quy (RNN)
Recurrent Neural Network (RNN) là một thuật toán nổi tiếng trong lĩnh vực xử lý
ngôn ngữ tự nhiên. Trong các mơ hình mạng nơ-ron truyền thống, đầu vào và đầu
ra độc lập với nhau, tuy nhiên RNN thực hiện cùng một tác vụ cho tất cả phần tử

20


của một chuỗi với đầu ra phụ thuộc vào cả các phép tính trước đó. Vì vậy mạng
RNN có khả năng nhớ các thơng tin được tính tốn trước đó.
Có hai thiết kế chính của RNN:


LSTM (Long Short-Term Memory): Được dùng để dự đốn dữ liệu dạng chuỗi thời
gian, có khả năng bỏ đi hoặc thêm các thông tin cần thiết, được điều chỉnh bởi các
nhóm được gọi là cổng (gate): Input, Output và Forget.



Gated RNN: Cũng là một thiết kế phổ biến trong lĩnh vực dự đoán dữ liệu của chuỗi
thời gian, có hai cổng là Update và Reset.
Các dạng bài tốn RNN:




One to one: Chỉ có một input kết nối với một output duy nhất, chẳng hạn như các
bài tốn phân loại hình ảnh.



One to many: Một input liên kết với nhiều chuỗi output, phổ biến là các bài toán
đặt caption cho ảnh.



Many to One: Nhiều input nhưng chỉ có output, ví dụ phổ biến là bài tốn phân
loại cảm xúc.



Many to many: Nhiều input và nhiều output, chẳng hạn như phân loại video.

Hình 2.4 Mạng nơ-ron hồi quy (RNN)

21


2.2.5 Autoencoder
Autoencoder là một loại mạng neural nhân tạo được sử dụng để học các loại mã
hóa dữ liệu khơng giám sát (unsupervised learning). Nói cách khác giả sử từ một
hình ảnh bạn hồn tồn có thể tái tạo ra một bức ảnh có liên quan với bức ảnh đầu
vào đó một cách chặt chẽ.

Mục đích của Autoencoder là học cách biểu diễn chiều nhỏ hơn (mã hóa) cho dữ
liệu có chiều cao hơn. Đây cũng là lý do mà Autoencoder thường được dùng cho
các bài toán giảm chiều dữ liệu hay trích xuất đặc trưng.
Ngồi ra, Autoencoder cịn có thể được sử dụng với chức năng tạo ra các mơ hình
học tập trung (Generative learning models)

Hình 2.5 Autoencoder
Kiến trúc của Autoencoder bao gồm 3 phần chính: Encoder, Bottleneck, Decoder…
Cụ thể như sau:

22




Encoder (bộ mã hóa): Một module có chức năng nén dữ liệu đầu vào của bộ
kiểm tra xác thực thành một biểu diễn được mã hóa. Thơng thường nó sẽ
nhỏ hơn một vài bậc so với dữ liệu đầu vào.



Bottleneck: Một module chứa các biểu diễn tri thức đã được nén hay còn
gọi là output của Encoder, đây là phần quan trọng nhất trong mạng vì nó
mang đặc trưng của dữ liệu đầu vào, có thể sử dụng để lấy đặc trưng của
ảnh, tái tạo hình ảnh…



Decoder (bộ giải mã): Module hỗ trợ mạng giải nén các biểu diễn tri thức và
tái tạo lại cấu trúc dữ liệu từ dạng mã hóa của nó. Mơ hình học dựa theo

việc so sánh đầu ra của Decoder với đầu vào bạn đầu của nó.

2.2.6 Backpropagation
Lan truyền ngược (backpropagation) là một trong những kỹ thuật quan trọng nhất
của mạng nơ-ron. Về cơ bản thì đây là phương pháp giúp tính gradient ngược từ
layer cuối cùng đến layer đầu tiên của mạng. Trước hết, mạng sẽ phân tích các
tham số rồi điều chỉnh thơng qua hàm mất mát. Tiếp theo, giá trị lỗi được tính tốn
sẽ lan truyền ngược lại để điều chỉnh các tham số cho phù hợp.

23


Hình 2.6 Backpropagation
2.2.7 Gradient Descent






Nó là một thuật tốn tối ưu hóa được sử dụng để tìm ra các
giá trị của tham số, hệ số của hàm (f), giảm thiểu hàm chi
phí (cost).
Nó cịn được định nghĩa là một thuật tốn tối ưu hóa số lần
lặp (thứ tự lặp) để tìm ra min của hàm loss function.
Nó thực hiện các bước tỷ lệ nghịch với gradient của hàm tại
thời điểm hiện tại.
Nó cũng làm một trong những thuật tốn dùng để tối ưu hóa
sử dụng rộng rãi nhất.


Các loại Gradient Descent:
Batch Gradient Descent: Đây là một loại gradient đi xuống xử lý tất cả các ví dụ đào
tạo cho mỗi lần lặp lại gradient descent. Nhưng nếu số lượng các ví dụ huấn luyện
lớn, thì về mặt tính tốn q trình giảm độ dốc theo lơ là rất tốn kém. Do đó, nếu

24


×