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

Tìm hiểu mạng neural nhân tạo và thuật toán lan truyền ngược

27 1,3K 13

Đ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 27
Dung lượng 765,61 KB

Nội dung

Bài tiểu luận này xin được trình bà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ược trongmạng neural nhân tạo cùng một chương trình demo ứng dụng thuật

Trang 1

MỤC LỤC

LỜI MỞ ĐẦU 2

PHẦN I MẠNG NEURAL NHÂN TẠO 3

I Cấu trúc và mô hình của một neuron nhân tạo 3

II Cấu tạo và phương thức làm việc của mạng neural 5

1 Mạng neural một lớp 7

2 Mạng neural truyền thẳng nhiều lớp 8

3 Mạng neural phản hồi 8

4 Mạng neural hồi quy 9

5 Mạng Hopfield 9

6 Mạng BAM 11

III Các luật học 12

1 Học có giám sát 13

2 Học củng cố 14

3 Học không có giám sát 14

PHẦN 2 THUẬT TOÁN LAN TRUYỀN NGƯỢC 17

VÀ CHƯƠNG TRÌNH DEMO I Thuật toán lan truyền ngược 17

II Chương trình demo 23

1 Vấn đề giải quyết 23

2 Cấu trúc và cách sử dụng chương trình 23

PHẦN 3 KẾT LUẬN 26

TÀI LIỆU THAM KHẢO 27

Trang 2

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 giải quyếtnhững vấn đề khó khăn của con người đã ra đời và đóng góp những thành tựu to lớ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ột trongnhững công nghệ đó là mạng neural nhân tạo Bài tiểu luận này xin được trình bà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ược trongmạng neural nhân tạo cùng một chương trình demo ứng dụng thuật giải lan truyềnngược để xác định màu của một điểm có tọa độ x, y trong khoảng từ 0 đến 1 là mộtđiểm màu xanh hay điểm màu đỏ

Trang 3

PHẦN I MẠNG NEURAL NHÂN TẠO

Mô hình toán học của mạng neural sinh học được đề xuất bởi McCulloch và Pitts,thường được gọi là neuron M-P, ngoài ra nó còn được gọi là phần tử xử lý và được kýhiệu là PE (Processing Element)

Mô hình neuron có m đầu vào x1, x2, , xm, và một đầu ra yi như sau:

Hình 1 Mô hình một neuron nhân tạo

- Bộ tổng (Hàm tổng): 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: Ngưỡng này thường được đưa vào như một thành phần của hàmtruyền

Trang 4

- Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi neuron 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 neuron được giới hạn trong đoạn [0,1] hoặc [-1,1] Các hàm truyền rất đadạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền tùy thuộcvào từng bài toán và kinh nghiệm của người thiết kế mạng

- Đầu ra: Là tín hiệu đầu ra của một neuron, với mỗi neuron sẽ có tối đa một đầura

Về mặt toán học, cấu trúc của một neuron i được mô tả bằng cặp biểu thức sau:

Hàm truyền có thể có các dạng sau:

- Hàm bước

- Hàm giới hạn chặt (hay còn gọi là hàm bước)

