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

Mạng nơron và ứng dụng

52 400 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 52
Dung lượng 860,33 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Rất nhiều nhà khoa học đang tập trung vào nghiên lĩnh vực này và những thành tựu của nó đem lại đã và đang ảnh hưởng sâu sắc tới nhiều lĩnh vực trong đời sống xã hội và trong khoa học: K

Trang 1

Luận văn:

Mạng nơron và ứng dụng

Trang 2

MỤC LỤC

LỜI CẢM ƠN Error! Bookmark not defined.

MỤC LỤC 4

I LÍ DO CHỌN ĐỀ TÀI 6

II MỤC ĐÍCH NGHIÊN CỨU 6

III NHIỆM VỤ NGHIÊN CỨU 7

IV PHƯƠNG PHÁP NGHIÊN CỨU 7

Chương I: TỔNG QUAN VỀ MẠNG NƠRON 8

I BỘ NÃO VÀ NEURON SINH HỌC 8

1.1 Bộ não người 8

1.2 So sánh bộ não người và máy tính 10

II NEURON NHÂN TẠO 11

2.1 Mô hình neuron tổng quát 11

2.2 Mô hình Single - Input Neuron 12

2.3 Mô hình Multiple - Input Neuron 13

2.4 Một số hàm chuyển thường dùng 13

III MẠNG NƠRON 16

3.1 Huấn luyện mạng 17

3.2 Mạng nơron một lớp 19

3.3 Mạng nơron nhiều lớp 20

Chương II: MỘT SỐ MÔ HÌNH MẠNG NƠRON 23

I MẠNG PERCEPTRON 23

1.1 Kiến trúc mạng 23

1.2 Huấn luyện mạng 24

1.3 Sử dụng mạng 25

II MẠNG HOPFIELD (HF) 28

2.1 Kiến trúc mạng 28

2.2 Huấn luyện mạng 29

2.3 Sử dụng mạng 30

Trang 3

III MẠNG NƠRON SỬ DỤNG THUẬT TOÁN HỌC CÓ THẦY

HEBBIAN 31

3.1 Kiến trúc mạng 31

3.2 Huấn luyện mạng 31

3.3 Sử dụng mạng 33

IV MẠNG NƠRON NHIỀU LỚP SỦ DỤNG THUẬT TOÁN BACKPROPAGATION 33

4.1 Kiến trúc mạng 33

4.2 Huấn luyện mạng 34

4.3 Sử dụng mạng 35

Chương 3: CÀI ĐẶT MINH HOẠ MỘT SỐ MẠNG NƠRON 37

I BÀI TOÁN KHÁM BỆNH TRONG Y HỌC 37

1.1 Mô tả thuật toán và thiết kế mạng Nơron 37

1.2 Kết quả và đánh giá 39

1.3 Chương trình minh hoạ 43

II BÀI TOÁN NHẬN DẠNG KÍ TỰ 47

2.1 Mô tả thuật toán và thiết kế mạng Nơron 48

2.2 Kết quả đánh giá 48

2.3 Chương trình minh hoạ 49

KẾT LUẬN 53

TÀI LIỆU THAM KHẢO 54

Trang 4

LỜI NÓI ĐẦU

I LÍ DO CHỌN ĐỀ TÀI

Mạng nơron được bắt đầu nghiên cứu vào những năm 1940, trải qua nhiều giai đoạn thăng trầm ngày nay việc nghiên cứu, thiết kế mạng nơron mô phỏng theo những khả năng của não bộ đã và đang phát triển một cách mạnh

mẽ và đem lại nhiều kết quả to lớn Rất nhiều nhà khoa học đang tập trung vào nghiên lĩnh vực này và những thành tựu của nó đem lại đã và đang ảnh hưởng sâu sắc tới nhiều lĩnh vực trong đời sống xã hội và trong khoa học: Khám bệnh bằng máy trong y học, nhận dạng chữ viết, xử lý ảnh, …

Việc thiết kế mạng nơron là kết quả của việc kết hợp công nghệ thông tin với một lĩnh vực khoa học khác như: Toán học, y học, … và nghiên cứu của

