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

Ứng dụng kỹ thuật học sâu nhận dạng tiền trong các hệ thống giao dịch tự động

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 (8.15 MB, 87 trang )

i

..

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

VÕ HOÀNG THÀNH

ỨNG DỤNG KỸ THUẬT HỌC SÂU NHẬN DẠNG TIỀN
TRONG CÁC HỆ THỐNG GIAO DỊCH TỰ ĐỘNG

Chuyên ngành: Khoa học máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: TS. HOÀNG VĂN DŨNG

Đà Nẵng - Năm 2018


LỜI CAM ĐOAN

Tôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của TS. Hoàng Văn Dũng.
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên
tác giả, tên cơng trình, thời gian, địa điểm cơng bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi
xin chịu hồn tồn trách nhiệm.



Tác giả

Võ Hoàng Thành


MỤC LỤC
TRANG BÌA
LỜI CAM ĐOAN
MỤC LỤC
TRANG TĨM TẮT LUẬN VĂN
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
MỞ ĐẦU ......................................................................................................................... 1
1. Lý do chọn đề tài ............................................................................................ 1
2. Mục đích và ý nghĩa đề tài ............................................................................. 2
3. Mục tiêu và nhiệm vụ ..................................................................................... 2
4. Đối tượng và phạm vi nghiên cứu .................................................................. 3
5. Phương pháp nghiên cứu ................................................................................ 3
6. Cấu trúc của luận văn ..................................................................................... 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ................................................................................ 5
1.1. TỔNG QUAN VỀ XỬ LÝ ẢNH ............................................................................. 5
1.1.1. Các khái niệm về ảnh số, điểm ảnh, màu sắc ......................................... 5
1.1.2. Các dạng ảnh ........................................................................................... 6
1.1.3. Các thành phần trong hệ thống xử lý ảnh ............................................... 7
1.2. CƠ BẢN VỀ HỌC MÁY ......................................................................................... 8
1.2.1. Khái niệm học máy ................................................................................. 8
1.2.2. Phân loại phương pháp học máy............................................................. 8
1.2.3. Ứng dụng của học máy ........................................................................... 9

1.3. MỘT SỐ PHƯƠNG PHÁP HỌC MÁY TRUYỀN THỐNG .................................. 9
1.3.1. Mạng neural ............................................................................................ 9
1.3.2. Máy vector hỗ trợ (SVM) ..................................................................... 13
1.4. KỸ THUẬT HỌC SÂU ......................................................................................... 19
1.4.1. Tổng quan về học sâu ........................................................................... 19
1.4.2. Mạng neural sâu .................................................................................... 20
1.4.3. Mạng neural tích chập (CNN) .............................................................. 21
CHƯƠNG 2: MẠNG NEURAL TÍCH CHẬP TRONG NHẬN DẠNG TIỀN GIẤY 28
2.1. MỘT SỐ MẠNG NEURAL TÍCH CHẬP ĐIỂN HÌNH TRONG NHẬN DẠNG
ĐỐI TƯỢNG ................................................................................................................. 28
2.1.1. Mạng LeNet .......................................................................................... 28


2.1.2. Mạng AlexNet....................................................................................... 29
2.1.3. Mạng ZFNet .......................................................................................... 31
2.1.4. Mạng GoogLeNet ................................................................................. 32
2.1.5. Mạng VGGNet ...................................................................................... 33
2.2. MƠ TẢ BÀI TỐN NHẬN DẠNG TIỀN GIẤY ................................................. 35
2.3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ............................................................ 37
2.3.1. Phân tích tổng quan hệ thống................................................................ 37
2.3.2. Phân tích chức năng của hệ thống ........................................................ 37
2.3.3. Sơ đồ giải pháp nhận dạng tiền giấy ..................................................... 38
2.3.4. Thiết kế mạng neural sâu trong bài toán nhận dạng tiền giấy .............. 39
CHƯƠNG 3: THỰC NGHIỆM, ĐÁNH GIÁ KẾT QUẢ ............................................ 45
3.1. CÀI ĐẶT CHƯƠNG TRÌNH ................................................................................ 45
3.1.1. Mơi trường và cơng cụ lập trình ........................................................... 45
3.1.2. Thiết lập các lớp của mạng DNN trong matlab .................................... 46
3.2. CƠ SỞ DỮ LIỆU THỰC NGHIỆM ...................................................................... 48
3.2.1. Nguồn dữ liệu và mô tả......................................................................... 48
3.2.2. Tăng cường dữ liệu ............................................................................... 51

3.3. QUÁ TRÌNH HUẤN LUYỆN ............................................................................... 51
3.4. KẾT QUẢ THỰC NGHIỆM.................................................................................. 53
3.5. CHƯƠNG TRÌNH MINH HỌA KẾT QUẢ KIỂM TRA ..................................... 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................... 63
TÀI LIỆU THAM KHẢO ............................................................................................. 64
ẾT Đ NH GIAO ĐỀ TÀI
ẬN VĂN THẠC SĨ (BẢN SAO)
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC
PHẢN BIỆN.


TRANG TÓM TẮT LUẬN VĂN
ỨNG DỤNG KỸ THUẬT HỌC SÂU NHẬN DẠNG TIỀN TRONG CÁC
HỆ THỐNG GIAO DỊCH TỰ ĐỘNG
Học viên: Võ Hoàng Thành Chuyên ngành: Ngành Khoa Học Máy Tính
Mã số: 60.48.01 Khóa: 34 Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Ngày nay, cơng nghệ tiên tiến đã đóng một nhiệm vụ quan trọng việc nhận dạng
tiền tệ thật trong các nền kinh tế. Một giải pháp hiệu quả để phát hiện và nhận dạng tiền giấy là
điều quan trọng trong các giao dịch tự động. Luận văn này đề xuất một cách tiếp cận để nhận
dạng tiền giấy dựa trên xử lý ảnh cơ bản dùng mạng học sâu để trích xuất và nhận dạng đặc trưng.
Kỹ thuật mạng neural sâu như là một nghệ thuật nhận dạng trong xử lý hình ảnh. Các kỹ thuật
truyền thống thường có chi phí cao để xử lý số liệu hình ảnh của tiền tệ khi nhận dạng nhiều mệnh
giá của tiền. Luận văn này tập trung vào nhận dạng đúng tiền thật dựa trên hình thức của tờ tiền.
Phương pháp đề xuất có thể áp dụng để nhận biết nhiều loại mệnh giá cũng như các loại tiền tệ
khác nhau. Sự đóng góp của nghiên cứu là phương pháp tiếp cận mới dựa trên mạng neural sâu và
tăng cường dữ liệu để cải thiện độ chính xác. Thứ nhất, mạng neural sâu được xây dựng có kiến
trúc mạng sử dụng một số inceptions khác nhau cùng với toán tử tích chập, nhằm giảm thời gian
huấn luyện. Thứ hai, tăng cường hình ảnh của tập dữ liệu đào tạo để có một dữ liệu lớn hơn đủ
cho việc học của mạng neural sâu. Phương pháp này nhằm mục đích giải quyết vấn đề dữ liệu nhỏ
và tăng cường khả năng học sâu. Kết quả thử nghiệm phương pháp được đề xuất có thể áp dụng

cho ứng dụng thực tế với hiệu suất có tỷ lệ chính xác 97,85%.