y=sgn( x)= { −1 khi x<0 1 khi x≥0 (2)

Trang 5

II Cấu tạo và phương thức làm việc của mạng neural

Dựa trên những phương pháp xây dựng neuron đã trình bày ở mục trên, ta có thểhình dung mạng neural như là một hệ truyền đạt và xử lý tín hiệu Đặc tính truyền đạtcủa neuron phần lớn là đặc tính truyền đạt tĩnh

Khi liên kết các đầu vào/ra của nhiều neuron với nhau, ta thu được một mạngneural, việc ghép nối các neuron trong mạng với nhau có thể là theo một nguyên tắc bất

kỳ Vì mạng neural là một hệ truyền đạt và xử lý tín hiệu, nên có thể phân biệt các loạineuron khác nhau, các neuron có đầu vào nhận thông tin từ môi trường bên ngoài khácvới các neuron có đầu vào được nối với các neuron khác trong mạng, chúng được phânbiệt với nhau qua vector hàm trọng số ở đầu vào w

Nguyên lý cấu tạo của mạng neural bao gồm nhiều lớp, mỗi lớp bao gồm nhiềuneuron có cùng chức năng trong mạng Hình 1.5 là mô hình hoạt động của một mạngneural 3 lớp với 8 phần tử neuron Mạng có ba đầu vào là x1, x2, x3 và hai đầu ra y1, y2

Trang 6

Các tín hiệu đầu vào được đưa đến 3 neuron đầu vào, 3 neuron này làm thành lớp đầuvào của mạng Các neuron trong lớp này được gọi là neuron đầu vào Đầu ra của cácneuron này được đưa đến đầu vào của 3 neuron tiếp theo, 3 neuron này không trực tiếptiếp xúc với môi trường bên ngoài mà làm thành lớp ẩn, hay còn gọi là lớp trung gian.Các neuron trong lớp này có tên là neuron nội hay neuron ẩn Đầu ra của các neuronnày được đưa đến 2 neuron đưa tín hiệu ra môi trường bên ngoài Các neuron trong lớpđầu ra này được gọi là neuron đầu ra.

Hình 3 Mạng neural ba lớp

Mạng neural được xây dựng như trên là mạng gồm 3 lớp mắc nối tiếp nhau đi từđầu vào đến đầu ra Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào Một mạngneural có cấu trúc như vậy gọi là mạng một hướng hay mạng truyền thẳng một hướng(Feed forward network), và có cấu trúc mạng ghép nối hoàn toàn (vì bất cứ một neuronnào trong mạng cũng được nối với một hoặc vài neuron khác) Mạng neural bao gồmmột hay nhiều lớp trung gian được gọi là mạng Multilayer Perceptrons) (MLP-Network)

Mạng neural khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽđược hình thành dần dần sau một quá trình học Mạng neural được học bằng cách đưavào những kích thích, và mạng hình thành những đáp ứng tương ứng, những đáp ứngtương ứng phù hợp với từng loại kích thích sẽ được lưu trữ Giai đoạn này được gọi làgiai đoạn học của mạng Khi đã hình thành tri thức mạng, mạng có thể giải quyết các

Trang 7

vấn đề một cách đúng đắn Đó có thể là vấn đề ứng dụng rất khác nhau, được giảiquyết chủ yếu dựa trên sự tổ chức hợp nhất giữa các thông tin đầu vào của mạng và cácđáp ứng đầu ra

- Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thuđược không đầy đủ hoặc bị tác động của nhiễu Mạng neural kiểu này được ứng dụngtrong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là nhận dạng chữ viết

- Nhiệm vụ tổng quát của một mạng neural là lưu giữ động các thông tin Dạngthông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứng đầu ratương ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả năng suydiễn và đưa ra một đáp ứng phù hợp Đây chính là chức năng nhận dạng theo mẫu củamạng neural Để thực hiện chức năng này, mạng neural đóng vai trò như một bộ phận

tổ chức các nhóm thông tin đầu vào, và tương ứng với mỗi nhóm là một đáp ứng đầu raphù hợp Như vậy, một nhóm bao gồm một loại thông tin đầu vào và một đáp ứng đầu

ra Các nhóm có thể được hình thành trong quá trình học, và cũng có thể không hìnhthành trong quá trình học

1 Mạng neural một lớp

Mỗi một neuron có thể phối hợp với các neuron khác tạo thành một lớp cáctrọng số Mạng một lớp truyền thẳng như hình 4 Một lớp neuron là một nhóm cácneuron mà chúng đều có cùng trọng số, nhận cùng một tín hiệu đầu vào đồng thời

Hình 4 Mạng truyền thẳng một lớp

Trong ma trận trọng số, các hàng là thể hiện neuron, hàng thứ j có thể đặt nhãnnhư một vector wj của neuron thứ j gồm m trọng số wji Các trọng số trong cùng mộtcột thứ j (j=1,2, ,n) đồng thời cùng nhận một tín hiệu đầu vào xj

Trang 8

Mạng neural nhiều lớp có các lớp được phân chia thành 3 loại sau đây:

- Lớp vào là lớp neuron đầu tiên nhận tín hiệu vào xi (i = 1, 2, , n) Mỗi tín hiệu

