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

Tiểu luận môn hệ hỗ trợ quyết định TÌM HIỂU MẠNG NEURAL NHÂN TẠO VÀ THUẬT TOÁN LAN TRUYỀN NGƯỢC

41 642 5

Đ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 41
Dung lượng 1,02 MB

Nội dung

Bài tiểu luận này xin được trìnhbày một số nội dung khái quát về mạng neural nhân tạo và thuật toán lan truyền ngượctrong mạng neural nhân tạo cùng một chương trình demo nhỏ để minh họa

Trang 1

KHOA KHOA HỌC MÁY TÍNH

Bài thu hoạch môn học

Hệ hỗ trợ ra quyết định

Đề tài

TÌM HIỂU MẠNG NEURAL NHÂN TẠO

VÀ THUẬT TOÁN LAN TRUYỀN NGƯỢC

Giảng viên giảng dạy: PGS.TS Đỗ Phúc

Họ tên học viên: Lê Hoàng Vân

Mã số học viên: CH1301071

Thành phố Hồ Chí Minh – 2014

Trang 2

Mục lục

Mục lục 2

Danh mục hình ảnh 3

LỜI MỞ ĐẦU 4

CHƯƠNG I: MẠNG NEURAL NHÂN TẠO 5

1 Giới thiệu 5

2 Kiến Trúc Mạng 7

2.1 Mạng Một Tầng 7

2.2 Mạng Đa Tầng 9

3 Các luật học 10

3.1 Học có giám sát 10

3.2 Học không giám sát 10

3.3 Học tăng cường 10

3.4 Ví dụ 11

CHƯƠNG II: MẠNG NEURAL TRUYỀN THẲNG 13

1 Kiến trúc cơ bản 13

1.1 Mạng truyền thẳng 13

1.2 Mạng hồi quy 15

2 Khả năng thể hiện 16

3 Vấn đề thiết kế cấu trúc mạng 17

3.1 Số lớp ẩn 17

3.2 Số đơn vị trong lớp ẩn 18

CHƯƠNG III: THUẬT TOÁN LAN TRUYỀN NGƯỢC 20

1 Mô tả thuật toán 20

2 Sử dụng thuật toán lan truyền ngược 28

3 Một số hạn chế của thuật toán lan truyền ngược 32

CHƯƠNG IV: CHƯƠNG TRÌNH DEMO 33

1 Demo 1 33

Trang 3

2 Demo 2 34

KẾT LUẬN 38

PHỤ LỤC 39

Sơ lược về neural sinh học 39

TÀI LIỆU THAM KHẢO 41

Danh mục hình ảnh Hình 1 : Mô hình neuron nhân tạo ở mức đơn giản 5

Hình 2: Hàm Heaviside 6

Hình 3: Mô hình mạng 1 lớp 8

Hình 4: Ví dụ về một mô hình mạng đa tầng 9

Hình 5: Một ví dụ huấn luyện neuron 11

Hình 6: Mạng neural truyền thẳng nhiều lớp 14

Hình 7: Một ví dụ của mạng hồi quy 16

Hình 8: Các xấp xỉ hàm (1) 29

Hình 9: Các xấp xỉ hàm (2) 30

Hình 10: Màn hình chính demo 1 33

Hình 11: Các lớp cơ bản của Demo 1 34

Hình 12 Cấu trúc mạng neural được sử dụng 35

Hình 13 Màn hình chính của Demo 2 36

Hình 14: Mô hình neuron sinh học 39

Trang 4

LỜI MỞ ĐẦU

Ngày nay với sự phát triển như vũ bão của khoa học kỹ thuật, đặc biệt là tronglĩnh vực công nghệ thông tin Nhiều chương trình thông minh có khả năng hỗ trợ giảiquyết những vấn đề khó khăn của con người đã ra đời và đóng góp những thành tựu tolớn Những chương trình này được ứng dụng nhiều công nghệ tri thức tiên tiến Mộttrong những công nghệ đó là mạng neural nhân tạo Bài tiểu luận này xin được trìnhbày một số nội dung khái quát về mạng neural nhân tạo và thuật toán lan truyền ngượctrong mạng neural nhân tạo cùng một chương trình demo nhỏ để minh họa thuật toán

Trang 5

CHƯƠNG I: MẠNG NEURAL NHÂN TẠO

1 Giới thiệu

Neural nhân tạo là một đơn vị tính toán có nhiều đầu vào và một đầu ra

Hình 1 : Mô hình neuron nhân tạo ở mức đơn giản