Từ khóa - Nhận dạng, tiền giấy, học sâu, mạng neural sâu, tích chập.

APPLICATIONS DEEP LEARNING FOR BANKNOTE RECOGNITION
IN AUTOMATIC TRANSACTION SYSTEMS
Abstract - Nowadays, advanced technology has played an important task in circulation of
anti-counterfeit notes economy. It is essential that requires an efficient solution to detect fake
banknotes. This thesis proposes an approach for recognition of paper currency based fundamental
image processing using deep learning for feature extraction and recognition. Deep neural network
techniques have dramatically become the state of the art in image processing. The high capacity
of traditional techniques on currency image dataset has been impeded because of varieties of the
appearance of the banknotes. This thesis focuses recognition face value and anti-counterfeit based
on banknote appearance. The proposed method can be applied to recognize many kinds of the
denomination or face values as well as the national currencies. The contribution studies a new
approach based on sequential deep neural network and data augmentation for improving accuracy.
First, the deep neural network is constructed using several inceptions with different parallel
convolutional operations which support reducing consuming time. Second, image augmentation
of training dataset generates a larger data enough for deep neural network learning. This proposed
task is aimed to address the small data problem. It is utilized for enhancing the capabilities of
deep learning. Experimental results illustrate that the proposed method is applicable to the real
application with enhances performance to 97.85% accuracy rate.
Key words - Recognition, banknote, deep learning, deep neural network, convolutional.


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Ký hiệu

Diễn giải
Tiếng Anh


Tiếng Việt

AI

Artificial intelligence

Trí tuệ nhân tạo

ANN

Artificial Neural Network

Mạng neural nhân tạo

CNN

Convolution Neural Network

Mạng neural tích chập

CUDA

Compute
Unified
Architecture

Kiến trúc thiết bị tính tốn hợp
nhất


DNN

Deep Neural Network

Mạng neural sâu

GPU

Graphics Processing Unit

Đơn vị xử lý đồ họa

MLNN

Multi Layer Neural Network

Mạng Neural đa lớp

ReLU

Rectified Linear Unit

Hiệu chỉnh đơn vị tuyến tính

SIFT

Scale-Invariant
Transform

SOM


Self Organizing Maps

Mạng Neural tự tổ chức

SVM

Support Vetor Machines

Máy vector hỗ trợ

VND

Device

Feature

Biến đổi đặc trưng tỉ lệ không
thay đổi

Tiền đồng Việt Nam


DANH MỤC CÁC BẢNG
Bảng 2.1. Bảng mô tả kiến trúc 25 lớp của mạng AlexNet trong Matlab ..................... 30
Bảng 2.2. Bảng mô tả kiến trúc của mạng VGGNet trong Matlab ............................... 34
Bảng 2.3. Bảng mô tả kiến trúc 75 lớp của mạng DNN được xây dựng trong Matlab . 42
Bảng 3.1. So sánh framework dùng cho kỹ thuật Học sâu ............................................ 45
Bảng 3.2. Mô tả số lượng dữ liệu mẫu huấn luyện ....................................................... 49
Bảng 3.3. Một số dữ liệu mẫu tiền giấy thật ................................................................. 53

Bảng 3.4. Một số dữ liệu mẫu tiền giấy giả bằng giấy nguyên liệu khác nhau. ............ 54
Bảng 3.5. Ma trận kiểm tra kết quả dự đoán trên tập dữ liệu đánh giá của phương pháp
CNN ........................................................................................................... 57
Bảng 3.6. Ma trận kiểm tra kết quả dự đoán trên tập dữ liệu đánh giá của phương pháp
CNN + SVM .............................................................................................. 58


DANH MỤC CÁC HÌNH
Hình 1.1. Sơ đồ tổng qt hệ thống xử lý ảnh ................................................................. 7
Hình 1.2. Minh họa về kiến trúc của mạng Neural ....................................................... 10
Hình 1.3. Sơ đồ tổng quát của một perceptron .............................................................. 12
Hình 1.4. Sơ đồ mạng Neuron nhiều perceptron ........................................................... 12
Hình 1.5. Siêu phẳng phân tách mẫu dữ liệu thành 2 lớp.............................................. 14
Hình 1.6. Các siêu phẳng biên H+ và H- trong SVM. .................................................... 16
Hình 1.7. Tuyến tính hóa phân loại phi tuyến bằng cách biến đổi tập dữ liệu sang một
khơng gian mới có khả năng phân loại tuyến tính ................................... 18
Hình 1.8. (a) Mơ hình mạng neural cạn[27] (b) Mơ hình mạng neural sâu .................. 20
Hình 1.9. Biểu diễn đặc trưng đối tượng trong mạng học sâu ...................................... 21
Hình 1.10. Kiến trúc mạng tích chập đơn giản.............................................................. 22
Hình 1.11. Q trình thực hiện tích chập ...................................................................... 23
Hình 1.12. Minh họa lớp tích chập trong nhận dạng biển báo giao thông: (a) Các trọng
số của bộ lọc tích chập (b) Kết quả đầu ra của các tích chập mặt nạ ...... 24
Hình 1.13. Minh họa hoạt động của Max pooling và Average pooling[33] ................. 24
Hình 1.14. Minh họa giảm kích thước nhờ lớp pooling ................................................ 25
Hình 1.15. Minh họa hoạt động của lớp ReLU ............................................................. 26
Hình 1.16. Mơ hình lớp fully connection ...................................................................... 27
Hình 2.1. Kiến trúc mạng LeNet-5 ................................................................................ 28
Hình 2.2. Kiến trúc của mơ hình AlexNet ..................................................................... 29
Hình 2.3. Kiến trúc của mơ hình mạng ZFNet. ............................................................. 31
Hình 2.4. Mơ hình về module Inception........................................................................ 32

Hình 2.5. Mơ hình kiến trúc mạng GoogLeNet. ........................................................... 33
Hình 2.6. Mơ hình về kiến trúc mạng VGGNet. ........................................................... 34
Hình 2.7. (a) Một số dấu hiệu đặc biệt để con người nhận dạng tiền tệ dựa trên thông
tin trực quan, (b) tiền giả bằng các chất liệu khác. .................................. 37
Hình 2.8. Tổng quan kiến trúc của quá trình nhận dạng tiền giấy ................................ 38
Hình 2.9. Kiểm tra tiền giấy dựa trên các kỹ thuật DNN và SVM ............................... 39
Hình 2.10. Sơ đồ tổng thể của kiến trúc mạng neural sâu trong nhận dạng tiền giấy ... 40
Hình 2.11. ược đồ của từng mạng Inception. .............................................................. 41
Hình 3.1. Ví dụ về hình ảnh tăng cường ....................................................................... 51


Hình 3.2. Quá trình huấn luyện trên tập dữ liệu tiền trong mạng DNN hội tụ với các
giá trị dự kiến sau một vài epochs: (a) độ chính xác; (b) giá trị lỗi ....... 52
Hình 3.3. Trọng số của mặt nạ lọc của lớp tích chập đầu tiên. ..................................... 56
Hình 3.4. Kết quả kích hoạt của một số lớp DNN ........................................................ 56
Hình 3.5. Kết quả nhận dạng mệnh giá 10.000, 20.000, 50.000 VND ......................... 60
Hình 3.6. Kết quả nhận dạng mệnh giá 100.000, 200.000, 500.000 VND ................... 61
Hình 3.7. Kết quả nhận dạng khả nghi tiền giả và không phải mẫu tiền ...................... 62