xi được đưa đến tất cả các neuron của lớp đầu vào Thông thường, các neuron đầu vàokhông làm biến đổi các tín hiệu vào xi, tức là chúng không có các trọng số hoặc không

có các loại hàm chuyển đổi nào, chúng chỉ đóng vai trò phân phối các tín hiệu

- Lớp ẩn là lớp neuron sau lớp vào, chúng không trực tiếp liên hệ với thế giới bênngoài như các lớp neuron vào/ra

- Lớp ra là lớp neuron tạo ra các tín hiệu ra cuối cùng

3 Mạng neural phản hồi

Mạng neural phản hồi là mạng mà đầu ra của mỗi neuron được quay trở lại nốivới đầu vào của các neuron cùng lớp được gọi là mạng Laeral như hình 6

Trang 9

Hình 6 Mạng hồi tiếp một lớp

4 Mạng neural hồi quy

Hình 7 Mạng neural hồi quy

Mạng neural phản hồi có thể thực hiện đóng vòng được gọi là mạng neural hồiquy như hình 7 Mạng neural hồi quy có trọng số liên kết đối xứng như mạng Hopfield,mạng luôn hội tụ về trạng thái ổn định (Hình 6) Mạng BAM thuộc nhóm mạng neuralhồi quy, gồm 2 lớp liên kết 2 chiều, không được gắn với tín hiệu vào/ra Nghiên cứumạng neural hồi quy mà có trọng số liên kết không đối xứng, thì sẽ gặp phải vấn đềphức tạp nhiều hơn so với mạng truyền thẳng và mạng hồi quy có trọng số liên kết đốixứng

Trang 10

Hình 8 Cấu trúc của mạng Hopfield

Như mạng Hopfield đã vẽ ở trên, ta thấy nút có một đầu vào bên ngoài xj và mộtgiá trị ngưỡng θj (j = 1,2, n) Một điều quan trọng cần nói ở đây là mỗi nút không

có đường phản hồi về chính nó Nút đầu ra thứ j được nối tới mỗi đầu vào của nút khácqua trọng số wij, với i ¿ j, (i = 1,2, ,n), hay nói cách khác wii = 0, (với i = 1,2, ,n).Một điều quan trọng nữa là trọng số của mạng Hopfield là đối xứng, tức là wij =

wji, (với i,j = 1,2, ,n) Khi đó, luật cập nhật cho mỗi nút mạng là như sau:

i = 1,2, ,n (6)Luật cập nhật trên được tính toán trong cách thức không đồng bộ Điều này cónghĩa là, với một thời gian cho trước, chỉ có một nút mạng cập nhật được đầu ra của

nó Sự cập nhật tiếp theo trên một nút sẽ sử dụng chính những đầu ra đã được cập nhật.Nói cách khác, dưới hình thức hoạt động không đồng bộ của mạng, mỗi đầu ra đượccập nhật độc lập

Có sự khác biệt giữa luật cập nhật đồng bộ và luật cập nhật không đồng bộ Vớiluật cập nhật không đồng bộ thì sẽ chỉ có một trạng thái cân bằng của hệ (với giá trị

Trang 11

đầu đã được xác định trước) Trong khi đó, với luật cập nhật đồng bộ thì có thể làmmạng hội tụ ở mỗi điểm cố định hoặc một vòng giới hạn.

6 Mạng BAM

Mạng BAM bao gồm hai lớp và được xem như là trường hợp mở rộng của mạngHopfield Ở đây ta chỉ xét mạng rời rạc, vì nó đơn giản và dễ hiểu

Hình 9 Cấu trúc của BAM

Khi mạng neural được tích cực với giá trị đầu vào của vector tại đầu vào của mộtlớp, mạng sẽ có hai mẫu trạng thái ổn định, với mỗi mẫu tại đầu ra của nó là một lớp.Tính động học của mạng thể hiện dưới dạng tác động qua lại giữa hai lớp Cụ thể hơn,giả sử một vector đầu vào x được cung cấp cho đầu vào của lớp neuron y Đầu vàođược xử lý và truyền tới đầu ra của lớp y như sau:

Trang 12

ANN Trọng số