Neural này sẽ hoạt động như sau: giả sử có N inputs, neural sẽ có N weights(trọng số) tương ứng với N đường truyền inputs Neural sẽ lấy tổng cótrọng số của tất

cả các inputs Nói như thế có nghĩa là neural sẽ lấy input thứ nhất, nhân với weight trênđường input thứ nhất, lấy input thứ hai nhân với weight của đường input thứ hai v.v ,rồi lấy tổng của tất cả các kết quả thu được Đường truyền nào có weight càng lớn thìtín hiệu truyền qua đó càng lớn, như vậy có thể xem weight là đại lượng tương đươngvới synapse trong neural sinh học Có thể viết kết quả lấy tổng của neural như sau:

Kết quả này sẽ được so sánh với threshold t của neural , nếu nó lớn hơn t thìneural cho output là 1, còn nếu nhỏ hơn thì output là 0 Ngoài ra ta cũng có thể trừtổng nói trên cho t, rồi so sánh kết quả thu được với 0, nếu kết quả là dương thì neural

Trang 6

cho ouput bằng 1, nếu kết quả âm thì output là 0 Dưới dạng toán học ta có thể viếtoutput của neural như sau:

Trang 7

2 Kiến Trúc Mạng

Là một hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay còn gọi là neural)tựa như neural thần kinh của não người, hoạt động song song và được nối với nhau bởicác liên kết neural Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho tính kíchhoạt hoặc ức chế giữa các neural

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

2.1 Mạng Một Tầng

Mạng một tầng với S neural được minh họa trong hình 3.1 Chú ý rằng với mỗimột đầu vào trong số R đầu vào sẽ được nối với từng nơ-ron và ma trận trọng số bâygiờ sẽ có S hàng

Một tầng bao gồm ma trận trọng số, các bộ cộng, vector ngưỡng b, hàm chuyển

và vector đầu ra a

Mỗi phần tử của vector đầu vào p được nối với từng nơ-ron thông qua ma trận

trọng số W Mỗi nơ-ron có một ngưỡng , một bộ cộng, một hàm chuyển f và một

đầu ra

Cùng với nhau, các đầu ra tạo thành một vector đầu ra a.

