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

(Luận văn thạc sĩ) Ứng dụng phương pháp học sâu để nhận diện khuôn mặt qua camera giám sá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.56 MB, 86 trang )

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

NGUYỄN THANH TÙNG

ỨNG DỤNG PHƯƠNG PHÁP HỌC SÂU ĐỂ NHẬN DIỆN
KHUÔN MẶT QUA CAMERA GIÁM SÁT

LUẬN VĂN THẠC SĨ
CHUYÊN NGÀNH: HỆ THỐNG THƠNG TIN
MÃ SỚ: 8 48 01 04

BÌNH DƯƠNG – 2019


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

NGUYỄN THANH TÙNG

ỨNG DỤNG PHƯƠNG PHÁP HỌC SÂU ĐỂ NHẬN DIỆN
KHUÔN MẶT QUA CAMERA GIÁM SÁT

LUẬN VĂN THẠC SỸ
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 8 48 01 04

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

BÌNH DƯƠNG – 2019


ii


LỜI CAM ĐOAN

Tên tôi là: Nguyễn Thanh Tùng
Sinh ngày: 15/01/1983
Học viên lớp cao học CH17HT - Trường Đại học Thủ Dầu Một.
Xin cam đoan: Đề tài “Ứng dụng phương pháp học sâu để nhận diện
khuôn mặt qua camera giám sát.” 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 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 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 10 năm 2019
Tác giả luận văn

Nguyễn Thanh Tùng

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 “Ứng dụng phương pháp học sâu để nhận diện khn mặt qua camera
giám sát” đã 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à hồn thành
luận văn này.

iv


TĨM TẮT LUẬN VĂN
Đã có rất nhiều cơng trình cơng bố, đưa ra các hướng tiếp cận khác nhau cho
việc giải quyết bài tốn nhận dạng khn mặt như nhận dạng dựa trên đặc trưng của
các phần tử trên khuôn mặt bao gồm biển đổi sóng Wavelet (Gabor Wavelet),
phương pháp đồ thị đàn hồi (Elastic Bunch Graph Matching - EBGM), mạng Nơron
(Neural Network - NN), học máy vector hỗ trợ (Support Vector Machine –SVM)…
nhận dạng dựa trên xét tổng thể tồn khn mặt bao gồm phương pháp phân tích
thành phần chính (Principal Component Analysis– PCA) phương pháp phân tích sự
khác biệt tuyến tính (Linear Discriminant Analysis – LDA). Trong đó, nhận dạng
khuôn mặt dùng mạng Nơron mang lại hiệu quả nhận dạng cao bởi nó hoạt động ổn
định và có tính thích nghi cao khi dữ liệu đầu vào thay đổi nhiều.
Luận văn trình bày khảo sát một số thuật tốn nhận dạng khn mặt và đề
xuất một mơ hình hiệu quả để giải quyết bài tốn nhận dạng khn mặt và có thể áp
dụng để nhận dạng trực tiếp từ camera. Trong đó, luận văn tập trung chính vào hai
công đoạn: phát hiện và nhận dạng khuôn mặt. Trong việc phát hiện và canh chỉnh
khuôn mặt được đề xuất sử dụng phương pháp mô tả đặc trưng (Histogram of
Oriented Gradients – HOG) và việc phân lớp, nhận dạng khuôn mặt sử dụng mơ
hình CNN cụ thể là thuật tốn FaceNet. Hiệu quả của mơ hình nhận dạng được kiểm
nghiệm trên tập cơ sở dữ liệu chuẩn ORL (Olivetti Research Laboratory) của
AT&T, và bộ dữ liệu của cá nhân thu thập hình ảnh của 15 người. Các kết quả thực
nghiệm cho thấy mơ hình đề xuất đạt độ chính xác cao và ổn định trên các tập dữ

liệu.

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 THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT ............................................ ix
DANH MỤC CÁC BẢNG.......................................................................................... x
DANH MỤC HÌNH VẼ, ĐỒ THỊ ............................................................................. xi
CHƯƠNG 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 .................................................................................. 2
1.5. Ý nghĩa khoa học và ý nghĩa thực tiễn ............................................................. 3
1.6. Bố cục luận văn ................................................................................................ 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN .......... 5
2.1. Mạng Nơron tích chập ...................................................................................... 5
2.1.1. Mạng Nơron ............................................................................................... 5
2.1.2. Mạng nơron tích chập ............................................................................... 15
2.2. Trích chọn đặc trưng ....................................................................................... 21
2.2.1. Tổng quan trích chọn đặc trưng ............................................................... 21

