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

Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa

45 1,3K 6
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 45
Dung lượng 5,89 MB

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

Nội dung

Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa

Trang 1

Mạng nơron nhân tạo (Artificial neural networks ) ra đời xuất phát từ ýtưởng mô phỏng hoạt động của bộ não con người.

Mạng noron nhân tạo là sự tái tạo bằng kỹ thuật những chức năng của hệthần kinh con người với vô số các nơron được liên kết truyền thông với nhauqua mạng Giống như con người, ANN được học bởi kinh nghiệm, lưu nhữngkinh nghiệm đó và sử dụng trong những tình huống phù hợp

Mạng nơron trong một vài năm trở lại đây đã được nhiều người quan tâm

và đã áp dụng thành công trong nhiều lĩnh vực khác nhau, như tài chính, y tế, địachất và vật lý, dự báo, phân loại Kết hợp chặt chẽ với logic mờ, mạng nơronnhân tạo đã tạo nên cuộc cách mạng thực sự trong việc thông minh hóa và vạnnăng hóa các bộ điều khiển kỹ thuật cao cho cả hiện nay và trong tương lai Ví dụnhư ứng dụng tự động điều khiển hệ thống lái tàu, hệ thống dự báo sự cố,…

Mạng nơron dựa trên việc mô phỏng cấp thấp hệ thống nơron sinh học.Trong tương lai với sự phát triển mô phỏng nơron sinh học, chúng ta có thể cóloại máy tính thông minh thật sự

Vì lý do đó nhóm 11 chúng em lựa chọn đề tài “Tìm hiểu kỹ thuật mạng

nơ ron nhân tạo Đi sâu mạng Back Propagation of Error Cài đặt minh họa” Đây là một đề tài khá lớn và phức tạp, song trong phạm vi một bài báo

cáo ngắn, chúng em xin trình bày những kiến thức ở mức cơ bản nhất

Để hoàn thành bài báo cáo này, chúng em đã nhận được sự hướng dẫnnhiệt tình của ThS Nguyễn Phương Nga – giảng viên bộ môn Tính toán mềmlớp KHMT2-K6 chúng em Những bài giảng và tài liệu của cô chính là cơ sở đểchúng em có thể hoàn thành tốt báo cáo của mình Chúng em xin chân thànhcảm ơn cô!

Nhóm thực hiện

Trang 2

MỤC LỤC

PHẦN 1: GIỚI THIỆU CHUNG VỀ TÍNH TOÁN MỀM 4

Trong thực tế cuộc sống, các bài toán liên quan đến hoạt động nhận thức, trí tuệ của con người đều hàm chứa những đại lượng, thông tin mà bản chất là không chính xác, không chắc chắn, không đầy đủ Ví dụ: sẽ chẳng bao giờ có các thông tin, dữ liệu cũng như các mô hình toán đầy đủ và chính xác cho các bài toán dự báo thời tiết Nhìn chung con người luôn ở trong bối cảnh là không có thông tin đầy đủ và chính xác cho các hoạt động ra quyết định của bản thân mình 4

Trong lĩnh vực khoa học kĩ thuật cũng vậy, các hệ thống phức tạp trên thực tế thường không thể mô tả đầy đủ và chính xác bởi các phương trình toán học truyền thống Kết quả là những cách tiếp cận kinh điển dựa trên kỹ thuật phân tích và các phương trình toán học nhanh chóng tỏ ra không còn phù hợp Vì thế, công nghệ tính toán mềm chính là một giải pháp trong lĩnh vực này 5

1 Một số đặc điểm của công nghệ tính toán mềm: 5

- Tính toán mềm căn cứ trên các đặc điểm, hành vi của con người và tự nhiên để đưa ra các quyết định hợp lý trong điều kiện không chính xác và không chắc chắn để tạo ra các máy thông minh (thế hệ mới của TTNT) 5

- Các thành phần của tính toán mềm có sự bổ sung, hỗ trợ lẫn nhau tạo hệ thống có tổ chức chặt 5

- Tính toán mềm là một hướng nghiên cứu mở, bất kỳ một kỹ thuật mới nào được tạo ra từ việc bắt trước trí thông minh của con người đều có thể trở thành một thành phần mới của tính toán mềm 5

- Công nghệ tính toán mềm bao gồm 4 thành phần chính: Fuzzy Computing (FC), Evolutionary Computing (EC), Neural Computing (NC) and Probabilistic Computing (PC - còn đang phát triển) 5

1981 1960 1943 1965 6

1960 1992 1965 1962 1970 6

(ARTIFICIAL NEURAL NETWORK) 7

I LỊCH SỬ PHÁT TRIỂN CỦA MẠNG NƠRON 7 Ngày nay, không chỉ dừng lại ở mức nghiên cứu lý thuyết, các nghiên cứu ứng dụng mạng nơron để giải quyết các bài toán thực tế được diễn ra ở khắp mọi nơi

Trang 3

Điển hình là các ứng dụng: xử lý ngôn ngữ (Language Processing), nhận dạng kí

tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu (Signal Processing), Lọc dữ liệu (Data

Filtering),… 9

II MẠNG NƠRON SINH HỌC 9

3 Perceptron 15

4 Mạng nhiều tầng truyền thẳng (MLP) 16

Để khắc phục những khó khăn đối với những bài toán có mẫu phân chia không tuyến tính, mạng nơron nhiều lớp được sử dụng Có rất nhiều công trình nghiên cứu vềmạng MLP và đã cho thấy nhiều ưu điểm của mạng này 18