Thông thường thì số lượng đầu vào của tầng khác với số lượng nơ-ron.(R#S)

Có phải tất cả các nơ-ron trong cùng một tầng phải có hàm chuyển giống nhau ? Câutrả lời là không; bạn có thể định nghĩa các nơ-ron trong một tầng có hàm chuyển khác

b i

b i

Trang 8

nhau bằng cách kết hợp song song hai mạng nơ-ron giống ở trên Cả hai sẽ có đầu vàogiống nhau, và mỗi mạng sản xuất ra vài đầu ra.

Ma trận trọng số cho các phần tử trong vector đầu vào W:

Trang 9

Các chỉ số hàng của các phần tử trong ma trận W chỉ ra nơ-ron đích đã kết hợp

với trọng số đó, trong khi chỉ số cột cho biết đầu vào cho trọng số đó Vì vậy, các chỉ

số trong w3,2 nói rằng đây là trọng số của đầu vào thứ 2 nối với nơ-ron thứ 3.

2.2 Mạng Đa Tầng

Hình 4:Ví dụ về một mô hình mạng đa tầng

Mô hình mạng neural ở trên gồm 3 lớp: lớp nhập (input), lớp ẩn(hidden) và lớpxuất (output) Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vàomạng

Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp – ta gọi là tổng trọng số –

và chuyển kết quả cho các nút trong lớp ẩn Gọi là “ẩn” vì các nút trong lớp này chỉliên lạc với các nút trong lớp nhập và lớp xuất, và chỉ có người thiết kế mạng mới biếtlớp này (người sử dụng không biết lớp này)

Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn.Mỗi nút trong lớp xuất tương ứng với một biến phụ thuộc

Trang 10

3.1 Học có giám sát.

Một thành phần không thể thiếu của phương pháp này là sự có mặt của mộtngười thầy (ở bên ngoài hệ thống) Người thầy này có kiến thức về môi trường thểhiện qua một tập hợp các cặp đầu vào - đầu ra đã được biết trước Hệ thống học (ởđây là mạng neural) sẽ phải tìm cách thay đổi các tham số bên trong của mình (cáctrọng số và các ngưỡng) để tạo nên một ánh xạ có khả năng ánh xạ các đầu vàothành các đầu ra mong muốn Sự thay đổi này được tiến hành nhờ việc so sánh giữađầu ra thực sự và đầu ra mong muốn

3.2 Học không giám sát.

Trong học không có giám sát, ta được cho trước một số dữ liệu x và hàm chiphí cần được cực tiểu hóa có thể là một hàm bất kỳ của dữ liệu x và đầu ra củamạng, f – hàm chi phí được quyết định bởi phát biểu của bài toán Phần lớn các ứngdụng nằm trong vùng của các bài toán ước lượng như mô hình hóa thống kê, nén,lọc, phân cụm

3.3 Học tăng cường.

Dữ liệu x thường không được tạo trước mà được tạo ra trong quá trình mộtagent tương tác với môi trường Tại mỗi thời điểm t, agent thực hiện hành động ytvà

Trang 11

môi trường tạo một quan sát xt với một chi phí tức thời Ct, theo một quy trình độngnào đó (thường là không được biết) Mục tiêu là một sách lược lựa chọn hành động

để cực tiểu hóa một chi phí dài hạn nào đó, nghĩa là chi phí tích lũy mong đợi Quytrình hoạt động của môi trường và chi phí dài hạn cho mỗi sách lược thường khôngđược biết, nhưng có thể ước lượng được Mạng neural nhân tạo thường được dùngtrong học tăng cường như một phần của thuật toán toàn cục Các bài toán thườngđược giải quyết bằng học tăng cường là các bài toán điều khiển, trò chơi và cácnhiệm vụ quyết định tuần tự (sequential decision making) khác

3.4 Ví dụ

Giả sử chúng ta muốn huấn luyệnneural phân biệt chữ A và B Khi đưainput là A chúng ta muốn neural cho output là 1, còn khi input là B thì neural phảicho output bằng 0

Hình 5: Một ví dụ huấn luyện neuron

Hãy bắt đầu bằng cách cho các weights những giá trị ngẫu nhiên, lúc nàyneural chưa biết gì hết Bây giờ hãy input chữ A Neural sẽ lấy tổng có trọng sốcủa các inputs và so sánh kết quả với 0 Nếu kết quả dương thì output là 1, âmthì output là 0 Khả năng neural đoán đúng là 50%, vì các weights đang có giátrị hoàn toàn ngẫu nhiên Nếu neural đoán đúng thì chúng ta không cần làm gì

cả, nhưng khi neural đoán sai (output bằng 0), thì chúng ta phải tăng các

Trang 12

weights của các inputs đang hoạt động (các inputs khác không) lên, sao cho lầntới tổng có trọng số sẽ vượt quá threshold và tạo nên output là 1

Ngược lại, khi đưa chữ B vào và neural đoán sai (output bằng 1), thì taphải giảm các weights của các inputs đang hoạt động xuống, sao cho lần tớitổng có trọng số sẽ nhỏ hơn threshold và buộc neural phải cho output bằng 0

Như vậy, khi dạy chữ B thành công rồi thì neural có quên đi chữ đã họctrước đó là A không ? Không, vì khi input là các chữ khác nhau thì nhóm cácđường inputs đang hoạt động cũng khác nhau hoặc là không hoàn toàn trùngnhau Nhớ là chúng ta chỉ biến đổi weights của các inputs đang hoạt động thôi.Chúng ta chỉ việc lập đi lập lại quá trình dạy như trên cho tới khi neural họcthuộc bài mới thôi

Trang 13

CHƯƠNG II: MẠNG NEURAL TRUYỀN THẲNG

1 Kiến trúc cơ bản

Để đơn giản và tránh hiểu nhầm, mạng truyền thẳng xét trong chương này là cácmạng truyền thẳng có nhiều lớp Kiến trúc mạng truyền thẳng nhiều lớp (Multi-layer Feed Forward - MLFF) là kiến trúc chủ đạo của các mạng neural hiện tại Mặc

dù có khá nhiều biến thểnhưng đặc trưng của kiến trúc này là cấu trúc và thuật toánhọc là đơn giản và nhanh (Masters 1993)

1.1 Mạng truyền thẳng

Một mạng truyền thẳng nhiều lớp bao gồm một lớp vào, một lớp ra và một hoặcnhiều lớp ẩn Các neural đầu vào thực chất không phải các neural theo đúng nghĩa,bởi lẽchúng không thực hiện bất kỳmột tính toán nào trên dữliệu vào, đơn giản nóchỉtiếp nhận các dữliệu vào và chuyển cho các lớp kế tiếp Các neural ởlớp ẩn vàlớp ra mới thực sự thực hiện các tính toán, kết quả được định dạng bởi hàm đầu ra(hàm chuyển) Cụm từ “truyền thẳng” (feed forward) (không phải là trái nghĩa củalan truyền ngược) liên quan đến một thực tếlà tất cả các neural chỉ có thể được kếtnối với nhau theo một hướng: tới một hay nhiều các neural khác trong lớp kế tiếp(loại trừcác neural ở lớp ra)

Hình sau ở dạng tóm tắt biểu diễn mạng neural một cách cô đọng và tránh gây

ra sự hiểu nhầm

Trang 14

Hình 6: Mạng neural truyền thẳng nhiều lớp

trong đó:

P: Vector đầu vào (vector cột)

W i: Ma trận trọng sốcủa các neural lớp thứ i

(SixRi: S hàng (neural) - R cột (số đầu vào))

b i: Vector độlệch (bias) của lớp thứ I (Six1: cho S neural)

Trang 15

thểbắt đầu thực hiện tính toán của mình bởi vì đầu ra của lớp hiện tại tạo ra đầu vàocủa lớp kếtiếp Khi tất cảcác neural đã thực hiện tính toán thì kết quả được trảlại bởicác neural đầu ra Tuy nhiên, có thểlà chưa đúng yêu cầu, khi đó một thuật toánhuấn luyện cần được áp dụng để điều chỉnh các tham sốcủa mạng.

Trong hình 9, sốneural ởlớp thứnhất, và lớp thứhai tương ứng là S 1 và S 2 Ma

trận trọng số đối với các lớp tương ứng là W 1 và W 2 Có thểthấy sựliên kết giữa các

lớp mạng thểhiện trong hình vẽ5: ởlớp thứ2, vector đầu vào chính là net outputcủa

lớp thứnhất

Tương tựnhưvậy, nếu thêm vào các lớp khác nữa vào trong cấu trúc này thì lớpmạng cuối cùng thường là lớp cho ra kết quảcủa toàn bộmạng, lớp đó gọi là lớp ra(OUTPUT LAYER)

Mạng có nhiều lớp có khảnăng tốt hơn là các mạng chỉcó một lớp, chẳng hạnnhưmạng hai lớp với lớp thứnhất sửdụng hàm sigmoid và lớp thứhai dùng hàmđồng nhất có thểáp dụng đểxấp xỉcác hàm toán học khá tốt, trong khi các mạngchỉcó một lớp thì không có khảnăng này

Xét trường hợp mạng có hai lớp như hình vẽ 5, công thức tính toán cho đầu ranhưsau:

Trang 16

Hình 7: Một ví dụcủa mạng hồi quy

Trong hình vẽ 10, D là đơn vịlàm trễ đầu vào nó một bước.

Dếthấy rằng, các mạng thuộc lớp các mạng truyền thẳng dễdàng hơn cho tatrong việc phân tích lý thuyết bởi lẽ đầu ra của các mạng này có thể được biểu diễnbởi một hàm của các trọng sốvà các đầu vào (Sau này, khi xây dựng các thuật toánhuấn luyện ta sẽthấy điều này)

2 Khảnăng thểhiện

Các mạng truyền thẳng cho ta một kiến trúc tổng quát thểhiện khảnăng ánhxạhàm phi tuyến tính giữa một tập các biến đầu vào và tập các đầu ra Khảnăngthểhiện của một mạng có thể được định nghĩa là khoảng mà nó có thểthực hiện ánhxạkhi các trọng sốbiến thiên

1) Các mạng một lớp chỉcó khảnăng thểhiện các hàm khảphân tuyến tính haycác miền phân chia được (ví dụnhưhàm logic AND có miền giá trịcó thểphân chiađược bằng một đường thẳng trong khi miền giá trịcủa hàm XOR thì không)

