Tải bản đầy đủ (.doc) (79 trang)

Nghiên cứu về mô hình thống kê học sâu và ứng dụng trong nhận dạng chữ viết tay hạn chế

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 (1.18 MB, 79 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN
THÔNG

MAI VĂN THỦY

NGHIÊN CỨU VỀ MÔ HÌNH THỐNG KÊ HỌC SÂU
VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ VIẾT
TAY HẠN CHẾ

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2015


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN
THÔNG

MAI VĂN THỦY

NGHIÊN CỨU VỀ MÔ HÌNH THỐNG KÊ HỌC SÂU
VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ VIẾT
TAY HẠN CHẾ
Chuyên ngành : Khoa Học Máy Tính
Mã số
: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC


TS. Vũ Tất Thắng

THÁI NGUYÊN - 2015


3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Qua đây tôi xin chân thành cảm ơn toàn thể các thầy cô trong khoa đào tạo
sau đại học Trường Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái
Nguyên, những người đã trực tiếp giảng dạy, truyền đạt cho tôi kiến thức chuyên
môn và phương pháp làm việc khoa học.
Đặc biệt, tôi xin chân thành cảm ơn TS. Vũ Tất Thắng, đã tận tình hướng
dẫn để tôi có thể hoàn thành luận văn này.
Tôi cũng xin gửi lời cảm ơn tới gia đình bạn bè đã giúp đỡ, động viên và tạo
điều kiện cho tôi trong quá trình làm luận văn.
Tác giả luận văn

Mai Văn Thủy

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

4


MỤC LỤC
LỜI

CAM

ĐOAN

.......................................................................................................i

MỤC

.................................................................................................................iv
MỤC

HÌNH

ẢNH

LỤC
DANH

........................................................................................vi

DANH MỤC BẢNG BIỂU .....................................................................................vii
LỜI MỞ ĐẦU ............................................................................................................ 1
Chương 1: GIỚI THIỆU ĐỀ TÀI............................................................................ 3
1.1. Giới thiệu về bài toán nhận dạng .................................................................. 3
1.1.1. Các giai đoạn phát triển ............................................................................. 3
1.1.2. Tình hình nghiên cứu trong nước .............................................................. 4
1.1.3. Tình hình nghiên cứu ở nước ngoài ........................................................... 4

1.2. Các bước xử lý cho bài toán nhận dạng hoàn chỉnh ................................... 6
1.3. Kết luận chương ............................................................................................. 8
Chương 2: MÔ HÌNH SVM VÀ MÔ HÌNH THỐNG KÊ HỌC SÂU .................
9
2.1. Tổng quan về mô hình SVM (Support Vector Machine) ........................... 9
2.1.1. Cơ sở lý thuyết ........................................................................................... 9
2.1.1.1. Giới thiệu bài toán phân lớp nhị phân................................................. 9
2.1.1.2. Máy SVM tuyến tính......................................................................... 10
2.1.1.3. Máy SVM phi tuyến.......................................................................... 17
2.1.2. Các thuật toán huấn luyện SVM .............................................................. 19
2.1.2.1. Thuật toán chặt khúc ......................................................................... 19
2.1.2.2. Thuật toán phân rã............................................................................. 19
2.1.2.3. Thuật toán cực tiểu tuần tự................................................................ 20
2.2. Cơ sở lý thuyết mô hình thống kê học sâu ................................................. 23
2.2.1. Một số lý thuyết về mạng Neuron ........................................................... 23
2.2.1.1. Giới thiệu về mạng Neuron............................................................... 23
2.2.1.2. Cấu trúc và hoạt động của mạng Neuron .......................................... 23
Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

5

2.2.1.3. Quá trình huấn luyện mạng và các thuật toán học mạng .................. 28

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

6


2.2.2. Hopfield Network .................................................................................... 31
2.2.2.1. Cấu trúc mạng Hopfield .................................................................... 31
2.2.2.2. Mạng Hopfield rời rạc....................................................................... 33
2.2.2.3. Mạng Hopfield liên tục ..................................................................... 34
2.2.3. Boltzmann Machines ............................................................................... 36
2.2.4. Restricted Boltzmann Machines .............................................................. 39
2.2.3. Thuật toán lan truyền ngược .................................................................... 40
2.3. Kết luận chương ........................................................................................... 42
Chương 3: KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ .................................. 43
3.1. Môi trường thực nghiệm .............................................................................. 43
3.2. Dữ liệu thực nghiệm ..................................................................................... 43
3.3. Kết quả thực nghiệm với mô hình SVM..................................................... 44
3.4. Huấn luyện mô hình và kết quả thực nghiệm với mô hình thống kê
học sâu .................................................................................................................. 45
3.4.1. Huấn luyện mô hình................................................................................. 45
3.4.1.1. Cấu trúc mô hình ............................................................................... 45
3.4.1.2. Phương pháp huấn luyện và quy trình nhận dạng............................. 47
3.4.2. Giao diện chính của chương trình............................................................ 48
3.4.3. Kết quả thực nghiệm................................................................................ 49
3.5. Đánh giá kết quả thực nghiệm của hai mô hình. ....................................... 50
3.6. Kết luận chương ........................................................................................... 51
KẾT LUẬN CHUNG .............................................................................................. 52
TÀI LIỆU THAM KHẢO ...................................................................................... 54
PHỤ LỤC: HUẤN LUYỆN MÔ HÌNH ................................................................ 56

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>


7

DANH MỤC HÌNH ẢNH
Hình 1-1: Các bước trong nhận dạng chữ viết tay ...................................................... 6
Hình 2-1: Các siêu phẳng H 1 , H 2 phân cách giữa hai lớp ......................................... 9
Hình 2-2: Siêu phẳng tách tuyến tính ....................................................................... 10
Hình 2-3: Không thể phân hoạch tập mẫu trên bằng một siêu phẳng....................... 13
Hình 2-4: Một mặt phân chia phi tuyến có thể trở thành một siêu phẳng trong không
gian lớn hơn. ............................................................................................ 17
Hình 2-5: Cấu trúc của một neuron .......................................................................... 24
Hình 2-6: Cấu trúc chung của mạng neuron ............................................................. 26
Hình 2-7: Cấu trúc của mạng Hopfield ..................................................................... 31
Hình 2-8: Đồ thị hàm satlins ..................................................................................... 32
Hình 2-9: Mạng Hopfield liên tục sử dụng mạch điện tử. ........................................ 35
Hình 2-10: Một Boltzmann Machine với 3 nút ẩn.................................................... 36
Hình 2-11: Một RBM đơn giản với 3 hidden units và 2 visible units. .................... 39
Hình 3-2: Giao diện chính của chương trình nhận dạng chữ viết tay hạn chế ......... 48
Hình 3-3: Chương trình khi nhận dạng 1 ảnh bất kỳ ................................................ 48
Hình 3-4: Nhận dạng và thống kê nhiều ảnh ............................................................ 49

Số hóa bởi Trung tâm Học liệu - ĐHTN

/>

vii

DANH MỤC BẢNG BIỂU
Bảng 2-1: Các hàm truyền cơ bản............................................................................. 27
Bảng 3-1: Kết quả thực nghiệm mô hình SVM trên 2 tập dữ liệu MNIST và Tuyển
Sinh ........................................................................................................... 44

Bảng 3-2: Kết quả thực nghiệm mô hình SVM trên tập dữ liệu MNIST ................. 44
Bảng 3-3: Kết quả thực nghiệm mô hình SVM trên tập dữ liệu Tuyển Sinh ........... 45
Bảng 3-4: Kết quả thực nghiệm trên 2 tập dữ liệu MNIST và Tuyển Sinh ..............
49
Bảng 3-5: Kết quả thực nghiệm trên tập dữ liệu Tuyển sinh ....................................
50
Bảng 3-6: Bảng so sánh kết quả giữa hai mô hình ................................................... 50


1

LỜI MỞ ĐẦU
Nhận dạng chữ viết tay là bài toán khó trong lớp các bài toán nhận dạng chữ, và
vẫn luôn thu hút được nhiều sự quan tâm nghiên cứu của các nhà khoa học. Đặc
biệt là trong vài thập niên gần đây, do sự thúc đẩy của quá trình tin học hóa trong
mọi lĩnh vực, ứng dụng nhận dạng chữ càng có nhiều ý nghĩa khi được sử dụng cho
các bài toán trong thực tế. Cũng như nhiều bài toán nhận dạng tiếng nói, hình
ảnh… khác, thì độ chính xác của hệ thống vẫn tiếp tục cần phải cải thiện nhằm
vươn tới khả năng nhận dạng giống như con người.
Tuy nhiên, với bài toán nhận dạng chữ viết tay thì vấn đề trở nên phức tạp hơn
nhiều so với bài toán nhận dạng chữ in thông thường ở những vấn đề sau đây [3]:
 Với chữ viết tay thì không thể có các khái niệm font chữ, kích cỡ chữ. Các kí
tự trong một văn bản chữ viết tay thường có kích thước khác nhau. Thậm
chí, cùng một kí tự trong một văn bản do một người viết nhiều khi cũng có
độ rộng, hẹp, cao, thấp khác nhau,...
Với những người viết khác nhau chữ viết có độ nghiêng khác nhau (chữ
nghiêng nhiều/ít, chữ nghiêng trái/phải...).
 Các kí tự của một từ trên văn bản chữ viết tay đối với hầu hết người viết
thường bị dính nhau vì vậy rất khó xác định được phân cách giữa chúng.
 Các văn bản chữ viết tay còn có thể có trường hợp dính dòng (dòng dưới bị

dính hoặc chồng lên dòng trên).
Trong những năm gần đây, mô hình mạng Neuron theo hướng học sâu đã cho
thấy những kết quả tốt trong nhiều bài toán khác nhau, trong đó có nhận dạng chữ.
Xuất phát từ yêu cầu thực tế, đang rất cần có nhưng nghiên cứu về vấn đề này.
Chính vì vậy học viên đã chọn đề tài “Nghiên cứu về mô hình thống kê học sâu
và ứng dụng trong nhận dạng chữ viết tay hạn chế” làm luận văn tốt nghiệp với
mong muốn phần nào áp dụng vào bài toán thực tế.
Bài toán đã đặt ra phải giải quyết được những yêu cầu sau:
Nhận dạng được các ký tự từ ảnh đầu vào


2

Tiến hành nhận dạng kí tự đơn lẻ sử dụng mạng Neuron nhân tạo
theo phương pháp học sâu Restricted Boltzmann machine (RBM).
 ánh giá kết quả và so sánh với mô hình Support Vector Machine
Đ
Với nhưng yêu cầu đã đặt ra ở trên, cấu trúc của luận văn sẽ bao gồm những
nội dung sau đây:
Chương 1:Tổng quan về đề tài
Giới thiệu về bài toán nhận dạng chữ viết tay, tình hình nghiên cứu trong và
ngoài nước, quy trình chung để giải quyết bài toán và các phương pháp điển
hình trong việc huấn luyện nhận dạng, phạm vi của đề tài.
Chương 2: Mô hình SVM và mô hình thống kê học sâu
Trình bày về cơ sở lý thuyết của mô hình SVM (Support Vector Machine)
và huấn luyện trong bài toán nhận dạng chữ viết tay. Cơ sở lý thuyết của mô
hình thống kê học sâu: Hopfield network, Boltzmann Machines, Restricted
Boltzmann Machines và thuật toán lan truyền ngược.
Chương 3: Kết quả thực nghiệm và đánh giá
Trình bày các kết quả thực nghiệm của hai mô hình SVM và mô hình thống

kê học sâu, đưa ra kết quả đánh giá nhận dạng chữ viết tay hạn chế giữa mô
hình SVM và mô hình thống kê học sâu.


3

Chương 1
GIỚI THIỆU ĐỀ TÀI
1.1.

Giới thiệu về bài toán nhận dạng

Nhận dạng chữ in: đã được giải quyết gần như trọn vẹn (sản phẩm FineReader
11 của hãng ABBYY có thể nhận dạng chữ in theo 192 ngôn ngữ khác nhau, phần
mềm nhận dạng chữ Việt in VnDOCR 4.0 của Viện Công nghệ Thông tin – Viện
Hàn lâm Khoa học và Công nghệ Việt Nam có thể nhận dạng được các tài liệu chứa
hình ảnh, bảng và văn bản với độ chính xác trên 98%).
Nhận dạng chữ viết tay vẫn còn là vấn đề thách thức lớn đối với các nhà nghiên
cứu. Bài toàn này chưa thể giải quyết trọn vẹn được vì nó hoàn toàn phụ thuộc vào
người viết và sự biến đổi quá đa dạng trong cách viết và trạng thái sức khỏe, tinh
thần của từng người viết.
1.1.1. Các giai đoạn phát triển
 Giai đoạn 1 (1900 1980)
- Nhận dạng chữ được biết đến từ năm 1900, khi nhà khoa học người Nga Alan
Turing (1912-1954) phát triển một phương tiện trợ giúp cho những người
mù.
-

Các sản phẩm nhận dạng chữ thương mại có từ những năm1950, khi máy
tính lần đầu tiên được giới thiệu tính năng mới về nhập và lưu trữ dữ liệu hai

chiều bằng cây bút viết trên một tấm bảng cảm ứng.Công nghệ mới này cho
phép các nhà nghiên cứu làm việc trên các bài toán nhận dạng chữ viết tay
online.

-

Mô hình nhận dạng chữ viết được đề xuất từ năm 1951 do phát minh của M.
Sheppard được gọi là GISMO, một robot đọc-viết.

-

Năm 1954, máy nhận dạng chữ đầu tiên đã được phát triển bởi J. Rainbow
dùng để đọc chữ in hoa nhưng rất chậm.

-

Năm 1967, Công ty IBM đã thương mại hóa hệ thống nhận dạng chữ.
 Giai đoạn 2 (1980 1990)


4

-

Với sự phát triển của các thiết bị phần cứng máy tính và các thiết bị thu nhận
dữ liệu, các phương pháp luận nhận dạng đã được phát triển trong giai đoạn
trước


5


đã có được môi trường lý tưởng để triển khai các ứng dụng nhận dạng chữ.
-

Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều hệ
thống nhận dạng chữ.

-

Trong giai đoạn này, các hướng nghiên cứu chỉ tập trung vào các kỹ thuật
nhận dạng hình dáng chứ chưa áp dụng cho thông tin ngữ nghĩa. Điều này
dẫn đến sự hạn chế về hiệu suất nhận dạng, không hiệu quả trong nhiều ứng
dụng thực tế.

 Giai đoạn 3 (1990 - nay)
-

Các hệ thống nhận dạng thời gian thực được chú trọng trong giai đoạn này.

-

Các kỹ thuật nhận dạng kết hợp với các phương pháp luận trong lĩnh vực học
máy (Machine Learning) được áp dụng rất hiệu quả.

-

Một số công cụ học máy hiệu quả như mạng Neuron, mô hình Markov ẩn,
SVM (Support Vector Machines) và xử lý ngôn ngữ tự nhiên...

1.1.2. Tình hình nghiên cứu trong nước

Tại Việt Nam, trong những năm gần đây có rất nhiều những nhóm nghiên cứu
về nhận dạng chữ viết tay sử dụng các mô hình phổ biến hiện nay như: SVM
(Support Vector Machine), HMM (Hidden Markov Model), mạng Neuron… Nhưng
nhìn chung thì chất lượng nhận dạng của các mô hình này đều chưa cao vì chữ viết
tay còn nhiều các yếu tố tác động đến như: độ cao, độ nghiêng, các nét liền… của
chữ viết đều ảnh hưởng rất nhiều đến quá trình nhận dạng. Hiện tại, chúng ta mới
chỉ có được những sản phẩm thử nghiệm như hệ thống nhận dạng chữ số và chữ cái
viết tay rời rạc trên các phiếu xuất nhập cảnh của nhóm nghiên cứu ở Đại học quốc
gia thành phố Hồ Chí Minh,…
1.1.3. Tình hình nghiên cứu ở nước ngoài
Nhận dạng chữ viết đã được nghiên cứu hơn 40 năm qua. Ngày nay nhận dạng
chữ viết đã nhận được sự quan tâm đáng kể do sự phát triển của các máy tính cầm
tay và điện thoại cầm tay dựa trên các bàn phím, chuột và nhiều dạng thiết bị định
vị khác. Nhận dạng chữ viết tay được thực hiện qua hai hình thức là nhận dạng
online và nhận dạng offline. Nhận dạng online có nghĩa là máy tính sẽ nhận dạng


6

các chữ được viết lên màn hình ngay sau khi nó được viết. Đối với những hệ nhận
dạng này, máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết, hướng và
tốc độ của nét viết trong khi nó đang được viết ra. Đây chính là cơ sở để máy tính
nhận dạng được chữ cái, do đó việc nhận dạng không gặp quá nhiều khó khăn. Hệ
thống nhận dạng chữ viết tay hạn chế trực tuyến trên một trạm làm việc của IBM
[11] do nhóm nghiên cứu gồm H.S.M.Beigi, C.C.Tapert, M.Ukeison và C.G.Wolf ở
phòng thực hành Watson IBM cài đặt là một trong những sản phẩm nhận dạng chữ
viết tay online tiêu biểu nhất. Tuy nhiên, do chưa có nhiều ứng dụng thực tế nên
nhận dạng chữ viết tay trực tuyến chưa được biết đến nhiều và khi nhắc đến nhận
dạng chữ viết tay chúng ta thường hiểu hình thức nhận dạng ở đây là offline.
Các kết quả nhận dạng chữ viết tay offline hiện này còn rất hạn chế. Các kết quả

nghiên cứu chưa tìm được giải pháp đủ tốt để giải quyết hết những khó khăn tiêu
biểu sau của bài toán nhận dạng chữ viết tay:
Kích thước của chữ viết tay không đồng đều.
Kiểu dáng chữ của mỗi người viết đều rất khác nhau.
Giữa các kí tự trong cùng một từ thường có nét nối, thậm chí dính liền vào
nhau.
Các kí tự có thể thiếu hoặc thừa nét.
Xuất hiện tình trạng dính dòng.
Do những khó khăn trên nên khi giải quyết bài toán nhận dạng chữ viết tay đều
buộc phải giới hạn trong một phạm vi nào đó với những tiêu chuẩn cụ thể cho mẫu
chữ nhận dạng. Chính vì vậy, các kết quả thu được cũng chỉ được áp dụng một cách
hạn chế ở lĩnh vực hẹp trong một bài toán cụ thể nào đó.
Một số hệ nhận dạng chữ viết tay tiêu biểu có thể kể đến như: hệ thống nhận
dạng chữ viết tay trong lĩnh vực kiểm tra tài khoản ở ngân hàng của nhóm nghiên
cứu Simon và O.Baret (Laoria/CNRS & ENPC, Paris) [11], hệ thống phân loại tự
động địa chỉ thư ở bưu điện của M.Pfister, S.Behnke và R.Rojas ở Đại học tổng hợp
Berlin, Đức [5]….


7

1.2.

Các bước xử lý cho bài toán nhận dạng hoàn chỉnh

Nhận dạng chữ viết tay thường bao gồm năm giai đoạn: tiền xử lý
(preprocessing), tách chữ (segmentation), trích chọn đặc trưng (representation),
huấn luyện và nhận dạng (training and recognition), hậu xử lý (postprocessing).

Hình 1-1: Các bước trong nhận dạng chữ viết tay





Tiền xử lý (preprocessing): giảm nhiễu cho các lỗi trong quá trình quét ảnh,
hoạt động viết của con người, chuẩn hóa dữ liệu và nén dữ liệu.
Tách chữ (segmentation): chia nhỏ văn bản thành những thành phần nhỏ
hơn, tách các từ trong câu hay các kí tự trong từ.
Trích trọn đặc trưng (representation): giai đoạn đóng vai trò quan trọng
nhất trong nhận dạng chữ viết tay. Để tránh những phức tạp của chữ viết tay
cũng như tăng cường độ chính xác, ta cần phải biểu diễn thông tin chữ viết
dưới những dạng đặc biệt hơn và cô đọng hơn, rút trích các đặc điểm riêng
nhằm phân biệt các ký tự khác nhau. Trong luận văn này, tôi nghiên cứu và
tìm hiểu về mô hình học thống kê học sâu, trong mô hình này thì khi huấn
luyện và sử dụng dữ liệu chúng ta không cần sử dụng đặc trưng của ảnh đầu
vào nên có thể bỏ qua bước trích rút đặc trưng.

Huấn luyện và nhận dạng (training and recognition): phương pháp điển
hình so trùng mẫu, dùng thống kê, mạng neuron, mô hình markov ẩn, trí tuệ


8

nhân tạo hay dùng phương pháp kết hợp các phương pháp trên.Trong luận
văn này, tôi sử dụng mô hình thống kê học sâu (deep learning) để huấn
luyện và nhận dạng, nội dung này sẽ được trình bày trong các chương sau
của luận văn.
 Hậu xử lý (postprocessing): sử dụng các thông tin về ngữ cảnh để giúp tăng
cường độ chính xác, dùng từ điển dữ liệu.
Ban đầu các văn bản chữ viết tay được scan và đưa vào hệ thống nhận

dạng, với quá trình tiền xử lý thì ảnh sẽ được một ảnh mà do hệ thống yêu
cầu để huấn luyện và nhận dạng (có thể là ảnh nhị phân hay ảnh đa mức
xám). Trong mô hình thống kê học sâu, ảnh được sử dụng để huấn luyện và
nhận dạng là ảnh đa mức xám (các pixel được biểu diễn bởi các giá trị từ 0
đến 255). Tại quá trình tiền xử lý thì ảnh cũng đã được xử lý loại bỏ nhiễu,
các giá trị không cần thiết trong ảnh đầu vào.
Tại bước tách chữ thì với ảnh đã được tiền xử lý, khi đi qua bước này sẽ
được thực hiện tách dòng, tách chữ, tách kí tự để thực hiện nhận dạng, tùy
theo quy định của một hệ thống khi huấn luyện. Khi đã được tách rời các kí
tự thì việc tiếp theo ảnh để nhận dạng sẽ được lưu dưới dạng ma trận điểm,
với tùy từng vị trí của điểm ảnh mà giá trị có thể khác nhau (từ 0 đến 255),
trong mô hình Deep Learning thì ma trận điểm ảnh sẽ được quy về dạng
chuẩn là 28 x 28.
Sau khi qua các bước xử lý ở trên thì ảnh chính thức được đưa vào huấn
luyện và nhận dạng, trong quá trình huấn luyện và nhận dạng sẽ sử dụng các
mô hình và thuật toán cần thiết để thực hiện tính toán và xử lý, những thuật
toán và quá trình xử lý sẽ được trình bày chi tiết trong các phần sau của luận
văn.
Cuối cùng khi các ảnh đầu vào đã được đưa vào nhận dạng và cho ra kết
quả thì bước quan trọng không kém là quá trình hậu xử lý với các kết quả ở
trên, và trả lại kết quả cho người dử dụng. [3]


9

1.3.

Kết luận chương

Luận văn “Nghiên cứu về mô hình thống kê học sâu và ứng dụng trong nhận

dạng chữ viết tay hạn chế” được thực hiện với mục đích giải quyết một lớp con các
bài toán nhận dạng chữ viết tay mà cụ thể là nhận dạng các kí tự đơn lẻ là các chữ
số từ 0 đến 9, đây là bước cần thiết trong bài toán nhận dạng chữ viết tiếng Việt.
Từ đó sẽ tạo cơ sở tiếp theo để có thể xây dựng tiếp mô hình nhận dạng các kí tự
tiếng Việt đơn lẻ, và sẽ tiến tới xây dựng một hệ thống nhận dạng văn bản viết tay
tiếng Việt hoàn chỉnh, và cũng có thể xây dựng nên các phần mềm trên các thiết bị
di động áp dụng vào việc hỗ trợ việc học tập và sinh hoạt của người khiếm thị.
Luận văn sẽ tập trung vào nghiên cứu về cơ sở lý thuyết mô hình Deep
Learning, các thuật toán được sử dụng, thực hiện huấn luyện bằng mô hình Deep
Learning, từ đó cài đặt chương trình mô phỏng trên các ngôn ngữ như Matlab,
PHP, C#.


10

Chương 2
MÔ HÌNH SVM VÀ MÔ HÌNH THỐNG KÊ HỌC SÂU
2.1.

Tổng quan về mô hình SVM (Support Vector Machine)

2.1.1. Cơ sở lý thuyết
2.1.1.1.

Giới thiệu bài toán phân lớp nhị phân

Bài toán phân lớp nhị phân [7] này được phát biểu như sau: Cho tập dữ liệu
gồm N mẫu huấn luyện { ( x1 , y1 ),..., ( xN , y N ) } trong đó xi
R


D

và yi

{±1}. Tìm

một siêu phẳng phân cách w.x + b = 0 để tách tập dữ liệu trên thành 2 lớp, trong đó
w là véc tơ pháp tuyến của siêu phẳng, có tác dụng điều chỉnh hướng của siêu
phẳng, giá trị b có tác dụng di chuyển siêu phẳng song song với chính nó. Có thể có
nhiều siêu phẳng để phân cách được hai tập dữ liệu đó (hình dưới) và cũng đã có
nhiều thuật toán để giải bài toán này, chẳng hạn như thuật toán Perceptron của
Rosenblatt, thuật toán biệt thức tuyến tính của Fisher. Tuy nhiên vấn đề là cần tìm
ra siêu phẳng nào làm cho khoảng cách Euclid giữa hai lớp trên là lớn nhất, khi đó
bài toán phân lớp mới được giải quyết triệt để và phương pháp SVM được sử dụng
để giúp tìm ra siêu phẳng này. [2]

Hình 2-1: Các siêu phẳng H 1 , H 2 phân cách giữa hai lớp


2.1.1.2.

Máy SVM tuyến tính

SVM trong trường hợp tập mẫu phân hoạch tuyến tính được
Ý tưởng chính của SVM là tìm một siêu phẳng phân cách H: w.x + b = 0 [8] và hai
siêu phẳng song song với nó:
H1 : y

wx b


1

H2:y

w.x b

1

với điều kiện không có phần tử nào nằm giữa H1 và H2 sao cho khoảng cách
(margin) giữa H 1 và H 2 đạt cực đại (Hình 2.2).

Hình 2-2: Siêu phẳng tách tuyến tính
Mục đích của ta là cực đại khoảng cách giữa H1 và H2. Vì vậy, chúng ta phải xác
định cho được những mẫu dương nằm trên H1 và mẫu âm nằm trên H2. Các mẫu
này được gọi là vector hỗ trợ bởi vì chỉ có chúng tham gia vào việc xác định siêu
phẳng phân cách, còn các mẫu khác thì có thể loại bỏ.


Ta có hai khoảng cách của một điểm nằm trên
khoảng cách giữa H 1 và H 2 là

tới H là

| wx b |
1

|| w ||
|| w ||

2

. Do đó, trong trình tự để cực đại hóa khoảng
|| w ||

cách này, ta sẽ cực tiểu || w || wT .w với điều kiện không có điểm dữ liệu nào nằm
giữa H 1 và H 2 :
w.x + b> +1, với các mẫu dương yi
w.x + b< -1, với các mẫu âm yi

1
1

Hai điều kiện này có thể kết nối lại thành
yi (wxi

b) 1

Từ đó bài toán có thể được phát biểu lại như sau:
1 T
min
w w sao cho yi (wxi b) 1
w,b
2

(*)

Thay vì giải bài toán (*), ta có thể giải bài toán đối ngẫu của Wolfe để thay thế: cực
đại L (w, b, α) theo α, sao cho đạo hàm của L (w, b, α) triệt tiêu theo các biến w và
b:
L
w

L
b

(1)

0

(2)

0

Và α ≥ 0

Ở đây, L (w, b, α) là đa thức Lagrange với hệ số Lagrange
N
1 T
w w
b)
L(w, b, )
i yi (wxi
2
i 1

:
N
i 1

i



Từ (1) và (2) ta có:
N

w

i 1

y x và
i i i

N
i

i 1

yi

0

Thế vào L (w, b, α), ta có:
1
2

N

LD

i 1

i


i,j

Ở đây chúng ta có các hệ số Largrang
huấn luyện xong, những mẫu có
khác có

i

j

yi y j xi x j

tương ứng với mỗi mẫu học. Khi đã

được gọi là vectơ hỗ trợ, tất cả các mẫu học

thì nằm về hai phía của siêu phẳng

Khi đã giải được các



. [4][6]

ta có thể tính:
w

N
i 1


i

yi xi và b

Như vậy, một đối tượng mới x sẽ được phân lớp theo hàm mực tiêu:
f ( x)

sgn(wx b)

sgn((

N
i 1

y x )x b) sgn(
i i i

N
i 1

Chú ý rằng trong hàm mực tiêu này, các vector huấn luyện

i

yi (xi x) b)

chỉ xuất hiện trên

công thức của tích vô hướng.

SVM tuyến tính trong trường hợp tập mẫu không phân hoạch tuyến tính được
Trường hợp tập mẫu có thể phân chia tuyến tính được chỉ là một trường hợp
đặc biệt. Trong trường hợp tổng quát, tập mẫu là một tập không phân chia tuyến
tính được bằng siêu phẳng.


Hình 2-3: Không thể phân hoạch tập mẫu trên bằng một siêu phẳng
Tuy nhiên ta vẫn muốn dùng siêu phẳng để phân chia tập mẫu này. Để có thể áp
dụng được phương pháp trong phần trên, ta phải gán cho mỗi mẫu xi một sai số
không âm để “xem như có thể phân chia tuyến tính”.
wxi

b

1

i

với yi

1

wxi

b

1

i


với yi

1

i

0i

1, 2,..., N

Bổ sung vào hàm mục tiêu một giới hạn cân bằng:
1 T
min w w C (
w,b , 2
i

i

)

m

Trong đó m thường được chọn là 1, như vậy bài toán tối ưu trở thành:
N
1 T
w w C
min
i
w,b ,
2

i 1
Sao cho:
T

yi (w xi

b)

i

1 0, 1 i

N

i


01 i

i

N

Với các hệ số Lagrange α, công thức Lagrange sẽ là:
T
T
( , , ; ) 1
)
[ (
L wb i

y
w
x
b
N
N
i
i
i
i
i 1
w w C
2
i 1
1

T

(

)

N

2
Cả

w w

C


i

i

(

T

)
(
y
x
w
i i i

N
i 1

i

N
i 1

1]
N
i 1

i


)
y
b
i i

N
i 1

i i

i

i 1

và các hệ số Lagrange đều không xuất hiện trong bài toán đối ngẫu của

Wolfe:
1

N

max
LD

i

j

i


2

i 1

yi y j xi x

j

(**)

i,j

Sao cho:
0

C và

i

N
i 1

i

yi

0

Sự khác nhau duy nhất so với trường hợp phân lớp cứng là


bị chặn trên bới C

thay vì ∞.
Giải pháp này một lân nữa được cho bởi:
w

N
i 1

i

yi xi

Để huấn luyện SVM, chúng ta nghiên cứu thông qua miền xác định của bài toán đối
ngẫu và cực đại hàm mục tiêu. Giải pháp tối ưu này có thế được kiểm tra bằng cách
sử dụng điều kiện KKT.
Định lý KKT: Điều kiện tối ưu KKT của bài toán đối ngẫu (**) là:
Đạo hàm L (w, b, ξ; α) theo các biến w, b, ξ phải triệt tiêu (điều này buộc
phải luôn luôn thỏa mãn đối với bài toán đối ngẫu).
Với 1 i N , i ( yi (wT xi b) i 1)
(3)
0
i i

0

(4)


Phụ thuộc vào giá trị của

1. Nếu i 0 thì i C
Từ phương trình (4),

i

, ta có ba trường hợp để xem xét:
i

i

C

0

0 . Vì vậy ta có: yi (wT xi

b) 1 0


2. Nếu 0

C , từ phương trình (3), ta có:

i

T

yi (w xi

Chú ý rằng


C

i

b)

0 , vì vậy

i

(5)

1 0

i

0 (phương trình 4). Thế vào phương

i

trình (5) ta có:
T

yi (w xi

3. Nếu

i


b) 1 0

C , từ phương trình (3) ta có:
T

Chú ý rằng

C

i

yi (w xi
0 , ta có

i

i

T

yi (w xi

Đại lượng yi (wT xi
Ri

b) i 1 0
0 . Vì vậy:
b) 1 0

b) 1 có thể được tính với lỗi dự đoán là:

T

yi (w xi

Trong đó :

b) - yi
T

Ei

w xi

2

b - yi

T

y i (w xi

b - yi )

yi Ei

ui - yi

Tóm lại, điều kiện KKT muốn nói rằng:
i


0

0
i

i

C

c

Ri

0,

Ri

0,

Ri

0

Trong hai trường hợp sau, điều kiện KKT không thỏa mãn:



0

i

i

C và Ri 0 ,
và Ri 0

Kiểm tra điều kiện tối ưu
Vì bài toán đối ngẫu không giải trực tiếp đối với ngưỡng b,bài toán này sẽ có
lợi khi kiểm tra điều kiện KKT mà không sử dụng ngưỡng b.
Đại lượng yi (wT xi b) 1 (buộc phải 0 với mọi điều kiện i nếu điều kiện
KKT thỏa mãn) cũng có thể được viết:
yi (wT xi b) 1 yi (wT xi b) - yi 2
y i(wT x i - yi b)


×