Mạng MLP là một giải pháp hữu hiệu cho việc mô hình hoá, đặc biệt với quá trình phức tạp hoặc cơ chế chưa rõ ràng Nó không đòi hỏi phải biết trước dạng hoặc tham số Mạng MLP là cơ sở cho thuật toán lan truyền ngược và khả năng xấp xỉ liên tục 18

6 Xây dựng mạng nơron: 18

6.1 Chuẩn bị dữ liệu 18

a Kích thước mẫu 18

b Mẫu con 20

c Sự phân tầng mẫu 20

d Chọn biến 21

6.2 Xác định các tham số cho mạng: 21

a Chọn hàm truyền 21

b Xác định số nơron tầng ẩn 22

c Khởi tạo trọng số: 23

6.3 Vấn đề lãng quên (catastrophic forgetting) 23

6.4 Vấn đề quá khớp 24

a Khái niệm quá khớp 24

b Giải quyết quá khớp 25

7 Huấn luyện mạng nơron: 25

Trang 4

* Các kỹ thuật học: 25

IV ỨNG DỤNG CỦA MẠNG NORON 28

PHẦN 3: MẠNG LAN TRUYỀN NGƯỢC SAI SỐ 29

4 Kỹ thuật học có giám sát: 33

PHẦN 4: BÀI TOÁN MINH HỌA 35

Sử dụng kỹ thuật học có giám sát trong mạng nơron: 35

1 Giới thiệu bài toán 35

2 Các bước cài đặt bài toán bằng lệnh trong Matlab: 35

Bước 1: Xây dựng mô hình mạng nơron cho bài toán: 35

3 Cài đặt bài toán sử dụng công cụ nntool trong Matlab: 38

KẾT LUẬN 43

TÀI LIỆU THAM KHẢO 44

PHẦN 1: GIỚI THIỆU CHUNG VỀ TÍNH TOÁN MỀM

Trong thực tế cuộc sống, các bài toán liên quan đến hoạt động nhận thức, trí tuệ của con người đều hàm chứa những đại lượng, thông tin mà bản chất là

Trang 5

thông tin, dữ liệu cũng như các mô hình toán đầy đủ và chính xác cho các bài toán

dự báo thời tiết Nhìn chung con người luôn ở trong bối cảnh là không có thôngtin đầy đủ và chính xác cho các hoạt động ra quyết định của bản thân mình

Trong lĩnh vực khoa học kĩ thuật cũng vậy, các hệ thống phức tạp trênthực tế thường không thể mô tả đầy đủ và chính xác bởi các phương trình toánhọc truyền thống Kết quả là những cách tiếp cận kinh điển dựa trên kỹ thuậtphân tích và các phương trình toán học nhanh chóng tỏ ra không còn phùhợp Vì thế, công nghệ tính toán mềm chính là một giải pháp trong lĩnh vực này

Công nghệ tính toán mềm (Soft Computing – SC) là một hệ thống có tổ

chức chặt chẽ Hệ thống này là sự hợp nhất của các phương pháp được thiết kế

để mô hình hóa nhằm giải quyết các bài toán thực không thể hoặc quá khó để

mô hình hóa bằng toán học

Đích của công nghệ tính toán mềm (SC) là phát hiện và tìm lời giải vớibài toán khó do sự mơ hồ, không chắc chắn, xấp xỉ và chỉ đúng một phần của dữliệu, nhằm đạt được sự tương đồng với khả năng trí tuệ của con người về lý giải

và học trong môi trường mơ hồ

1 Một số đặc điểm của công nghệ tính toán mềm:

- Tính toán mềm căn cứ trên các đặc điểm, hành vi của con người và tựnhiên để đưa ra các quyết định hợp lý trong điều kiện không chính xác và khôngchắc chắn để tạo ra các máy thông minh (thế hệ mới của TTNT)

- Các thành phần của tính toán mềm có sự bổ sung, hỗ trợ lẫn nhau tạo hệthống có tổ chức chặt

- Tính toán mềm là một hướng nghiên cứu mở, bất kỳ một kỹ thuật mớinào được tạo ra từ việc bắt trước trí thông minh của con người đều có thể trởthành một thành phần mới của tính toán mềm

- Công nghệ tính toán mềm bao gồm 4 thành phần chính: FuzzyComputing (FC), Evolutionary Computing (EC), Neural Computing (NC) andProbabilistic Computing (PC - còn đang phát triển)

2 Lịch sử phát triển:

Soft Evolutionary Neural Fuzzy

Computing Computing Netwwork Logic

Trang 6

để tìm lời giải hiệu quả ở chỗ đơn giản, dễ hiểu, dễ thực hiện, chi phí thấp.

Các ý tưởng cơ bản của tính toán mềm đầu tiên xuất hiện theo các bài báo của Zadeh về lý thuyết tập mờ vào 1965, sau đó là bài báo năm 1973 về phân tích hệ thống phức tạp và quá trình ra quyết định, tiếp theo là bài báo năm 1981

về lý thuyết khả năng và phân tích dữ kiện mềm Về sau, mạng thần kinh và giải thuật di truyền đã góp phần nâng cao hiệu quả của tính toán mềm.

Các ứng dụng thành công của tính toán mềm cho thấy tính toán mềm ngàycàng phát triển mạnh và đóng vai trò đặc biệt trong các lĩnh vực khác nhau của

Khoa học và Kỹ thuật

Tính toán mềm biểu thị một sự chuyển dịch, biến hóa quan trọng trong cáchướng tính toán Sự chuyển dịch này phản ảnh sự kiện trí tuệ con người, khôngnhư máy tính, có khả năng đáng kể trong việc lưu trữ và xử lý thông tin khôngchính xác và bất định, và đây mới là những thông tin thực tế và thường gặp