1

MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay, kỹ thuật học sâu (deep learning) đang tạo nên sự phát triển mạnh mẽ về
cơng nghệ ở trên tồn thế giới, nó ảnh hưởng tới rất nhiều lĩnh vực trong cuộc sống
hiện đại (robot, IoT, tài chính, y tế…).
Kỹ thuật học sâu thể hiện tính ưu việt hơn các kỹ thuật khác trong việc nhận diện
hình ảnh cũng như nhiều lĩnh vực khác, những kết quả nghiên cứu gần đây áp dụng kỹ
thuật này cho độ chính xác cao hơn. Nhiều cơng ty hoạt động về lĩnh vực công nghệ

trên thế giới đang đầu tư rất nhiều nguồn lực vào nghiên cứu và phát triển nhằm tạo ra
các sản phẩm ứng dụng sử dụng kỹ thuật học sâu. Những công ty lớn như Google,
Baidu… cũng sử dụng kỹ thuật học sâu dùng trong các thuật tốn nhận dạng giọng nói,
hình ảnh và đã mang kết quả tốt khi đem vào ứng dụng trong thực tế. Các lĩnh vực về
công nghệ đã dùng kỹ thuật học sâu có thể kể đến là: cơng nghệ nhận diện giọng nói
(các trợ lý ảo giọng nói như Siri của Apple, Cortana của Microsoft, Alexa của
Amazon, DeepVoice của Baidu...), dịch tự động và các công nghệ xử lý ngơn ngữ tự
nhiên, cơng nghệ nhận diện hình ảnh (Google, Microsoft, Facebook, Baidu,...).
Cơng nghệ nhận diện hình ảnh sử dụng kỹ thuật học sâu đang được nhiều nhà
nghiên cứu tìm hiểu và đưa vào ứng dụng thực tế; nhóm nghiên cứu về trí tuệ nhân tạo
của Facebook đã tạo ra phần mềm DeepFace[1] có khả năng nhận dạng khn mặt tốt
như con người với độ chính xác khoảng 97.35%, cơng trình được cơng bố năm 2014,
sử dụng khoảng 4 triệu ảnh khuôn mặt của hơn 4000 người để huấn luyện cho mạng
nơron nhiều lớp, kết quả thu được đã vượt qua các kỹ thuật được nghiên cứu đề xuất
trước đó. Trong lĩnh vực y tế có nhiều cơng ty khởi nghiệp (Enlitic, Freenome, Merck,
Atomwise …) về y sinh đã đưa ra những sản phẩm điện tốn có khả năng đọc Xquang, MRI và phim chụp CT một cách nhanh chóng và chính xác bệnh chuẩn hơn cả
bác sỹ điều trị[34].
Ở Việt Nam, việc nghiên cứu về thị giác máy tính (Computer Vision) và các kỹ
thuật xử lý ảnh, trí tuệ nhân tạo (AI) để áp dụng giải quyết các bài toán nhận dạng tiền
trong các hệ thống giao dịch tự động chưa được nghiên cứu nhiều. Ứng dụng Money
Reader về nhận dạng Tiền giấy dựa trên hình ảnh và tự động chuyển đổi tỷ giá
(Trường Đại học Công nghệ - Hà Nội)[35] là một trong số ít về nghiên cứu này.
Cuộc cách mạng công nghiệp lần thứ 4 bước đầu đã có tác động sâu sắc đến định
hướng phát triển xã hội. Các nhà lãnh đạo đang hối thúc phát triển chính quyền điện
tử, đơ thị thơng minh, y tế thông minh,… Như vậy, một tất yếu cần phải có các hệ
thống tương tác giao dịch thơng minh giữa con người và máy tính từ các hệ thống lớn
như trung tâm hành chính cơng giao dịch tự động, các siêu thị mua bán tự động đến


2

các hệ thống nhỏ như dịch vụ đổi tiền tự động, hệ thống thu tiền tự động, hệ thống in
các loại văn bản chứng thực tự động,… Các giao dịch tự động sẽ giúp con người tiết
kiệm thời gian, chi phí về nhân lực làm tăng hiệu quả dịch vụ, kinh doanh. Bên cạnh
tính chính xác, nó cịn phải đáp ứng yêu cầu về tính linh động, đa dạng và mềm dẽo
trong u cầu giao dịch, ví dụ như cơng việc thu phí, tiền trong mua bán hàng tự động
thì ngoài những cách giao dịch qua thẻ ngân hàng, chuyển khoản; cách tiếp nhận tiền
mặt vẫn được người tiêu dùng lựa chọn nhiều. Trong giao dịch tiền mặt, yêu cầu hệ
thống phải nhận dạng được nhiều mệnh giá, loại tiền và độ chính xác cao là các yêu
cầu hết sức quan trọng nhằm đáp ứng các yêu cầu thực tế trong hệ thống giao dịch tự
động.
Với những lý do như trên, tôi xin đề xuất đề tài luận văn cao học: “Ứng dụng kỹ
thuật học sâu nhận dạng tiền trong các hệ thống giao dịch tự động”
2. Mục đích và ý nghĩa đề tài
2.1. Mục đích
Nghiên cứu các kỹ thuật trí tuệ nhân tạo, đặc biệt là kỹ thuật học sâu và các ứng
dụng của nó trong thực tế.
Nghiên cứu và đề xuất mơ hình nhận dạng tiền với nhiều mệnh giá, loại tiền khác
nhau và xác thực chúng để ứng dụng trong các hệ thống giao dịch tự động.
2.2. Ý nghĩa khoa học
-

Kế thừa những nghiên cứu về các hệ thống nhận dạng tiền trước đây.

-

Tìm hiểu, mơ tả về mơ hình hệ thống nhận dạng tiền mặt.

-

So sánh giữa các kĩ thuật được sử dụng trong hệ thống nhận dạng.


-

Đồng thời đánh giá hiệu suất của phương pháp bằng các thực nghiệm trên tập
dữ liệu thực.

-

Vận dụng trí tuệ nhân tạo trong việc giải quyết bài toán nhận dạng tiền mặt với
khả năng xử lý được với nhiều mệnh giá tiền, loại tiền một cách tự động.

2.3. Ý nghĩa thực tiễn
Dùng kỹ thuật học sâu để xây dựng mơ hình nhận dạng tiền để ứng dụng trong các
hệ thống giao dịch tự động.
3. Mục tiêu và nhiệm vụ
3.1. Mục tiêu
-

Nắm vững được kỹ thuật học sâu để áp dụng trong bài toán nhận dạng tiền.


3
-

Đề xuất được mơ hình nhận diện tiền và xác thực với các loại tiền, mệnh giá
khác nhau để ứng dụng trong hệ thống giao dịch tự động.

3.2. Nhiệm vụ
-


Nghiên cứu kỹ thuật trí tuệ nhân tạo, mạng neural học sâu.

-

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

-

Phân tích và cài đặt giải thuật cho bài toán nhận dạng tiền.

-

Đánh giá kết quả theo yêu cầu của đề tài.

