1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

74 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Vũ Hồng Vinh
Người hướng dẫn GS.TS. Nguyễn Quốc Trung
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2005
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 1,8 MB

Nội dung

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 1

Trờng đại học bách khoa hà nội

Trang 2

qu¶ 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 3

Tô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 4

mở đầ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 5

nơ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 6

chơ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â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 9

b) 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

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 11

1.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 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 12

1.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 13

Viế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 14

B¶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 15

loạ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 16

Cá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 17

thiế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 18

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 19

1.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

(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 20

Mộ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 21

nơ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 22

1.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 23

kiÕ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 24

b) 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 25

c) 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 26

d) 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 27

có 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 28

b) 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 29

Mụ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 30

m 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 31

Nh 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 32

Mạ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 33

Phơ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 34

Cá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 36

hì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 37

nế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

Ngày đăng: 22/01/2024, 16:51

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w