NGHIÊN CỨU PHƯƠNG PHÁP HỌC CÓ GIÁM SÁT VỚI MẠNG NEURON MLP - Pdf 28

HỌC VIỆN KỸ THUẬT QUÂN SỰ
KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN KHOA HỌC MÁY TÍNH
BÀI TẬP
MÔN TRÍ TUỆ NHÂN TẠO
Đề tài
NGHIÊN CỨU
PHƯƠNG PHÁP HỌC CÓ GIÁM SÁT
VỚI MẠNG NEURON MLP
Giảng viên
Tiến sĩ Ngô Hữu Phúc
Sinh viên thực hiện
Nguyễn Duy Hiếu – MHV: 11870194
Lớp: KHMT-K23 TPHCM
Tp Hồ Chí Minh, Tháng 7 năm 2012
MỤC LỤC
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
1. Giới thiệu
Hiện nay, phương pháp học có giám sát có thể nói là phương pháp được sử dụng
nhiều nhất trong các ứng dụng của mạng nơron. Một “thầy giáo” cung cấp các ví dụ mẫu
huấn luyện cho một mạng nơron học tập. Học tập trong bối cảnh này có nghĩa là gia tăng
thích ứng kết nối thông tin giữa các nơron với nhau để đưa ra một kết quả chính xác nhất.
Trong thực tế, phương pháp học này có thể được thể hiện như là một vấn đề giảm
thiểu về tham số một không gian nhiều chiều, cụ thể là không gian vector mở rộng ra bởi
trọng lượng. Một kỹ thuật điển hình để thực hiện tối ưu hóa thực hiện theo nguyên tắc giảm
độ dốc và thủ tục học giám sát phổ biến nhất là thuật toán lan truyền ngược.
Trong bài tìm hiểu này nội dung bao gồm 2 phần: phần 1 là tìm hiểu về mạng nơron
MLP và các phương pháp học, phần 2 là tìm hiểu về xây dựng một mạng nơron MLP và
thuật toán lan truyền ngược.
2. Mạng nơron nhân tạo.

rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền nào là tuỳ
thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. Một số hàm truyền thường
sử dụng trong các mô hình mạng nơron được đưa ra trong bảng 1 .
 Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra.
Xét về mặt toán học, cấu trúc của một nơron k, được mô tả bằng cặp biểu thức sau:
[cong thuc]
SVTH: Nguyễn Duy Hiếu Trang 3
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
trong đó: x
1
, x
2
, , x
p
: là các tín hiệu vào; (w
k1
, w
k2, ,
w
kp)
là các trọng số liên
kết của nơron thứ k; u
k
là hàm tổng; b
k
là một ngưỡng; f là hàm truyền và y
k
là tín hiệu đầu
ra của nơron.
Như vậy tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào,

ra. Mạng Hopfield là một kiểu mạng tự kết hợp.
Hình 2: Mạng tự kết hợp
 Kết hợp khác kiểu (heteroassociative): là mạng có tập nơron đầu vào và đầu ra riêng
biệt. Perceptron, các mạng Perceptron nhiều tầng (MLP: MultiLayer Perceptron), mạng
Kohonen, … thuộc loại này.
SVTH: Nguyễn Duy Hiếu Trang 5
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
Hình 3: Mạng kết hợp khác kiểu
Ngoài ra tùy thuộc vào mạng có các kết nối ngược (feedback connections) từ các
nơron đầu ra tới các nơron đầu vào hay không, người ta chia ra làm 2 loại kiến trúc mạng.
 Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc mạng không có
các kết nối ngược trở lại từ các nơron đầu ra về các nơron đầu vào; mạng không lưu lại các
giá trị output trước và các trạng thái kích hoạt của nơron. Các mạng nơron truyền thẳng cho
phép tín hiệu di chuyển theo một đường duy nhất; từ đầu vào tới đầu ra, đầu ra của một tầng
bất kì sẽ không ảnh hưởng tới tầng đó. Các mạng kiểu Perceptron là mạng truyền thẳng.
Hình 4: Mạng truyền thẳng
 Kiến trúc phản hồi (Feedback architecture): là kiểu kiến trúc mạng có các kết nối từ
