Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
chúng ta nhìn thấy một vật gì đó, thì câu hỏi thường trực của mỗi người là; vật đó có
máy loại, và nó thuộc loại nào trong các loại có thể có.
Để giải quyết các bài toán nhận dạng, người ta đã đưa vào các cách tiếp cận
khác nhau, mỗi phương pháp tiếp cận trong những bài toán cụ thể đều có những ưu,
nhược điểm riêng. Phương pháp ứng dụng mạng nơron trong nhận dạng là một cách
tiếp cận mới và hiện đại. Nó có thể là công cụ rất mạnh để giải quyết các bài toán
trong lĩnh vực này.
Nội dung của đề tài đi vào tìm hiểu và xây dựng các phần tử nơron cơ bản,
xem xét và nghiên cứu cấu trúc một mạng nơron, giới thiệu về mạng nơron nhiều lớp
với thuật toán lan truyền ngược. Trọng tâm của đề tài đi vào tìm hiểu về mạng nơron
Kohonen (hay mạng nơron tự tổ chức – SOM).
Đề tài gồm ba chương
Chương 1, trình bày cấu trúc một phần tử nơron cơ bản, các cấu trúc mạng
nơron nhân tạo thường gặp, thuật toán học, phân tích ưu nhược điểm của chúng, và
giới thiệu về thuật toán lan truyền ngược.
Chương 2, tìm hiểu mạng nơron Kohonen.
Chương 3, nhận dạng ký tự quang sử dụng mạng nơron Kohonen.
Cuối cùng em xin cảm ơn các thày cô giáo, đặc biệt là PGS.TSKH Bùi Công
Cường đã tận tình chỉ dẫn cho em trong suốt thời gian làm đề tài. Xin cảm ơn các bạn
cùng lớp đã tạo điều kiện cho tôi được học tập và nghiên cứu trong môi trường tốt.
Hà nội, tháng 12 năm 2009.
Chương 1. Giới thiệu về mạng nơron nhân tạo
Học máy là một ngành khoa học nghiên cứu các thuật toán cho phép máy
tính có thể học được các khái niệm.
Phân loại: Có hai loại phương pháp học máy chính
- 5 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
• Phương pháp quy nạp : Máy học/phân biệt các khái niệm dựa trên dữ liệu đã
thu thập được trước đó. Phương pháp này cho phép tận dụng được nguồn dữ
liệu rất nhiều và sẵn có.
• Phương pháp suy diễn : Máy học/phân biệt các khái niệm dựa vào các luật.
Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để hỗ
trợ máy tính.
Hiện nay, các thuật toán đều cố gắng tận dụng được ưu điểm của hai phương pháp
này.
Các ngành khoa học liên quan:
• Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề cho rất
nhiều phương pháp học máy. Đặc biệt, lý thuyết thống kê cho phép ước lượng
sai số của các phương pháp học máy.
• Các phương pháp tính: các thuật toán học máy thường sử dụng các tính toán
số thực/số nguyên trên dữ liệu rất lớn. Trong đó, các bài toán như: tối ưu
có/không ràng buộc, giải phương trình tuyến tính v.v… được sử dụng rất phổ
biến.
• Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánh giá thời
gian chạy, bộ nhớ của các thuật toán học máy.
Ứng dụng: Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản xuất,
đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ. Một số ứng dụng
thường thấy như:
• Xử lý ngôn ngữ tự nhiên: xử lý văn bản, giao tiếp người – máy, …
• Nhận dạng: nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy (Computer
Vision) …
• Tìm kiếm
- 6 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
• Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự
động.
• Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein
• Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …
• Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng
• Phân tích thị trường chứng khoán (stock market analysis)
• Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo
• Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ
thần kinh/bộ não của người máy.
• Các nhóm giải thuật học máy: Học có giám sát, học không giám sát, học
nửa giám sát, học tăng cường,…
1.1 Cấu trúc và mô hình mạng nơron
1.1.1 Mô hình một nơron sinh học
Phần tử xử lý cơ bản của một mạng nơron sinh học là một nơron, phần tử này
có thể chia làm bốn thành phần cơ bản như sau: dendrites, soma, axon, và synapses.
- Dendrites: là phần nhận tín hiệu đầu vào.
- Soma: là hạt nhân.
- Axon: là phần dẫn ra tín hiệu xử lý.
- Synapses: là đường tín hiệu điện hóa giao tiếp giữa các nơron.
Kiến trúc cơ sở này của bộ não con người có một vài đặc tính chung. Một
cách tổng quát, thì một nơron sinh học nhận đầu vào từ các nguồn khác nhau, kết hợp
chúng tại với nhau, thực thi tổ hợp phi tuyến chúng để cho ra kết quả cuối cùng ở đầu
ra. Hình 1.1 chỉ ra mối quan hệ giữa bốn phần tử của một nơron sinh học.
- 7 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
Hình 1.1 Một nơron sinh học
Một nơron sinh học chỉ có một số chức năng cơ bản như vậy, ta nhận thấy khả
năng xử lý thông tin của nó là rất yếu. Để có được khả năng xử lý thông tin hoàn hảo
như bộ não con người, thì các nơron phải kết hợp và trao đổi thông tin với nhau. Ta
hình dung sơ đồ liên kết, và trao đổi thông tin giữa hai nơron như hình 1.2.
Hình 1.2. Sự liên kết các nơron
1.1.2 Cấu trúc và mô hình của một nơron nhân tạo
Mô hình toán học của mạng nơron sinh học được đề xuất bởi McCulloch và Pitts,
thường được gọi là nơron M-P, ngoài ra nó còn được gọi là phần tử xử lý và được ký
hiệu là PE (Processing Element).
Mô hình nơron có m đầu vào x
1
, x
2
, , x
m
, và một đầu ra y
i
như sau:
- 8 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
Hình 1.3 Mô hình một nơron nhân tạo
Giải thích các thành phần cơ bản:
- Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường
được đưa vào dưới dạng một vector m chiều.
- Tập các liên kết (các trọng số): Mỗi liên kết được thể hiện bởi một trọng số
(thường được gọi là trọng số liên kết). Trọng số liên kết giữa tín hiệu vào
thứ j cho nơron i thường được ký hiệu là w
ij
. Thông thường các trọng số
này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật
liên tục trong quá trình học mạng.
- Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vào với
trọng số liên kết của nó.
- Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàm
truyền.
- Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi nơron. Nó
nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. Thông thường,
phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1,1].
Các hàm truyền 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 tùy thuộc vào từng bài toán và kinh nghiệm của
người thiết kế mạng.
- 9 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
- Đầ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 một
đầu ra.
Về mặt toán học, cấu trúc của một nơron i được mô tả bằng cặp biểu thức sau:
)(
iii
netfy
θ
−=
và
j
n
j
iji
xwnet
∑
=
=
1
trong đó: x
1
, x
2
, …x
m
là các tín hiệu đầu vào, còn w
i1
, w
i2
,…,w
im
là các trọng số
kết nối của nơron thứ i, net
i
là hàm tổng, f là hàm truyền,
i
θ
là một ngưỡng, y
i
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, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu
được rồi gửi kết quả đến hàm truyền), và cho một tín hiệu đầu ra (là kết quả của
hàm truyền).
• Hàm truyền có thể có các dạng sau:
- Hàm bước
<
≥
=
00
01
xkhi
xkhi
y
(1.6)
- Hàm giới hạn chặt (hay còn gọi là hàm bước)
<−
≥
==
01
01
)sgn(
xkhi
xkhi
xy
(1.7)
- Hàm bậc thang
<
≤≤
>
==
00
10
11
)sgn(
xkhi
xkhix
xkhi
xy
(1.8)
- Hàm ngưỡng đơn cực
x
λ
−
+
=
e
y
1
1
với λ>0 (1.9)
- Hàm ngưỡng hai cực
1
1
2
−
+
=
−
x
λ
e
y
với λ>0 (1.10)
• Đồ thị các dạng hàm truyền được biểu diễn như sau:
- 10 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
Hình 1.4 Đồ thị các dạng hàm truyền
1.2 Cấu tạo và phương thức làm việc của mạng nơron
Dựa trên những phương pháp xây dựng nơron đã trình bày ở mục trên, ta có thể
hình dung mạng nơron như là một hệ truyền đạt và xử lý tín hiệu. Đặc tính truyền đạt
của nơron phần lớn là đặc tính truyền đạt tĩnh.
Khi liên kết các đầu vào/ra của nhiều nơron với nhau, ta thu được một mạng
nơron, việc ghép nối các nơron trong mạng với nhau có thể là theo một nguyên tắc
bất kỳ. Vì mạng nơron là một hệ truyền đạt và xử lý tín hiệu, nên có thể phân biệt các
loại nơron khác nhau, các nơron có đầu vào nhận thông tin từ môi trường bên ngoài
khác với các nơron có đầu vào được nối với các nơron khác trong mạng, chúng được
phân biệt với nhau qua vector hàm trọng số ở đầu vào w.
Nguyên lý cấu tạo của mạng nơron bao gồm nhiều lớp, mỗi lớp bao gồm nhiều
nơron có cùng chức năng trong mạng. Hình 1.5 là mô hình hoạt động của một mạng
nơron 3 lớp với 8 phần tử nơron. Mạng có ba đầu vào là x
1
, x
2
, x
3
và hai đầu ra y
1
, y
2
.
Các tín hiệu đầu vào được đưa đến 3 nơron đầu vào, 3 nơron này làm thành lớp đầu
vào của mạng. Các nơron trong lớp này được gọi là nơron đầu vào. Đầu ra của các
nơron này được đưa đến đầu vào của 3 nơron tiếp theo, 3 nơron này không trực tiếp
tiếp xúc với môi trường bên ngoài mà làm thành lớp ẩn, hay còn gọi là lớp trung gian.
- 11 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
Các nơron trong lớp này có tên là nơron nội hay nơron ẩn. Đầu ra của các nơron này
được đưa đến 2 nơron đưa tín hiệu ra môi trường bên ngoài. Các nơron trong lớp đầu
ra này được gọi là nơron đầu ra.
Hình 1.5 Mạng nơron ba lớp
Mạng nơron được xây dựng như trên là mạng gồm 3 lớp mắc nối tiếp nhau đi từ
đầu vào đến đầu ra. Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào. Một
mạng nơron có cấu trúc như vậy gọi là mạng một hướng hay mạng truyền thẳng một
hướng (Feed forward network), và có cấu trúc mạng ghép nối hoàn toàn (vì bất cứ
một nơron nào trong mạng cũng được nối với một hoặc vài nơron khác). Mạng nơron
bao gồm một hay nhiều lớp trung gian được gọi là mạng Multilayer Perceptrons)
(MLP-Network).
Mạng nơron khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽ
được hình thành dần dần sau một quá trình học. Mạng nơron được học bằng cách đưa
vào những kích thích, và mạng hình thành những đáp ứng tương ứng, những đáp ứng
tương ứng phù hợp với từng loại kích thích sẽ được lưu trữ. Giai đoạn này được gọi
là giai đoạn học của mạng. Khi đã hình thành tri thức mạng, mạng có thể giải quyết
các vấn đề một cách đúng đắn. Đó có thể là vấn đề ứng dụng rất khác nhau, được giải
quyết chủ yếu dựa trên sự tổ chức hợp nhất giữa các thông tin đầu vào của mạng và
các đáp ứng đầu ra.
- 12 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
• Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thu
được không đầy đủ hoặc bị tác động của nhiễu. Mạng nơron kiểu này được
ứng dụng trong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là
nhận dạng chữ viết.
• Nhiệm vụ tổng quát của một mạng nơron là lưu giữ động các thông tin. Dạng
thông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp
ứng đầu ra tương ứng, để khi có một kích thích bất kỳ tác động vào mạng,
mạng có khả năng suy diễn và đưa ra một đáp ứng phù hợp. Đây chính là chức
năng nhận dạng theo mẫu của mạng nơron. Để thực hiện chức năng này, mạng
nơron đóng vai trò như một bộ phận tổ chức các nhóm thông tin đầu vào, và
tương ứng với mỗi nhóm là một đáp ứng đầu ra phù hợp. Như vậy, một nhóm
bao gồm một loại thông tin đầu vào và một đáp ứng đầu ra. Các nhóm có thể
được hình thành trong quá trình học, và cũng có thể không hình thành trong
quá trình học.
Hình 1.6 là một số liên kết đặc thù của mạng nơron. Nơron được vẽ là các vòng
tròn xem như một tế bào thần kinh, chúng có các mối liên hệ đến các nơron khác
nhờ các trọng số liên kết. Tập hợp các trọng số liên kết này sẽ lập thành các ma trận
trọng số tương ứng.
1.2.1 Mạng nơron một lớp
Mỗi một nơron có thể phối hợp với các nơron khác tạo thành một lớp các
trọng số. Mạng một lớp truyền thẳng như hình 1.6a. Một lớp nơron là một nhóm các
nơron mà chúng đều có cùng trọng số, nhận cùng một tín hiệu đầu vào đồng thời.
Trong ma trận trọng số, các hàng là thể hiện nơron, hàng thứ j có thể đặt nhãn
như một vector w
j
của nơron thứ j gồm m trọng số w
ji
. Các trọng số trong cùng một
cột thứ j (j=1,2, ,n) đồng thời cùng nhận một tín hiệu đầu vào x
j
.
w
j
= [w
j1
, w
j2
, , w
jm
]
Tại cùng một thời điểm, vector đầu vào x = [x
1
, x
2
, , x
n
] có thể là một nguồn
bên ngoài là cảm biến hoặc thiết bị đo lường đưa tới mạng.
- 13 -
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368
(a) Mạng truyền thẳng một lớp (b) Mạng hồi tiếp một lớp
(c) Mạng truyền thẳng nhiều lớp
(d) Mạng nơron hồi quy
Hình 1.6 Một số dạng mạng nơron
1.2.2 Mạng nơron truyền thẳng nhiều lớp
Mạng nơron nhiều lớp (Hình 1.6.c) có các lớp được phân chia thành 3 loại sau
đây:
• Lớp vào là lớp nơron đầu tiên nhận tín hiệu vào x
i
(i = 1, 2, , n). Mỗi tín hiệu
x
i
được đưa đến tất cả các nơron của lớp đầu vào. Thông thường, các nơron
- 14 -
Không có nhận xét nào:
Đăng nhận xét