Trang 7

PHẦN 2: GIỚI THIỆU VỀ ANN (ARTIFICIAL NEURAL NETWORK)

I LỊCH SỬ PHÁT TRIỂN CỦA MẠNG NƠRON

Các nghiên cứu về bộ não con người đã được tiến hành từ hàng nghìn nămnay Cùng với sự phát triển của khoa học kĩ thuật đặc biệt là những tiến bộ trongngành điện tử hiện đại, việc con người bắt đầu nghiên cứu các nơron nhân tạo làhoàn toàn tự nhiên Sự kiện đầu tiên đánh dấu sự ra đời của mạng nơron nhân tạodiễn ra vào năm 1943 khi nhà thần kinh học Warren McCulloch và nhà toán họcWalter Pitts viết bài báo mô tả cách thức các nơron hoạt động Họ cũng đã tiếnhành xây dựng một mạng nơron đơn giản bằng các mạch điện Các nơron của họđược xem như là các thiết bị nhị phân với ngưỡng cố định Kết quả của các môhình này là các hàm logic đơn giản chẳng hạn như “ a OR b” hay “a AND b”

Tiếp bước các nghiên cứu này, năm 1949 Donald Hebb cho xuất bản cuốn

sách Organization of Behavior Cuốn sách đã chỉ ra rằng các nơron nhân tạo sẽ

trở nên hiệu quả hơn sau mỗi lần chúng được sử dụng

Những tiến bộ của máy tính đầu những năm 1950 giúp cho việc mô hìnhhóa các nguyên lý của những lý thuyết liên quan tới cách thức con người suynghĩ đã trở thành hiện thực Nathanial Rochester sau nhiều năm làm việc tại cácphòng thí nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để môphỏng một mạng nơron Trong thời kì này tính toán truyền thống đã đạt đượcnhững thành công rực rỡ trong khi đó những nghiên cứu về nơron còn ở giaiđoạn sơ khai Mặc dù vậy những người ủng hộ triết lý “thinking machines” (cácmáy biết suy nghĩ) vẫn tiếp tục bảo vệ cho lập trường của mình

Năm 1956 dự án Dartmouth nghiên cứu về trí tuệ nhân tạo (ArtificialIntelligence) đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạolẫn mạng nơron Tác động tích cực của nó là thúc đẩy hơn nữa sự quan tâm củacác nhà khoa học về trí tuệ nhân tạo và quá trình xử lý ở mức đơn giản của mạngnơron trong bộ não con người

Những năm tiếp theo của dự án Dartmouth, John von Neumann đã đề xuấtviệc mô phỏng các nơron đơn giản bằng cách sử dụng rơle điện áp hoặc đènchân không Nhà sinh học chuyên nghiên cứu về nơron Frank Rosenblatt cũng

bắt đầu nghiên cứu về Perceptron Sau thời gian nghiên cứu này Perceptron đã

Trang 8

được cài đặt trong phần cứng máy tính và được xem như là mạng nơron lâu đờinhất còn được sử dụng đến ngày nay Perceptron một tầng rất hữu ích trong việcphân loại một tập các đầu vào có giá trị liên tục vào một trong hai lớp.Perceptron tính tổng có trọng số các đầu vào, rồi trừ tổng này cho một ngưỡng

và cho ra một trong hai giá trị mong muốn có thể Tuy nhiên Perceptron còn rấtnhiều hạn chế, những hạn chế này đã được chỉ ra trong cuốn sách về Perceptroncủa Marvin Minsky và Seymour Papert viết năm 1969

Năm 1959, Bernard Widrow và Marcian Hoff thuộc trường đại họcStanford đã xây dựng mô hình ADALINE (ADAptive LINear Elements) vàMADALINE (Multiple ADAptive LINear Elements) Các mô hình này sử dụng

quy tắc học Least-Mean-Squares (LMS: Tối thiểu bình phương trung bình).

MADALINE là mạng nơron đầu tiên được áp dụng để giải quyết một bài toánthực tế Nó là một bộ lọc thích ứng có khả năng loại bỏ tín hiệu dội lại trênđường dây điện thoại Ngày nay mạng nơron này vẫn được sử dụng trong cácứng dụng thương mại

Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lantruyền ngược (back-propagation) Tuy nhiên phải mất một vài năm thì phươngpháp này mới trở nên phổ biến Các mạng lan truyền ngược được biết đến nhiềunhất và được áp dụng rộng dãi nhất cho đến ngày nay

Thật không may, những thành công ban đầu này khiến cho con ngườinghĩ quá lên về khả năng của các mạng nơron Chính sự cường điệu quá mức đã

có những tác động không tốt đến sự phát triển của khoa học và kỹ thuật thời bấygiờ khi người ta lo sợ rằng đã đến lúc máy móc có thể làm mọi việc của conngười Những lo lắng này khiến người ta bắt đầu phản đối các nghiên cứu vềmạng nơron Thời kì tạm lắng này kéo dài đến năm 1981

Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John Hopfieldbằng sự phân tích toán học rõ ràng, mạch lạc, ông đã chỉ ra cách thức các mạngnơron làm việc và những công việc chúng có thể thực hiện được Cống hiến củaHopfield không chỉ ở giá trị của những nghiên cứu khoa học mà còn ở sự thúcđẩy trở lại các nghiên cứu về mạng nơron