4. Đối tượng và phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu
- Nghiên cứu các kĩ thuật trí tuệ nhân tạo, kỹ thuật mạng neural học sâu để ứng
dụng trong phân tích hình ảnh, nhận dạng mệnh giá tiền, loại tiền.
- Nghiên cứu hệ thống nhận dạng tiền (tiền giấy) để ứng dụng cho các giao dịch
tự động
4.2. Phạm vi nghiên cứu
Nghiên cứu và đề xuất mơ hình nhận diện tiền (tiền giấy) cho hệ thống giao dịch
tự động.
5. Phương pháp nghiên cứu
5.1. Phương pháp lý thuyết
-

Phương pháp phân tích điều tra số liệu: thu thập và nghiên cứu các tài liệu có
liên quan đến đề tài.


-

Phương pháp nghiên cứu tài liệu: các kĩ thuật xử lý ảnh, trí tuệ nhân tạo và đặc
biệt là kỹ thuật học sâu.

5.2. Phương pháp thực nghiệm
-

Nghiên cứu và khai thác các mơ hình nhận diện hình ảnh đã được đề xuất.

-

Xây dựng chương trình ứng dụng vào nhận dạng mệnh giá và các điểm đặc
trưng của tờ tiền.

-

Kiểm tra, thử nghiệm, nhận xét và đánh giá kết quả.

6. Cấu trúc của luận văn
Luận văn được tổ chức thành ba chương chính với các nội dung cụ thể như sau:
Chương 1: Trong chương cơ sở lý thuyết này, chúng tôi trình bày những kiến thức
liên quan đến những nghiên cứu về cách tiếp cận bài toán nhận dạng tiền giấy ứng


4
dụng cho các hệ thống giao dịch tự động. Từ đó, có cái nhìn tổng quan về các hướng
tiếp cận và giải pháp để ứng dụng trong bài toán nhận dạng tiền giấy, từ các phương
pháp xử lý ảnh đơn giản và học máy truyền thống đến các phương pháp học sâu.
Chương 2: Ở chương này sẽ trình bày một số mạng neural tích chập điển hình

được ứng dụng nhiều trong thực tế. ua đó để vận dụng vào thiết kế mơ hình hệ thống
nhận dạng tiền giấy, từ việc mơ tả bài tốn đến việc phân tích hệ thống, xây dựng hồn
chỉnh mơ hình nhận dạng tiền. Đưa ra một giải pháp để giải pháp để giải quyết bài toán
nhận dạng tiền, phương pháp đề xuất là sự kết hợp của mạng neural sâu DNN dùng để
huấn luyện dữ liệu trích xuất đặc trưng và máy vector hỗ trợ SVM để phân loại.
Chương 3: Trong chương này, chúng tôi sẽ cài đặt chương trình thực nghiệm và
đánh giá kết quả đạt được. Cơ sở dữ liệu ảnh sẽ được mơ tả cụ thể, q trình huấn
luyện của giải pháp và kết quả đạt được của luận văn sẽ được trình bày cụ thể tại đây.


5

Chương 1: CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về xử lý ảnh
Xử lý ảnh là một ngành khoa học liên quan đến nhiều lĩnh vực và cần nhiều kiến
thức cơ sở khác nhau. Những lĩnh vự liên quan đó là: Xử lý tín hiệu số, Đại số tuyến
tính, xác suất, thống kê, các khái niệm về tích chập, các biến đổi Fourier, biến đổi
Laplace, các bộ lọc hữu hạn… Trí tuệ nhân tạo, mạng neural nhân tạo cũng được ứng
dụng trong q trình phân tích, nhận dạng và phân loại hình ảnh.
Với sự hỗ trợ của các hệ thống tính toán lớn, các thuật toán tiên tiến và sự phát
triển của công nghệ phần cứng đã thúc đẩy mạnh mẽ ngành xử lý ảnh phát triển vượt
bậc. Những thành công của xử lý ảnh được ứng dụng trong hầu hết các lĩnh vực của
đời sống xã hội, an ninh quốc phịng, hàng khơng vũ trụ có thể kể đến là:
- Hệ thống xử lý ảnh bằng mạng neural nhân tạo học sâu có thể nhận dạng, phân
loại các kiểu đối tượng khác nhau tốt hơn và nhanh hơn con người. Các hệ thống khôi
phục ảnh, chỉnh sửa, điều chỉnh độ phân giải, xử lý màu sắc, mã hóa và truyền tin,
nhận dạng và phân loại hành động trong các hệ thống giám sát an ninh.
- Trong lĩnh vực y tế: Phân tích hình ảnh, chẩn đốn bệnh qua các loại hình ảnh tia
Gamma, X-quang, scan PET/CT (cắt lớp phát xạ), …
- ĩnh vực tự động hóa, robot: Hệ thống xe không người lái, giám sát sản xuất sản

phẩm công nghiệp, robot phục vụ dân sự, điều khiển giao thông thông minh…
1.1.1. Các khái niệm về ảnh số, điểm ảnh, màu sắc
Ảnh số (digital image) có thể được xem là một biểu diễn dữ liệu rời rạc thể hiện
thông tin cả về không gian và cường độ màu. Ảnh số gồm một tập hợp hữu hạn các
phần tử được biểu diễn bởi giá trị số và có thể dưới dạng ma trận hai chiều, mỗi phần
tử của ảnh số gọi là điểm ảnh (pixel)[4]. Tùy thuộc vào độ phân giải cố định hay biến
đổi mà điểm ảnh có thể được biểu diễn dưới dạng vector hoặc dạng bitmap. Ảnh số có
thể được xác định theo mảng hai chiều biểu diễn cường độ sáng của điểm ảnh với giá
trị cố định, cũng có thể được xác định theo hàm hai chiều f(x, y), trong đó x và y là các
tọa độ trong không gian và độ lớn (amplitude) của hàm f được gọi là độ sáng
(intensity) hay độ xám (gray level) của ảnh tại điểm đó.
Điểm ảnh (pixel được viết tắt từ picture element) được gọi là một phần tử ảnh[4]
được xác định theo toạ độ (x, y) tương ứng với số thứ tự cột và hàng trong ảnh. Giá trị
mỗi phần tử ảnh được xác định bởi giá trị cường độ mức xám hoặc màu nhất định.
Kích thước và khoảng cách giữa các điểm ảnh đó được biểu diễn thích hợp sao cho
mắt người cảm nhận sự liên tục về không gian và mức xám (màu) của ảnh số gần với
như hình ảnh của nó trong khơng gian thật. Số điểm ảnh trên mỗi diện tích biểu diễn


6
xác định độ phân giải của ảnh số. Ảnh có độ phân giải càng cao thì càng thể hiện rõ
nét các đặc điểm của hình ảnh và gần với thực tế thực.
Độ phân giải của ảnh là kính thước của lưới pixel hai chiều cùng với kích thước dữ
liệu lưu trữ, mỗi pixel xác định độ phân giải không gian và chất lượng màu của mỗi
ảnh[4]. Về mặt không gian của độ phân giải thì số cột và số hàng của ảnh xác định số
lượng pixel được sử dụng để biểu diễn hình ảnh thu được từ thế giới thực. Như vậy, độ
phân giải không gian (spatial resolution) của ảnh là mật độ pixel được xác định trên
một ảnh số. Một số độ phân giải thông thường được sử dụng trong các thiết bị hiển thị
và lĩnh vực xử lý ảnh như 640 x 480, 800 x 600, 1024 x 768,...
Độ phân giải bit được định nghĩa là số lượng các giá trị khác nhau có thể biểu diễn

