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

Nhận dạng cảm xúc khuôn mặt sử dụng mạng nơ ron tích chập

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.13 MB, 105 trang )

ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

LÊ MINH TIẾN

NHẬN DẠNG CẢM XÚC KHUÔN MẶT
SỬ DỤNG MẠNG NƠ-RON TÍCH CHẬP

CHUN NGÀNH: HỆ THỐNG THƠNG TIN
MÃ SỐ: 8480104

LUẬN VĂN THẠC SĨ

BÌNH DƯƠNG – 2020


UỶ BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

LÊ MINH TIẾN

NHẬN DẠNG CẢM XÚC KHUÔN MẶT
SỬ DỤNG MẠNG NƠ-RON TÍCH CHẬP

CHUN NGÀNH: HỆ THƠNG THƠNG TIN
MÃ SỐ: 8480104

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. BÙI THANH HÙNG



BÌNH DƯƠNG – 2020

ii


LỜI CAM ĐOAN

Tên tôi là: Lê Minh Tiến
Sinh ngày: 22/07/1991
Học viên lớp cao học CH18HT01 – Trường Đại học Thủ Dầu Một
Xin cam đoan: Đề tài “Nhận dạng cảm xúc khn mặt bằng mạng
nơ-ron tích chập.” do Thầy TS. Bùi Thanh Hùng hướng dẫn là cơng trình
nghiên cứu của riêng chúng tơi. Tất cả tài liệu tham khảo đều có nguồn gốc,
trích dẫn rõ ràng.
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như
nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn. Nếu sai chúng
tơi hồn tồn chịu trách nhiệm trước hội đồng khoa học.
Bình Dương, tháng 12 năm 2020
Tác giả luận văn

Lê Minh Tiến

iii


LỜI CẢM ƠN
Sau một thời gian nghiên cứu và làm việc nghiêm túc, được sự động
viên, giúp đỡ và hướng dẫn tận tình của Thầy hướng dẫn TS. Bùi Thanh
Hùng, luận văn Cao học “Nhận dạng cảm xúc khuôn mặt bằng mạng nơron tích chập” đã hồn thành.

Tơi xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy hướng dẫn TS.Bùi Thanh Hùng đã tận tình chỉ dẫn, giúp đỡ
tơi hồn thành luận văn này. Đồng thời tôi gửi lời cảm ơn đến các thầy, cô
đã giảng dạy truyền đạt kiến thức quý báo cho tôi trong suốt thời gian học
tập và nghiên cứu.
Tôi chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên,
khích lệ, tạo điều kiện giúp đỡ tơi trong suốt q trình học tập, thực hiện và
hoàn thành luận văn này.

iv


TÓM TẮT LUẬN VĂN
Trong thời đại 4.0 hiện nay, cùng với sự bùng nổ của trí tuệ nhân tạo,
đã có rất nhiều cơng trình nghiên cứu máy học được cơng bố, trong số đó
lĩnh vực thị giác máy tính nói chung cũng như nhận dạng hình ảnh nói riêng
là một trong các lĩnh vực được rất đông người quan tâm hiện thời. Trong đó,
bài tốn nhận dạng cảm xúc khn mặt dựa trên cách trích xuất đặc trưng sử
dùng mạng nơ-ron mang lại hiệu quả cao bởi tính ổn định và thích nghi rất
tốt khi dữ liệu đầu vào có thay đổi.
Cảm xúc khuôn mặt là một trong những phương thức quan trọng nhất
để thể hiện cảm xúc của con người trong giao tiếp xã hội. Tự động nhận
dạng biểu hiện khuôn mặt đã trở thành một chủ đề “yêu thích” trong lĩnh
vực nghiên cứu thị giác máy tính. Trong luận văn này, chúng tôi xin đề xuất
một phương pháp sử dụng mơ hình học sâu mạng nơ-ron tích chập (CNN)
để nhận dạng cảm xúc khuôn mặt người thông qua hình ảnh. Bằng cách khai
thác các tính năng ưu việt của CNN, xây dựng một mơ hình CNN của riêng
chúng tơi, mơ hình đề xuất của chúng tơi đạt được kết quả tốt hơn so với các
mơ hình khác. Các thí nghiệm được thực hiện trên cơ sở dữ liệu FER-2013
và điểm ma trận chính xác và nhầm lẫn được sử dụng để đánh giá mơ hình