Cũng trong thời gian này, một hội nghị với sự tham gia của Hoa Kỳ và NhậtBản bàn về việc hợp tác/cạnh tranh trong lĩnh vực mạng nơron đã được tổ chức tại

Trang 9

việc tạo ra máy tính thế hệ thứ 5 Tiếp nhận điều đó, các tạp chí định kỳ của Hoa

Kỳ bày tỏ sự lo lắng rằng nước nhà có thể bị tụt hậu trong lĩnh vực này Vì thế,ngay sau đó, Hoa Kỳ nhanh chóng huy động quĩ tài trợ cho các nghiên cứu và ứngdụng mạng nơ ron

Năm 1985, viện vật lý Hoa Kỳ bắt đầu tổ chức các cuộc họp hàng năm vềmạng nơron ứng dụng trong tin học (Neural Networks for Computing)

Năm 1987, hội thảo quốc tế đầu tiên về mạng nơron của Viện các kỹ sưđiện và điện tử IEEE (Institute of Electrical and Electronic Engineer) đã thu húthơn 1800 người tham gia

Ngày nay, không chỉ dừng lại ở mức nghiên cứu lý thuyết, các nghiên cứuứng dụng mạng nơron để giải quyết các bài toán thực tế được diễn ra ở khắp mọinơi Các ứng dụng mạng nơron ra đời ngày càng nhiều và ngày càng hoàn thiệnhơn Điển hình là các ứng dụng: xử lý ngôn ngữ (Language Processing), nhậndạng kí tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition),nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu (Signal Processing), Lọc dữliệu (Data Filtering),…

II MẠNG NƠRON SINH HỌC

Không có một định nghĩa tổng quát về mạng nơ ron, song các chuyên giatrong lĩnh vực này đều có chung một quan điểm: “Mạng nơ ron bao gồm một tậphợp các phần tử xử lý đơn giản mà chúng ta gọi là các nơ ron, được liên kết vớinhau và hoạt động song song với nhau Tính năng của mạng phụ thuộc vào cấu trúccủa mạng, trọng số liên kết giữa các nơ ron và quá trình xử lý bên trong các nơ ron.Mạng nơ ron có khả năng học số liệu và tổng quát hóa từ các số liệu đã học”

Các mạng nơ ron được xây dựng để mô phỏng chức năng của một mạng

nơ ron sinh học nói chung hay mạng nơ ron sinh học của con người nói riêng

* Mô hình và quá trình xử lý trong nơ ron sinh học:

thân nơ ron (cell body), bên trong có nhân (soma), hệ thống dây thần kinh vào hình cây (dendrites) và một đầu dây thần kinh ra (axon).

Các đầu dây thần kinh vào nhận tín hiệu từ các nơ ron khác, nhân nơ ron

sẽ sinh ra tín hiệu ở đầu ra của nơ ron và truyền tới các nơ ron khác được nối vớiđầu ra của chúng

Trang 10

Điểm nối giữa các dây thần kinh vào và ra gọi là các khớp Tín hiệu truyềntrong các dây thần kinh là tín hiệu điện, dòng điện là dòng chuyển động của các ion.

Tại khớp thần kinh, các tín hiệu điện ở đầu ra sẽ kích thích làm giải phóngcác chất hóa học, được gọi là chất truyền nơ ron Các chất truyền nơ ron sẽkhuếch tán qua khe hở khớp và xuyên qua màng khớp Các chất hóa học này lạikích thích tạo ra các tín hiệu điện ở đầu vào của các nơ ron khác

Khớp thần kinh hoạt động một chiều, tức là chỉ có các tín hiệu điện ở đầu

ra mới tạo thành được các tín hiệu điện ở đầu vào của các nơ ron khác mà không

có chiều ngược lại Hơn nữa tại các khớp còn có tỷ lệ biến đổi thông tin giữađầu vào và đầu ra, gọi là độ khuếch đại lớp

Hình 1: Mô hình nơ ron sinh họcNhư vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu

vào, xử lý các tín hiệu này và cho ra một tín hiệu output Tín hiệu output này sau

đó được truyền đi làm tín hiệu đầu vào cho các nơron khác

Tất cả các đặc điểm trên đều được vận dụng một cách triệt để trong việcxây dựng một mạng nơ ron nhân tạo nhằm tạo ra một mạng nơ ron giống vớimạng nơ ron sinh học nhất

III MẠNG NƠRON NHÂN TẠO

1 Khái niệm:

Mạng nơron nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng

Trang 11

các hệ nơron sinh học Nó được tạo lên từ một số lượng lớn các phần tử (gọi là

phần tử xử lý hay nơron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó

Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận

dạng mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu huấn luyện Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa

- Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín

hiệu này thường được đưa vào dưới dạng một vector n chiều

- Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là

trọng số liên kết – Synaptic weight) Trọng số liên kết giữa tín hiệu vào thứ j với

tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tụctrong quá trình học mạng

Trọng số kết nối: W = [w1, w2, …, wn]T

- Bộ tổng (Summing function) (u): Thường dùng để tính tổng của tích các

đầu vào với trọng số liên kết của nó

- Ngưỡng (còn gọi là độ lệch - bias): Kí hiệu: θ

Trang 12

Ngưỡng này thường được đưa vào như một thành phần của hàm truyền

- Hàm truyền (Transfer function) : Hàm này được dùng để giới hạn phạm