vi



2.2.2. Phương pháp mô tả đặc trưng (Histogram of Oriented Gradients – HOG)
............................................................................................................................ 22
2.2.3. Phương pháp phân tích thành phần chính (Principal Component Analysis
- PCA) ................................................................................................................. 23
2.2.4. Phương pháp mẫu nhị phân địa phương (Local Binary Pattern - LBP ) .. 26
2.3. Nhận dạng khuôn mặt ..................................................................................... 32
2.3.1. Tổng quan ................................................................................................. 32
2.3.2. Các hướng tiếp cận ................................................................................... 35
2.3.3. Hướng đề xuất nghiên cứu ....................................................................... 36
Tiểu kết chương......................................................................................................... 37
CHƯƠNG 3: MÔ HÌNH ĐỀ X́T ........................................................................ 38
3.1. Tổng quan mơ hình đề xuất ............................................................................ 38
3.2. Các đặc trưng của mơ hình đề xuất ................................................................ 40
3.2.1. Phát hiện khuôn mặt ................................................................................. 40
3.2.2. Nhận dạng khn mặt............................................................................... 47
3.2.3. Mơ hình kết hợp HOG-CNN .................................................................... 56
3.2.4. Phương pháp đánh giá mơ hình ................................................................ 57
CHƯƠNG 4: THỰC NGHIỆM VÀ KẾT LUẬN .................................................... 58
4.1 Dữ liệu ............................................................................................................. 58
4.2 Huấn luyện mơ hình......................................................................................... 62
4.3 Đánh giá ........................................................................................................... 64
4.4 Xây dựng ứng dụng ......................................................................................... 65

vii


4.5 Kết luận và hướng phát triển ........................................................................... 69
CƠNG TRÌNH CÔNG BỐ ....................................................................................... 70
TÀI LIỆU THAM KHẢO ......................................................................................... 71


viii


DANH MỤC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT

KÝ HIỆU

TÊN TIẾNG ANH

ANN

Artificial Neural Network

CNN

Convolution Neural Network

DNN

Deep Neural Networks

FC

Fully Connected

FCM

Fuzzy Cognitive Map

HAC


Hierarchical Agglomerative Clustering

HOG

Histogram of Oriented Gradients

LBP

Local Binary Pattern

LDA

Linear Discriminant Analysis

LFW

Labeled Faces in the Wild

LMNN

Large margin nearest neighbor classification

MDP

Markov Decision Process

PCA

Principal Component Analysis


RELU

Rectified Linear Unit

RGB

Red Green Blue

SGD

Stochastic Gradient Descent

SIFT

Scale Invariant Feature Transform

SOM

Self – Organizing Map

SURF

Speeded up robust features

SVM

Support Vector Machines

ix



DANH MỤC CÁC BẢNG
Bảng 4.1 Đánh giá độ chính xác trên dữ liệu cá nhân ............................................. 63
Bảng 4.2 Đánh giá độ chính xác trên dữ liệu ORL .................................................. 64

x


DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 2.1: Mạng nơron sinh học .................................................................................. 5
Hình 2.2: Cấu trúc của mạng nơron nhân tạo ............................................................. 6
Hình 2.3: Quá trình xử lý của một nơron trong ANN ................................................. 6
Hình 2.4: Đồ thị các hàm kích hoạt ............................................................................ 8
Hình 2.5: AlphaGo của Google ................................................................................. 11
Hình 2.6: Mơ phỏng cách tính lan truyền ngược ...................................................... 13
Hình 2.7: Mơ hình các lớp cơ bản CNN ................................................................... 16
Hình 2.8: Ví dụ một mơ hình CNN ........................................................................... 17
Hình 2.9: Minh họa tích chập trên ma trận ảnh ........................................................ 18
Hình 2.10: Phương thức Avarage Pooling và Max Pooling ..................................... 20
Hình 2.11: Ví dụ về cấu trúc CNN ............................................................................ 21
Hình 2.12: R-HOG và C-HOG.................................................................................. 23
Hình 2.13: Ảnh sau khi biến đổi theo PCA............................................................... 25
Hình 2.14: Ví dụ về phương pháp LBP .................................................................... 27
Hình 2.15: Ví dụ về ảnh khn mặt và các đặc trưng LBP ...................................... 27
Hình 2.16: Tập hợp các điểm xung quanh Ptt. .......................................................... 28
Hình 2.17: Các biến thể của LBP, LBP đồng dạng................................................... 29
Hình 2.18: Bảng thống kê các mẫu của LBP đồng dạng .......................................... 30
Hình 2.19: Ví dụ về q trình tính tốn đặc trưng .................................................... 31
Hình 2.20: Mơ hình bài tốn nhận dạng mặt người .................................................. 33

xi


Hình 2.21: Cấu trúc tổng quát của hệ thống nhận dạng khn mặt .......................... 33
Hình 3.1: Mơ hình đề xuất ........................................................................................ 39
Hình 3.2: Số ảnh nhậndạng được .............................................................................. 40
Hình 3.3: Biểu đồ tuyến tính HOG ........................................................................... 40
Hình 3.4: Biểu đồ tuyến tính LBP ............................................................................. 41
Hình 3.5: So sánh phát hiện khn mặt HOG và LBP ............................................. 42
Hình 3.6: Chia khối trích đặc trưng HOG ................................................................. 43
Hình 3.7: Ví dụ về trích chọn đặc trưng bởi HOG .................................................... 46
Hình 3.8: Ảnh input và kết quả phát hiện và canh chỉnh ảnh mặt với HOG ............ 47
Hình 3.9: Hình minh họa output khoảng cách khi sử dụng FaceNet giữa các cặp
khuôn mặt. ................................................................................................................. 48
Hình 3.10: Tóm tắt quy trình nhận dạng khn mặt sử dụng FaceNet ..................... 49
Hình 3.11: Cấu trúc mơ hình FaceNet ...................................................................... 50
Hình 3.12: Ví dụ về bộ ba sai số ............................................................................... 51
Hình 3.13: Bộ ba sai số tối thiểu hóa khoảng cách giữa ảnh vào (Anchor) và ảnh
cùng loại với ảnh vào (Positive) và tối đa hóa khoảng cách giữa ảnh vào và ảnh khác
loại với ảnh vào (Negative) ....................................................................................... 52
Hình 3.14: Ảnh vào sau khi huấn luyện, thu được vector 128 chiều ........................ 54
Hình 3.15: Cấu trúc mạng do Zeiler và Fergus đề xuất ............................................ 55
Hình 3.16: Module Inception dạng nguyên thủy và dạng giảm chiều. ..................... 55
Hình 3.17: FaceNet sử dụng mơ hình Inception tương tự với. ................................. 56
Hình 3.18: Sơ đồ mơ hình nhận dạng kết hợp HOG-FaceNet .................................. 57

xii


Hình 4.1: Ví dụ các mẫu data đã cắt khn mặt ....................................................... 58

Hình 4.2: Phương pháp Xoay ngẫu nhiên tăng dữ liệu ảnh ...................................... 59
Hình 4.3: Phương pháp độ sáng ngẫu nhiên tăng dữ liệu ảnh .................................. 60
Hình 4.4: Phương pháp phóng to thu nhỏ ngẫu nhiên tăng dữ liệu ảnh ................... 60
Hình 4.5: Phương pháp dịch chuyển dọc tăng dữ liệu ảnh ....................................... 61
Hình 4.6: Phương dịch chuyển ngang tăng dữ liệu ảnh ............................................ 61
Hình 4.7: Tiền xử lý ảnh khn mặt ......................................................................... 62
Hình 4.8: Kết quả huấn luyện mơ hình ..................................................................... 63
Hình 4.9: Các thơng số huấn luyện mơ hình. ............................................................ 64
Hình 4.10: Giao diện chính của chương trình ........................................................... 65
Hình 4.11: Cửa sổ thêm người mới ........................................................................... 66
Hình 4.12: Cửa sổ chụp ảnh người mới .................................................................... 66
Hình 4.13: Thực hiện huấn luyện lại mơ hình. ......................................................... 67
Hình 4.14: Cửa sổ nhận dạng khn mặt .................................................................. 67
Hình 4.15: Mô tả dữ liệu và kết quả.......................................................................... 68