của chúng tơi.
Một phần kết quả nghiên cứu của chúng tôi, bài báo: “Facial
Expression Recognition with CNN-LSTM” đã được công bố tại Hội nghị
RICE 2020 lần thứ 5 - International Conference on Research in Intelligent
and Computing in Engineering tháng 6/2020 và giành được giải thưởng Bài
báo xuất sắc nhất (Best Paper Awards) của Hội nghị.

v


MỤC LỤC
LỜI CAM ĐOAN ......................................................................................... iii
LỜI CẢM ƠN ................................................................................................iv
TÓM TẮT LUẬN VĂN .................................................................................v
MỤC LỤC .....................................................................................................vi
DANH MỤC CHỮ VIẾT TẮT .................................................................. viii
DANH MỤC BẢNG BIỂU ...........................................................................ix
DANH MỤC HÌNH, ĐỒ THỊ ........................................................................x
CHƯƠNG 1 ....................................................................................................1
TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU ............................................1
1.1. Lý do chọn đề tài .................................................................................. 1
1.2. Mục tiêu nghiên cứu .............................................................................2
1.3. Đối tượng, phạm vi nghiên cứu ............................................................ 2
1.4. Phương pháp nghiên cứu ......................................................................3
1.5. Ý nghĩa khoa học và thực tiễn .............................................................. 3
1.6. Bố cục luận văn .................................................................................... 4
CHƯƠNG 2 ....................................................................................................6
CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN..................... 6
2.1. Mạng Nơ-ron tích chập ........................................................................6
2.1.1. Mạng Nơ-ron nhân tạo ...................................................................6

2.1.2. Mạng Nơ-ron tích chập ................................................................ 16
2.2. Các mơ hình học sâu CNN .................................................................22
2.2.1. Sự hình thành và phát triển .......................................................... 22
2.2.2. Các mơ hình CNN tiêu biểu ......................................................... 23
2.3. Nhận dạng cảm xúc khuôn mặt .......................................................... 34
2.3.1. Tổng quan .................................................................................... 34
2.3.2. Hướng tiếp cận .............................................................................38
2.3.3. Hướng đề xuất nghiên cứu ........................................................... 41
vi


2.4. Các nghiên cứu liên quan ...................................................................42
2.5. Tiểu kết chương .................................................................................. 44
CHƯƠNG 3 ..................................................................................................45
MƠ HÌNH ĐỀ XUẤT................................................................................... 45
3.1. Tổng quan mơ hình đề xuất ................................................................ 45
3.2. Các đặc trưng của mơ hình .................................................................46
3.2.1. Phát hiện khn mặt.....................................................................46
3.2.2. Nhận dạng cảm xúc với CNN ...................................................... 48
3.2.3. Mơ hình học sâu lai CNN-LSTM ................................................ 56
3.2.4. Nhận dạng cảm xúc ......................................................................59
3.2.5. Phương pháp đánh giá kết quả ..................................................... 60
CHƯƠNG 4 ..................................................................................................61
THỰC NGHIỆM .......................................................................................... 61
4.1. Dữ liệu ................................................................................................ 61
4.2. Huấn luyện mơ hình ...........................................................................63
4.3. Đánh giá ............................................................................................. 66
4.4. Xây dựng ứng dụng ............................................................................71
CHƯƠNG 5 ..................................................................................................79
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................... 79

5.1. Kết luận .............................................................................................. 79
5.2. Hướng phát triển ................................................................................. 80
CƠNG TRÌNH CƠNG BỐ ...........................................................................81
TÀI LIỆU THAM KHẢO ............................................................................82

vii


DANH MỤC CHỮ VIẾT TẮT
KÝ HIỆU

TÊN TIẾNG ANH

ANN

Artificial Neural Network

CNN

Convolution Neural Network

FC

Fully Connected

RELU

Rectified Linear Unit

RGB


Red Green Blue

SVM

Support Vector Machines

LSTM

Long short term memory

viii


DANH MỤC BẢNG BIỂU
Bảng 4. 1: Bảng thống kê dữ liệu .................................................................61
Bảng 4. 2: Đánh giá độ chính xác của mơ hình ............................................67
Bảng 4. 3: Bảng Confusion Matrix ............................................................... 67
Bảng 4. 4: Đánh giá độ chính xác trên các mơ hình CNN khác nhau ..........70
Bảng 4. 5: Đối sánh các nghiên cứu liên quan. ............................................71

ix