2) Các mạng có hai lớp ẩn có khảnăng thểhiện một đường biên phân chia tùy ývới một độchính xác bất kỳvới các hàm chuyển phân ngưỡng và có thểxấp xỉbấtkỳánh xạmịn nào với độchính xác bất kỳvới các hàm chuyển có dạng sigmoid

Trang 17

3) Một mạng có một lớp ẩn có thểxấp xỉtốt bất kỳmột ánh xạliên tục nào từmộtkhông gian hữu hạn sang một không gian hữu hạn khác, chỉcần cung cấp sốnơronđủlớn cho lớp ẩn Chính xác hơn, các mạng truyền thẳng với một lớp ẩn được luyệnbởi các phương pháp bình phương tối thiểu (least-squares) là các bộxấp xỉchính xáccho các hàm hồi quy nếu nhưcác giảthiết vềmẫu, độnhiễu, số đơn vịtrong lớp ẩn vàcác nhân tốkhác thỏa mãn Các mạng neural truyền thẳng với một lớp ẩn sửdụngcác hàm chuyển hay hàm phân ngưỡng là các bộxấp xỉ đa năng cho bài toán phânlớp nhịphân với các giảthiết tương tự.

3 Vấn đề thiết kế cấu trúc mạng

Mặc dù, vềmặt lý thuyết, có tồn tại một mạng có thểmô phỏng một bài toán vớiđộchính xác bất kỳ Tuy nhiên, đểcó thểtìm ra mạng này không phải là điều đơngiản Để định nghĩa chính xác một kiến trúc mạng như: cần sửdụng bao nhiêu lớp