nơron đầu ra tới nơron đầu vào. Mạng lưu lại các trạng thái trước đó, và trạng thái tiếp theo
không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào các trạng thái trước đó
của mạng. Mạng Hopfield thuộc loại này.
SVTH: Nguyễn Duy Hiếu Trang 6
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
Hình 5: Mạng phản hồi
2.2.2. Perceptron
Perceptron là mạng nơron đơn giản nhất, nó chỉ gồm một nơron, nhận đầu vào là
vector có các thành phần là các số thực và đầu ra là một trong hai giá trị +1 hoặc -1.
Hình 6: Perceptron
Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần
của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm truyền (Perceptron dùng
hàm Hard-limit làm hàm truyền) và kết quả của hàm truyền sẽ là đầu ra của mạng.

Một số kết quả đã được chứng minh:
SVTH: Nguyễn Duy Hiếu Trang 8
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
 Bất kì một hàm Boolean nào cũng có thể biểu diễn được bởi một mạng MLP 2 tầng
trong đó các nơron sử dụng hàm truyền sigmoid.
 Tất cả các hàm liên tục đều có thể xấp xỉ bởi một mạng MLP 2 tầng sử dụng hàm
truyền sigmoid cho các nơron tầng ẩn và hàm truyền tuyến tính cho các nơron tầng ra với sai
số nhỏ tùy ý.
 Mọi hàm bất kỳ đều có thể xấp xỉ bởi một mạng MLP 3 tầng sử dụng hàm truyền
sigmoid cho các nơron tầng ẩn và hàm truyền tuyến tính cho các nơron tầng ra.
3. Phương pháp học có giám sát với mạng nơron MLP
3.1. Các phương pháp học
Học là quá trình thay đổi hành vi của các vật theo một cách nào đó làm cho chúng có
thể thực hiện tốt hơn trong tương lai.
Một mạng nơron được huyấn luyện sao cho với một tập các vector đầu vào X, mạng
có khả năng tạo ra tập các vector đầu ra mong muốn Y của nó. Tập X được sử dụng cho huấn
luyện mạng được gọi là tập huấn luyện (training set). Các phần tử x thuộc X được gọi là các
mẫu huấn luyện (training example). Quá trình huấn luyện bản chất là sự thay đổi các trọng số
liên kết của mạng. Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị sao
cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra y như mong
muốn.
Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học không
giám sát (unsupervised learning) và học tăng cường (Reinforcement learning):
 Học có giám sát: Là quá trình học có sự tham gia giám sát của một “thầy giáo”.
Cũng giống như việc ta dạy một em nhỏ các chữ cái. Ta đưa ra một chữ “a” và bảo với em đó
rằng đây là chữ “a”. Việc này được thực hiện trên tất cả các mẫu chữ cái. Sau đó khi kiểm tra
ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi em đó đây là chữ gì?
Với học có giám sát, tập mẫu huấn luyện được cho dưới dạng D = {(x,t) | (x,t) ∈ [IR
N
x R

, , x
N
)}, với (x
1
, x
2
, , x
N
) là vector đặc trưng của mẫu huấn luyện. Nhiệm vụ của
thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector
đầu vào có đặc trưng giống nhau.
Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy theo
tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau.
 Học tăng cường: còn được gọi là học thưởng-phạt (reward-penalty learning), là sự