nó được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau: kỹ thuật người máy, các chương trình trò chơi, xử lý ngôn ngữ tự nhiên… Mạng nơron đã và đang đặt ra nhiều triển vọng về khả năng chế ngự thế giới

Vì vậy, việc tìm hiểu về mạng nơron là rất cần thiết với một sinh viên thuộc chuyên ngành tin Được sự đồng ý của Hội đồng khoa học của Khoa Toán và sự hướng dẫn của Thầy giáo - Thạc sĩ Nguyễn Văn Trường, tôi đã lựa chọn đề tài “Mạng nơron và học mạng nơron" làm đề tài nghiên cứu Đề tài gồm những nội dung chính:

 Tổng quan về mạng nơron

 Giới thiệu một số mạng nơron cơ bản

 Cài đặt minh họa một số mạng nơron

II MỤC ĐÍCH NGHIÊN CỨU

Với đề tài này mục đích nghiên cứu của tôi là:

- Nắm được mô hình mạng nơron, biết cách sử dụng các mô hình mạng nơron để áp dụng vào một số bài toán thực tế

- Áp dụng mô hình mạng nơron để giải quyết một số bài toán thực tế

Trang 5

- Nhằm tích lũy thêm kiến thức cho bản thân, nâng cao trình độ nhận thức

mở rộng vốn hiểu biết cho mình

III NHIỆM VỤ NGHIÊN CỨU

Để cho quá trình nghiên cứu đạt kết quả cao tôi phải tiến hành nghiên cứu những vấn đề sau đây:

- Tổng quan về mạng nơron và một số mô hình cơ bản (Mạng nơron một lớp, mạng nơron nhiều lớp, mạng nơron một đầu vào và mạng nơron một giá trị vào và mạng nơron nhiều giá trị vào…)

- Các mô hình mạng nơron phổ biến

IV PHƯƠNG PHÁP NGHIÊN CỨU

Để tiến hành nghiên cứu đề tài này, chúng tôi đã sử dụng phối hợp một số phương pháp sau:

- Phương pháp nghiên cứu tài liệu: nghiên cứu tài liệu mạng nơron

- Xây dựng chương trình thông qua các mô hình mạng nơron

- Phương pháp lấy ý kiến chuyên gia

Trang 6

Chương 1 TỔNG QUAN VỀ MẠNG NƠRON

I BỘ NÃO VÀ NEURON SINH HỌC

có phần thân với nhân bên trong (gọi là soma), một đầu thân kinh ra (gọi là trục axon) và một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) Các dây thần kinh tạo thành một lưới dày đặc xung quanh thân tế bào, chiếm diện tích khoảng 0.25 mm2, còn dây thần kinh ra tạo thành trục dài có thể từ 1

cm cho đến hàng mét Đường kính của nhân tế bào thường chỉ là 10-4 m Trục dây thần kinh ra cũng có thể phân nhánh theo dạng cây để nối với các dây thần kinh vào hoặc trực tiếp với nhân tế bào các neurons khác thông qua các khớp nối (gọi là synapse) Thông thường, mỗi neuron có thể gồm vài chục cho tới hàng trăm ngàn khớp nối để nối với các neurons khác Người ta ước lượng rằng lưới các dây thần kinh ra cùng với các khớp nối bao phủ diện tích khoảng 90% bề mặt neuron

Nhân

Trục từ các neuron khác

Khớp nối

Soma

dendrite

Đầu trục thần kinh

Trang 7

Các tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của các neurons là tín hiệu điện và được thực hiện thông qua các quá trình phản ứng

và giải phóng các chất hữu cơ Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm tăng hay giảm điện thế của nhân tế bào Khi điện thế này đạt tới một ngưỡng nào đó, sẽ tạo ra một xung điện dẫn tới trục dây thần kinh ra Xung này được truyền theo trục, tới các nhánh rẽ khi chạm tới các khớp nối với các neurons khác sẽ giải phóng các chất truyền điện Người ta chia làm hai loại khớp nối: Khớp nối kích thích (excitatory) và khớp nối ức chế (inhibitory)