ẩn, mỗi lớp ẩn cần có bao nhiêu đơn vịxửlý cho một bài toán cụthểlà một công việchết sức khó khăn

Dưới đây trình bày một sốvấn đềcần quan tâm khi ta thiết kếmột mạng

3.1 Số lớp ẩn

Vì các mạng có hai lớp ẩn có thểthểhiện các hàm với dáng điệu bất kỳ, nên, vềlýthuyết, không có lý do nào sửdụng các mạng có nhiều hơn hai lớp ẩn Người ta đãxác định rằng đối với phần lớn các bài toán cụthể, chỉcần sửdụng một lớp ẩn chomạng là đủ Các bài toán sửdụng hai lớp ẩn hiếm khi xảy ra trong thực tế Thậm chíđối với các bài toán cần sử dụng nhiều hơn một lớp ẩn thì trong phần lớn các trườnghợp trong thực tế, sửdụng chỉmột lớp ẩn cho ta hiệu năng tốt hơn là sửdụng nhiềuhơn một lớp Việc huấn luyện mạng thường rất chậm khi mà sốlớp ẩn sửdụng càngnhiều Lý do sau đây giải thích cho việc sửụng càng ít các lớp ẩn càng tốt là:

Trang 18

1) Phần lớn các thuật toán luyện mạng cho các mạng neural truyền thẳng đềudựa trên phương pháp gradient Các lớp thêm vào sẽthêm việc phải lan truyền cáclỗi làm cho vector gradient rất không ổn định Sựthành công của bất kỳmột thuậttoán tối ưu theo gradient phụthuộc vào độkhông thay đổi của hướng khi mà cáctham sốthay đổi

2) Sốcác cực trị địa phương tăng lên rất lớn khi có nhiều lớp ẩn Phần lớn cácthuật toán tối ưu dựa trên gradient chỉcó thểtìm ra các cực trị địa phương, do vậychúng có thểkhông tìm ra cực trịtoàn cục Mặc dù thuật toán luyện mạng có thểtìm

ra cực trịtoàn cục, nhưng xácsuất khá cao là chúng ta sẽbịtắc trong một cực trị địaphương sau rất nhiều thời gian lặp và khi đó, ta phải bắt đầu lại

3) Dĩnhiên, có thể đối với một bài toán cụthể, sửdụng nhiều hơn một lớp ẩn vớichỉmột vài đơn vịthì tốt hơn là sửdụng ít lớp ẩn với số đơn vịlà lớn, đặc biệt đối vớicác mạng cần phải học các hàm không liên tục Vềtổng thể, người ta cho rằng việcđầu tiên là nên xem xét khảnăng sửdụng mạng chỉcó một lớp ẩn Nếu dùng một lớp

ẩn với một sốlượng lớn các đơn vịmà không có hiệu quảthì nên sửdụng thêm mộtlớp ẩn nữa với một sốít các đơn vị

3.2 Số đơn vị trong lớp ẩn

Một vấn đềquan trọng trong việc thiết kếmột mạng là cần có bao nhiêu đơnvịtrong mỗi lớp Sửdụng quá ít đơn vịcó thểdẫn đến việc không thểnhận dạng đượccác tín hiệu đầy đủtrong một tập dữliệu phức tạp, hay thiếu ăn khớp (underfitting).Sửdụng quá nhiều đơn vịsẽtăng thời gian luyện mạng, có lẽlà quá nhiều đểluyện khi

mà không thểluyện mạng trong một khoảng thời gian hợp lý Sốlượng lớn các đơnvịcó thểdẫn đến tình trạng thừa ăn khớp (overfitting),trong trường hợp này mạng cóquá nhiều thông tin, hoặc lượng thông tin trong tập dữliệu mẫu (training set) khôngđủcác dữliệu đặc trưng đểhuấn luyện mạng