wi

So sánh Đích

x(2) = a(w(T)y(1)) (truyền ngược lần thứ nhất)

y(3) = a(wx(2)) (truyền thẳng lần thứ hai)

x(4) = a(w(T)y(3)) (truyền ngược lần thứ hai) (9)

x(k) = a(w(T)y(k-1)) (truyền ngược lần thứ k/2)

Chú ý rằng trạng thái cập nhật trong phương trình (9) là đồng bộ theo phươngtrình (7) và (8) Trạng thái cập nhật cũng có thể không đồng bộ theo phương trình (7)

và (8) với các nút i, j được chọn tự do Người ta đã chỉ ra rằng, hệ thống ổn định cho cảhai chế độ đồng bộ và không đồng bộ Tuy nhiên, chế độ đồng bộ sẽ làm cho hệ thốnghội tụ nhanh hơn nhiều

III Các luật học

Thông thường, mạng neural được điều chỉnh hoặc được huấn luyện để hướng cácđầu vào riêng biệt đến đích ở đầu ra Cấu trúc huấn luyện mạng được chỉ ra ở hìnhdưới Ở đây, hàm trọng số của mạng được điều chỉnh trên cơ sở so sánh đầu ra với đíchmong muốn (taget), cho tới khi đầu ra của mạng phù hợp với đích Những cặp vào/đích(input/taget) được dùng để giám sát cho sự huấn luyện mạng

Hình 10 Cấu trúc huấn luyện mạng neural

Trang 13

Để có được một số cặp vào/ra, ở đó mỗi giá trị vào được gửi đến mạng và giá trị

ra tương ứng được thực hiện bằng mạng là sự xem xét và so sánh với giá trị mongmuốn Bình thường, nó sẽ tồn tại một sai số vì giá trị mong muốn không hoàn toànphù hợp với giá trị thực Sau mỗi lần chạy, ta có tổng bình phương của tất cả các sai số.Sai số này được sử dụng để xác định các hàm trọng số mới

Sau mỗi lần chạy, hàm trọng số của mạng được sửa đổi với đặc tính tốt hơn tươngứng với đặc tính mong muốn Từng cặp giá trị vào/ra phải được kiểm tra và trọng sốđược điều chỉnh một vài lần Sự thay đổi các hàm trọng số của mạng sẽ được dừng lại,nếu tổng các bình phương sai số nhỏ hơn một giá trị đặt trước, hoặc đã chạy đủ một sốlần chạy xác định (trong trường hợp này, mạng có thể không thoả mãn yêu cầu đặt ra

do sai lệch còn cao) Có hai kiểu học:

- Học tham số: là các tham số về trọng số cập nhật kết nối giữa các neuron

- Học cấu trúc: trọng tâm là sự biến đổi cấu trúc của các mạng neural gồm sốlượng nút và các loại liên kết

Giả sử ma trận trọng số bao gồm tất cả các phần tử thích ứng của mạng neural.Nhiệm vụ của việc học tham số là tìm ra được ma trận chính xác mong muốn từ matrận giả thiết ban đầu (với cấu trúc của mạng neural có sẵn) Để làm được điều này thìmạng neural phải sử dụng các trọng số điều chỉnh, với nhiều phương pháp học khácnhau để có thể tính toán gần đúng ma trận W cần tìm đặc trưng cho mạng Sau đây là 3phương pháp học:

1 Học có giám sát

Học có giám sát: là quá trình học có tín hiệu chỉ đạo bên ngoài d (Hình 11).Trong học có giám sát, thì tại mỗi thời điểm khi đầu vào được cung cấp tới mạngneural, phản ứng đầu ra mong muốn d tương ứng của hệ thống được đưa ra Ở hình 11,khi mỗi đầu vào x(k) được đặt vào mạng, đầu ra mong muốn tương ứng d(k) cũng đượccung cấp tới mạng Hiệu giữa đầu ra thực y(k) và đầu ra mong muốn d(k) được đo trongmáy phát tín hiệu lỗi Máy này sẽ tạo ra tín hiệu lỗi cho mạng để hiệu chỉnh các trọng

Trang 14

