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 tốn đợc mơ tả ở đây tạo nên một bộ tổ hợp tuyến tính.. Hàm PSP Port Syna
Trang 1Trờng đại học bách khoa hà nội
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ủ đề “ ạng nơron nhân Mtạ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
• ứng dụng: Phân tích, thiết kế xây dựng modul phần mềm thử nghiệm nhận
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ế nhng 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âmlý 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à 90 inches3 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 trng đợ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 trng 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
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
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 cha thể đạt đợc độ phức tạp nh mạng sinh học nhng 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:
Hình 1.5 Mô hình toán học noron nhân tạo
Các tín hiệu vào (còn gọi là mẫu vào) pi (i=1 R) đợc đa tới R đầu vào của nơron S tạo thành ma trận tín hiệu vào Mỗi đầu vào của nơron P 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à sẽ biến đổi tín hiệu đầu f
vào net thành tín hiệu đầu ra nơron a Ta có biểu thức:
a = f (n net )= f( WP + b) (1.3)
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 và tín hiệu ra của nơron 1 đầu vào, với hàm hoạt hoá và hàm p a Hardlimit.
Hình 1.6 Nơron 1 đầu vào vào với hàm hoạt hoá là hàm Hardlimit
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¸
kiÕn tróc m¹ng n¬ron Theo c¸ch s¾p xÕp cña n¬ron th× cã kiÕn tróc 1 líp
th× ta cã kiÕn tróc m¹ng truyÒn th¼ng (feedforward) vµ kiÕn tróc m¹ng håi qui (recurrent) Ngoµi ra cßn mét lo¹i liªn kÕt theo sù ph©n bè c¸c n¬ron trong 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
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
(Output layer) của mạng
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ó nơron) S
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
số W có hàng và cột của lớp ra Trong kiến trúc một lớp thì ma trận này cũng S R
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
1.1.3.2 Kiến trúc mạng đa lớp
Mạng nơron đa lớp là mạng nơron đợc bổ xung thêm các lớp ẩn (hidden
liên hệ với bên ngoài Hình 1.4 chính là một ví dụ mạng đa lớp với 2 lớp ẩn Mỗi lớp trong mạng có một ma trận tr ng số riêngọ W 1với là chỉ số lớp.l
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 18phầ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 lu giữ trạng thái bên trong, nhng 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 lu 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
(time-delay block)
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
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ớ để lu 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, nhng 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
học(learning algorithm) của chúng là loại đợc giám sát (Supervised) hay không
đợ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
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
ma trËn träng sè riªng cña n¬ron thø Víi vect¬ mÉu vµo cã i 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
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
(hyperlane) Với những giá trị trọng số và hệ số bias đã cho ta có thể thấy trên đồ
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
{(P K ,T K )}
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
Nhng 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 Nhng 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
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
, ,
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 , khi đó có thể tính đạo n
hàm của f theo biến thứ ba là nh sau: w
= dw
w n
Sử dụng 1.11 ta có thể tính đạo hàm riêng của trong các công thức 1.9 và 1.10 F
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
(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 sẽ đợc tính toán từ độ nhạy lớp m 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ố
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 cha 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 trng 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 biến cho véc tơ vào biến.n m
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
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 :
j Out y w
E
1
2
) (
2
1 ) ( (n là nơron trên lớp ra) (2.0)
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ó :
w là trọng số thứ i của nơron thứ j trên lớp Việc hiệu chỉnh l
trọng số này còn đợc định nghĩa nh sau :
) ( )
ji new l ji
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 :
) ( ).
( g outputerro r f input parameter = η
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 δlj, 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