Phát hiện quan trọng nhất trong ngành nghiên cứu về bộ não là các liên kết khớp thần kinh khá mềm dẻo, có thể biến động và chỉnh đổi theo thời gian tuỳ thuộc vào các dạng kích thích Hơn nữa, các neurons có thể sản sinh các liên kết mới với các neurons khác và đôi khi, lưới các neurons có thể di trú từ vùng này sang vùng khác trong bộ não Các nhà khoa học cho rằng đây chính

là cơ sở quan trọng để giải thích cơ chế học của bộ não con người

Phần lớn các quá trình xử lý thông tin đều xảy ra trên vỏ não Toàn bộ vỏ não được bao phủ bởi mạng các tổ chức cơ sở có dạng hình thùng tròn với đường kính khoảng 0.5 mm, độ cao 4 mm Mỗi đơn vị cơ sở này chứa khoảng

2000 neurons Người ta chỉ ra rằng mỗi vùng não có những chức năng nhất định Năm 1861, Prerre Paul Broca đã chỉ ra rằng phần vỏ não phía trước bên trái điều khiển khả năng nói và sự phát triển ngôn ngữ, bán cầu đại não trái chịu trách nhiệm xử lý thông tin nhận thức theo những quy trình thuật giải nhất định, còn bán cầu đại não phải gắn với các xử lý thông tin tiềm thức phi thuật giải như linh cảm, linh tính… Các nghiên cứu thực nghiệm còn chứng tỏ rằng các liên kết giữa các vùng não với các bộ phận cơ thể có thể thay đổi và đối với một số động vật cao cấp các liên kết kiểu này có thể ở dạng kép

Điều đáng ngạc nhiên chính là các neurons rất đơn giản trong cơ chế làm việc, nhưng mạng các neurons liên kết với nhau lại có khả năng tính toán, suy nghĩ, ghi nhớ và điều khiển

Trang 8

Có thể điểm qua những chức năng cơ bản của bộ não:

1 Bộ não được tổ chức theo các bó thông tin và truy nhập theo nội dung (Có thể truy xuất thông tin dựa theo giá trị các thuộc tính của đối tượng)

2 Bộ não có khả năng tổng quát hoá, có thể truy xuất các tri thức hay các mối liên kết chung của các đối tượng tương ứng với một khái niệm chung nào đó

3 Bộ não có khả năng dung thứ lỗi theo nghĩa có thể điều chỉnh hoặc tiếp tục thực hiện ngay khi có những sai lệch do thông tin bị thiếu hoặc không chính xác Ngoài ra, bộ não còn có thể phát hiện và phục hồi các thông tin bị mất dựa trên sự tương tự giữa các đối tượng

4 Bộ não có khả năng xuống cấp và thay thế dần dần Khi có những trục trặc tại các vùng não (do bị bệnh, chấn thương) hoặc bắt gặp những thông tin hoàn toàn mới lạ, bộ não vẫn có thể tiếp tục làm việc

5 Bộ não có khả năng học

1.2 So sánh bộ não người và máy tính

So sánh khả năng làm việc của bộ não và máy tính

Đơn vị tính toán 1 bộ xử lý trung tâm với

Thông lượng 109 bit/giây 1014 bit/giây

Cập nhật thông tin 105 bit/giây 1014 neurons/giây

Trang 9

Dễ dàng thấy rằng bộ não con người có thể lưu giữ một lượng lớn thông tin Về khả năng tính toán thì các bộ vi xử lý có thể tính 108 lệnh trong một giây, trong khi đó mạng nơron xử lý chậm hơn, cần khoảng vài miligiây để kích hoạt Tuy nhiên bộ não có thể kích hoạt hầu như cùng một lúc tại rất nhiều neurons và khớp nối, trong khi đó ngay cả những máy tính hiện đại nhất cũng chỉ có một số hạn chế các bộ vi xử lý song song Nếu chạy một mạng nơron nhân tạo trên máy tính, phải tốn hàng trăm lệnh để máy kiểm tra một neuron có được kích hoạt hay không (tiêu phí khoảng 10-8x102 giây/neuron)