về cường độ sáng hoặc màu sắc. Ảnh nhị phân thì chỉ biểu diễn được hai trạng thái giá
trị khác nhau (đen hoặc trắng) mỗi pixel loại này dùng 1 bit, ảnh đa mức xám dùng 8
bit cho mỗi pixel thì biểu diễn được 256 giá trị khác nhau từ màu đen (giá trị 0) đến
trắng (giá trị 255), ảnh màu RGB dùng 24 bit có thể biểu diễn được hơn 16 triệu màu
(224=16.777.216).
Màu sắc được tạo ra bởi các ánh sáng với các bước sóng khác nhau, trong cấu tạo
của mắt người bao gồm ba loại tế bào cảm nhận màu có thể nhìn được bảy triệu màu
nhưng thực chất chúng ta chỉ có thể cảm nhận sự khác biệt vài ngàn màu. Một màu có
thể được biểu diễn bởi ba thuộc tính: Sắc thái màu (Hue), độ bão hịa (Saturation), và
độ chói (Intensity).[24]
1.1.2. Các dạng ảnh
- Ảnh màu (colour image): là ảnh chứa thông tin về đối tượng được biểu diễn dưới
dạng màu sắc của nó mà mắt thường có thể quan sát được. Mỗi điểm ảnh có cấu trúc
gồm nhiều kênh màu khác nhau, thông thường được biểu diễn bởi ba lớp màu cơ bản
RGB (màu đỏ (red), xanh lá cây (green), xanh lam (blue)).
- Ảnh đa mức xám (grey image): thường biểu diễn thông tin liên quan đến cường
độ đa mức xám của đối tượng trong không gian mà khơng được thể hiện bởi màu sắc
thực của nó.
- Ảnh nhị phân (binary image): biểu diễn đối tượng bởi hai mức 0 hoặc 1, phân
biệt sự xuất hiện các đối tượng và nền trong mỗi bức ảnh.
- Ảnh hồng ngoại (infrared image): biễu diễn trực quan quang phổ, liên quan đến
phổ điện từ. Nó cung cấp thơng tin ảnh dựa trên phản xạ ánh sáng hồng ngoại hoặc
bức xạ hồng ngoại mà các đối tượng trong khung nhìn phát ra. Dựa vào khả năng thu
nhận phản xạ hoặc bức xạ hồng ngoại mà các loại camera hồng ngoại có thể thu được
các hình ảnh trong điều kiện khơng có ánh sáng hoặc ánh sáng kém.


7
1.1.3. Các thành phần trong hệ thống xử lý ảnh
Hệ thống xử lý ảnh là đối tượng nghiên cứu liên quan đến các kỹ thuật thị giác

máy (computer vision), nó là quá trình biến đổi từ một ảnh ban đầu được thu nhận từ
thiết bị sang một không gian mới, làm nổi bật các đặc tính dữ liệu, thuận lợi cho q
trình xử lý thơng tin và nâng cao độ chính xác. Nó có thể bao gồm một số thành phần
chính như sau:
Thu nhận
ảnh

Tiền xử


Trích chọn đặc
trưng

Phân loại, nhận
dạng mẫu

Ra quyết định

Biểu diễn tri
thức

Hình 1.1. Sơ đồ tổng quát hệ thống xử lý ảnh[25]
Hệ thống xử lý ảnh hoạt động theo các bước sau:
- Thu nhận ảnh: là việc hình ảnh về thế giới thực được thu nhận và chuyển qua tín
hiệu ảnh rời rạc thơng qua các thiết bị thu hình ảnh.
- Tiền xử lý: là bước xử lý trên ảnh đầu vào nhằm khử nhiễu, làm nổi bật một số
tính chất của ảnh nhằm nâng cao chất lượng các bước xử lý sau.
- Trích chọn đặc trưng: là quá trình biến đổi dữ liệu ảnh đầu vào thành tập các đặc
trưng. Các đặc trưng thường có đặc tính phân biệt cao của các mẫu đầu vào, việc phân
biệt các mẫu dữ liệu ảnh đầu vào dễ dàng hơn nhằm nâng cao chất lượng phân loại

mẫu so với xử lý dữ liệu thô trên giá trị pixel ảnh. Việc trích chọn đặc trưng dùng để
thể hiện thơng tin trong ảnh trong khi dữ liệu có tính phân biệt cao và cũng có thể làm
giảm kích thước.
- Phân loại, nhận dạng mẫu: là quá trình xử lý dữ liệu bằng các kỹ thuật, phương
pháp phân tích đặc trưng để phân loại các mẫu về các nhóm có chung một số tính chất
nào đó. Các phương pháp phân loại, nhận dạng mẫu thường liên quan đến các kỹ thuật
học máy, bao gồm cả học có giám sát và học khơng có giám sát.
- Biểu diễn tri thức: là việc thể hiện ở mức độ cao của biểu diễn dữ liệu, các mẫu
dữ liệu sau khi phân loại, nhận dạng được biểu diễn dưới dạng tri thức giúp hệ thống
có khả năng “hiểu biết” ngữ nghĩa của nó theo từng kiểu ứng dụng khác nhau trong hệ
thống trí tuệ nhân tạo và hệ thống thông minh.


8
- Ra quyết định: là bước cuối cùng của một hệ thống nói chung trong lĩnh vực thị
giác máy tính. Các mẫu được biểu diễn dưới dạng tri thức và được suy luận ngữ nghĩa
để đưa ra các quyết định thực hiện một nhiệm vụ nào đó.
1.2. Cơ bản về học máy
1.2.1. Khái niệm học máy
Học máy (machine learning) là một lĩnh vực nghiên cứu trong trí tuệ nhân tạo, nó
liên quan đến việc nghiên cứu, xây dựng các kĩ thuật để các hệ thống “học” tự động từ
dữ liệu từ đó giải quyết những vấn đề cụ thể nào đó. Trong học máy, máy tính khơng
cần phải được lập trình một cách rõ ràng mà nó có thể tự thay đổi và cải thiện các thuật
tốn của mình. Học máy có liên quan đến thống kê, nó nghiên cứu việc phân tích dữ
liệu và tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán. Máy
học nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lý được, nó
nghiên cứu cách thức để mơ hình hóa bài tốn cho phép máy tính tự động hiểu, xử lý
và học từ dữ liệu để thực hiện nhiệm vụ được giao cũng như cách đánh giá giúp tăng
tính hiệu quả.
Ngày nay, học máy cho phép máy tính giao tiếp với con người và được áp dụng

