ứng dụng mạng nơron nhân tạo hiện nay có thể thấy rất nhiều trong quân sự, dân sự, y học … như nhận dạng ảnh vân tay ứng dụng trong dân sự và quân sự, nhận dạng chữ viết trong các hệ thố
Trang 1Bộ giáo dục và đào tạo Trường đại học bách khoa hà nội
Hà nội 2005
Trang 2quả làm việc của cá nhân tôi Nếu phát hiện bất cứ sự sao chép, gian lận, man trá nào tôi xin chịu hoàn toàn trách nhiệm
Hà nội, tháng 11 năm 2005
Người viết luận văn
Vũ Hồng Vinh
Trang 3Tôi xin chân thành gửi lời cám ơn tới toàn thể các thầy cô giáo và các bạn
bè đồng nghiệp đã tham gia đóng góp ý kiến, chia sẻ kinh nghiệm và động viên khuyến khích để luận văn được hoàn thành đúng tiến độ, đạt chất lượng tốt
Đặc biệt, xin vô cùng cảm ơn sự hướng dẫn và chỉ bảo tận tình của Phó giáo sư, Tiến sỹ Nguyễn Quốc Trung trường Đại học Bách khoa Hà nội đã thật sự
hỗ trợ tôi rất nhiều trong quá trình nghiên cứu
Một lần nữa cho phép tôi bày tỏ lòng biết ơn vô hạn tới sự giúp đỡ quí báu của tất cả các thầy cô giáo, đồng nghiệp và bạn bè đã giúp tôi nghiên cứu thành công luận văn này
Trang 4mở đầu
Một câu hỏi đặt ra tại sao khi ta nhìn thấy ảnh một đối tượng nào đó ta lại phân biệt được đối tượng là người nào đó hay vật xác định ? Đó chính là vì bộ não của con người đã được học và ghi nhớ những hình ảnh đó, vì vậy khi gặp lại những hình ảnh này, bộ não có những quyết định nhận dạng chính xác
Cơ chế nhận dạng ảnh của não người dựa trên cơ chế học của các nơron thần kinh Hiện nay, các nhà khoa học đang cố gắng thể hiện cơ chế nhận dạng
đó qua kỹ thuật tính toán thông minh - đó là kỹ thuật nhận dạng ảnh bằng mạng nơron nhân tạo Mạng nơron nhân tạo có nhiệm vụ xử lí thông số của ảnh và đưa
ra kết quả phân lớp ảnh đối tượng thuộc lớp nào ứng dụng mạng nơron nhân tạo hiện nay có thể thấy rất nhiều trong quân sự, dân sự, y học … như nhận dạng ảnh vân tay ứng dụng trong dân sự và quân sự, nhận dạng chữ viết trong các hệ thống kiểm tra số sản phẩm, hệ thống tự động phân loại thư tín, tự động nhận biết
đường đi, nhận dạng các bộ phận cơ thể con người ứng dụng trong giải phẫu học…
Nhận dạng đối tượng ảnh là một trong các hướng nghiên cứu cần thiết trong bối cảnh nền kinh tế mở của nước ta hiện nay Dựa trên những định hướng
và các vấn đề được GS TS Nguyễn Quốc Trung vạch ra, với sự cố gắng bản thân, tôi đã hoàn thành được luận văn với đề tài:
“ công nghệ xử lí và nhận dạng ảnh mặt người bằng mạng
nơron nhân tạo MLP”
Mục đích của đề tài:
Trình bày các nghiên cứu lý thuyết phục vụ cho chủ đề “Mạng nơron nhân tạo trong nhận dạng ảnh ”, đồng thời xây dựng một modul phần mềm mạng
Trang 5nơron thử nghiệm để nhận dạng ảnh mặt người với mục đích hiểu sâu hơn về cách thức mà một mạng nơron tiến hành phân loại ảnh của đối tượng và nắm bắt
được kiến thức về một môn khoa học - nhận dạng đối tượng ảnh
Nội dung nghiên cứu:
• Về lý thuyết: Cơ sở lý thuyết về mạng nơron, cấu trúc mạng nơron, phân loại
mạng nơron, các mạng nơron ứng dụng trong nhận dạng ảnh Đi sâu vào cấu trúc, thuật toán, cơ chế học, thủ tục học của mạng nơron nhiều lớp Perceptron
MLP học theo giải thuật lan truyền ngược sai số back-propagation làm tiền đề
cho việc xây dựng mạng nơron trong nhận dạng đối tượng ảnh mặt người
dạng đối tượng ảnh mặt người
Kết quả:
- Đã nắm bắt được các kiến thức chủ yếu về mạng nơron và giải thuật học của mạng nơron nhiều lớp MLP
- Đã xây dựng được modul phần mềm mạng nơron thử nghiệm nhận dạng
ảnh mặt người đạt được một số kết quả khả quan
Do thời gian nghiên cứu còn hạn chế nên luận văn không tránh khỏi những thiếu sót Tôi rất mong nhận được những lời góp ý về những thiếu sót của luận văn để bổ xung trong những nghiên cứu tiếp theo
Trang 6chương 1
Lý thuyết chung về mạng nơron nhân tạo
1.1 Lý thuyết mạng nơron
1.1.1 Giới thiệu về mạng nơron
Chúng ta ai cũng biết rằng tri thức của loài người cho đến nay hết sức phong phú, sâu rộng và đa dạng Nó bao gồm những hiểu biết của chúng ta từ thế giới vi mô như nguyên tử, điện tử, hạt nhân, các hạt cơ bản đến những hiểu biết vĩ mô về trái đất, về hệ mặt trời, hệ thiên hà… Thế nhưng có một điều mà có
vẻ như là một nghịch lý là chúng ta biết “rất ít” về chính bộ não bộ của chúng ta
“Mạng nơron nhân tạo” - thuật ngữ nói đến một ngành kỹ thuật mới mà
nó đòi hỏi kiến thức từ nhiều ngành khoa học khác nhau như toán học, vật lý học, hóa học, sinh vật học tâm lý học, thần kinh học và tất cả chỉ nhằm làm sao tạo
ra những chiếc máy tính hoạt động giống như “ bộ não “ của con người
1.1.1.1 Tổ chức và hoạt động của bộ não con người:
a) Tổ chức:
Bộ não của con người được hình thành từ sự liên kết của khoảng 1011 phần
tử (tế bào), trong đó có khoảng 1010 phần tử là nơron, số còn lại khoảng 9*1010
phần tử là các tế bào thần kinh đệm và chúng có nhiệm vụ phục vụ cũng như hỗ trợ cho các nơron Thông thường một bộ não trung bình cân nặng khoảng 3 pound và có thể tích là 90inches3 Cấu tạo não bộ được phân chia ra thành nhiều vùng khác nhau Mỗi vùng có thể kiểm soát một hay nhiều hoạt động của con người Bộ não có cấu trúc nhiều lớp, lớp bên ngoài thường thấy như là các nếp nhăn, là lớp có cấu tạo phức tạp nhất Đây có thể là nơi kiểm soát và phát sinh các hành động phức tạp như nghe, nhìn, tư duy
Trang 7• Trước hết con người bị kích thích bởi giác quan từ bên ngoài hoặc trong cơ thể Sự kích thích đó được biến thành các xung điện bởi chính các giác quan tiếp nhận kích thích Những tín hiệu này được chuyển về trung ương thần kinh
là não bộ để xử lí Những mệnh lệnh cần thiết được phát sinh và gửi đến những bộ phận thi hành thích hợp như các cơ tay, chân
• Những bộ phận thi hành biến những xung điện thành dữ liệu xuất của hệ thống
Tóm lại bộ não có cấu tạo rất phức tạp, tinh vi bởi được tạo thành từ mạng nơron có hàng chục tỉ tế bào với mức độ liên kết giữa các nơron là rất cao và hoạt động dựa trên cơ chế hoạt động song song của các nơron tạo nên nó
Các bộ tiếp nhận
Các bộ tác
động
Mạng lưới thần kinh
Các kích
thích
Các đáp ứng
Hình 1.1 Biểu diễn sơ đồ khối của hệ thống thần kinh
Trang 8- Phần thứ ba: axon Đây là một nối kết, hình trụ dài và mang các tín hiệu từ đó
ra ngoài Phần cuối của axon được chia thành nhiều nhánh nhỏ Mỗi nhánh nhỏ (cả của dendrite và axon) kết thúc trong một cơ quan nhỏ hình củ hành được gọi
là synapte mà tại đây các nơron đưa các tín hiệu của nó vào các nơron khác Những điểm tiếp nhận với các synapte trên các nơron khác có thể ở các dendrite hay chính soma
Synapse Nucleus
Axon
Dendrites
Hình 1.2: Sơ đồ nơron sinh học
Trang 9b) Hoạt động:
Các tín hiệu đưa ra bởi một synapte và được nhận bởi các dendrite là các kích thích điện tử Việc truyền tín hiệu như trên liên quan đến một quá trình hóa học phức tạp mà trong đó các chất truyền đặc trưng được giải phóng từ phía gửi của nơi tiếp nối Điều này làm tăng hay giảm điện thế bên trong thân của nơron nhận Nơron nhận tín hiệu sẽ kích hoạt (fire) nếu điện thế vượt khỏi một ngưỡng nào đó và một xung (hoặc điện thế hoạt động) với độ mạnh (cường độ) và thời gian tồn tại cố định được gửi ra ngoài thông qua axon tới phần nhánh của nó rồi tới các chỗ nối synapte với các nơron khác Sau khi fering, nơron sẽ chờ trong một khoảng thời gian được gọi là chu kỳ refractory, trước khi nó có thể fire lại Synapses là excitatory nếu chúng cho phép các kích thích truyền qua gây ra tình trạng fire đối với nơron nhận Ngược lại, chúng là inhibitory nếu chúng cho phép các kích thích truyền qua làm ngăn chở trạng thái fire của nơron nhận
1.1.1.3 Mô hình nơron nhân tạo
Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não con người, trong mạng nơron nhân tạo cũng có các thành phần có vai trò tương tự là các nơron nhân tạo cùng các kết nối synapse
Một nơron nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin cơ sở cho hoạt động của một mạng nơron Sơ đồ của hình 1.2 chỉ ra mô hình của một nơron nhân tạo ở đây, chúng ta xác định ba thành phần cơ bản của một mô hình nơron:
Một tập hợp các synapse hay các kết nối, mà mỗi một trong chúng được
đặc trưng bởi một trọng số của riêng nó Tức là một tín hiệu xj tại đầu vào của synapse j nối với nơron k sẽ được nhân với trọng số synapse wkj
Trang 10ở đó k là chỉ số của nơron tại đầu ra của synapse đang xét, còn j chỉ
điểm đầu vào của synapse Các trọng số synapse của một nơron nhân tạo
có thể nhận cả các giá trị âm và các giá trị dương
Một bộ tổ hợp để tính tổng các tín hiệu đầu vào của nơron, đã được
nhân với các trọng số synapse tương ứng; phép toán được mô tả ở đây tạo nên
Một hàm kích hoạt (activation function) để giới hạn biên độ đầu ra của
nơron Hàm kích hoạt cũng được xem xét như là một hàm nén; nó nén
(giới hạn) phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá trị hữu hạn Mô hình nơron trong hình 1.3 còn bao gồm một
dụng tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tuỳ theo nó dương hay âm
Hệ số hiệu chỉnh bk
Bộ tổ hợp tuyến tính
Hàm kích hoạt
Đầu ra yk
Các trọng số synpase
Trang 111.1.1.4 Mạng nơron nhân tạo
Các mạng nơron nhân tạo (Artificial neural networks – ANN) cũng còn
được gọi là các hệ thống xử lí song song phân bố là các hệ thống được tạo ra dựa vào những nguyên lý tổ chức của bộ não con người
Mạng nơron nhân tạo là sự liên kết giữa các nơron nhân tạo với nhau Các nơron thường được sắp xếp theo các lớp, bao gồm lớp vào (input layer), lớp ẩn (hidden layer) và lớp ra (output layer), được thể hiện trong hình 1.4
Hình 1.4: Một cấu trúc mạng nơron nhân tạo Tuy mạng nhân tạo chưa thể đạt được độ phức tạp như mạng sinh học nhưng có điểm chung giữa chúng là:
+ Mạng được xây dựng bằng các phần tử tính toán đơn giản (nơron) liên kết lại với nhau một cách phức tạp và hoạt động song song
+ Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lí bên trong của các phần tử và mức độ liên kết giữa các phần tử
+ Mức độ liên kết giữa các phần tử được xác định thông qua quá trình học của mạng (hay quá trình huấn luyện mạng)
Lớp vào
Lớp ẩn 1
Lớp ra Lớp ẩn 2
Trang 121.1.2 Các mô hình toán học và kiến trúc mạng nơron
Để thực hiện các nơron nhân tạo, chúng ta cần mô tả chúng bằng công cụ toán học Căn cứ vào những thành phần cơ bản của nơron nhân tạo đã giới thiệu trong mục 1.1.1, ta có thể đưa ra mộ hình toán học của nơron như sau:
của nơron S tạo thành ma trận tín hiệu vào P Mỗi đầu vào của nơron S sẽ cho
một trọng số ký hiệu là w S,i (i=1 R) và các trọng số này tạo thành một ma trận
trọng số đầu vào W của nơron Mức ngưỡng θ của nơron có thể được biểu diễn trong mô hình toán học bằng hệ số bias (gọi là thế hiệu dịch) Ta có b=-θ Hàm PSP (Port SynapticPotential function) khi các đại lượng là vô hướng thường là
một hàm tổng Σ của các tín hiệu vào có trọng số và hệ số bias ( khi ở dạng vectơ thì là hàm radial) Như vậy tín hiệu đầu vào net nnet sẽ được tính theo công thức sau:
Trang 13Viết dưới dạng ma trận sẽ là:
Xem các biểu thức trên thì ta có thể coi hệ số bias như trọng số của một đầu vào với tín hiệu bằng 1 Có một số loại nơron có thể bỏ qua hệ số bias này
Hàm hoạt hoá (hay là hàm truyền đạt) được ký hiệu là f sẽ biến đổi tín hiệu đầu
vào net thành tín hiệu đầu ra nơron a Ta có biểu thức:
Thông thường thì hàm đầu ra sẽ được chọn bởi người thiết kế tuỳ theo mục đích của mạng Các trọng số và hệ số bias là các thông số điều chỉnh được của nơron Chúng được điều chỉnh bởi một só luật học (learning rule) Như vậy quan hệ giữa
đầu ra và các đầu vào của nơron sẽ tuỳ thuộc vào việc nơron đó sẽ được dùng cho những mục đích cụ thể nào
b Hàm hoạt hoá
Hàm hoạt hoá (activation function) có thể là một hàm tuyến tính hoặc phi
tuyến của tín hiệu vào net- n net , nó được chọn để thoả mãn một số đặc điểm kỹ thuật của bài toán mà mạng nơron cần giải quyết Hình 1.2 cho thấy mối quan hệ giữa tín hiệu vào p và tín hiệu ra a của nơron 1 đầu vào, với hàm hoạt hoá và hàm Hardlimit
Hình 1.6 Nơron 1 đầu vào vào với hàm hoạt hoá là hàm Hardlimit
a +1
p
Trang 14B¶ng 1.1 Cã liÖt kª mét sè hµm ®îc sö dông lµm hµm ho¹t ho¸
th× ta cã kiÕn tróc m¹ng truyÒn th¼ng (feedforward) vµ kiÕn tróc m¹ng håi qui
kh«ng gian hai chiÒu trong mét líp, gäi lµ liªn kÕt bªn (lateral connection) Víi
net n - e
net -n e +
−
net n e
net n e
net
n
e−
+ 1 1
C
Trang 15loại liên kết này, Kohonen đã tạo ra loại mạng tự tổ chức (self-organizing neural network)
1.1.3.1 Kiến trúc mạng một lớp
Một mạng nơron dù được dùng vào một mục đích nào đi nữa cũng luôn có các nơron đầu vào (lớp vào) và các nơron đầu ra (lớp ra) Các nơron đầu vào sẽ nhận các thông tin cần quan tâm từ môi trường bên ngoài, biến đổi chúng thành tín hiệu phù hợp với việc xử lý của các nơron trong mạng Có thể so sánh nơron
đầu vào với các tế bào thần kinh giác quan sinh học Các nơron đầu ra có thể so sánh với các tế bào thần kinh vận động khi xét đến vai trò của chúng là tạo ra các thông tin phán đoán hoặc điều khiển Tuy nhiên còn có các nơron đặt giữa các nơron đầu vào và nơron đầu ra Những nơron này tạo thành các lớp ẩn, chúng
đảm nhiệm vai trò bên trong mạng
Trang 16Các thông tin từ bên ngoài X=(x1,x2, xR) được đưa tương ứng với các nơron của lớp vào (Input layer) Các nơron này là loại nơron một đầu vào Tập hợp tín
hiệu đầu ra của các nơron này tạo thành ma trận P= {p1,p2, , PR } Ta cũng có thể coi ma trận này là vectơ tín hiệu vào của mạng nơron khi không xét đến vai trò chuyển đổi thông tin của các lớp nơron vào Trong luận án này coi P = {P1, P2, ,PR} chính là véctơ tín hiệu vào Khái niệm kiến trúc một lớp có thể xuất phát từ cách xem xét trên, và lớp “duy nhất” của mạng đáng quan tâm ở đây là lớp ra
Véctơ tín hiệu vào được biểu diễn dưới dạng ma trận như sau:
P=
Thường thì các nơron lớp vào sẽ liên kết kết với tất cả các nơron của lớp ra (fully connected) Các tín hiệu Pi sẽ được đưa đến từng nơron của lớp ra (có S nơron)
Các ma trận số (ma trận hàng) của từng nơron lớp ra sẽ hợp thành ma trận trọng
Trang 17thiết kế với các hàm hoạt hoá khác nhau Kết quả đầu ra của mạng chính là tổ hợp các đầu ra của S nơron lớp ra, và nó được gọi là vectơ đầu ra A = {a1,a2, , as} Việc xác định số lượng nơron lớp vào R và số lượng nơron lớp ra S sẽ căn cứ vào dạng thông tin mà mạng đó thu nhận để xử lý và dạng thông tin đưa ra kết quả Hơn nữa, đặc tính của thông tin kết quả đầu ra của mạng cũng cho phép xác
định hàm hoạt hoá của các nơron lớp ra Như vậy mạng có thể xác định hoàn toàn từ những đặc điểm kỹ thuật của bài toán
Các nơron ở lớp ẩn thường có hàm hoạt hoá là phi tuyến Điều này tạo cho mạng
đa lớp có nhiều khả năng hơn mạng một lớp Ví dụ như một mạng đa lớp với lớp
ẩn là các nơron có hàm hoạt hoá là hàm Loga xích ma (Sigmoid) còn các nơron ở
lớp ra có hàm hoạt hoá tuyến tính thì mạng có thể được huấn luyện để thực hiện xấp xỉ hầu hết các hàm bất kỳ, với mạng một lớp thì không thể thực hiện được Việc xác định số lượng nơron của lớp ẩn vẫn là một vấn đề đang được nhiều người nghiên cứu Chỉ có một số ít bài toán là có thể tìm ra số lượng nơron tối ưu cho các lớp ẩn Về số lượng lớp ẩn thì các mạng đa lớp hiện nay thường chỉ có 2 hoặc 3 lớp
Trang 181.1.3.3 Kiến trúc mạng truyền thẳng
Kiến trúc mạng truyền thẳng (feedforward) là kiến trúc mà liên kết giữa
các nơron không tạo thành chu trình (directed acyclic graph) Tín hiệu đi từ các
nơron lớp vào lần lượt qua các lớp ẩn và cuối cùng đi ra ở nơron lớp ra Kiến trúc này có đáp ứng nhanh và ổn định đối với một tín hiệu đưa vào mạng Liên kết giữa các lớp có thể là loại liên kết đầy đủ (fully connected) hoặc liên kết một
phần (partly connected)
Hình 1.8: Kiến trúc mạng truyền thẳng điển hình (feedforward network)
Qua cấu trúc trên, ta có thể hiểu hoạt động mạng truyền thẳng đơn thuần là việc sắp đặt tín hiệu đầu ra và tín hiệu được đưa vào mạng Các ma trận trọng số W và
các hàm hoạt hoá đã được xác định sẵn Thực sự không có một công thức hiện hữu nào và mạng không lưu giữ trạng thái bên trong, nhưng mạng lại chứa một số lượng lớn các dữ liệu xác định Việc thiết kế mạng tryền thẳng sẽ giới hạn trong khuôn khổ bài toán xác định các ma trận trọng số W để tạo ra mạng tối ưu và xác
định kích thước cơ sở dữ liệu mà nó chứa
Trang 191.1.3.4 Kiến trúc mạng hồi qui
Trong mạng hồi qui (recurrent network) có tồn tại những liên kết từ các
nơron lớp sau quay trở lại các nơron lớp trước Những liên kết như vậy còn được gọi là liên kết hồi tiếp (feedback connection), chúng sẽ tạo thành chu trình mà
trong chu trình này các tín hiệu ra của nơron lại được truyền ngược lại cho các nơron đã kích hoạt chúng Chính vì điều này mà mạng hồi qui có khả năng lưu giữ trạng thái trong và điều này được thể hiện ở việc ma trận trọng số và các hệ
số bias của mạng có thể hiệu chỉnh được
Các liên kết hồi tiếp của mạng hồi qui được thực hiện bằng khối trễ thời gian
Hình 1.9: Khối trễ (delay block)
Các khối trễ sẽ làm tín hiệu đầu ra trễ đi 1 bước thời gian với việc giả sử là mạng làm việc trong miền thời gian rời rạc
a(t) = u (t-1)
Tại thời điểm t=0 đầu ra sẽ được thiết lập bởi điều kiện đầu a(0) Trong thực tế, một liên kết hồi qui có thể được làm trễ nhiều hơn một bước thời gian, khi đó mạng loại này có thể mang cả một số tính năng của mạng trễ thời gian (Time delay nơron network)
a(t) = u(t-1)
D
u(t)
a 0
Trang 20Một kiến trúc mạng hồi qui khá nổi tiếng đó là mạng Elman Elman có đưa
ra các nơron ngữ cảnh (context nơron) có vai trò như một đơn vị nhớ để lưu giữ
tín hiệu ra của các nơron lớp ẩn dùng để hồi tiếp trở lại đầu vào các nơron lớp ẩn Ngoài ra ông còn có một sự cải biến nữa là việc tạo ra các liên kết tự hồi qui được thực hiện ngay tại chính nơron lớp ẩn (self recurrent connection)
Mạng hồi qui tuy có cấu trúc phức tạp, không có tính ổn định cao, tốc độ tính toán chậm, quá trinh huấn luyện phức tạp, nhưng nó lại có khả năng mô phỏng các hệ thống phức tạp trong thực tế
Hình 1.10: Kiến trúc mạng hồi qui Elman (recurrent network)
1.1.3.5 Kiến trúc mạng tự tổ chức:
Loại liên kết bên (lateral connection) thực hiện trên một lớp được gọi là lớp cạnh tranh (competitive layer) Lớp cạnh tranh thường được tổ chức như một lưới nơron 2 chiều, và một tập tín hiệu vào sẽ đồng thời được đưa đến tất cả các
Trang 21nơron của lớp Mỗi nơron của lớp cạnh tranh có một liên kết kích thích (excitatory hay trọng số là dương) với chính nó và có các liên kết ức chế (inhibitory hay trọng số là âm) với các nơron lân cận cùng lớp Chúng ta có thể tưởng tượng kiểu liên kết này như một cụm các nơron “cạnh tranh nhau” (competition), mỗi nơron sẽ kích hoạt chính nó đồng thời lại ức chế tất cả các nơron khác kế cận nó Sau một chu kỳ trao đổ tín hiệu trong mạng sẽ có các nơron với giá trị đầu vào net lớn hơn so với các nơron khác Chúng sẽ được coi là
“nơron chiến thắng” (winning neural) và được kích hoạt nên giá trị đầu ra lớn nhất, trong khi những nơron khác bị ức chế (giá trị đầu ra giảm xuống không) Chính vì vậy đôi khi mạng loại này được gọi là “winner-takes-all” Quá trình kích hoạt cạnh tranh này được gọi là sự tiến hoá (evolution)
Hình 1.11: liên kết bên (lateral connection) trên lớp cạnh tranh
(competitive layer)
Lớp cạnh
tranh
Liên kết bên
Trang 221.1.4 phân loại mạng nơron theo phương pháp học
Ta có thể phân các loại mạng nơron thành hai nhóm chính dựa theo thuật toán
được giám sát (unsupervised)
Học được giám sát
Các kết quả đúng hay các tín hiệu đầu ra yêu cầu (target outputs) đã được biết
trước và được cung cấp cho đầu vào của mạng trong suốt quá trình huấn luyện, vì thế mà mạng có thể điều chỉnh các trọng số của nó sao cho phù hợp để đầu ra của
nó trả về các tín hiệu đầu ra yêu cầu Sau khi huấn luyện, mạng sẽ được kiểm tra bằng việc cho các tín hiệu vào không phải là các tín hiệu yêu cầu và xem nó sẽ cho ra kết quả gần với kết quả đúng như thế nào
Học không được giám sát
Đầu ra của mạng không được cung cấp các kết quả đúng trong quá trình huấn luyện Mạng phải tự quyết định những đặc tính nào mà nó sẽ sử dụng để phân nhóm tín hiệu đầu vào Đây cũng chính là cơ chế tổ chức đã nêu ở trên (self- organizing)
1.2 Phương pháp huấn luyện và các luật học của mạng nơron
1.2.1 Mạng Perceptron
a) Kiến trúc mạng
Cuối những năm 1950, Frank Rosenblatt vào một số nhà nghiên cứu đã phát triển một mạng nơron có tên là mạng Perceptron Đây là mạng nơron với
Trang 23kiÕn tróc truyÒn th¼ng mét líp, víi líp ra lµ c¸c n¬ron cã hµm ho¹t ho¸ lµ hµm
hard-limit KiÕn tróc tæng qu¸t cña m¹ng Perceptron cho bëi h×nh 1.12
H×nh 1.12: KiÕn tróc m¹ng Perceptron Khi cho mét vect¬ mÉu vµo P, tÝn hiÖu ®Çu ra cña n¬ron thø i cña líp ra sÏ lµ:
ma trËn träng sè riªng cña n¬ron thø i Víi vect¬ mÉu vµo cã R thµnh phÇn ta cã
thÓ biÓu diÔn W i nh sau:
Trang 24b) Huấn luyện mạng
Đóng góp của Rosenblatt đối với mạng này chính là luật học Perceptron để huấn luyện mạng sử dụng trong bài toán nhận dạng mẫu Việc huấn luyện mạng khá đơn giản
Biên quyết định (decision boundary)
Theo thiết kế mạng Perceptron như trên, từ công thức (1.4) ta thấy một đầu ra a i
sẽ phân chia không gian mẫu đầu vào thành hai vùng Ranh giới giữa hai vùng này được xác định bởi một biên quyết định Đó là biên tuyến tính hay siêu phẳng
thị biên quyết định phân chia 2 miền không gian mẫu vào
Hình 1.13: Biên quyết định trong không gian mẫu
Biên quyết định được xác định bởi các vectơ đầu vào tương ứng với n net bằng không Do đó biên quyết định được xác định bằng phương trình sau:
Véctơ trọng số sẽ luôn trực giao với đường biên quyết định
1
1 P2
P1 vector trọng số
WP+b=0
Trang 25c) Luật học Perceptron:
Vai trò của luật học Perceptron là để thiết lập các trọng số và các hệ số bias cho mạng sao cho mạng xác lập biên quyết định phân loại tập mẫu vào Tập mẫu vào huấn luyện mạng gồm có các mẫu p i đã xác định trước tín hiệu ra yêu cầu t i (kết quả đích) Như vậy luật học này thuộc loại được giám sát
Luật học Perceptron được mô tả như sau:
Bước 1: Cung cấp tập huấn luyện gồm K cặp mẫu vào và kết quả ra đích
Bước 2: Đặt các giá trị ban đầu bất kỳ cho các trọng số và hệ số bias
Bước 3: Lần lượt cho các mẫu P K lan truyền qua mạng được vectơ tín hiệu ra A K
Bước 4: Tính các sai số e i tại các đầu ra của mạng theo công thức sau: e i = t i … a i
với t i là kết quả ra đích tại nơron i của lớp ra còn a i là tín hiệu ra thực tế của nó Bước 5: Hiệu chỉnh các ma trận trọng số W i và các hệ số bias b i của S nơron lớp ra:
b i mới = b i cũ + e i
Bước 6: Mỗi lần hiệu chỉnh xong các ma trận W i và các b i thì lặp lại bước 3
Quá trình lặp cho đến khi các sai số e i đều bằng 0, tức là khi đó ta sẽ có được ma trận trọng số và các hệ số bias thích ứng với K mẫu học {(P K ,T K )} Cách hiệu
chỉnh tham số của mạng dựa vào sai số e như trên được gọi là phương pháp tối
thiểu hoá lỗi dự đoán (prediction error)
Trang 26d) Sự hội tụ
Rosenblatt đã chứng minh được phép lặp của quá trình huấn luyện luôn hội
tụ về ma trận trọng số và các hệ số bias mà với chúng mạng hoàn toàn đạt được một sự phân lớp các mẫu như mong muốn Tất nhiên điều kiện ở đây là không gian mẫu phải tồn tại biên quyết định, hay còn gọi là không gian mẫu khả cách tuyến tính (linearly inseparable) Trong phạm vi luận văn không trình bày về
chứng minh này, ở đây chỉ xin đưa ra khái niệm không gian mẫu khả tách tuyến tính
Mạng Perceptron 1 lớp không giải quyết được các bài toán không có khả năng phân lớp mẫu một cách tuyến tính bằng các siêu phẳng, tức là các bài toán không
có tính khả tách tuyến tính Một ví dụ kinh điển do Minsky và Papert đưa ra để chứng minh minh hạn chế của mạng Perceptron đó là tập mẫu học với quan hệ
đầu vào / đầu ra theo hàm XOR
Nhưng với mạng Perceptron đa lớp (MLP- Multilayer Perceptron) thì vấn đề này
0 t4 , 1
1 4 1 t3 , 0
1 3 1 t2 , 1
0 2 0 t1 , 0
0 1
Trang 27có thể được giải quyết Kiến trúc mạng MLP là kiến trúc truyền thẳng đa lớp (có
từ 1 đến 3 lớp ẩn), hàm hoạt hoá có thể nhiều dạng không phải chỉ là hàm Hardlimit Nhưng trong các nơron trong cùng một lớp thì cùng dạng hàm hoạt hoá
Kiến trúc một mạng MLP có 2 lớp ẩn được cho bởi hình 1.14
Lớp ẩn 1 Lớp ra Hình 1.14: Mạng Perceptron đa lớp (MLP- Multilayer Perceptron)
Để chỉ ra khả năng của mạng MLP giải quyết bài toán phân lớp không gian mẫu không khả tách tuyến tính, ta xét một ví dụ cấu hình mạng MLP 1 lớp ẩn có thể giải quyết được bài toán quan hệ hàm XOR do Minsky và Papert đưa ra Vai trò của các nơron lớp ẩn là độc lập phân tách không gian mẫu thành 2 vùng riêng biệt, còn nơron lớp ra thực hiện việc kết hợp các vùng đã được phân chia đó để tạo thành các phân lớp mong muốn
Các mạng MLP ngoài khả năng phân lớp không gian mẫu bất kỳ, nó còn có thể được dùng để thực hiện việc xấp xỉ hàm liên tục (Function Approximation)
Đầu vào
Đầu ra
Trang 28b) Huấn luyện mạng:
Rosenblatt đã không giải quyết được vấn đề hiệu chỉnh ma trận trọng số của các lớp ẩn của mạng Perceptron đa lớp MLP Cho đến năm 1986, một thuật toán khá hiệu quả để huấn luyện cho mạng MLP mới được đa ra bởi Rumelhart và McClelland Đó chính là luật học lan truyền ngược dùng cho mạng MLP
Nguyên lý của luật học này là việc lan truyền ngược sai số còn gọi là lan
truyền ngược độ nhạy ( Backpropagating the sensitivities) từ lớp ra trở lại các lớp
ẩn và đến đầu vào mạng và từ đó tìm ra cách hiệu chỉnh ma trận trọng số và các
hệ số bias để tối thiểu hoá sai số trung bình bình phương Để tính toán cho việc lan truyền ngược sai số ở đây phải sử dụng đến đạo hàm hàm hoạt hoá, và việc
tính toán phải thực hiện lần lượt qua từng lớp từ đầu ra trở lại đầu vào Trước hết
ta có các khái niệm
c) Sai số trung bình bình phương (Mean squared error):
Cho tập mẫu vào huấn luyện mạng {(PK, TK)} gồm có các mẫu pi đã xác định
trước tín hiệu ra yêu cầu ti Khi mẫu pi được lan truyền qua mạng và cho ra tín
hiệu đầu ra là ai, ta có thể địng nghĩa sai số bình phương trung bình như sau:
2
) ( 2
1 ] ) [(
t E e
Trang 29Mục tiêu của huấn luyện mạng là nhằm điều chỉnh Wi và b sao cho F(x) đạt giá
trị nhỏ nhất Đây chính là nguyên tắc huấn luyện mạng MLP Nguyên tắc này
được thực hiện bằng cách lấy đạo hàm riêng của F(x) theo các trọng số w, hệ số
bias và hiệu chỉnh trọng số và hệ số bias tại bước lặp thứ k +1 theo công thức như
sau:
m j
m j m
j
w
F k
w
k
w
, ,
nguyên tắc hiệu chỉnh trọng số gần giống luật delta (delta rule), tức là chỉ số hiệu
chỉnh tỷ lệ thuận với vi phân từng phần của hàm sai số trung bình bình phương theo các trọng số để tối thiểu hoá hàm này
d) Luật dây chuyền (chain rule):
Ta giả thiết hàm f là hàm hiện duy nhất của một biến n, khi đó có thể tính đạo
hàm của f theo biến thứ ba là w như sau:
=
dw
w n
X dn
Sử dụng 1.11 ta có thể tính đạo hàm riêng của F trong các công thức 1.9 và 1.10
Ta có tín hiệu nnet của nơron thứ i của lớp m được tính như sau:
Trang 30m i s
j
m j m j m
(1.12)
Đây là một hàm hiện của các trọng số và hệ bias Theo đó ta có:
1 ,
m i
b n
e) Luật học lan truyền ngược ( back-propagation):
Thuật toán lan truyền ngược được thực hiện theo nguyên tắc hồi qui khi mà độ nhạy của lớp m sẽ được tính toán từ độ nhạy lớp m+1 đã được tính trước đó Như
vậy trong mạng MLP, độ nhạy sẽ được lan truyền ngược từ lớp ra trở ngược lại các lớp ẩn rồi đến lớp vào Chi tiết về thuật toán lan truyền ngược sai số
(backpropagation) được trình bày trong chương 2
f) Sự hội tụ :
Thuật toán lan truyền ngược hội tụ đến một giải pháp mà nó tối thiểu hoá được sai số trung bình bình phương vì cách thức hiệu chỉnh trọng số và hệ số bias của thuật toán là ngược hướng với vectơ gradient của hàm sai số trung bình bình phương đối với trọng số Tuy nhiên, đối với mạng MLP thì hàm sai số trung bình bình phương thường phức tạp và có nhiều cực trị cục bộ, vì thế các phép lặp huấn luyện mạng có thể chỉ đạt đến các cực trị cục bộ của hàm sai số trung bình bình phương mà không đạt được đến cực trị tổng thể Vấn đề quá trình huấn luyện sẽ hội tụ như thế nào sẽ phụ thuộc vào các điều kiện ban đầu của quá trình huấn luỵên Đặc biệt là việc chọn hệ số học ∝ như thế nào để tăng khả năng hội tụ của mạng Với mỗi bài toán ta lại có phương án chọn hệ số học khác nhau
Trang 31Như vậy khi một quá trình huấn luyện theo thuật toán lan truyền ngược hội tụ,
ta chưa thể khẳng định được rằng nó đã hội tụ đến phương án tối ưu Ta cần phải thử với một số điều kiện ban đầu để đảm bảo thu được phương án tối ưu
1.2.3 Mạng KOHONEN (sofm)
Kiến trúc mạng
Mạng SOFM (Sefl-Organizing Feature Map) được xây dựng trên các
đặc trưng topo giống như bộ não của con người Teuvo Kohonen là một trong những người đầu tiên đề xuất ý tưởng này vì thế mạng SOFM còn
được gọi với tên là mạng Kohonen Mạng Kohonen là mạng một lớp Lớp này được gọi là bản đồ topo (Topological map layer) và cũng còn gọi là lớp cạnh trạnh (Competivi layer), ta gọi với tên là lớp Kohonen Do đề tài chỉ tập trung nghiên cứu với mạng nơron nhiều lớp Perceptron nên không nghiên cứu sâu về mạng Kohonen ở đây
Còn có khá nhiều kiểu mạng nơron khác có thể dùng cho bài toán xử lí nhận dạng đối tượng Trong phạm vi đề tài này chỉ xin được trình bày một số dạng mạng cơ bản nhất ở trên rất hữu dụng trong các bài toán nhận dạng
Trang 32Mạng MLP có các phương trình
hiệu chỉnh các trọng số rõ ràng, rành
mạch Các phương trình này được áp
dụng cho việc hiệu chỉnh các trọng số
của từng lớp bắt đầu từ lớp ra ngược tới
các lớp ẩn rồi tới lớp vào nên còn gọi
phương pháp lan truyền ngược sai số
Hình 2.1 thể hiện sơ đồ hiệu chỉnh các
trọng số Giải thuật học lan truyền
ngược của sai số phù hợp với mạng nơ
ron nhân tạo được mô tả trong chương
một Thực chất đó là thủ tục dịch
chuyển ngược hướng gradient
Chương 2 Mạng nơron nhiều lớp perceptron và
giải thuật học lan truyền ngược back-propagation
2.1 Mạng nơron nhiều lớp Perceptron ( mạng MLP )
Mạng MLP học theo chiến lược hiệu chỉnh các trọng số Phương pháp học này đầu tiên được tác giả Werbos giới thiệu, sau đó được Rumelhart sử dụng và phổ cập trong lĩnh vực mạng nơron Trong lĩnh vực mạng nơron nhiều lớp phương pháp học này được sử dụng thường xuyên nhất
Trang 33Phương pháp lan truyền ngược của sai số là phương pháp học có chỉ đạo; nó cần một tập mẫu (Xs, Ys), với Xs là véc tơ vào, Ys là véc tơ lời giải Bởi vì hai véc tơ vào và lời giải có thể được biểu diễn như tập các biến thực : Xs(xs1, xs2, , xsm)
và Ys(ys1, ys2, ., ysn), kết quả mạng nơron MLP có thể được coi như một mô hình sản sinh ra véc tơ lời giải n biến cho véc tơ vào m biến
2.2 Cấu trúc của mạng nơron nhiều lớp Perceptron (MLP ):
Cấu trúc của mạng MLP thông thường gồm các thông số: số lớp, số nơron trên mỗi lớp và cách mà các nơron được nối với nhau
Hình 2.2 : Cấu trúc của mạng MLP ba lớp hoạt động –
hai lớp ẩn và một lớp ra
Trang 34Các đặc điểm chính của các mạng nơron MLP là :
- Mỗi nơron có một nối kết với Bias Tín hiệu tương ứng với các trọng số bias được gán bằng 1 Trong hình 2.2 các nối kết với các bias và các trọng số bias được vẽ bằng các đường đậm hơn Việc thêm vào mỗi nơron một trọng số bias làm cho mạng nơron có khả năng mềm dẻo hơn trong quá trình học
- Số nơron trên lớp vào và lớp ra là cố định đối và được xác định trước phụ thuộc vào ứng dụng mà mạng nơron được xây dựng
- Theo các nghiên cứu thống kê trong các ứng dụng thực tế cho thấy: trong hầu hết các báo cáo, các tác giả chỉ sử dụng mạng nơron MLP gồm có ba lớp ( một lớp vào, một lớp ẩn và một lớp ra ) Rất hiếm khi
có tác giả sử dụng mạng có nhiều hơn ba lớp
Tín hiệu vào của một lớp nào đó chính là tín hiệu ra của lớp phía trên và tín hiệu ra là tín hiệu vào của lớp dưới Do đó chúng ta có thể ký hiệu tất cả các tín hiệu đều là tín hiệu ra Trong đó tín hiệu ra của lớp vào( lớp 0 ) Out0 là véc tơ vào Xs Tín hiệu ra của mạng là tín hiệu ra của lớp ra (lớp cuối cùng )được ký hiệu là Outlast
2.3 Cơ chế học của mạng nơron MLP
Thủ tục học của mạng MLP là thủ tục lan truyền ngược sai số và là phương pháp học có chỉ đạo; nó cần một tập mẫu (Xs, Ys), với Xs là véc tơ vào, Ys là véc tơ lời giải Đối với một cặp tín hiệu vào Xs và lời giải Ys, giải thuật học lan truyền ngược của sai số được tiến hành theo hai giai đoạn của dòng chảy của số liệu :
Trang 35- Tín hiệu vào Xs được lan truyền qua mạng từ lớp vào đến lớp ra Kết quả của việc lan truyền này là sản sinh ra véc tơ tín hiệu ra Outlast
- Tín hiệu sai số là kết quả của việc so sánh giữa véc tơ lời giải và véc tơ tín hiệu ra, được lan truyền ngược từ lớp ra tới các lớp phía trên để hiệu chỉnh các trọng số
Đối với mỗi cặp tín hiệu vào ra này chúng ta xây dựng một hàm giá như sau :
y w
E
1
2
) (
2
1 )
Như vậy với một tập học gồm P mẫu học chúng ta lần lượt xây dựng P
hàm giá như vậy Việc học của giải thuật thực chất là việc tìm kiếm một tập trọng
số W trong không gian R M ( M là số trọng số có trong mạng) để lần lượt tối thiểu
hoá các hàm giá như vậy Điều đáng chú ý là việc tối thiểu hoá được tiến hành liên tiếp nhau và theo chu kỳ đối với các hàm giá
Để tối thiểu hoá các hàm giá như vậy giải thuật học lan truyền ngược của sai số sử dụng phương pháp giảm gradient ( gradient-decent method - deepest decent method ) Bằng biểu thức chúng ta có :
ji
l ji
w
E w
w là trọng số thứ i của nơron thứ j trên lớp l Việc hiệu chỉnh
trọng số này còn được định nghĩa như sau :
) ( ) ( l old
ji new l ji l
w liên kết tín hiệu vào thứ i
với tín hiệu ra thứ j Hai liên kết này ( một với lớp trên và một với lớp dưới
Trang 36hình 2.3) phản ánh sự thật là sai số bắt nguồn từ hai phía vào và ra Quy tắc delta liên kết ảnh hưởng cả hai tín hiệu vào và ra được biểu diễn như sau :
) ( ).
dù thừa số l− 1
i Out là tín hiệu ra của
lớp (l-1) nhưng đồng thời nó cũng
là tín hiệu vào của lớp thứ l Hàm f
trong phương trình 2.2 đơn giản
chính là đối số của hàm Do đó vấn
đề còn lại trong quá trình học của
mạng là xác định hàm l
j
δ Trong giải thuật học lan truyền
ngược của sai số đại lượng δl j, cần
thiết cho việc hiệu chỉnh các trọng
Trang 37nếu đạo hàm dε/dw là dương, khi đó giá trị mới của tham số phải nhỏ hơn giá trị
cũ và ngược lại Bằng biểu thức chúng ta có thể biểu diễn phương pháp giảm gradient như sau :
dw
d w
l l
−
=
này là khi sai số ε được vẽ như
hàm của tham số gây ra sai số
phải có một cực tiểu tại một giá trị
nào đó của tham số Khi quan sát
độ dốc của đường cong, chúng ta
có thể quyết định tham số phải
thay đổi như thế nào để có thể tiến
gần đến cực tiểu cần tìm kiếm
hơn Trong hình 2.4, giá trị của
tham số cần phải thay đổi, trọng
số của nơ ron, nằm bên phải của
cực tiểu;
Hình 2.4 : Sai số ε được vẽ như hàm
của trọng số w