Do đó, dẫu bộ vi xử lý có thể tính toán nhanh hơn hàng triệu lần so với các neurons bộ não, nhưng xét tổng thể bộ não lại tính toán nhan hơn hàng tỷ lần Cách tiếp cận mạng nơron nhân tạo có ý nghĩa thực tiễn rất lớn cho phép tạo ra các thiết bị có thể kết hợp khả năng xử lý song song cao của bộ não với tốc độ tính toán cao của máy tính Tuy vậy, cần phải có một khoảng thời gian dài nữa để các mạng nơron nhân tạo mô phỏng được các hành vi sáng tạo của con người Chẳng hạn, bộ não có thể thực hiện một nhiệm vụ khá phức tạp như nhận ra khuôn mặt người quen sau không quá 1 giây, trong khi đó một máy tính tuần tự phải thực hiện hàng tỷ phép tính (khoảng 10 giây) để thực hiện cùng thao tác đó, nhưng với chất lượng kém hơn nhiều, đặc biệt trong trường hợp thông tin không chính xác, không đầy đủ

II NEURON NHÂN TẠO

2.1 Mô hình neuron tổng quát

Trang 10

Mỗi neuron được nối với các neurons khác và nhận được các tín hiệu sj từ chúng với các trọng số wj Tổng các thông tin vào có trọng số là:

Đây là mô hình chung cho tất cả các neuron nhân tạo

2.2 Mô hình Single - Input Neuron

Với mô hình này, đầu vào của neuron là vectơ p gồm một thành phần Sơ

đồ mô tả một Single - Input Neuron được cho bởi hình dưới

số hạng này sẽ được đưa đến vùng tính tổng trọng số Giá trị input khác là b cũng được gửi đến vùng tính tổng trọng số Giá trị Output của vùng này là n=Wp+b là giá trị input của hàm chuyển, nó sẽ tạo ra giá trị neuron output a

là kết quả của phép tính:

a = f(wp+b) Nếu ta có w = 3, p = 2, b = -1.5 thì

Trang 11

a = f(3.2 - 1.5) = f(4.5)

2.3 Mô hình Multiple - Input Neuron

Một neuron có thể có nhiều hơn một input Giả sử có R inputs như ở hình dưới Mỗi đại lượng input p1, p2,…, pR có một trọng số tương ứng là w1,1,

w1,2,… w1,R của ma trận trọng số W (ma trận trọng số của một neuron chỉ có một dòng)

Tổng trọng số của W và b là input của hàm chuyển

n = w1,1*p1 + w1,2*p2 + … + w1,R*pR + b Viết dưới dạng ma trận:

n = Wp + b Giá trị Output của neuron là: a = f(n) = f(Wp + b)

p

pp

1,1

1,R

w

a=f(Wp+b)Multiple – Input Neuron

Có rất nhiều hàm chuyển được sử dụng trong các mạng nơron hiện nay Ở đây tôi xin giới thiệu một vài hàm chuyển được sử dụng nhiều trong thiết kế

Trang 12

mạng Đây cũng là những hàm chuyển mà tôi sẽ sử dụng để thiết kế mạng nơron giải quyết các bài toán nhận dạng và bài toán khám sức khoẻ trong y học Các hàm chuyển này đều đã được cung cấp sẵn trong bộ công cụ thiết kế

mạng nơron "Nơron Network Toolbox" của Matlab

2.4.1 Hàm chuyển Hard Limit

Hàm chuyển hard limit có công thức a=hardlim(n) Được xác định theo biểu thức sau:

00

hardlim(n)a

n n

Hình bên dưới (phía trái) biểu diễn đồ thị của hàm chuyển Hard - Limit Ở giữa là biểu tượng của hàm Bên phải là đồ thị của một Single - Input Neuron

sử dụng hàm chuyển Hard - Limit

-b/w

-1 1

a = hardlim(wp + b) Single – Input Hardlim Neuron

Hàm chuyển này sẽ được ứng dụng trong thiết kế mạng nơron giải quyết bài toán nhận dạng kí tự

Trang 13

linear, biểu tượng và đồ thị của một Single - Input Neuron sử dụng hàm chuyển linear

+b a

p 0

-b/w