vi đầu ra của mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đãcho Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn[0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặcphi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinhnghiệm của người thiết kế mạng

- Đầu ra (Output): Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có

tối đa là một đầu ra

Về bản chất một mạng nơron có chức năng như là một hàm ánh xạ F: X

→ Y, trong đó X là không gian trạng thái đầu vào (input state space) và Y là không gian trạng thái đầu ra (output state space) của mạng Các mạng chỉ đơn

giản là làm nhiệm vụ ánh xạ các vector đầu vào x ∈ X sang các vector đầu ra y

∈ Y thông qua “bộ lọc” (filter) các trọng số Tức là y = F(x) = f(W, x), trong đó

W là ma trận trọng số liên kết Hoạt động của mạng thường là các tính toán sốthực trên các ma trận

Đối với mỗi nơ ron chúng ta tính một giá trị Net, là hàm của các tín hiệuđầu vào xi và trọng số wi:

Net = w 1 x 1 + w 2 x 2 + … + w n x n

Tín hiệu ra tại mỗi nơ ron là một hàm số của Net:

Y =f(Net) Hàm truyền f thường sử dụng trong các mô hình mạng nơron như sau:

Symmetrical Hard

Limit (hardlims)

Trang 13

Linear (purelin) y = f (u) = α u

2 Các kiến trúc mạng:

Mặc dù mỗi nơron đơn lẻ có thể thực hiện những chức năng xử lý thôngtin nhất định, sức mạnh của tính toán nơron chủ yếu có được nhờ sự kết hợp cácnơron trong một kiến trúc thống nhất Một mạng nơron là một mô hình tính toánđược xác định qua các tham số: kiểu nơron (như là các nút nếu ta coi cả mạngnơron là một đồ thị), kiến trúc kết nối (sự tổ chức kết nối giữa các nơron) vàthuật toán học (thuật toán dùng để học cho mạng)

Cách thức kết nối các nơron trong mạng xác định kiến trúc (topology) của mạng Các nơron trong mạng có thể kết nối đầy đủ (fully connected) tức là mỗi nơron đều được kết nối với tất cả các nơron khác, hoặc kết nối cục bộ (partially connected) chẳng hạn chỉ kết nối giữa các nơron trong các tầng khác nhau.

Người ta chia ra hai loại kiến trúc mạng chính:

- Tự kết hợp (autoassociative): là mạng có các nơron đầu vào cũng là các

nơron đầu ra Mạng Hopfield là một kiểu mạng tự kết hợp

Trang 14

Hình 2: Mạng tự kết hợp

- Kết hợp khác kiểu (heteroassociative): là mạng có tập nơron đầu vào và

đầu ra riêng biệt Perceptron, các mạng Perceptron nhiều tầng (MLP: MultiLayer Perceptron), mạng Kohonen, … thuộc loại này

Hình 3: Mạng kết hợp khác kiểu

Ngoài ra tùy thuộc vào mạng có các kết nối ngược (feedback connections)

từ các nơron đầu ra tới các nơron đầu vào hay không, người ta chia ra làm 2 loạikiến trúc mạng

- Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc

mạng không có các kết nối ngược trở lại từ các nơron đầu ra về các nơron đầuvào; mạng không lưu lại các giá trị output trước và các trạng thái kích hoạt củanơron Các mạng nơron truyền thẳng cho phép tín hiệu di chuyển theo mộtđường duy nhất; từ đầu vào tới đầu ra, đầu ra của một tầng bất kì sẽ không ảnhhưởng tới tầng đó Các mạng kiểu Perceptron là mạng truyền thẳng

Hình 4: Mạng truyền thẳng

Trang 15

- Kiến trúc phản hồi (Feedback architecture): là kiểu kiến trúc mạng có

các kết nối từ nơron đầu ra tới nơron đầu vào Mạng lưu lại các trạng thái trước

đó, và trạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà cònphụ thuộc vào các trạng thái trước đó của mạng Mạng Hopfield thuộc loại này

Hình 5: Mạng phản hồi

3 Perceptron

Perceptron là mạng nơron đơn giản nhất, nó chỉ gồm một nơron, nhận đầuvào là vector có các thành phần là các số thực và đầu ra là một trong hai giá trị +1hoặc -1

Hình 6: PerceptronĐầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số cácthành phần của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàmtruyền (Perceptron dùng hàm Hard-limit làm hàm truyền) và kết quả của hàmtruyền sẽ là đầu ra của mạng

Trang 16

- Lấy một vecto vào x từ tập huấn luyện.

chỉnh trọng mọi trọng số Wi:

wi = c(dk – yk)xi

3.2 Giải thuật học Perceptron:

- Với mỗi tập các mẫu học D={(x,d)}

x là vecto đầu vào

d là giá trị đầu ra mong muốn (-1 hoặc 1)

- Với một ví dụ học x được perceptron phân lớp chính xác, thì vecto trọng

số w không thay đổi

- Nếu d=1 nhưng perceptron lại sinh ra -1 (Out=-1) thì w cần được thayđổi sao cho giá trị New(w,x) tăng lên

- Nếu d=-1 nhưng perceptron lại sinh ra 1 (Out=1) thì w cần được thay đổisao cho giá trị New(w,x) giảm đi

- Perceptron sẽ điều chỉnh trọng số trên thành phần thứ I của vecto đầuvào một lượng wi = c(d – f(Ʃwixi))xi

f(Ʃwixi)) chính là giá trị đầu ra của perceptron, nó có giá trị +1 hoặc -1

vecto đầu vào:

+ Nếu giá trị đầu ra mong muốn và giá trị đầu ra tính toán t bằng nhau thìkhông làm gì cả

+ Nếu giá trị đầu ra thực là -1 và 1 là giá trị mong muốn thì tăng trọng sốcủa đường thứ i lên (2cxi)