DANH MỤC HÌNH, ĐỒ THỊ
Hình 2. 1: Mạng Nơ-ron sinh học [21] ........................................................... 6
Hình 2. 2: Cấu trúc của mạng nơ-ron nhân tạo [21] .......................................7
Hình 2. 3: Quá trình xử lý của một nơ-ron trong ANN [21] .......................... 8
Hình 2. 4: Đồ thị các hàm kích hoạt: (a). Hàm Tanh; (b). Hàm ReLU; .........9
Hình 2. 5: AlphaGo của Google ...................................................................12

Hình 2. 6: Mơ phỏng cách tính lan truyền ngược [1] ...................................14
Hình 2. 7: Mơ hình các lớp cơ bản CNN [22] ..............................................17
Hình 2. 8: Ví dụ một mơ hình CNN ............................................................. 18
Hình 2. 9: Minh họa tích chập trên ma trận ảnh ...........................................19
Hình 2. 10: Phương thức Average Pooling và Max Pooling ........................ 21
Hình 2. 11: Ví dụ về cấu trúc CNN [22]....................................................... 22
Hình 2. 12: Các cột mốc phát triển của mạng CNN .....................................23
Hình 2. 13: Sơ đồ phát triển của các mơ hình mạng CNN ........................... 23
Hình 2. 14: các mơ hình học sâu CNN ......................................................... 24
Hình 2. 15: Kiến trúc LeNet .........................................................................25
Hình 2. 16: Kiến trúc AlexNet ......................................................................25
Hình 2. 17: Kiến trúc VGG-16 .....................................................................26
Hình 2. 18: Kiến trúc GoogleNet - Inception version 1 ............................... 29
Hình 2. 19: Kiến trúc GoogleNet - Inception version 3 ............................... 31
Hình 2. 20: Kiến trúc ResNet .......................................................................32
Hình 2. 21: Kiến trúc tóm tắt của mang ResNet-50 .....................................34
Hình 2. 22: Mơ hình bài tốn nhận dạng cảm xúc khn mặt người ...........37
x


Hình 2. 23: Cấu trúc tổng quan của hệ thống ...............................................37
Hình 2. 24: Kiến trúc Mạng nơ ron đa kênh sử dụng 2 kênh. ...................... 42
Hình 2. 25: Mơ hình mạng FRR-CNN ......................................................... 43
Hình 2. 26: Chi tiết của module tích chập .................................................... 43

Hình 3. 1: Mơ hình tổng quan .......................................................................45
Hình 3. 2: Ví dụ các bộ lọc Haar ..................................................................47
Hình 3. 3: Cơ chế hoạt động của bộ lọc Haar ...............................................47
Hình 3. 4: Phát hiện khn mặt ....................................................................48
Hình 3. 5: Góc nhìn của máy tính với một bức ảnh......................................49

Hình 3. 6: Minh họa một mơ hình xử lý hình ảnh qua các lớp của CNN .....50
Hình 3. 7: Minh họa phép tích chập (convolution) .......................................51
Hình 3. 8: Fillter 5x5 dùng để phát hiện một cạnh cong .............................. 52
Hình 3. 9: Fillter phát hiện thành cơng các cạnh cong .................................52
Hình 3. 10: Đầu ra Feature map của hình ảnh sau khi được lọc qua 1 Fillter
....................................................................................................................... 53
Hình 3. 11: Minh họa Feature map khi có thêm padding ............................. 54
Hình 3. 12: Minh họa kết quả đầu ra của hàm kích hoạt ReLU ................... 54
Hình 3. 13: Minh họa kết quả Max Pooling (2x2) ........................................55
Hình 3. 14: Vector đặc trưng của hình ảnh ................................................... 56
Hình 3. 15: Mơ hình học sâu lai CNN-LSTM ..............................................57
Hình 3. 16: Cấu trúc CNN 5 tầng .................................................................58
Hình 3. 17: Cấu trúc CNN-LSTM ................................................................ 59
xi


Hình 4. 1: Cơ sở dữ liệu Facial Expression Recognition 2013 (FER2013) .62
Hình 4. 2: Phân chia dữ liệu .........................................................................62
Hình 4. 3: Cấu trúc mơ hình CNN 1 tầng 3 lớp ............................................64
Hình 4. 4: Cấu trúc mơ hình CNN 5 tầng ..................................................... 65
Hình 4. 5: Cấu trúc mơ hình CNN-LSTM .................................................... 66
Hình 4. 6: Cấu trúc mơ hình CNN – VGG16 ...............................................68
Hình 4. 7: Cấu trúc mơ hình CNN-ResNet50 ...............................................69
Hình 4. 8: Cấu trúc mơ hình CNN - 5 Tầng ................................................. 70
Hình 4. 9: Giao diện chính ............................................................................72
Hình 4. 10: Giao diện phân tích dữ liệu ........................................................ 72
Hình 4. 11: Giao diện mơ hình huấn luyện ................................................... 73
Hình 4. 12: Giao diện kết quả huấn luyện .................................................... 74
Hình 4. 13: Giao diện đánh giá kiểm tra ....................................................... 74
Hình 4. 14: Giao diện đánh giá thực nghiệm ................................................ 75