a = purelin(wp+b)

Single – input purelin Neuron

Hàm chuyển này cùng với hàm chuyển hard limit đã nói ở trên sẽ được tôi

sử dụng để thiết kế mạng nơron hai lớp giải quyết bài toán nhận dạng kí tự mà các bạn sẽ thấy ở phần sau

2.4.3 Hàm chuyển log - sigmoid:

Hàm chuyển log - sigmoid có công thức:

Hàm chuyển này có thể nhận giá trị input là bất cứ giá trị nào trong khoảng

  ,   và trả về giá trị output nằm trong khoảng (0, 1)

Các mạng nơron nhiều lớp sử dụng thuật toán huấn luyện mạng backpropagation sử dụng hàm này làm hàm chuyển Dưới đây là đồ thị của hàm chuyển log - sigmoid, biểu tượng và đồ thị của một Single - Input Neuron sử dụng hàm chuyển log - sigmoid

Trang 14

a = logsig(wp + b)

Log – Sigmoid Transfer Function Single – Input logsig Neuron

Các bạn sẽ thấy hàm chuyển này được sử dụng trong các mạng nơron giải quyết bài toán khám sức khoẻ ở chương 3

Ngoài các hàm chuyển đã giới thiệu ở trên các bạn có thể tham khảo thêm các hàm chuyển khác trong cuốn Nơron Network Design

III MẠNG NƠRON

Mạng nơron nhân tạo (Artificial Nơron Network) gọi tắt là MNR bao gồm các nút (đơn vị xử lý, neuron) được nối với nhau bởi các liên kết neuron Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho đặc tính kích hoạt/ức chế giữa các neurons

Có thể xem các trọng số là phương tiện để lưu giữ thông tin dài hạn trong mạng nơron và nhiệm vụ của quá trình huấn luyện (học) mạng là cập nhật các trọng số khi có thêm các thông tin về mẫu học, hay nói một cách khác, các trọng số được điều chỉnh sao cho dáng điệu vào ra của nó mô phỏng hoàn toàn phù hợp với môi trường đang xem xét

Mạng nơron là hệ thống bao gồm nhiều phần tử xử lý đơn giản (neuron) hoạt động song song Tính năng của hệ thống này tuỳ thuộc vào cấu trúc của

hệ, các trọng số liên kết neuron và quá trình tính toán tại các neuron đơn lẻ Mạng nơron có thể học từ dữ liệu mẫu và tổng quát hoá dựa trên các dữ liệu mẫu học

Trong mạng nơron, các neurons đón nhận tín hiệu vào gọi là neuron vào và các neuron đưa thông tin ra gọi là neuron ra

Trang 15

- Các neurons có thể tổ chức lại thành các lớp sao cho mỗi neuron của lớp này chỉ được nối với các neuron ở lớp tiếp theo, không cho phép các liên kết giữa các neuron trên cùng một lớp, hoặc từ neuron lớp dưới lên neuron lớp trên Ở đây cũng không cho phép các liên kết neuron nhảy qua một lớp Căn

cứ theo số lớp mạng ta có mạng nơron một lớp và mạng nơron nhiều lớp Hình dưới mô tả một mạng nơron nhiều lớp

- Mỗi một lớp mạng bao gồm ma trận trọng số, tổng trọng số, đại lượng b

và hàm chuyển f

3.1 Huấn luyện mạng

Mạng nơron như một hệ thống thích nghi có khả năng học (huấn luyện) để tinh chỉnh các trọng số liên kết cũng như cấu trúc của mình sao cho phù hợp với các mẫu học (samples) Có 3 loại kĩ thuật học:

1) Học có giám sát (còn gọi là học có thầy): Trong học có giám sát mạng được cung cấp một tập mẫu học {(Xi , Yi)} theo nghĩa Xi là tín hiệu vào thì kết quả ra đúng của hệ phải là Yi Ở mỗi lần học, vectơ tín hiệu vào Xi

được đưa vào mạng, sau đó so sánh sự sai khác giữa các kết quả đúng Yi với kết quả tính outi Sai số này sẽ được dùng để hiệu chỉnh lại các trọng số liên kết trong mạng Quá trình cứ tiếp tục cho đến khi thoả mãn một tiêu chuẩn