+ Nếu giá trị đầu ra thực là 1 và -1 là giá trị mong muốn thì giảm trọng sốcủa đường thứ i (-2cxi)

- c được gọi là hằng số thể hiện tốc độ học vì nếu c lớn thì các giá trị điềuchỉnh wi sẽ lớn, như vậy đẩy nhanh quá trình wi hội tụ về giá trị đúng của nó

Perceptron cho phép phân loại chính xác trong trường hợp dữ liệu có thểphân chia tuyến tính (các mẫu nằm trên hai mặt đối diện của một siêu phẳng)

Nó cũng phân loại đúng đầu ra các hàm AND, OR và các hàm có dạng đúng khi

n trong m đầu vào của nó đúng (n ≤ m) Nó không thể phân loại được đầu ra củahàm XOR

4 Mạng nhiều tầng truyền thẳng (MLP)

Trang 17

Mô hình mạng nơron được sử dụng rộng rãi nhất là mô hình mạng nhiềutầng truyền thẳng (MLP: Multi Layer Perceptron) Một mạng MLP tổng quát làmạng có n (n≥2) tầng (thông thường tầng đầu vào không được tính đến): trong

đó gồm một tầng đầu ra (tầng thứ n) và (n-1) tầng ẩn

Hình 7: Mạng MLP tổng quátKiến trúc của một mạng MLP tổng quát có thể mô tả như sau:

- Đầu vào là các vector (x1, x2, , xn) trong không gian n chiều, đầu ra làcác vector (y1, y2, , ym) trong không gian m chiều Đối với các bài toán phânloại, n chính là kích thước của mẫu đầu vào, m chính là số lớp cần phân loại.Mỗi nơron thuộc tầng sau liên kết với tất cả các nơron thuộc tầng liền trước nó

- Đầu ra của nơron tầng trước là đầu vào của nơron thuộc tầng liền sau nó.Hoạt động của mạng MLP như sau: tại tầng đầu vào các nơron nhận tín hiệuvào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả củahàm truyền); kết quả này sẽ được truyền tới các nơron thuộc tầng ẩn thứ nhất; cácnơron tại đây tiếp nhận như là tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩnthứ 2…; quá trình tiếp tục cho đến khi các nơron thuộc tầng ra cho kết quả

* Một số kết quả đã được chứng minh:

- Bất kì một hàm Boolean nào cũng có thể biểu diễn được bởi một mạngMLP 2 tầng trong đó các nơron sử dụng hàm truyền sigmoid

- Tất cả các hàm liên tục đều có thể xấp xỉ bởi một mạng MLP 2 tầng sửdụng hàm truyền sigmoid cho các nơron tầng ẩn và hàm truyền tuyến tính chocác nơron tầng ra với sai số nhỏ tùy ý

- Mọi hàm bất kỳ đều có thể xấp xỉ bởi một mạng MLP 3 tầng sử dụng hàmtruyền sigmoid cho các nơron tầng ẩn và hàm truyền tuyến tính cho các nơrontầng ra

Trang 18

Để khắc phục những khó khăn đối với những bài toán có mẫu phânchia không tuyến tính, mạng nơron nhiều lớp được sử dụng Có rất nhiều côngtrình nghiên cứu vềmạng MLP và đã cho thấy nhiều ưu điểm của mạng này

Mạng MLP là một giải pháp hữu hiệu cho việc mô hình hoá, đặc biệt vớiquá trình phức tạp hoặc cơ chế chưa rõ ràng Nó không đòi hỏi phải biếttrước dạng hoặc tham số Mạng MLP là cơ sở cho thuật toán lan truyềnngược và khả năng xấp xỉ liên tục

- Bảo đảm sẽ hội tụ về một cực tiểu cục bộ, nhưng không đảm bảo sẽ hội

tụ về một trong các mẫu được lưu trữ

- Gồm 1 lớp đơn các nơron kết nối đầy đủ

- Các nơron liên kết với mỗi nơron khác nhưng không tự kết nối

N 2

N 3

N 4

N1>N4 N1>N3

N3>N1 N3>N2 N3>N4 N4>N3

N4>N2

N4>N1 N2>N4

N2>N3

N1>N2 N2>N1

Trang 19

- Nhiễu: khi dữ liệu bị nhiễu (thông tin sai hoặc thiếu thông tin) kíchthước mẫu cần tăng

Đối với mạng truyền thẳng (feedforward), cho hàm đích có độ phức tạp

nhất định, kèm một lượng nhiễu nhất định thì độ chính xác của mô hình luôn cómột giới hạn nhất định Có thể cần tập mẫu vô hạn để đạt đến giới hạn chính xác.Nói cách khác độ chính xác của mô hình là hàm theo kích thước tập mẫu Khikích thước mẫu tăng, độ chính xác sẽ được cải thiện - lúc đầu nhanh, nhưng chậmdần khi tiến đến giới hạn

Dạng tổng quát của mối liên hệ giữa sai số và kích thước mẫu như sau:

Hình 12: Mối liên hệ giữa sai số và kích thước mẫuTrong thực hành thường gặp phải 2 vấn đề sau :

- Đối với hầu hết bài toán thực tế, mẫu bị ràng buộc chặt chẽ với dữ liệu

có sẵn Ta thường không có được số lượng mẫu mong muốn

- Kích thước mẫu cũng có thể bị giới hạn bởi bộ nhớ hoặc khả năng lưutrữ của máy tính Nếu tất cả các dữ liệu đồng thời được giữ trong bộ nhớ suốtthời gian luyện, kích thước bộ nhớ máy tính sẽ bị chiếm dụng nghiêm trọng