xiii


CHƯƠNG 1
TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU
1.1. Lý do chọn đề tài
Với sự phát triển nhanh chóng của các loại máy móc hiện đại như máy ảnh
số, máy quay phim kỹ thuật số, máy vi tính,… thì lượng thơng tin con người thu
được dưới dạng hình ảnh là khá lớn. Xử lý ảnh là một trong những lĩnh vực ngày
càng được phổ biến trong đời sống xã hội. Không chỉ dừng lại ở việc xử lý những
vết nhòe, tái chế và phục hồi các ảnh cũ, ngày nay các kỹ thuật, phương pháp xử lý
ảnh đã mang lại những tiến bộ vượt bậc như nhận dạng vân tay, nhận dạng khn
mặt, nhận dạng đối tượng khi nó kết hợp với lĩnh vực trí tuệ nhân tạo.
Bên cạnh đó, vấn đề an ninh bảo mật đang được yêu cầu khắc khe tại mọi
quốc gia trên thế giới. Các hệ thống xác định, nhận dạng con người được ra đời với

độ tin cậy cao. Một trong những bài toán nhận dạng con người được quan tâm nhất
hiện nay đó là nhận dạng qua khuôn mặt.
Các phương pháp nhận dạng phổ biến hiện nay là nhận dạng dựa trên đặc
trưng của các phần tử trên khuôn mặt và nhận dạng dựa trên xét tổng thể tồn khn
mặt như phương pháp Phân tích thành phần chính (Principal Component Analysis –
PCA) phương pháp Phân tích sự khác biệt tuyến tính (Linear Discriminant Analysis
– LDA), phương pháp mẫu nhị phân địa phương (Local Binary Pattern - LBP),
phương pháp mô tả đặc trưng (Histogram of Oriented Gradients – HOG) và hiện nay
việc áp dụng các phương pháp học sâu của mạng nơron (Neural Network) cho ra kết
quả nhận dạng rất tốt. Các nghiên cứu gần đây cho thấy việc kết hợp giữa phương
pháp phân tích đặc trưng và mạng học sâu nơron mang lại hiệu quả nhận dạng cao
bởi nó hoạt động ổn định và có tính thích nghi cao khi dữ liệu đầu vào thay đổi
nhiều. Vì vậy tơi chọn đề tài: “Ứng dụng phương pháp học sâu để nhận diện

1


khuôn mặt qua camera giám sát” để nghiên cứu 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 “Ứng dụng phương pháp học sâu để nhận diện khuôn mặt qua
camera giám sát”. Hướng tới một chương trình có chức năng phát hiện ra khn mặt
người và nhận dạng ra đó là ai thơng qua các phương pháp phát hiện và nhận dạng.
Thông qua nghiên cứu các phương pháp học sâu cho bài tốn nhận dạng khn mặt
và ngơn ngữ lập trình Python luận văn muốn xây dựng một chương trình có thể nhận
dạng được khn mặt người thông qua camera theo thời gian thực.
1.3. Đối tượng, phạm vi nghiên cứu
Với mục tiêu đã đề ra ở trên, luận văn thực hiện những vấn đề sau:
- Đối tượng nghiên cứu là các phương pháp phát hiện khuôn mặt người và
nhận dạng khn mặt qua đó lựa chọn một phương pháp phù hợp. Tìm hiểu và đề

xuất một phương pháp cụ thể.
- Nghiên cứu và sử dụng phương pháp học sâu trên nền tảng Python.
- Phạm vi thực hiện: trên camera và video giám sát theo thời gian thực.
1.4. Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Tổng hợp, nghiên cứu các tài liệu về
nhận dạng khn mặt; nghiên cứu các phương pháp, thuật tốn nhận dạng khn
mặt; nghiên cứu các phương pháp học sâu. Tìm hiểu các kiến thức liên quan như lý
thuyết xử lý ảnh, học máy, kỹ thuật lập trình.
- Phương pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, phát
biểu bài tốn, đề xuất mơ hình; xây dựng và phát triển ứng dụng dựa trên mơ hình đề
xuất; cài đặt thử nghiệm chương trình, đánh giá các kết quả đạt được; công bố kết
quả nghiên cứu trong các Hội thảo.