Trang 16

nào đó Có hai cách sử dụng tập mẫu học: hoặc dùng các mẫu lần lượt, hết mẫu này đến mẫu khác, hoặc sử dụng đồng thời tất cả các mẫu cùng một lúc

2) Học không có giám sát (Học không có thầy): Các mạng với cơ chế học không giám sát được gọi là các mạng tự tổ chức

3) Học tăng cường

Các kĩ thuật học trong mạng nơron có thể nhằm vào hiệu chỉnh các trọng

số liên kết (gọi là học tham số) hoặc điều chỉnh, sửa đổi cấu trúc của mạng bao gồm số lớp, số neuron, kiểu trọng số các liên kết (gọi là học cấu trúc) Cả hai mục đích học này có thể thực hiện đồng thời hoặc tách biệt

Học tham số: Giả sử có k neurons trong mạng và mỗi neuron có đúng l liên kết với các neurons khác Khi đó, ma trận trọng số liên kết W sẽ có kích thước kxl Các thủ tục học tham số nhằm mục đích tìm kiếm ma trận W sao cho:

Yi = Tinh(Xi , W) đối với mọi mẫu học S = (Xi , Yi)

Mạng neural N

Sai số

YiHiệu chỉnh W

Học tham số có giám sát Học cấu trúc: Với học tham số ta giả định rằng mạng có một cấu trúc cố định Việc học cấu trúc của mạng truyền thẳng gắn với yêu cầu tìm ra số lớp của mạng L và số neuron trên mỗi lớp nj Tuy nhiên, với các mạng hồi quy còn phải xác định thêm các tham số ngưỡng  của các neuron trong mạng Một cách tổng quát phải xác định bộ tham số P = (L, n1, …, nt,  1, …, k)

Ở đây k n j sao cho

Yi = Tinh(Xi, P) đối với mọi mẫu học S = (Xi, Yi)

Trang 17

Về thực chất, việc hiệu chỉnh các vectơ tham số W hay P đều quy về bài toán tìm kiếm tối ưu trong không gian tham số Do vậy, có thể áp dụng các cơ chế tìm kiếm kinh điển theo gradient hay các giải thuật di truyền, lập trình tiến hoá

Quá trình học mạng thường gồm quá trình lan truyền xuôi và quá trình lan truyền ngược

Quá trình lan truyền xuôi để tính giá trị ra a

Quá trình lan truyền ngược làm nhiệm vụ tính sai số và cập nhật trọng số Tuy nhiên không phải mạng nơron nào cũng có đủ cả hai quá trình lan truyền này

Hiệu quả huấn luyện mạng phụ thuộc vào nhiều yếu tố: Số neuron trên một lớp, số lớp mạng, hệ số tập huấn, hệ số lặp…

Trong 3 loại kĩ thuật học mạng tôi chỉ chú trọng giới thiệu kĩ thuật học có giám sát vì đây là loại kĩ thuật học mạng được sử dụng chủ yếu hiện nay và sẽ được sử dụng trong việc giải quyết các bài toán mà tôi sẽ giới thiệu trong chương 3

Trang 18

Layer of S Neurons

a = f(Wp + b)

1 , 1

w

R S

Về hiệu quả hoạt động, mạng nơron một lớp hoạt động không hiệu quả: xử

lý chậm, sai số lớn Tuy nhiên do cấu tạo đơn giản nên nó vẫn là mô hình mạng

3.3 Mạng nơron nhiều lớp

Mạng gồm nhiều lớp, Output của lớp này là Input của lớp tiếp theo

Trang 19

Mạng nơron nhiều lớp hoạt động hiệu quả hơn mạng nơron một lớp Ví dụ như mạng nơron hai lớp, lớp thứ nhất sử dụng hàm sigmoid và lớp thứ hai sử dụng hàm linear có thể huấn luyện gần như chính xác hầu hết các hàm nhưng mạng một lớp thì không thể

1.2.3 Mạng nơron hồi quy