Hình 4. 15: Nhận dạng cảm xúc Happy ........................................................ 76
Hình 4. 16: Nhận dạng cảm xúc Surprise ..................................................... 76
Hình 4. 17: Nhận dạng cảm xúc Sad ............................................................ 77
Hình 4. 18: Nhận dạng cảm xúc Neutral ...................................................... 77
Hình 4. 19: Nhận dạng cảm xúc Angry ........................................................ 78

xii


CHƯƠNG 1
TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU
1.1. Lý do chọn đề tài
Theo các chuyên gia, giao tiếp phi ngôn ngữ chiếm 2/3 hiệu quả giao
tiếp, phần còn lại là giao tiếp bằng lời nói chỉ chiếm 1/3. Nói về giao tiếp
phi ngơn ngữ, cảm xúc khn mặt đóng một vai trị quan trọng để truyền tải
thơng điệp phi ngơn ngữ trong giao tiếp của con người hiện đại vì chúng
giúp chúng ta giải thích hầu hết ý nghĩa ẩn của lời nói. Nói cách khác,
khn mặt của con người có thể truyền tải hàng ngàn cảm xúc như hạnh
phúc, buồn bã, sợ hãi, giận dữ, bất ngờ, ghê tởm, v.v… [1, 2].
Ngày nay, có thể thấy rằng nhận dạng cảm xúc khuôn mặt tự động đã
trở thành một chủ đề u thích của nhiều nhà nghiên cứu. Nó khơng chỉ liên
quan đến lĩnh vực thị giác máy tính, học máy mà còn cả lĩnh vực khoa học
hành vi. Do đó, các ứng dụng nhận dạng cảm xúc khn mặt tự động có
tiềm năng lớn trong nhiều lĩnh vực khác nhau như an ninh - bảo mật, phát
hiện nói dối, tương tác giữa người với máy tính, an tồn cho người lái xe,
chăm sóc sức khỏe và giáo dục.
Hầu hết các cơ sở dữ liệu chứa cảm xúc khuôn mặt sử dụng cùng một
phân loại chính của cảm xúc con người được trình bày lần đầu bởi Ekman
và đồng nghiệp. [3]. Họ đã giới thiệu nghiên cứu chuyên đề về cảm xúc
khuôn mặt và xác định những cảm xúc cơ bản dựa trên nghiên cứu đa văn

hóa, điều đó chỉ ra rằng con người thể hiện những cảm xúc cơ bản nhất định
theo cùng một cách trên khắp thế giới. Họ đã phân loại những trạng thái
khuôn mặt thành các cảm xúc tương ứng đó là hạnh phúc, buồn, bất ngờ, sợ
hãi, ghê tởm, giận dữ và không cảm xúc. Nghiên cứu này đã được khai thác
rộng rãi trong điện tốn nhận thức do tính đơn giản và phổ qt của nó.

1


Trong luận văn này, chúng tơi trình bày một phương pháp để nhận
dạng cảm xúc khuôn mặt bằng cách áp dụng các ưu điểm của phương pháp
học sâu CNN. Chúng tơi sử dụng Mạng nơ-ron tích chập để trích xuất các
đặt tính và nhận dạng biểu hiện khn mặt bằng Bộ nhớ ngắn dài hạn.
Chúng tôi tiến hành thử nghiệm trên cơ sở dữ liệu FER-2013 và đánh giá
bằng độ chính xác và ma trận nhầm lẫn. Các nghiên cứu gần đây cho thấy
mạng nơ-ron tích chập CNN mang lại hiệu quả nhận dạng cao bởi nó có
tính thích nghi cao và hoạt động ổn định. Vì vậy chúng tơi chọn đề tài :
“Nhận dạng cảm xúc khuôn mặt sử dụng mạng nơ-ron tích chập” cho
luận văn tốt nghiệp cao học của mình.
1.2. Mục tiêu nghiên cứu
Luận văn của chúng tơi hướng tới việc nghiên cứu một mơ hình có
chức năng phát hiện khn mặt người qua hình ảnh và có thể nhận dạng
được cảm xúc của khn mặt đó thông qua việc ứng dụng các phương pháp
học sâu để trích xuất đặc trưng và nhận dạng hình ảnh. Qua việc nghiên cứu
các phương pháp học sâu cho bài toán nhận dạng hình ảnh kết hợp với ngơn
ngữ lập trình Python, chúng tơi muốn xây dựng một chương trình nhận dạng
được cảm xúc của một người qua camera theo thời gian thực.
1.3. Đối tượng, phạm vi nghiên cứu
Để thực hiện được mục tiêu đề ra, chúng tôi đã hướng đến nghiên
cứu các vấn đề sau:

- Đối tượng nghiên cứu của luận văn là các phương pháp phát hiện
khuôn mặt người, các phương pháp nhận dạng cảm xúc khuôn mặt.
- Phạm vi nghiên cứu các phương pháp học sâu, hiệu năng và cách sử
dụng chúng từ đó đề xuất một phương pháp cụ thể hiệu quả nhất.

2


1.4. Phương pháp nghiên cứu
Để thực hiện luận văn này, chúng tôi đã sử dụng các phương pháp
nghiên cứu sau:
- Phương pháp phân tích và tổng hợp lý thuyết: Tìm kiếm, tổng
hợp và nghiên cứu các tài liệu về Mạng nơ-ron tích chập (Convolutional
Neural Network – CNN); Phương pháp phát hiện khn mặt Haar Cascade
Classifiers, các tài liệu thuật tốn máy học chọn lọc hình ảnh, nhận dạng
khn mặt. Tìm hiểu các kiến thức liên quan đến kỹ thuật lập trình.
- Phương pháp thực nghiệm: Sau khi nghiên cứu lý thuyết, xác định
vấn đề bài tốn, đề xuất mơ hình, dựa trên kết quả của các nghiên cứu trước
đó chúng tơi sẽ thực nghiệm mơ hình trên một phương pháp học sâu lai là
một kết hợp giữa những lợi thế của mơ hình CNN tự tạo, kết hợp các thư
viện thích hợp hỗ trợ cho việc xây dựng một hệ thống máy học nhận hình
ảnh đầu vào và xử lý cho ra kết quả là cảm xúc của khuôn mặt trên hình
ảnh.
- Phương pháp so sánh và đánh giá: phân tích đánh giá mơ hình đề
xuất với các mơ hình nghiên cứu trước bằng các độ đo Loss và Accuracy.
1.5. Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học:
Luận văn của chúng tơi góp phần giới thiệu các lý thuyết về cảm xúc
khuôn mặt con người, cách xây dựng một hệ thống nhận dạng và phân loại
hình ảnh.

Góp phần nghiên cứu thêm về các mơ hình học sâu trong lĩnh vực
nhận dạng và phân loại hình ảnh phổ biến trên thế giới CNN.

3


Cài đặt thử nghiệm và đánh giá các mơ hình nhận dạng, phân loại
hình ảnh bằng thực nghiệm như CNN 3 lớp, Resnet, VGG, CNN 7 tầng tự
tạo và đánh giá bằng các độ đo khác nhau.
Nghiên cứu này tạo tiền đề cho các nghiên cứu tiếp theo.
Ý nghĩa thực tiễn:
Luận văn xây dựng ứng dụng trực quan các mô hình để phát hiện và
nhận dạng cảm xúc khn mặt người. Bên cạnh đó ứng dụng cũng thống kê
số liệu thể hiện sự so sánh giữa các mơ hình khác nhau trong các quá trình
huấn luyện, kiểm thử và kiểm tra mơ hình nhận dạng cảm xúc khn mặt
người được xây dựng dựa trên mơ hình CNN.
Luận văn xây dựng thành công hệ thống nhận dạng cảm xúc khuôn
mặt người để áp dụng cho nhiều lĩnh vực thực tiễn như an ninh - bảo mật,
phát hiện nói dối, tương tác giữa người với máy tính, an tồn cho người lái
xe, chăm sóc sức khỏe và giáo dục, nhằm đáp ứng các yêu cầu nhận dạng và
bảo mật ngày càng cao.
1.6. Bố cục luận văn
Nội dung luận văn được chia thành các phần như sau:
Chương 1: Tổng quan về lĩnh vực nghiên cứu. Chương 1 trình bày
khái qt về bài tốn nhận dạng cảm xúc khuôn mặt, những ứng dụng cũng
như mục tiêu của đề tài.
Chương 2: Cơ sở lý thuyết và các nghiên cứu liên quan: Chương 2
trình bày cơ sở lý thuyết và các nghiên cứu liên quan đến các thuật tốn phát
hiện, nhận dạng và phân loại hình ảnh được phát triển trong luận văn.
Chương 3: Mơ hình đề xuất: Chương 3 trình bày phương pháp phát