2


1.5. Ý nghĩa khoa học và ý nghĩa thực tiễn
Ý nghĩa khoa học:
Luận văn góp phần giới thiệu các bước tiến hành để xây dựng hệ thống nhận
dạng nói chung và nhận dạng khn mặt nói riêng.
Nghiên cứu về phương pháp trích chọn đặc trưng nhận dạng khn mặt HOG
và mạng Nơron trong việc nhận dạng khuôn mặt.
Cài đặt thử nghiệm và đánh giá bằng thực nghiệm các kỹ thuật trong trích
chọn đặc trưng HOG và phân loại đối tượng dựa trên mạng nơron.
Nghiên cứu này tạo tiền đề cho những nghiên cứu tiếp theo trong tương lai.
Ý nghĩa thực tiễn:
Luận văn nghiên cứu một số kỹ thuật, các thuật tốn hỗ trợ cho việc phát hiện
và nhận dạng khn mặt người.
Luân văn đã xây dựng thành công hệ thống nhận dạng khn mặt dựa trên
trích chọn đặc trưng HOG và mạng nơron.

Bên cạnh đó, luận văn này góp phần xây dựng chương trình nhận dạng khn
mặt người để áp dụng cho nhiều ứng dụng thực tiễn, nhằm đáp ứng cho các yêu cầu
như nhận dạng, bảo mật ngày càng cao.
Ngoài ra, luận văn đã xây dựng cơ sở dữ liệu trong thực tế trên khuôn mặt
người cán bộ công chức tạo tiền đề cho việc xây dựng cơ sở dữ liệu nhận dạng cán
bộ công chức một cách tự động.
1.6. Bố cục luận văn
Nội dung của 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 này trình bày khái
quát về bài tốn nhận dạng khn mặt, những ứng dụng cũng như yêu cầu đề tài.

3


Chương 2: Cơ sở lý thuyết và các nghiên cứu liên quan: Chương này trình
bày các thuật tốn nhận dạng khuôn mặt và các nghiên cứu liên quan.
Chương 3: Mô hình đề xuất: Chương này trình bày phương pháp nhận dạng
khn mặt kết hợp giữa phương pháp phân tích đặc trưng HOG và mạng nơron tích
chập (CNN).
Chương 4: Thực nghiệm: Chương 4 trình bày quá trình và kết quả đạt được
khi thực nghiệm, 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.

4


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

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) [1]. 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. [1]

Hình 2.1: Mạng nơron sinh học [1]
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 [1], 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

5


đổ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 [1]
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 [1] mơ tả q 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.

Hình 2.3: Quá trình xử lý của một nơron trong ANN [1]

6


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 [1]

Hàm Sigmoid:

0
𝑓 (𝑥 ) = {
𝑥


,𝑥 < 0
,𝑥 ≥ 0

Hàm Tanh:

𝑓 (𝑥 ) =

1+𝑒 −𝑥

𝑓 (𝑥 ) =

1+𝑒 −2𝑥

1

1

(2.2)

(2.3)

−1

7

(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 để kiểm soát đầu ra của

8


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:
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 đó [1].
Phương pháp họ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, …

9


- 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),….[1]
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).[1]
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í dụ, AlphaGo của

10


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 trù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 tố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 𝑦̂ 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)

𝑧𝑖𝑙 = 𝑤𝑖

𝑎

(2.5)
+ 𝑏𝑖𝑙

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

𝑎(𝑙) = 𝑓(𝑧 (𝑙) )
𝑦̂ = 𝑎(𝐿)

1

popularmechanics.com

11

(2.6)
(2.7)
(2.8)
(2.9)


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‖𝑦𝑛 − 𝑦
𝑁

1

(2.11)
2

(𝐿)
= ∑𝑁
𝑛=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)

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

12

(2.13)


×