Trang 19

Sốlượng tốt nhất của các đơn vị ẩn phụthuộc vào rất nhiều yếu tố- số đầu vào,đầu ra của mạng, sốtrường hợp trong tập mẫu, độnhiễu của dữliệu đích, độphức tạpcủa hàm lỗi, kiến trúc mạng và thuật toán luyện mạng

Có rất nhiều “luật” đểlựa chọn số đơn vịtrong các lớp ẩn, chẳng hạn:

Các luật này chỉcó thể được coi nhưlà các lựa chọn thô khi chọn lựa kích thướccủa các lớp Chúng không phản ánh được thực tế, bởi lẽchúng chỉxem xét đến nhântốkích thước đầu vào, đầu ra mà bỏqua các nhân tốquan trọng khác như: sốtrườnghợp đưa vào huấn luyện, độnhiễu ởcác đầu ra mong muốn, độphức tạp của hàm lỗi,kiến trúc của mạng (truyền thẳng hay hồi quy), và thuật toán học

Trong phần lớn các trường hợp, không có một cách đểcó thểdễdàng xác địnhđược sốtối ưu các đơn vịtrong lớp ẩn mà không phải luyện mạng sửdụng sốcác đơnvịtrong lớp ẩn khác nhau và dựbáo lỗi tổng quát hóa của từng lựa chọn Cách tốtnhất là sửdụng phương pháp thử-sai(trial-and-error) Trong thực tế, có thểsửdụngphương pháp Lựa chọn tiến (forward selection) hay Lựa chọn lùi (backwardselection) đểxác định số đơn vịtrong lớp ẩn

Lựa chọn tiến bắt đầu với việc chọn một luật hợp lý cho việc đánh giá hiệu năngcủa mạng Sau đó, ta chọn một sốnhỏcác đơn vị ẩn, luyện và thửmạng; ghi lại hiệunăng của mạng Sau đó, tăng một chút số đơn vị ẩn; luyện và thửlại cho đến khi lỗi

là chấp nhận được, hoặc không có tiến triển đáng kểso với trước

Lựa chọn lùi, ngược với lựa chọn tiến, bắt đầu với một sốlớn các đơn vịtronglớp ẩn, sau đó giảm dần đi Quá trình này rất tốn thời gian nhưng sẽgiúp ta tìm đượcsốlượng đơn vịphù hợp cho lớp ẩn

Trang 20

CHƯƠNG III: THUẬT TOÁN LAN TRUYỀN NGƯỢC

Cần có một sựphân biệt giữa kiến trúc của một mạng và thuật toán học của nó,các mô tảtrong các mục trên mục đích là nhằm làm rõ các yếu tố về kiến trúc của mạng

và cách mà mạng tính toán các đầu ra từ tập các đầu vào Sau đây là mô tả của thuậttoán học sử dụng để điều chỉnh hiệu năng của mạng sao cho mạng có khả năng sinh rađược các kết quảmong muốn

Như đã nêu, về cơ bản có hai dạng thuật toán để luyện mạng cơ bản: học cógiám sát và học không giám sát Các mạng neural truyền thẳng nhiều lớp được luyệnbằng phương pháp học có thầy Phương pháp này căn bản dựa trên việc yêu cầu mạngthực hiện chức năng của nó và sau đó trả lại kết quả, kết hợp kết quảnày với các đầu ramong muốn để điều chỉnh các tham sốcủa mạng, nghĩa là mạng sẽhọc thông qua nhữngsai sót của nó

Về cơ bản, thuật toán lan truyền ngược là dạng tổng quát của thuật toán trungbình bình phương tối thiểu (Least Means Square-LMS) Thuật toán này thuộc dạngthuật toán xấp xỉđể tìm các điểm mà tại đó hiệu năng của mạng là tối ưu Chỉ số tối ưu(performance index) thường được xác định bởi một hàm số của ma trận trọng sốvà cácđầu vào nào đó mà trong quá trình tìm hiểu bài toán đặt ra

1 Mô tảthuật toán

Ta sẽ sử dụng dạng tổng quát của mạng neural truyền thẳng nhiều lớp như tronghình vẽ 5 của phần trước Khi đó, đầu ra của một lớp trở thành đầu vào của lớp kế tiếp.Phương trình thể hiện hoạt động này như sau:

Ngày đăng: 21/05/2015, 08:12

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

w