hiện khn mặt, phương pháp nhận dạng, phân loại cảm xúc, sơ đồ liên kết
giữa mơ hình và ứng dụng web.
4


Chương 4: Thực nghiệm: Chương 4 trình bày quá trình thực nghiệm,
kết quả đạt được, phân tích và đánh giá các kết quả đạt được.
Chương 5: Kết luận và hướng phát triển: Chương 5 tổng quát kết

quả thực hiện, đưa ra các hướng phát triển cho mơ hình trong tương
lai.

5


CHƯƠNG 2
CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.1. Mạng Nơ-ron tích chập
2.1.1. Mạng Nơ-ron nhân tạo
Mạng Nơ-ron nhân tạo (Artificial Neural Network – ANN) là mơ hình
xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh
của sinh vật hay còn gọi là mạng Nơ-ron sinh học (hình 2.1) [21]. Cấu tạo từ
số lượng lớn các nơ-ron được kết nối với nhau để xử lý thông tin. ANN
giống như bộ não con người, được học bởi kinh nghiệm thơng qua huấn
luyện, có khả năng lưu giữ những kinh nghiệm tri thức và sử dụng những tri
thức đó trong việc dự đốn các dữ liệu chưa biết. ANN được giới thiệu năm
1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter
Pits. [21]

Hình 2. 1: Mạng Nơ-ron sinh học [21]

Các ứng dụng của Mạng neuron được sử dụng trong rất nhiều lĩnh
vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài tốn có độ
phức tạp và địi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ
liệu, nhận dạng,…
Một ANN gồm ba tầng: lớp đầu vào (input layer), các lớp ẩn (hidden
layers) và cuối cùng là lớp đầu ra (output layer) được mô tả trong hình 2.2
6


[21], trong đó, lớp ẩn gồm nhiều nơ-ron nhận dữ liệu đầu vào từ các lớp
trước đó để xử lý và chuyển đổi các dữ liệu này cho các lớp tiếp theo. Một
ANN có thể có nhiều lớp ẩn hoặc khơng có lớp ẩn.

Hình 2. 2: Cấu trúc của mạng nơ-ron nhân tạo [21]
Mỗi node trong mạng gọi là một nơ-ron. Mỗi nơ-ron nhận các dữ liệu
đầu vào xử lý chúng và trả ra một kết quả duy nhất. Kết quả đầu ra của nơron này có thể làm dữ liệu đầu vào của các nơ-ron khác.
Hình 2.3 [21] mơ tả quá trình xử lý của một nơ-ron trong ANN.
Trong đó input là dữ liệu đầu vào, output là kết quả đầu ra. Trọng số liên kết
hay trọng số (connection weights hay gọi tắt là weights) là thành phần rất
quan trọng, thể hiện mức độ quan trọng đối với quá trình xử lý dữ liệu từ
lớp này sang lớp khác. Quá trình học của ANN thực ra là quá trình điều
chỉnh trọng số của các dữ liệu đầu vào.

7


Hình 2. 3: Quá trình xử lý của một nơ-ron trong ANN [21]
Hàm tổng Σ tính tổng của tích trọng số và dữ liệu vào. Hàm tính tổng
một nơ-ron của k dữ liệu đầu vào của lớp thứ i
𝑎𝑖 = ∑ 𝑥𝑘 𝜔𝑖,𝑘


(2.1)