rộng rãi trong nhiều lĩnh vực như: tự lái xe, chẩn đoán y khoa, phát hiện thẻ tín dụng
giả, phân tích thị trường chứng khốn, phân loại các chuỗi DNA, nhận dạng tiếng nói
và chữ viết, dịch tự động, chơi trị chơi và cử động rơ-bốt.
1.2.2. Phân loại phương pháp học máy
Dựa vào phương thức học (learning style) có thể phân loại thành bốn phương pháp
học máy như sau:
- Học có giám sát (supervised learning) là cách học với tập dữ liệu huấn luyện ban
đầu được gán nhãn hồn tồn từ trước. Nó được sử dụng cho lớp bài tốn phân lớp,
phân loại (Classification).
- Học khơng có giám sát (unsupervised learning) là cách học với tập dữ liệu huấn
luyện ban đầu hoàn toàn chưa được gán nhãn. Nó được sử dụng cho lớp bài tốn gom
cụm, phân cụm (Clustering).
- Học bán giám sát (semi-supervised learning) là cách học với tập dữ liệu huấn
luyện gồm cả dữ liệu đã được gán nhãn và dữ liệu chưa được gán nhãn. Tuỳ vào từng
mục đích cụ thể mà người sử dụng có thể được áp dụng cho bài tốn phân lớp hoặc
phân cụm.
- Học tăng cường (reinforcement learning) là cách học để giải quyết các bài toán
giúp cho một hệ thống tự động xác định hành vi dựa trên hồn cảnh để đạt được lợi ích
cao nhất. Học tăng cường khơng có các cặp dữ liệu vào/kết quả đúng, các hành động


9
gần tối ưu cũng không được đánh giá đúng sai một cách tường minh. Trong học tăng
cường, sự được và mất giữa khám phá và khai thác đã được nghiên cứu chủ yếu áp
dụng vào lý thuyết trò chơi (Game Theory).
1.2.3. Ứng dụng của học máy
Học máy ngày càng có nhiều ứng dụng rộng khắp trong các ngành khoa học và
công nghiệp đang làm việc với hàm lượng lớn dữ liệu, tầm quan trọng của công nghệ
Machine earning được nâng lên ở vị thế mới, đặc biệt những ngành cần phân tích
khối lượng dữ liệu khổng lồ. Những ứng dụng có thể kể đến là:

- Xử lý ngơn ngữ tự nhiên (Natural Language Processing): xử lý văn bản, nhận
dạng giọng nói, tổng hợp giọng nói… các ứng dụng như: Google Translate, Siri,
Alexa, Cortana, Google Assistant…
- Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viết tay, vân tay, thị
giác máy tính (Computer Vision), phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán
tự động…
- Hệ thống gợi ý (Recommendation systems): trên các ứng dụng Netflix, Amazon,
Facebook, mọi thông tin được gợi ý cho người dùng. Nó phụ thuộc vào các hoạt động
của người dùng như tìm kiếm, thích hoặc các hành vi trước đó của người dùng…
1.3. Một số phương pháp học máy truyền thống
1.3.1. Mạng neural
Mạng neural (nơ-ron) hay còn gọi mạng neural nhân tạo (Artifical Neural
Networks) là một mơ hình tốn học được xây dựng dựa theo mơ phỏng của các mạng
neural sinh học. Mạng neural bao gồm một nhóm các neural nhân tạo (cịn gọi là các
nút) được nối với nhau và xử lý thông tin bằng cách truyền theo các kết nối, tính giá trị
mới tại các nút.
1.3.1.1. Kiến trúc mạng neural
Kiến trúc mạng neural gồm tập các nút gọi là các neural, tập các cung để kết nối
các neural lại với nhau. Tập các nút được tổ chức thành các lớp, gọi là các layer. Trong
đó có một lớp đầu vào (input layer) và một lớp đầu ra (output layer), các lớp giữa gọi
là các lớp ẩn (hidden layer). Mỗi cung kết nối 2 cặp neural với nhau, trong đó có một
nút vào và một nút ra. Mối liên hệ giữa các nút được thể hiện thông qua hàm biến đổi
(hàm truyền) cùng với bộ trọng số tương ứng cho hàm truyền. Thông thường, kiến trúc
của một mạng neural được xây dựng trước và các trọng số được xác định trong quá
trình huấn luyện, tuy nhiên có những mạng có khả năng thay đổi để thích ứng
(adaptive) với thực tế và có thể tự thay đổi cấu trúc của mạng dựa trên các thông tin


10
trong quá trình học như: chương trình mạng neural đa lớp (MLNN - Multi Layer

Neural Network) và mạng neural tự tổ chức (Self Organizing Maps).
Trong thực tế sử dụng, nhiều mạng neural là các cơng cụ mơ hình hóa dữ liệu
thống kê phi tuyến. Chúng có thể được dùng để mơ hình hóa các mối quan hệ phức tạp
giữa dữ liệu vào và kết quả hoặc để tìm kiếm các dạng mẫu trong dữ liệu.

Hình 1.2. Minh họa về kiến trúc của mạng Neural:(a) mạng có một lớp ẩn, (b) mạng
có hai lớp ẩn.[25]
Mạng neural nhân tạo (Artificial Neural Network - ANN) được sử dụng như một
cơ chế xấp xỉ hàm tùy ý mà “học” được từ các dữ liệu quan sát. Tuy nhiên, sử dụng
chúng không đơn giản mà địi hỏi có sự hiểu biết tương đối tốt về lý thuyết cơ bản.
Một ANN là một hệ thống thích nghi phức tạp, nó có thể thay đổi cấu trúc bên trong
dựa vào luồng thơng tin qua nó, những thay đổi này thu được thông qua việc điều
chỉnh các trọng số. Trong Hình 1.2. minh họa trên, mỗi cung thể hiện một kết nối giữa
hai neural và chỉ hướng của luồng dữ liệu đi qua trong mạng. Mỗi kết nối có một trọng
số nhất định, đó là giá trị có chức năng điều khiển tín hiệu nữa hai neural với nhau.
Nếu mạng cho kết quả ở lớp đầu ra đủ tốt thì khơng cần thiết phải điều chỉnh lại trọng
số nhưng mạng cho kết quả chưa tốt (sai số trên ngưỡng) thì hệ thống sẽ thích nghi
bằng cách đưa ra các trọng số điều chỉnh để thay đổi kết quả ở lớp đầu ra theo hướng
tốt hơn.
Trong việc xây dựng mơ hình mạng ANN vấn đề chọn mơ hình phù hợp với bài
tốn ứng dụng phụ thuộc vào cách mơ tả các mẫu dữ liệu. Một mơ hình q phức tạp
sẽ dẫn đến những khó khăn trong q trình huấn luyện mơ hình, cịn những mơ hình
đơn giản lại khơng giải quyết được những bài toán phức tạp. Thuật toán học chủ yếu


11
liên quan đến việc xây dựng bộ siêu tham số (hyperparameter) đúng để huấn luyện trên
một tập hợp dữ liệu cố định cụ thể. Thực tế, lựa chọn và điều chỉnh một thuật tốn để
huấn luyện trên dữ liệu khơng nhìn thấy yêu cầu một số lượng đáng kể các thử
nghiệm. Việc kết hợp các mơ hình, hàm chi phí và thuật tốn học được lựa chọn một