Mạng nơron hồi quy cho phép các liên kết neuron tạo thành chu trình Các thông tin ra của các neurons được truyền lại cho các neurons góp phần kích hoạt chúng Điều này làm cho mạng hồi quy có khả năng lưu giữ trạng thái trong của nó dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết neuron Hình dưới mô tả một mạng nơron hồi quy

Trang 21

Chương 2:

MỘT SỐ MÔ HÌNH MẠNG NƠRON

Như đã nói ở trên, đề tài ngoài việc tìm hiểu về lí thuyết mạng nơron thì mục đích chính là sử dụng mạng nơron để giải quyết hai bài toán được giới thiệu cụ thể ở chương 3 là bài toán nhận dạng kí tự và bài toán khám sức khoẻ trong y học Chính vì vậy mà ở đây tôi chỉ giới thiệu một số mô hình mạng, trong đó chủ yếu là những mô hình và thuật toán sẽ được sử dụng để giải quyết các bài toán đã nêu ở trên Việc huấn luyện mạng cũng chủ yếu là với kĩ thuật học có giám sát

I MẠNG PERCEPTRON

1.1 Kiến trúc mạng

Mạng Perceptron do F.Rosenblatt đề xuất năm 1960 Đây là mạng truyền thẳng một lớp có một hoặc nhiều đầu ra Để đơn giản ở đây tôi chỉ trình bày với mạng có một đầu ra

a= hardlim(Wp + b) Hard Limit Layer

Đầu ra của mạng được tính theo công thức:

a = hardlim(Wp + b) Hàm chuyển này được sử dụng nhiều trong quá trình phát triển của thuật toán học mạng Perceptron vì nó thuận lợi trong việc xem xét từng thành phần riêng rẽ trong vectơ của mạng Đầu tiên, chúng ta hãy xem xét ma trận trọng số:

Trang 22

R R

w w

w

w w

w

w w

w

W

2 1

2 22

21

1 12

i

w

w w

w

2 1

Chúng ta hãy viết lại ma trận trọng số theo các thành phần của ma trận P

T T

Bây giờ chúng ta có thể viết ra thành phần thứ i của vectơ output:

ai = hardlim(ni) = hardlim(iwTp + bi) Giá trị trả về của hàm chuyển hardlim là:

0 1

n n

Vì vậy, nếu tích của thành phần gồm i dòng trong ma trận trọng số với vectơ input lớn hơn hoặc bằng -b thì output bằng 1, ngược lại output bằng 0

1.2 Huấn luyện mạng

Mạng học dựa trên nguyên tắc có giám sát với tập mẫu {(Xs,Ys)}

Ý tưởng cơ bản của quá trình huấn luyện mạng là xác định bộ trọng số W sao cho giá trị ra a = hardlim(WTp + b) = Ys đối với mẫu học s

Ban đầu các trọng số được gán ngẫu nhiên trong khoảng [-0.5, 0.5] Sau đó hiệu chỉnh các trọng số sao cho phù hợp với các mẫu học, làm giảm sai số giữa giá trị quan sát Y với giá trị tính toán a

Trang 23

Các bước tiến hành như sau:

Có thể thấy sự hội tụ của quá trình học của mạng dựa trên nguyên lý tìm kiếm gradient trong không gian trọng số làm cực tiểu hàm sai số

Err(W) = ½(Ys - as(w))2Người ta chứng minh được rằng quá trình huấn luyện mạng Perceptron luôn hội tụ

1.3 Sử dụng mạng

Để làm rõ vấn đề huấn luyện mạng của thuật toán huấn luyện mạng preceptron chúng ta sẽ bắt đầu với một ví dụ đơn giản và sẽ tiến hành thử nghiệm với một quy tắc hợp lý

0 , 2

1 ,

1 , 2

1

3 3

2 2

3

Trang 24

Ta thấy trong tập mẫu có hai vectơ input có mục tiêu là 0 được biểu diễn bởi hình tròng sáng và một vectơ input có mục tiêu là 1 được biểu diễn bởi hình tròn tối Đây là một vấn đề hết sức đơn giản, và chúng ta gần như có thể đạt được một đáp án chuẩn Điều này dễ dàng thực hiện với thuật toán huấn luyện mạng perceptron