Hàm kích hoạt hay hàm chuyển đổi 𝑓 tính tốn đầu ra của một nơ-ron
để chuyển đến lớp tiếp theo trong mạng nơ-ron. Hàm kích hoạt phi tuyến
được sử dụng vì mạng chỉ sử dụng các hàm kích hoạt tuyến tính có thể lược
giản thơng qua các biến đổi đại số thành mơ hình perceptron một lớp (là mơ
hình ANN đơn giản nhất, khơng có lớp ẩn). Một số hàm kích hoạt phi tuyến
thường dùng là ReLU (Rectified Linear Unit), sigmoid, logistic, Gaussian,
tanh, softmax. Hình 2.4 [21]
Hàm ReLU:
𝑓 (𝑥 ) = {

0
𝑥

,𝑥 < 0
,𝑥 ≥ 0

(2.2)

Hàm Sigmoid:
𝑓 (𝑥 ) =

1
1+𝑒 −𝑥

(2.3)

Hàm Tanh:

𝑓 (𝑥 ) =

1
1+𝑒 −2𝑥

8

−1

(2.4)


Hình 2. 4: Đồ thị các hàm kích hoạt: (a). Hàm Tanh; (b). Hàm ReLU;
(c). Hàm Sigmoid
Kết quả xử lý đầu ra hàm tổng của nơ-ron đôi khi quá lớn, hàm kích
hoạt thường dùng để xử lý đầu ra này trước khi chuyển đến lớp tiếp theo.
Đơi khi thay vì sử dụng hàm kích hoạt, ta thường sử dụng giá trị ngưỡng để

9


kiểm soát đầu ra của nơ-ron. Nếu đầu ra của một nơ-ron nhỏ hơn ngưỡng thì
sẽ khơng được chuyển đến lớp tiếp theo.
Một số dạng mạng nơ-ron nhân tạo:
Mạng liên kết đầy đủ (fully connected-FC): nếu mọi đầu ra của một
lớp liên kết với mọi nơ-ron của lớp tiếp theo.
Mạng lan truyền thẳng (feedforward network): nếu không tồn tại liên
kết giữa các nơ-ron thuộc cùng một lớp.
Mạng phản hồi (feedback network): nếu tồn tại đầu ra của một nơ-ron
liên kết ngược lại làm đầu vào của một nơ-ron cùng lớp.

Mạng hồi quy (recurrent network): nếu các mạng phản hồi có các
vịng lặp kín.
Q trình học của mạng nơron là q trình lan truyền thơng tin để
làm thay đổi các trọng số tốt nhất có thể. Mạng nơ-ron được huấn luyện hay
được học theo ba phương pháp học có giám sát, học khơng giám sát và học
tăng cường:
Học có giám sát (supervised learning): là phương pháp học từ một
tập dữ liệu huấn luyện ta đã biết trước nhãn của dữ liệu cần học và số lớp
cần phân loại của bộ dữ liệu được đem đi huấn luyện. Đây là phương pháp
học phổ biến nhất trong các phương pháp học của mạng nơ-ron. Mục đích
của phương pháp này là từ tập dữ liệu đã gán nhãn qua quá trình học tạo ra
một hàm số thật tốt để khi có dữ liệu mới ta có thể tính hay dự đốn được
nhãn tương ứng của dữ liệu đó [21].
Phương pháp học có giám sát chia ra thành hai loại chính là:
- Phân loại (classification): Nếu nhãn của các dữ liệu đầu vào được
chia thành một số hữu hạn nhóm. Như các bài tốn nhận dạng chữ số viết
tay, dị tìm khn mặt người, …
10


- Hồi quy (regression): Nếu nhãn của các dữ liệu đầu vào khơng
được chia thành các nhóm mà là một giá trị thực cụ thể. Ví dụ như bài tốn
dự đoán giá của một căn nhà, giá trị dinh dưỡng của một món ăn,…
Học khơng giám sát (Unsupervised Learning): là phương pháp học từ
một tập dữ liệu cần học ta không biết trước nhãn của dữ liệu, cũng như số
lớp đầu ra. Thuật toán sẽ dựa vào cấu trúc của dữ liệu để phân nhóm hay
giảm chiều của dữ liệu,… Học khơng giám sát có liên quan chặt chẽ đến
việc ước lượng mật độ trong thống kê. Cách học này khơng sử dụng tri thức
từ bên ngồi trong q trình học nên còn được gọi là tự tổ chức.
Mạng nơ-ron điển hình cho cách học này là Self – Organizing Map

(SOM). Một số thuật tốn học khơng giám sát khác như k-means,
Hierarchical Agglomerative Clustering (HAC), Fuzzy Cognitive Map
(FCM),….[21]
Phần lớn ứng dụng học khơng giám sát vào các bài tốn ước lượng
như mơ hình hóa thống kê, nén, lọc, phân nhóm,…
Học tăng cường (Reinforcement Learning): là phương pháp học giúp
cho một hệ thống tự động xác định hành động dựa trên hồn cảnh để đạt lợi
ích cao nhất. Học tăng cường bằng cách thử nghiệm dữ liệu để khám phá ra
hành động nào là tốt nhất. Hành động đó khơng chỉ có lợi ích tốt cho bước
hiện tại mà cịn cho các bước tiếp theo. Hai đặc điểm quan trọng để phân
biệt học tăng cường là tìm kiếm thử - sai (trialand-error search) và bồi
dưỡng chậm (delayed reward).[21]
Môi trường học thường được biểu diễn dưới dạng quy trình quyết
định markov (Markov Decision Process - MDP) trạng thái hữu hạn và các
thuật toán học tăng cường liên quan đến các kỹ thuật quy hoạch động.
Hiện tại, học tăng cường chủ yếu được áp dụng vào Lý thuyết trị
chơi, thuật tốn cần xác định hành động tiếp theo để đạt số điểm tốt nhất. Ví
11


dụ, AlphaGo của Google đánh cờ vây thắng con người, trong khi cờ vây có
độ phức tạp cao xấp xỉ 10761. AlphaGo kết hợp cả học có giám sát và học
tăng cường, Hình 2.5.

Hình 2. 5: AlphaGo của Google1
Thuật tốn lan truyền ngược
Với thuật toán lan truyền ngược (Backpropagation Algorithm), giả sử
L(W,b,X,Y) là một hàm lỗi của bài toán, trong đó W,b là tập hợp tất cả các
ma trận trọng số giữa các lớp và hướng của mỗi lớp. X,Y là cặp dữ liệu
huấn luyện, X là tập hợp các điểm dữ liệu, Y là nhãn của các điểm dữ liệu

tương ứng trong X. Đầu ra dự đoán y ̂ của dữ liệu đầu vào x của mạng
neural truyền thẳng đa lớp được tính như sau:
𝑎(0) = 𝑥
(𝑙)𝑇 (𝑙−1)

𝑧𝑖𝑙 = 𝑤𝑖

1

𝑎

(2.5)
+ 𝑏𝑖𝑙

(2.6)

𝑧 (𝑙) = 𝑊 (𝑙)𝑇 𝑎(𝑙−1) + 𝑏 (𝑙)

(2.7)

𝑎(𝑙) = 𝑓(𝑧 (𝑙) )

(2.8)

𝑦̂ = 𝑎(𝐿)

(2.9)

popularmechanics.com


12


Với 𝑙 = 1, … , 𝐿 là số thứ tự của lớp, a là kết quả của hàm kích hoạt
tại mỗi node của một lớp.
Bước này được gọi là truyền thẳng vì cách tính tốn được thực hiện
từ lớp đầu tiên đến lớp cuối của mạng nơ-ron.
Phương pháp phổ biến nhất để tối ưu mạng nơ-ron truyền thẳng đa
lớp là trượt dốc. Để có thể áp dụng trượt dốc, ta cần tính được đạo hàm của
hàm lỗi theo từng ma trận trọng số W(l) và vector hướng b(l)
𝜕𝐿
𝜕𝑊 (𝑙)

;

𝜕𝐿

(2.10)

𝜕𝑏(𝑙)

Ví dụ, hàm lỗi ta sử dụng là hàm lỗi trung bình bình phương (Mean
Square Error - MSE):
1

𝐿(𝑊, 𝑏, 𝑋, 𝑌) = ∑𝑁
̂𝑛 ‖22
𝑛=1‖𝑦𝑛 − 𝑦

(2.11)


𝑁

2

1

(𝐿)
= ∑𝑁
𝑛=1‖𝑦𝑛 − 𝑎𝑛 ‖2
𝑁

(2.12)

Với N là số cặp dữ liệu (X,Y) trong tập huấn luyện.
Theo cơng thức (2.12) thì việc tính đạo hàm của hàm lỗi theo trọng
số và hướng một cách trực tiếp là cực kỳ phức tạp, vì hàm lỗi khơng phụ
thuộc trực tiếp vào các hệ số.
Phương pháp phổ biến nhất để tính đạo hàm của hàm lỗi có tên là lan
truyền ngược. Lan truyền ngược giúp tính đạo hàm ngược từ lớp cuối cùng
đến lớp đầu tiên. Lớp cuối cùng được tính trước vì nó gần hơn với đầu ra dự
đốn và hàm lỗi. Việc tính tốn đạo hàm của các lớp trước được thực hiện
dựa trên nguyên tắc xích, tức là đạo hàm của hàm hợp.
𝜕𝑧
𝜕𝑥

=

𝜕𝑧 𝜕𝑦


.

𝜕𝑦 𝜕𝑥

= 𝑓 ′ (𝑦)𝑔′ (𝑥) = 𝑓 ′ (𝑔(𝑥))𝑔′ (𝑥)

Với z = f(y) và y = g(x)

13

(2.13)


×