Nếu lưu trữ trên đĩa sẽ cho phép dùng mẫu lớn hơn nhưng thao tác đọc đĩa

từ thế hệ này sang thế hệ khác khiến cho tiến trình chậm đi rất nhiều

Chú ý: việc tăng kích thước mẫu không làm tăng thời gian luyện Những

tập mẫu lớn hơn sẽ yêu cầu ít thế hệ luyện hơn Nếu ta tăng gấp đôi kích thướccủa mẫu, mỗi thế hệ luyện sẽ tốn thời gian khoảng gấp đôi, nhưng số thế hệ cần

Trang 20

luyện sẽ giảm đi một nửa Điều này có nghĩa là kích thước mẫu (cũng có nghĩa

là độ chính xác của mô hình) không bị giới hạn bởi thời gian luyện

Luật cơ bản là: Sử dụng mẫu lớn nhất có thể sao cho đủ khả năng lưu trữ

trong bộ nhớ trong (nếu lưu trữ đồng thời) hoặc trên đĩa từ (nếu đủ thời gian đọc

từ đĩa)

b Mẫu con

Trong xây dựng mô hình cần chia tập mẫu thành 2 tập con: một để xây

dựng mô hình gọi là tập huấn luyện (training set), và một để kiểm nghiệm mô hình gọi là tập kiểm tra (test set) Thông thường dùng 2/3 mẫu cho huấn luyện

và 1/3 cho kiểm tra Điều này là để tránh tình trạng quá khớp (overfitting)

c Sự phân tầng mẫu

Nếu ta tổ chức mẫu sao cho mỗi mẫu trong quần thể đều có cơ hội nhưnhau thì tập mẫu được gọi là tập mẫu đại diện Tuy nhiên khi ta xây dựng mộtmạng để xác định xem một mẫu thuộc một lớp hay thuộc một loại nào thì điều tamong muốn là các lớp có cùng ảnh hưởng lên mạng, để đạt được điều này ta cóthể sử dụng mẫu phân tầng Xét ví dụ sau[1]:

Giả sử ta xây dựng mô hình nhận dạng chữ cái viết tay tiếng Anh, vànguồn dữ liệu của ta có 100.000 ký tự mà mỗi ký tự được kèm theo một mã chobiết nó là chữ cái nào Chữ cái xuất hiện thường xuyên nhất là e, nó xuất hiện11.668 lần chiếm khoảng 12%; chữ cái xuất hiện ít nhất là chữ z, chỉ có 50 lầnchiếm 0,05%

Trước hết do giới hạn của bộ nhớ máy tính, giả sử bộ nhớ chỉ có thể xử lýđược 1300 mẫu Ta tạo hai dạng tập mẫu: tập mẫu đại diện và tập mẫu phântầng Với tập mẫu đại diện, chữ e sẽ xuất hiện 152 lần (11,67% của 1300) trongkhi đó chữ z chỉ xuất hiện một lần (0,05% của 1300) Ngược lại ta có thể tạo tậpmẫu phân tầng để mỗi chữ có 50 mẫu Ta thấy rằng nếu chỉ có thể dùng 1300mẫu thì tập mẫu phân tầng sẽ tạo ra mô hình tốt hơn Việc tăng số mẫu của z từ

1 lên 50 sẽ cải thiện rất nhiều độ chính xác của z, trong khi nếu giảm số mẫu của

e từ 152 xuống 50 sẽ chỉ giảm chút ít độ chính xác của e

Bây giờ giả sử ta dùng máy tính khác có bộ nhớ đủ để xử lý một lượngmẫu gấp 10 lần, như vậy số mẫu sẽ tăng lên 13000 Rõ ràng việc tăng kích thướcmẫu sẽ giúp cho mô hình chính xác hơn Tuy nhiên ta không thể dùng tập mẫu

Trang 21

phân tầng như trên nữa vì lúc này ta sẽ cần tới 500 mẫu cho chữ z trong khi tachỉ có 50 mẫu trong nguồn dữ liệu Để giải quyết điều này ta tạo tập mẫu nhưsau: tập mẫu gồm tất cả các chữ hiếm với số lần xuất hiện của nó và kèm thêmthông tin về chữ có nhiều mẫu nhất Chẳng hạn ta tạo tập mẫu có 50 mẫu củachữ z (đó là tất cả) và 700 mẫu của chữ e (chữ mà ta có nhiều mẫu nhất)

Như vậy trong tập mẫu của ta, chữ e có nhiều hơn chữ z 14 lần Nếu tamuốn các chữ z cũng có nhiều ảnh hưởng như các chữ e, khi học chữ z ta chochúng trọng số lớn hơn 14 lần Để làm được điều này ta có thể can thiệp chút ítvào quá trình lan truyền ngược trên mạng Khi mẫu học là chữ z, ta thêm vào 14lần đạo hàm, nhưng khi mẫu là chữ e ta chỉ thêm vào 1 lần đạo hàm Ở cuối thế

hệ, khi cập nhật các trọng số, mỗi chữ z sẽ có ảnh hưởng hơn mỗi chữ e là 14lần, và tất cả các chữ z gộp lại sẽ có ảnh hưởng bằng tất cả các chữ e

- Chọn trong số các biến đã được biến đổi, biến nào sẽ được đưa vào môhình: không phải bất kì thông tin nào về mẫu cũng có lợi cho mạng Trong ví dụ