số của mạng, và với các hiệu chỉnh này thì đầu ra thực sẽ tiến sát với đầu ra mongmuốn.

Hình 11 Học có giám sát

2 Học củng cố

Tín hiệu chủ đạo d có thể lấy từ môi trường bên ngoài, nhưng tín hiệu nàykhông được đầy đủ, mà chỉ có một vài bit đại diện có tính chất kiểm tra quá trình tốthay xấu Học củng cố cũng là một dạng của học có giám sát, bởi vì mạng vẫn nhận một

số tín hiệu từ bên ngoài Nhưng tín hiệu phản hồi chỉ mang tính chất đánh giá hơn làmạng tính chất chỉ dẫn Nó cho biết mức độ tốt hay xấu của một đầu ra đặc biệt Tínhiệu củng cố bên ngoài thường được xử lý bằng máy phát tín hiệu đánh giá để tạo ranhiều hơn nữa các thông tin tín hiệu đánh giá, sau đó dùng để điều chỉnh các trọng sốvới mục đích đạt được tín hiệu đánh giá tốt hơn

3 Học không có giám sát

Hình 12 Học không có giám sát

Trong phần học không có giám sát, sẽ không có thầy hướng dẫn, tức là không cótín hiệu d cung cấp tới mạch phản hồi Điều này cho thấy, ta sẽ không biết đầu ra đạt

Trang 15

giá trị gì Với loại này, thì các neuron tự xoay xở với các dữ liệu mẫu mà nó có được,chứ không có “thầy” gợi ý cần luyện theo hướng nào Mạng phải tự khám phá mẫu,đặc tính, sự tương quan hay loại đầu vào Trong khi khám phá những đặc tính này,tham số của mạng sẽ bị thay đổi Quá trình này được gọi là tự tổ chức Một ví dụ điểnhình là quá trình phân loại đối tượng không có thầy, những lớp thích hợp được hìnhthành bằng cách khám phá sự tương tự và không tương tự trong số các đối tượng.

Hình 13 mô tả cấu trúc chung của quá trình học của ba phương pháp học đã nêu

ở trên Trong tín hiệu vào xj (j = 1,2, ,m), có thể được lấy từ đầu ra của các neuronkhác hoặc có thể được lấy ra từ bên ngoài Trọng số của neuron thứ i được thay đổi tùytheo tín hiệu ở đầu vào mà nó thu nhận giá trị đầu ra của nó

Dạng tổng quát của luật học trọng số của mạng neural cho biết số gia của vector

wi là Δww i tỉ lệ với tín hiệu học r và tín hiệu đầu vào x(t).

Trang 16

Từ hình 13 ta thấy, vector trọng số wi = [wi1, wi2, , wim]T có số gia tỷ lệ với tínhiệu vào x và tín hiệu học r Vector trọng số ở thời điểm (t+1) được tính như sau:

Mạng neural nhân tạo có các tính chất sau:

Trang 17

PHẦN 2 THUẬT TOÁN LAN TRUYỀN NGƯỢC

VÀ CHƯƠNG TRÌNH DEMO

I Thuật toán lan truyền ngược

Thuật toán lan truyền ngược được ứng dụng để giải các bài toán điều khiển các hệphi tuyến phức tạp và bất ổn định Lan truyền ngược là một phương pháp cho phép xácđịnh tập trọng số tốt nhất của mạng để giải một bài toán đã cho Việc áp dụng phươngpháp lan truyền ngược là một quá trình lặp đi lặp lại nhiều lần hai tiến trình chính: lantruyền tiến để thực hiện ánh xạ và lan truyền ngược sai số để cập nhật các trọng số Cáctrọng số của mạng là các hệ số của mô hình Phương pháp giảm gradient được dùng đểcập nhật những hệ số này sao cho giảm thiểu được sai số của mô hình

Xét lớp mạng 3 lớp như hình 14

Hình 14 Mạng 3 lớp lan truyền ngược

Thuật toán: Đầu tiên ta cho lan truyền thẳng suốt trong mạng, qua các phần tửneuron và được tiếp tục với các hàm kích hoạt của phần tử neuron Các mạng được

Ngày đăng: 10/04/2015, 17:05

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w