tổ hợp của cả hai mô hình trên. Phương pháp này cụ thể như sau: với vector đầu vào, quan
sát vector đầu ra do mạng tính được. Nếu kết quả được xem là “tốt” thì mạng sẽ được thưởng
theo nghĩa tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối
không thích hợp sẽ được giảm xuống. Do đó học tăng cường là học theo nhà phê bình
(critic), ngược với học có giám sát là học theo thầy giáo (teacher).
3.2. Phương pháp học có giám sát trong mạng nơron
SVTH: Nguyễn Duy Hiếu Trang 10
Dữ liệu dùng để huấn luyện
(đã biết nội dung và tính chất dữ liệu
Giải thuật huấn luyện Hàm mục tiêu
Mạng nơron
Ra
Vào
-
+
Hình 8: Sơ đồ huấn luyện mạng nơron có giám sát

 B2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng
 B3: Tính vector đầu ra o của mạng
 B4: So sánh vector đầu ra mong muốn y (là kết quả được cho trong tập huấn luyện)
với vector đầu ra o do mạng tạo ra; nếu có thể thì đánh giá lỗi.
 B5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho ở lần tiếp theo khi
đưa vector x vào mạng, vector đầu ra o sẽ giống với y hơn.
 B6: Nếu cần, lặp lại các bước từ 2 đến 5 cho tới khi mạng đạt tới trạng thái hội tụ.
Việc đánh giá lỗi có thể thực hiện theo nhiều cách, cách dùng nhiều nhất là sử dụng lỗi tức
thời: Err = (o - y), hoặc Err = |o - y|; lỗi trung bình bình phương (MSE: mean-square error):
Err = (o- y)
2
/2;
Có hai loại lỗi trong đánh giá một mạng nơron. Thứ nhất, gọi là lỗi rõ ràng (apparent
error), đánh giá khả năng xấp xỉ các mẫu huấn luyện của một mạng đã được huấn luyện. Thứ
hai, gọi là lỗi kiểm tra (test error), đánh giá khả năng tổng quá hóa của một mạng đã được
huấn luyện, tức khả năng phản ứng với các vector đầu vào mới. Để đánh giá lỗi kiểm tra
chúng ta phải biết đầu ra mong muốn cho các mẫu kiểm tra.
Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có nhiều cài đặt
khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết được thay đổi trong suốt thời
gian học. Trong đó tiêu biểu nhất là thuật toán lan truyền ngược.
3.2.1. Học có giám sát với mạng Perceptron một lớp
Luật học perceptron được Rosenblatt đưa ra vào cuối năm 1950 là mục cho nguyên lý
sửa sai theo giải thuật lan truyền ngược sai lệch. Luật học này dựa trên mô hình Perceptron
chỉ gồm một nơron duy nhất, dùng hàm ngưỡng tuyến tính làm hàm truyền nên được dùng
cho việc nhận dạng và phân đối tượng thành 2 loại.
Mô tả giải thuật:
Cho trước tập các giá trị vào đầu ra
Đầu vào Đầu ra
1.x
1

Bước 3: bắt đầu học. Cho x=x
k
và tính đầu ra
0(x) =
Bước 4: cập nhật trọng số
W= w + (y-0)x
Bước 5: tính sai lệch
SVTH: Nguyễn Duy Hiếu Trang 13
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
c = e + ||y – 0||
2
Bước 6: nếu k < K (tức chưa hết tập dữ liệu cần học) thì tăng k lên để qua mẫu kế tiếp
rồi trở lại bước 3, nếu k = K qua bước 7.
Bước 7: xong một chu kỳ học. Nếu e = 0 kết thúc quá trình học.
Còn nếu e > 0 thì thiết lập e = 0, k = 1 và khởi tạo chu kỳ học mới bằng cách trở lại
bước 3.
Thuyết sau đây chứng tỏ rằng nếu bài toán có nhiều lời giải thì giải thuật học
Perceptron sẽ tìm ra một lời giải trong số đó. Thuyết hội tụ: Nếu bài toán là khả tách tuyến
tính thì chương trình sẽ chỉ lặp lại một số lần nhất định.
3.2.2. Học có giám sát với mạng nơron MLP
Trong phương pháp này ta sử dụng thuật toán lan tuyện ngược để thực hiện:
Thuật toán:
Ta sử dụng một số kí hiệu sau:
• j: nơron thứ j (hay nút thứ j)
• X
j
: vector đầu vào của nút thứ j
• W
j
: vector trọng số của nút thứ j

đầu ra.
SVTH: Nguyễn Duy Hiếu Trang 14
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
- Hệ số học η
- Tập dữ liệu huấn luyện D = {là vector đầu vào, là vector đầu ra mong
muốn}.
Output: Các vector trọng số
Thuật toán:
Bước 1: Khởi tạo trọng số bởi các giá trị ngẫu nhiên nhỏ.
Bước 2: Lặp lại cho tới khi thỏa mãn điều kiện kết thúc.
Với mỗi mẫu, thực hiện các bước sau:
2.1 Tính đầu ra o
j
cho mỗi nút j:
o
j
= f(d – b
j
) với d = Σx
ji
w
ji
2.2 Với mỗi nút k thuộc tầng ra, tính δ
k
theo công thức:
δ
k
= (t
k
– o

x
ji
4. Các vấn đề trong xây dựng mạng MLP
4.1. Chuẩn bị dữ liệu
a. Kích thước mẫu
Không có nguyên tắc nào hướng dẫn kích thước mẫu phải là bao nhiêu đối với một bài
toán cho trước. Hai yếu tố quan trọng ảnh hưởng đến kích thước mẫu:
 Dạng hàm đích: khi hàm đích càng phức tạp thì kích thước mẫu cần tăng.
 Nhiễu: khi dữ liệu bị nhiễu (thông tin sai hoặc thiếu thông tin) kích thước mẫu cần
tăng.
Đối với mạng truyền thẳng (feedforward), cho hàm đích có độ phức tạp nhất định,
kèm một lượng nhiễu nhất định thì độ chính xác của mô hình luôn có một giới hạn nhất định.
Có thể cần tập mẫu vô hạn để đạt đến giới hạn chính xác. Nói cách khác độ chính xác của mô
SVTH: Nguyễn Duy Hiếu Trang 15
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
hình là hàm theo kích thước tập mẫu. Khi kích thước mẫu tăng, độ chính xác sẽ được cải
thiện - lúc đầu nhanh, nhưng chậm dần khi tiến đến giới hạn.
Dạng tổng quát của mối liên hệ giữa sai số và kích thước mẫu như sau:
Hình 10: Mối liên hệ giữa sai số và kích thước mẫu
Trong thực hành thường gặp phải 2 vấn đề sau :
 Đối với hầu hết bài toán thực tế, mẫu bị ràng buộc chặt chẽ với dữ liệu có sẵn. Ta
thường không có được số lượng mẫu mong muốn.
 Kích thước mẫu cũng có thể bị giới hạn bởi bộ nhớ hoặc khả năng lưu trữ của máy
tính. Nếu tất cả các dữ liệu đồng thời được giữ trong bộ nhớ suốt thời gian luyện, kích thước
bộ nhớ máy tính sẽ bị chiếm dụng nghiêm trọng.
Nếu lưu trữ trên đĩa sẽ cho phép dùng mẫu lớn hơn nhưng thao tác đọc đĩa từ thế hệ
này sang thế hệ khác khiến cho tiến trình chậm đi rất nhiều.
Chú ý: việc tăng kích thước mẫu không làm tăng thời gian luyện. Những tập mẫu lớn
hơn sẽ yêu cầu ít thế hệ luyện hơn. Nếu ta tăng gấp đôi kích thước của mẫu, mỗi thế hệ luyện
sẽ tốn thời gian khoảng gấp đôi, nhưng số thế hệ cần luyện sẽ giảm đi một nửa. Điều này có

ta sẽ cần tới 500 mẫu cho chữ z trong khi ta chỉ có 50 mẫu trong nguồn dữ liệu. Để giải quyết
điều này ta tạo tập mẫu như sau: tập mẫu gồm tất cả các chữ hiếm với số lần xuất hiện của nó
và kèm thêm thông tin về chữ có nhiều mẫu nhất. Chẳng hạn ta tạo tập mẫu có 50 mẫu của
chữ z (đó là tất cả) và 700 mẫu của chữ e (chữ mà ta có nhiều mẫu nhất).
Như vậy trong tập mẫu của ta, chữ e có nhiều hơn chữ z 14 lần. Nếu ta muốn các chữ
z cũng có nhiều ảnh hưởng như các chữ e, khi học chữ z ta cho chúng trọng số lớn hơn 14
lần. Để làm được điều này ta có thể can thiệp chút ít vào quá trình lan truyền ngược trên
SVTH: Nguyễn Duy Hiếu Trang 17
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
mạng. Khi mẫu học là chữ z, ta thêm vào 14 lần đạo hàm, nhưng khi mẫu là chữ e ta chỉ
thêm vào 1 lần đạo hàm. Ở cuối thế hệ, khi cập nhật các trọng số, mỗi chữ z sẽ có ảnh hưởng
hơn mỗi chữ e là 14 lần, và tất cả các chữ z gộp lại sẽ có bằng có ảnh hưởng bằng tất cả các
chữ e.
d. Chọn biến
Khi tạo mẫu cần chọn các biến sử dụng trong mô hình. Có 2 vấn đề cần quan tâm:
 Cần tìm hiểu cách biến đổi thông tin sao cho có lợi cho mạng hơn: thông tin trước
khi đưa vào mạng cần được biến đổi ở dạng thích hợp nhất, để mạng đạt được hiệu xuất cao
nhất. Xét ví dụ về bài toán dự đoán một người có mắc bệnh ung thư hay không. Khi đó ta có
trường thông tin về người này là “ngày tháng năm sinh”. Mạng sẽ đạt được hiệu quả cao hơn
khi ta biến đổi trường thông tin này sang thành “tuổi”. Thậm chí ta có thể quy tuổi về một
trong các giá trị: 1 = “trẻ em” (dưới 18), 2 = “thanh niên” (từ 18 đến dưới 30), 3 = “trung
niên” (từ 30 đến dưới 60) và 4 = “già” (từ 60 trở lên).
 Chọn trong số các biến đã được biến đổi biến nào sẽ được đưa vào mô hình: không
phải bất kì thông tin nào về mẫu cũng có lợi cho mạng. Trong ví dụ dự đoán người có bị ung
thư hay không ở trên, những thuộc tính như “nghề nghiệp”, “nơi sinh sống”, “tiểu sử gia
đình”,… là những thông tin có ích. Tuy nhiên những thông tin như “thu nhập”, “số con cái”,
… là những thông tin không cần thiết.
4.2. Xác định các tham số cho mạng
a. Chọn hàm truyền
Không phải bất kỳ hàm truyền nào cũng cho kết quả như mong muốn. Để trả lời cho

a
i
+ b
i
+1
= w
i+
1
[w
f
n
i
+b
f
] + b
i
+1
SVTH: Nguyễn Duy Hiếu Trang 18
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
= w
i+
1
[w
f
(w
i
a
i-
1
+ b

b. Xác định số nơron tầng ẩn
Câu hỏi chọn số lượng noron trong tầng ẩn của một mạng MLP thế nào là khó, nó phụ
thuộc vào bài toán cụ thể và vào kinh nghiệm của nhà thiết kế mạng. Nếu tập dữ liệu huấn
luyện được chia thành các nhóm với các đặc tính tương tự nhau thì số lượng các nhóm này
có thể được sử dụng để chọn số lượng nơron ẩn. Trong trường hợp dữ liệu huấn luyện nằm
rải rác và không chứa các đặc tính chung, số lượng kết nối có thể gần bằng với số lượng các
mẫu huấn luyện để mạng có thể hội tụ. Có nhiều đề nghị cho việc chọn số lượng nơron tầng
ẩn h trong một mạng MLP. Chẳng hạn h phải thỏa mãn h>(p-1)/(n+2), trong đó p là số lượng
mẫu huấn luyện và n là số lượng đầu vào của mạng. Càng nhiều nút ẩn trong mạng, thì càng
nhiều đặc tính của dữ liệu huấn luyện sẽ được mạng nắm bắt, nhưng thời gian học sẽ càng
tăng.
Một kinh nghiệm khác cho việc chọn số lượng nút ẩn là số lượng nút ẩn bằng với số
tối ưu các cụm mờ (fuzzy clusters)[8]. Phát biểu này đã được chứng minh bằng thực nghiệm.
SVTH: Nguyễn Duy Hiếu Trang 19
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
Việc chọn số tầng ẩn cũng là một nhiệm vụ khó. Rất nhiều bài toán đòi hỏi nhiều hơn một
tầng ẩn để có thể giải quyết tốt.
Để tìm ra mô hình mạng nơron tốt nhất, Ishikawa and Moriyama (1995) sử dụng học
cấu trúc có quên (structural leanrning with forgetting), tức là trong thời gian học cắt bỏ đi
các liên kết có trọng số nhỏ. Sau khi huấn luyện, chỉ các noron có đóng góp vào giải quyết
bài toán mới được giữ lại, chúng sẽ tạo nên bộ xương cho mô hình mạng nơron.
c. Khởi tạo trọng
Trọng thường được khởi tạo bằng phương pháp thử sai, nó mang tính chất kinh
nghiệm và phụ thuộc vào từng bài toán. Việc định nghĩ thế nào là một bộ trọng tốt cũng
không hề đơn giản. Một số quy tắc khi khởi tạo trọng:
 Khởi tạo trọng sao cho mạng nơron thu được là cân bằng (với đầu vào ngẫu nhiên
thì sai số lan truyền ngược cho các ma trận trọng số là xấp xỉ bằng nhau):
|ΔW
1
/W

lúc bắt đầu học tập mẫu A cao hơn là ở chu kỳ thứ nhất khi vừa học xong tập A. Điều này là
do giữa hai lần học tập mẫu A mạng đã học tập mẫu B. Tuy nhiên nếu xét trên cả chu kỳ thì
lỗi huấn luyện sẽ giảm xuống. Tức là lỗi lúc bước vào chu kỳ thứ ba sẽ nhỏ hơn lúc bước vào
chu kỳ thứ hai.
Có nhiều phương pháp để huấn luyện dữ liệu mới. Chẳng hạn sau khi một số mẫu mới
được học, một vài mẫu cũ được chọn ngẫu nhiên trong số các mẫu trước đó để đưa vào học.
Vấn đề sẽ khó khăn hơn khi các mẫu cũ không còn nữa. Khi đó các mẫu giả
(pseudoexamples) có thể được sử dụng để lưu giữ các trọng số càng gần các trọng số trước
càng tốt.
4.4. Vấn đề quá khớp
a. Khái niệm quá khớp
Vấn đề quá khớp xảy ra khi mạng được luyện quá khớp (quá sát) với dữ liệu huấn
luyện (kể cả nhiễu), nên nó sẽ trả lời chính xác những gì đã được học, còn những gì không
được học thì nó không quan tâm. Như vậy mạng sẽ không có được khả năng tổng quát hóa.
Về mặt toán học, một giả thuyết (mô hình) h được gọi là quá khớp nếu tồn tại giả
thuyết h' sao cho:
1. Error train (h) < Error train (h')
2. Error test (h) > Error test (h')
b. Giải quyết quá khớp
Vấn đề quá khớp xảy ra vì mạng có năng lực quá lớn. Có 3 cách để hạn chế bớt năng
lực của mạng:
SVTH: Nguyễn Duy Hiếu Trang 21
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
- Hạn chế số nút ẩn
- Ngăn không cho mạng sử dụng các trọng số lớn
- Giới hạn số bước luyện
Khi mạng được luyện, nó chuyển từ các hàm ánh xạ tương đối đơn giản đến các hàm
ánh xạ tương đối phức tạp. Nó sẽ đạt được một cấu hình tổng quát hóa tốt nhất tại một điểm
nào đó. Sau điểm đó mạng sẽ học để mô hình hóa nhiễu, những gì mạng học được sẽ trở
thành quá khớp. Nếu ta phát hiện ra thời điểm mạng đạt đến trạng thái tốt nhất này, ta có thể

) với ba tầng gồm một tầng vào, một tầng ẩn và một tầng đầu ra. Số nơron đầu vào bằng số
chiều của vector đặc trưng cho mẫu, số nơron tầng ẩn có thể thay đổi linh hoạt trong quá
trình luyện mạng, và số nơron tầng ra bằng số lớp cần phân loại.
Các mạng nơron Multi-Layer Perceptron có lẽ là kiến trúc mạng phổ biến nhất trong
ngày hôm nay sử dụng. Các tế bào của mạng thực hiện một tổng hợp có trọng số của đầu vào
ngưỡng của mình và vượt qua mức này kích hoạt thông qua một chức năng kích hoạt để đưa
ra giá trị của bản thân, và các tế bào được sắp xếp theo một cấu trúc liên kết soát theo lớp.
Mạng này do đó có một cách hiểu đơn giản là một hình thức đầu vào-đầu ra mô hình, với các
trọng số và ngưỡng các thông số tự do của mô hình. Các vấn đề quan trọng trong Multilayer
perceptrons (MLP) thiết kế bao gồm các đặc điểm kỹ thuật của số lớp ẩn và số lượng các đơn
vị trong mỗi lớp.
f(x)= – 1
và đạo hàm: f’(x) = f(x) (1-f(x)
Hình 12: Mạng nơron MLP cho mô hình nhận dạng Offline
Như vậy, ta sẽ xây dựng một mạng MLP gồm có 3 lớp: một lớp nhập vào , một lớp ẩn
và một lớp xuất ra. Lớp đầu vào được cấu thành từ 150 tế bào nơron tiếp nhận dữ liệu điểm
ảnh nhị phân từ một điểm ảnh biểu tượng ma trận 10x15 . Kích thước của ma trận này là
SVTH: Nguyễn Duy Hiếu Trang 23
Nghiên cứu phương pháp học có giám sát với mạng nơron MLP
quyết định có xem xét đến chiều cao trung bình và chiều rộng của hình ảnhký tự có thể được
ánh xạ mà không đưa ra bất kỳ pixel nhiễu đáng kể. Các lớp ẩn được cấu tạo từ 250 tế bào
nơron có số lượng được quyết định trên cơ sở kết quả tối ưu trên một cơ sở thử nghiệm và
báo lỗi. Lớp xuất ra gồm có 16 tế bào nơron tương ứng với 16-bit của mã Unicode. Để khởi
tạo các trọng số một hàm ngẫu nhiên được sử dụng để chỉ định một số ngẫu nhiên ban đầu
nằm giữa hai số nguyên định sẵn tên weight_bias. Các sai lệch trọng số được chọn thử và lỗi
quan sát để tương ứng với trọng số trung bình của việc hội tụ nhanh chóng.
5.3. Cơ sở dữ liệu
Cơ sở dữ liệu cho bài toán nhận dạng ký tự quang gồm 90 ký tự Latinh với các loại
font khác nhau, cùng với giá trị Unicode tương ứng của chúng:
Hình 13: mẫu các ký tự trong nhận dạng ký tự

có thể được ánh xạ tới một đối tượng bitmap trong môi trường Microsoft Visual Studio. Thủ
tục phân tích hình ảnh để phát hiện các ký tự được liệt kê trong các thuật toán sau đây:
1: bắt đầu từ pixel đầu tiên x và (0,0)
2: quét chiều rộng của hình ảnh với Y tăng dần
- Nếu một điểm ảnh màu đen được phát hiện, y điểm đầu của dòng đầu tiên.
- Nếu không tiếp tục quét.
- Nếu không có điểm ảnh màu đen được tìm thấy, tăng y và reset lại x để quét dòng
tiếp theo chiều ngang.
3: bắt đầu từ điễm đầu của dòng đầu tiên và x đầu tiên(0,line_top)
4: quét theo chiều rộng của hình trên cùng y.
- Nếu không tìm được điểm ảnh nào thì y-1 là đáy là dòng, tăng số dòng lên 1
SVTH: Nguyễn Duy Hiếu Trang 25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status