cách thích hợp, thì mạng ANN sẽ cho kết quả rất chính xác. Với các kết quả thực hiện
chính xác, ANN được sử dụng vào dạy học trực tuyến và các ứng dụng tập dữ liệu lớn.
Mạng neural có rất nhiều ứng dụng và đạt được những kết quả tốt trong lĩnh vực trí tuệ
nhân tạo: như nhận dạng ký tự quang học, nhận dạng con người (mặt, dáng…) qua
hình ảnh, phát hiện và nhận dạng tín hiệu biển báo giao thơng, phát hiện các hành
động bất thường trong các hệ thống giám sát thơng minh; như giá trị chứng khốn, dự
báo thời tiết,...
1.3.1.2. Q trình học của mạng neural
Mạng ANN có thể là một trong ba dạng: 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: quá trình huấn luyện được thực hiện trên tập dữ liệu đã có gán
nhãn (bởi chun gia). Điển hình cho kỹ thuật này là mạng Neuron lan truyền ngược
(Backpropagation).
- Học khơng giám sát: q trình huấn luyện được thực hiện và xử lý trên bộ mẫu
dữ liệu không cần gán nhãn trước, giống như quá trình tìm kiếm các đặc trưng tiềm
năng (ẩn) trong tập dữ liệu. Mạng Neuron điển hình cho kỹ thuật này là tự tổ chức Sefl
– Organizing Map (SOM). Ví dụ như thuật tốn phân cụm dữ liệu bằng cách chia tập
dữ liệu ban đầu vào các nhóm theo một số tính chất nào đó chưa biết trước.
- Học tăng cường là chuỗi các kỹ thuật liên quan đến việc xây dựng mơ hình dựa
vào quan sát. Mục tiêu là tìm cách để cực tiểu hóa một chi phí dài hạn nào đó (chi phí
tích lũy mong đợi). Các bài toán thường được dùng học tăng cường là các bài tốn
điều khiển, trị chơi, và các nhiệm vụ quyết định tuần tự khác. Học tăng cường ngày
nay được sử dụng khá phổ biến trong các hệ thống tự động hóa và hệ thống tương tác
người máy, hệ thống mơ hình xe lái tự động.
1.3.1.3. Mạng Perceptron
Perceptron là mơ hình mạng neural được phát triển bởi nhà khoa học Frank Rosen
Blatt[5] . Ngày nay nó trở lên phổ biến trong việc sử dụng các model khác nhau của
Neural nhân tạo. Mạng perceptron một lớp là một dạng đơn giản nhất của mạng neural
nhân tạo, là một mô hình tính tốn chỉ có một neural. Một perceptron thường bao gồm
một (hoặc một số) nút đầu vào, một khối xử lý và một đầu ra. Perceptron nhận nhiều

giá trị nhị phân ở đầu vào (input) và chỉ cho ra một kết quả đầu ra (output) duy nhất.


12