dự đoán người có bị ung thư hay không ở trên, những thuộc tính như “nghềnghiệp”, “nơi sinh sống”, “tiểu sử gia đình”,… là những thông tin có ích Tuynhiên những thông tin như “thu nhập”, “số con cái”,… là những thông tin khôngcần thiết

6.2 Xác định các tham số cho mạng:

a Chọn hàm truyền

Không phải bất kỳ hàm truyền nào cũng cho kết quả như mong muốn Để

trả lời cho câu hỏi «hàm truyền như thế nào được coi là tốt ? » là điều không hề

đơn giản Có một số quy tắc khi chọn hàm truyền như sau:

Trang 22

- Không dùng hàm truyền tuyến tính ở tầng ẩn Vì nếu dùng hàm truyềntuyến tính ở tầng ẩn thì sẽ làm mất vai trò của tầng ẩn đó: Xét tầng ẩn thứ i:

Tổng trọng số ni = wiai-1 + bi

ai = f(ni) = wf ni +bf (hàm truyền tuyến tính) Khi đó: tổng trọng số tại tầng thứ (i + 1)

ni+1 = wi+1ai + bi+1

= wi+1[wf ni +bf] + bi+1

= wi+1 [wf(wiai-1 + bi) + bf] + bi+1

= Wai-1 + b Như vậy ni+1 = Wai-1 + b, và tầng i đã không còn giá trị nữa

- Chọn các hàm truyền sao cho kiến trúc mạng nơron là đối xứng (tức làvới đầu vào ngẫu nhiên thì đầu ra có phân bố đối xứng) Nếu một mạng nơronkhông đối xứng thì giá trị đầu ra sẽ lệch sang một bên, không phân tán lên toàn bộmiền giá trị của output Điều này có thể làm cho mạng rơi vào trạng thái bão hòa,không thoát ra được

Trong thực tế người ta thường sử dụng các hàm truyền dạng – S Một hàms(u) được gọi là hàm truyền dạng – S nếu nó thỏa mãn 3 tính chất sau:

– s(u) là hàm bị chặn: tức là tồn tại các hằng số C1 ≤ C2 sao cho: C1 ≤s(u) ≤ C2 với mọi u

– s(u) là hàm đơn điệu tăng: giá trị của s(u) luôn tăng khi u tăng Do tínhchất thứ nhất, s(u) bị chặn, nên s(u) sẽ tiệm cận tới giá trị cận trên khi u dần tớidương vô cùng, và tiệm cận giá trị cận dưới khi u dần tới âm vô cùng

– s(u) là hàm khả vi: tức là s(u) liên tục và có đạo hàm trên toàn trục số Một hàm truyền dạng - S điển hình và được áp dụng rộng rãi là hàmSigmoid

b Xác định số nơron tầng ẩn

Câu hỏi chọn số lượng noron trong tầng ẩn của một mạng MLP thế nào làkhó, nó phụ thuộc vào bài toán cụ thể và vào kinh nghiệm của nhà thiết kếmạng Nếu tập dữ liệu huấn luyện được chia thành các nhóm với các đặc tínhtương tự nhau thì số lượng các nhóm này có thể được sử dụng để chọn số lượngnơron ẩn Trong trường hợp dữ liệu huấn luyện nằm rải rác và không chứa cácđặc tính chung, số lượng kết nối có thể gần bằng với số lượng các mẫu huấnluyện để mạng có thể hội tụ Có nhiều đề nghị cho việc chọn số lượng nơron

Ngày đăng: 06/10/2015, 00:19

HÌNH ẢNH LIÊN QUAN

Hình 1: Mô hình nơ ron sinh học - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 1 Mô hình nơ ron sinh học (Trang 10)
Hình 1: Mô hình nơron nhân tạo Các thành phần cơ bản của một nơron nhân tạo bao gồm: - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 1 Mô hình nơron nhân tạo Các thành phần cơ bản của một nơron nhân tạo bao gồm: (Trang 11)
Hình 4: Mạng truyền thẳng - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 4 Mạng truyền thẳng (Trang 14)
Hình 3: Mạng kết hợp khác kiểu - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 3 Mạng kết hợp khác kiểu (Trang 14)
Hình 2: Mạng tự kết hợp - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 2 Mạng tự kết hợp (Trang 14)
Hình 6: Perceptron - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 6 Perceptron (Trang 15)
Hình 5: Mạng phản hồi - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 5 Mạng phản hồi (Trang 15)
Hình 7: Mạng MLP tổng quát Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau: - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 7 Mạng MLP tổng quát Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau: (Trang 17)
Hình 12: Mối liên hệ giữa sai số và kích thước mẫu Trong thực hành thường gặp phải 2 vấn đề sau : - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 12 Mối liên hệ giữa sai số và kích thước mẫu Trong thực hành thường gặp phải 2 vấn đề sau : (Trang 19)
Hình 13: Huấn luyện luân phiên trên hai tập mẫu - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 13 Huấn luyện luân phiên trên hai tập mẫu (Trang 24)
Hình 9: Sơ đồ kỹ thuật học có giám sát - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 9 Sơ đồ kỹ thuật học có giám sát (Trang 26)
Hình 10: Sơ đồ kỹ thuật học không giám sát - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
Hình 10 Sơ đồ kỹ thuật học không giám sát (Trang 27)
3. Sơ đồ giải thuật học BP: - Tìm hiểu kỹ thuật mạng nơ ron nhân tạo. đi sâu mạng back propagation of error. cài đặt minh họa
3. Sơ đồ giải thuật học BP: (Trang 33)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w