Mạng nơron thiết kế để giải quyết vấn đề này có hai input và một output

Để đơn giản cho việc hiểu thuật toán huấn luyện mạng, chúng ta sẽ sử dụng mạng nơron không có tham số b Mạng nơron này chỉ có hai tham số w1,1 và

w1,2 được hiển thị ở hình sau:

a = hardlim(Wp) Hard – Limit Layer

Việc huấn luyện mạng được bắt đầu bằng việc gán các giá trị ngẫu nhiên cho các tham số của mạng Ở đây chúng ta có hai tham số cần gán giá trị là

w1,1 và w1,2 Chúng ta sẽ khởi tạo một vectơ trọng số 1w Giả sử sau khi gán giá trị ngẫu nhiên ta có:

a = hardlim(-0.6) = 0 Tính sai số:

Trang 25

Err = t - a = 1 - 0 = 1 Điều chỉnh trọng số:

Tính lại giá trị output:

1 2 1

a = hardlim(4.4) = 1 Xác định lại sai số:

Err = t - a = 1 - 1 = 0 Việc huấn luyện mạng kết thúc

Một điều cần lưu ý là mạng Perceptron chỉ có thể sử dụng để tính các hàm khả tách tuyến tính có nghĩa là trên đồ thị phải tồn tại đường phân chia giữa các miền giá trị Hình dưới là một ví dụ minh hoạ về một số đường phân chia giữa các giá trị

1 2

3

Như vậy mạng nơron Perceptron không thể tính được X xor Y vì hàm này không khả tách tuyến tính, không tồn tại một đường thẳng phân chia hai vùng {(0,0), (1,1)} và {(0,1), (1,0)}

Mạng nơron Perceptron được sử dụng để tính toán các hàm Số lớp các hàm mà nó có thể tính được tương đối phong phú Sau đây là một số hàm tiêu biểu

Trang 26

Hàm "Đa số": Hàm này cho giá trị 1 nếu có hơn nửa số đối số có giá trị 1

và 0 trong trường hợp ngược lại Ta xây dựng mạng Perceptron có n đầu vào nhận giá trị 0, 1 và một neuron ra với các trọng số liên kết wi = 1 và ngưỡng

 = n/2

Hàm "Thiểu số": Hàm này cho giá trị 1 nếu không quá nửa số đối số có giá trị 1 và 0 trong trường hợp ngược lại Mạng Perceptron tương ứng được xây dựng với các trọng số liên kết wi = -1 và ngưỡng  = -n/2

Mô hình mạng này tôi sẽ kết hợp với mô hình mạng sử dụng thuật toán học mạng Hebbian trong bài toán nhận dạng kí tự ở chương 3

II MẠNG HOPFIELD (HF)

Mạng Hopfield được nhà vật lý người Mỹ J.J Hopfield đề xuất năm 1982 Đây là mô hình mạng nơron một lớp hồi quy NN cho phép tạo ánh xạ dữ liệu

từ tín hiệu vào sang tín hiệu ra theo kiểu tự kết hợp tức là nếu tín hiệu vào là

X thuộc miền giá trị D nào đó thì kết quả ra Y=Tinh(X, NN) cũng thuộc miền

tự động

2.1 Kiến trúc mạng

Mạng Hopfield có một lớp ra, với số neuron bằng số tín hiệu vào Các liên kết neuron là đầy đủ

Ngày đăng: 23/07/2014, 18:16

HÌNH ẢNH LIÊN QUAN

Hình bên dưới (phía trái) biểu diễn đồ thị của hàm chuyển Hard - Limit. Ở  giữa là biểu tượng của hàm - Mạng nơron và ứng dụng
Hình b ên dưới (phía trái) biểu diễn đồ thị của hàm chuyển Hard - Limit. Ở giữa là biểu tượng của hàm (Trang 12)
Hình dưới mô tả một mạng nơron nhiều lớp. - Mạng nơron và ứng dụng
Hình d ưới mô tả một mạng nơron nhiều lớp (Trang 15)

TỪ KHÓA LIÊN QUAN

w