Hình 1.3. Sơ đồ tổng qt của một perceptron[37]
Ví dụ ở Hình 1.3. trên cho thấy perceptron có ba đầu vào , , , trong thực tế
nó có thể có nhiều hoặc ít đầu vào hơn. Rosenblatt đã đề xuất một quy tắc đơn giản để
tính tốn đầu ra. Ơng đã đưa các trọng số, , ,… là các số thực để thể hiện tầm
quan trọng của các đầu vào tương ứng với đầu ra. Đầu ra của nơron là 0 hoặc 1, được
xác định bởi tổng trọng số ∑
nhỏ hơn hay lớn hơn giá trị ngưỡng (threshold) nào
đó. Cũng giống như trọng số, ngưỡng là một số thực, nó là một tham số của tế bào
thần kinh. Đầu ra được tính theo cơng thức sau:
{




(1.1)

Mơ hình một perceptron khơng phải là một mơ hình hồn chỉnh về việc ra quyết
định của con người. Mơ hình một perceptron dùng để minh họa cho nguyên tắc hoạt
động của một perceptron có thể cân nhắc các yếu tố khác nhau của bài tốn để đưa ra
quyết định. Trong thực tế thì người ta sử dụng mơ hình có mạng lưới các perceptron
phức tạp để giải quyết các bài tốn và có thể đưa ra những quyết định khá chính xác.

Hình 1.4. Sơ đồ mạng Neuron nhiều perceptron[37]
Trong Hình 1.4. trên, cột đầu tiên của perceptron hay chúng ta còn gọi là lớp
perceptron đầu tiên, nó đưa ra ba quyết định rất đơn giản, dựa vào các yếu tố ở đầu

vào. Trong lớp perceptron thứ hai, mỗi perceptron đó đưa ra quyết định bằng cách cân
nhắc kết quả từ lớp đầu tiên để ra quyết định. Một perceptron trong lớp thứ hai có thể
đưa ra quyết định ở mức phức tạp hơn và trừu tượng hơn các perceptron trong lớp thứ
nhất. Và các quyết định phức tạp hơn có thể được thực hiện bởi perceptron trong lớp


13
thứ ba, lớp thứ tư... Như vậy, mạng neuron gồm các perceptron nhiều lớp có thể tham
gia vào việc ra những quyết định phức tạp.
Trong Hình 1.4. phía trên các perceptron trơng giống như chúng có nhiều đầu ra
nhưng thực tế chúng vẫn là đầu ra đơn. Nhiều mũi tên đầu ra chỉ là một cách để chỉ ra
đầu ra từ một perceptron đang được sử dụng làm đầu vào cho một số perceptron khác.
Cách biểu diễn đó dễ sử dụng hơn là vẽ một dòng đầu ra mà sau đó tách ra.
Để đơn giản hóa mơ tả perceptrons, chúng ta thay đổi đầu tiên là viết ∑
thành w⋅x≡∑
, trong đó w và x là các vectơ có thành phần là trọng số và đầu vào
tương ứng. Sự thay đổi thứ hai là thay thế ngưỡng (threshold) bằng độ lệch (bias) của
perceptron, ký hiệu b≡ − threshold. Sử dụng độ lệch thay vì ngưỡng nên quy tắc
perceptron có thể viết lại như sau:
{

(1.2)

Đối với một perceptron với một độ lệch thực sự lớn, nó rất dễ dàng để perceptron
đưa kết quả ở đầu ra là 1. Nhưng nếu độ lệch là rất nhỏ, thì nó rất khó để perceptron
đưa kết quả ở đầu ra là 1. Việc giới thiệu độ lệch chúng ta sẽ thấy việc mô tả
perceptron đơn giản hơn. Vì vậy, chúng ta sẽ khơng sử dụng ngưỡng, mà luôn sử dụng
độ lệch.
1.3.2. Máy vector hỗ trợ (SVM)
1.3.2.1. Giới thiệu

Thuật toán SVM là một thuật toán phân loại, thuộc phương pháp học có giám sát.
Nó nhận dữ liệu vào và phân loại chúng thành hai lớp khác nhau. Thuật tốn huấn
luyện SVM xây dựng một mơ hình để phân loại hai lớp dữ liệu cho trước. Thuật toán
SVM được tìm ra bởi Corinna và Vapnik[7] năm 1995.
Ban đầu thuật toán SVM được thiết kế cho bài toán phân loại nhị phân, về sau
được mở rộng để áp dụng cho bài toán phân loại đa lớp khác nhau[8, 9] . Mơ hình
SVM là cách biểu diễn các vector hỗ trợ phân loại trong không gian nhiều chiều và lựa
chọn siêu phẳng (hyperplane) phân loại giữa hai lớp sao cho cực đại khoảng cách từ
các mẫu dữ liệu huấn luyện (các điểm trong không gian n chiều) tới mặt phẳng phân
loại. Các mẫu mới được đưa vào để phân loại phải được biểu diễn trong cùng một
không gian như tập huấn luyện và được SVM phân loại vào một trong hai lớp tùy
thuộc vào giá trị cụ thể của mẫu dữ liệu thuộc phía nào của mặt siêu phẳng phân loại.
Thuật toán SVM là một trong những phương pháp phân lớp được sử dụng rộng rãi
nhất trong lĩnh vực khoa học máy tính và phân tích số liệu.
Thuật tốn SVM thực hiện hiệu quả trên các tập dữ liệu lớn và xử lý hiệu quả trên
khơng gian có số chiều lớn, đặc biệt áp dụng cho các bài toán phân loại dữ liệu hình


14
ảnh, văn bản và tiếng nói,... SVM hoạt động khá linh hoạt, nó có khả năng áp dụng
nhiều hàm nhân khác nhau và có thể phân loại tuyến tính hoặc phi tuyến tính. Trong
ứng dụng vào thực tế SVM đạt độ chính xác khá cao so với các kỹ thuật học máy
truyền thống khác. Phương pháp SVM có nhiều phiên bản được phát triển và đã được
lập trình thành cơng cụ, theo hướng tiếp cận phân loại tuyến tính và phi tuyến. Nhóm
tác giả Chang và Lin[9] đã phát triển một công cụ được sử dụng khá phổ biến.
1.3.2.2. Phân loại tuyến tính
Kỹ thuật SVM tuyến tính được mơ tả như sau: Cho trước một tập dữ liệu huấn
luyện S gồm n mẫu (x1, y1),... (xn, yn) với xi là mẫu dữ liệu được biểu diễn dưới dạng
các điểm trong khơng gian p chiều (hoặc xem nó là vector có p phần tử) và yi {-1, 1}
là nhãn tương ứng để chỉ lớp của mẫu dữ liệu đó. Mục tiêu của SVM là tìm một siêu

phẳng có khả năng phân tách tập mẫu thành 2 tập theo nhãn của nó với lề đạt khoảng
cách cực đại, lề là khoảng cách từ siêu phẳng đến các điểm (trong p chiều) gần nhất.
Các siêu phẳng cần tìm ở đây chính là các đường thẳng trong trường hợp không
gian hai chiều, mặt phẳng trong trường hợp không gian ba chiều và tổng quát hơn là
các siêu phẳng không gian con Rd-1 chiều trong khơng gian Rd.
Siêu phẳng trong khơng gian đa chiều có thể được viết dưới dạng:
(1.3)

Trong đó, w là vector pháp tuyến của siêu phẳng, w không nhất thiết là vector đơn
vị. Tham số b/||w|| được xác định là khoảng cách từ siêu phẳng đến gốc tọa độ theo
vector pháp tuyến w.
Lề cực đại (maximal margin) là khoảng cách lớn nhất của siêu phẳng biên song
song với siêu phẳng mà không chứa điểm dữ liệu nào bên trong nó.
Các vector hỗ trợ (support vectors) là các điểm dữ liệu gần nhất với siêu phẳng
phân cách, những điểm này nằm trên siêu phẳng biên.

(a)

(b)

Hình 1.5. Siêu phẳng phân tách mẫu dữ liệu thành 2 lớp: (a) các siêu phẳng ứng cử
viên, (b) lề phân loại và các vector hỗ trợ tìm được.


15
Hình 1.5. trên cho thấy: có vơ số đường thẳng có thể phân loại hai lớp dữ liệu
thành hai miền khác nhau, các đường này được gọi là siêu phẳng. Mục tiêu là cần tìm
ra siêu phẳng tốt nhất để phân lớp dữ liệu. Siêu phẳng mà SVM tìm kiếm là siêu phẳng
có giá trị lề lớn nhất, hay cịn gọi là siêu phẳng với lề cực đại (maximal margin
hyperplane).

Để phân loại tốt nhất cần xây dựng siêu phẳng tối ưu (optimal hyperplane). ề
càng lớn thì sai số tổng quát hóa của thuật tốn phân loại càng bé. Nghĩa là nó nằm
càng xa các điểm dữ liệu của tất cả các lớp càng tốt. Muốn các điểm dữ liệu có thể
được chia tách một cách tuyến tính, cần xác định hai siêu phẳng sao cho khơng có
điểm nào ở giữa chúng và khoảng cách giữa chúng là lớn nhất.
Đối với dữ liệu có khả năng phân loại tuyến tính, các vector hỗ trợ tìm các siêu
phẳng phân cách có giá trị lề càng lớn càng tốt. Giả sử tất cả các dữ liệu huấn luyện
thỏa mãn điều kiện:
w.xi + b ≥ +1 khi yi = +1
w.xi + b ≤ -1 khi yi = -1

(1.4)
(1.5)

Kết hợp hai công thức này ta có:
yi(w.xi + b) ≥ 1 với i = 1, ...n

(1.6)

Đối với các vector hỗ trợ xi là các điểm nằm trên đường biên giới hạn của siêu
phẳng H+: w.xi + b = +1 với khoảng cách đến gốc tọa độ là 1 b / w Tương tự, các
điểm nằm trên đường biên giới hạn của siêu phẳng H-: w.xi + b = -1 có khoảng cách
đến gốc tọa độ là

1 b / w . Bài toán tối ưu này tương đối khó giải vì hàm mục tiêu

phụ thuộc vào ||w||, là một hàm có khai căn. Tuy nhiên có thể thay ||w|| bằng hàm mục
tiêu ⁄ ‖ ‖ mà không làm thay đổi lời giải đối với bài toán. Như vậy, vấn đề cần
thiết là cực tiểu hóa mục tiêu ⁄ ‖ ‖ theo w và b với điều kiện yi(w.xi + b) ≥ 1.
Bằng cách thêm các nhân tử Lagrange


, bài toán trở thành dạng như sau:

Mỗi mẫu huấn luyện xi tương ứng với một hệ số Lagrange
các mẫu có
hoặc H-.

i

i

. Sau khi huấn luyện

0 được gọi là vector hỗ trợ và nằm trên một trong hai siêu phẳng H+,


16

H+
x2
H-

x1

Hình 1.6. Các siêu phẳng biên H+ và H- trong SVM.
Khi đã có vector hỗ trợ được huấn luyện, có thể đơn giản quyết định một mẫu thử
x thuộc về lớp nào do các siêu phẳng H+, H- tạo ra bằng cách đặt lớp của x là hàm dấu:
sign(w.x+b)

(1.8)


Có thể giải bài tốn tối ưu hóa trên bằng các kỹ thuật thơng thường cho quy hoạch
tồn phương. Theo điều kiện Karush-Kuhn-Tucker (KKT)[38], lời giải có thể được
viết dưới dạng tổ hợp tuyến tính của các vectơ huấn luyện


(1.9)

Điều kiện KKT được thể hiện như sau:

0

i

i

0

yi (w.xi b) 1

(1.10)

i

C

yi (w.xi b) 1

(1.11)


C

yi (w.xi b) 1

(1.12)

Với bài toán lề cực đại cứng thì điều kiện 0 ≤ αi ≤ C được thay bởi 0 ≤ αi.
1.3.2.3. Phân loại tuyến tính lề mềm (Soft Margin Classifiers)
Trong trường hợp không tồn tại siêu phẳng nào để có thể phân tách được hai lớp
dữ liệu, thì kỹ thuật phân loại lề mềm được sử dụng để chọn một siêu phẳng phân tách
tập mẫu dữ liệu huấn luyện tốt nhất có thể và cực đại hóa khoảng cách giữa siêu phẳng
với các mẫu được phân loại đúng. Phương pháp lề mềm sử dụng các biến bổ sung ξi


×