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

BÀI TẬP LỚN MÔN LÝ THUYẾT NHẬN DẠNG Mạng nơron Hopfield và ứng dụng

17 2,2K 15

Đ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 17
Dung lượng 732 KB

Nội dung

Cảm nhận của Hopfield đã được Rumelhart, Hillton và William đề xuất thuật toán sai số truyền ngược nổi tiếng để huấn luyện mạng nơ-ron nhiều lớp nhằm giải bài toán mà mạng khách không th

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

- -BÀI TẬP LỚN MÔN: LÝ THUYẾT NHẬN DẠNG

Đề tài: Mạng nơron Hopfield và ứng dụng

Lớp : ĐH KHMT2 – K3

Giáo viên hướng dẫn: Trần Hùng Cường

Sinh viên thực hiện: Nhóm 6

Hà Nội, tháng 6/2011

Trang 2

MẠNG HOPFIELD LỜI MỞ ĐẦU

Những năm gần đây trên thế giới đưa ra mô hình mạng nơ-ron nhân tạo là mô hình tính toán được áp dụng rộng rãi trong lĩnh vực công nghệ thông tin, đặc biệt là mạng Hopfield rất thích hợp cho các bài toán: Bài toán tìm đường đi ngắn nhất, bài toán tô màu bản đồ, bài toán xếp hậu Khi ứng dụng mạng nơ-ron Hopfield để giải bài toán thì thu được kết quả khá khả quan về mặt chương trình gọn, đơn giản Nhận thức được vấn đề đó và có sự gợi ý định hướng của thầy Trần Hùng Cường chúng em đã mạnh dạn nghiên cứu đề tài “Mạng nơ-ron Hopfield và ứng dụng”

I Giới thiệu

1 Giới thiệu về mạng nơ-ron

1 Lịch sử phát triển

Theo Wiener: trí não, thông tin và điều khiển là ba lĩnh vực dưới ngọn cờ chung là điều khiển học (Cybernetics) Nghiên cứu và mô phỏng trí não, cụ thể là

mô tế bào thần kinh (nơ-ron) là một ước muốn từ lâu của nhân loại Từ ước mơ đó nhiều nhà khoa học đã không ngừng nghiên cứu, tìm hiểu về mạng nơ-ron Với khoảng 15 tỷ nơ-ron ở não người, mỗi nơ-ron có thể nhận hàng vạn tín hiệu từ các khớp thần kinh và được coi là cơ chết sinh vật phức tạp nhất Não người có khả năng giải quyết các vấn đề: nghe, nhìn, nói, hồi ức thông tin, phân biệt các mẫu mặc dù sự kiện bị méo mó, thiếu hụt Não thực hiện các nhiệm vụ như vậy nhờ các phần tử tính toán (nơ-ron) Não phân bố việc thực hiện cho hàng tỷ nơ-ron có liên quan, điều khiển mối liên hệ giữa các nơ-ron đó Nơ-ron không ngừng nhận và truyền thông tin lẫn nhau Quá trình nghiên cứu và phát triển mạng nơ-ron nhân tạo

có thể chia thành bốn giai đoạn như sau: + Giai đoạn một: Có thể tính từ nghiên cứu của William (1980) về tâm lý học với sự liên kết các nơ-ron thần kinh Năm

1940, Mc Culloch và Pitts đã cho biết: nơ-ron có thể được mô hình hóa như thiết bị ngưỡng (giới hạn) để thực hiện các phép tính lôgic và mô hình mạng nơ-ron của

Mc Culloch-Pitts cùng với giảithuật huấn luyện mạng của Hebb ra đời năm 1943 + Giai đoạn hai: Vào khoảng gần những năm 1960, một số mô hình nơ-ron hoàn thiện hơn đã được đưa ra như: mô hình Perceptron của Rosenblatt (1958), Adaline

Trang 3

của Widrow (1962) Trong đó mô hình Perceptron rất được quan tâm vì nguyên lý đơn giản, nhưng nó cũng có hạn chế vì như Marvin Minsky và Seymour papert của MIT (Massachurchs Insritute of Technology) đã chứng minh nó không dùng được cho các hàm lôgic phức (1969) Còn Adaline là mô hình tuyến tính, tự chỉnh, được dùng rộng rãi trong điều khiển thích nghi, tách nhiễu và vẫn phát triển cho đến nay + Giai đoạn ba: Có thể tính vào đầu thập niên 80 Những đóng góp lớn cho mạng nơ-ron giai đoạn này phải kể đến Grossberg, Kohonen, Rumelhart và Hopfield Trong đó đóng góp lớn của Hopfield gồm hai mạng phản hồi: mạng rời rạc năm

1992 và mạng liên tục năm 1984 Đặc biệt, ông đã dự kiến nhiều khả năng tính toán lớn của mạng mà một nơ-ron không có khả năng đó Cảm nhận của Hopfield

đã được Rumelhart, Hillton và William đề xuất thuật toán sai số truyền ngược nổi tiếng để huấn luyện mạng nơ-ron nhiều lớp nhằm giải bài toán mà mạng khách không thực hiện được Nhiều ứng dụng mạnh mẽ của mạng nơ-ron ra đời cùng với các mạng theo kiểu máy Boltzmann và mạng Neocognition của Fukushima + Giai đoạn bốn: Tính từ năm 1987 đến nay, hàng năm thế giới đều mở hội nghị toàn cầu chuyên ngành nơ-ron IJCNN (International Joint Conference on Neural Networks) Rất nhiều công trình được nghiên cứu để ứng dụng mạng nơ-ron vào các lĩnh vực,

ví dụ như: kỹ thuật tính, tối ưu, sinh học, y học, thống kê, giao thông, hóa học… cho đến nay, mạng nơ-ron đã tìm được và khẳng định được vị trí của mình trong rất nhiều ứng dụng khách nhau

II Mạng Hopfield

2 Sơ lược về mạng Hopfield

Mạng Hopfield là một mạng nơ-ron nhân tạo học định kỳ do John Hopfield

sáng chế Mạng Hopfield đóng vai trò như các hệ thống bộ nhớ có thể đánh địa chỉ nội dung với các nút ngưỡng dạng nhị phân Chúng được đảm bảo sẽ hội tụ về một trong các mẫu được lưu trữ

Mạng hồi quy tín hiệu ra của một nơ-ron có thể được truyền ngược lại làm tín hiệu đầu vào cho các nơ-ron ở các lớp trước, hoặc các nơ-ron trong cùng một lớp Mạng Hopfield là một mô hình mạng tiêu biểu thuộc lớp mạng hồi qui Mạng Hopfield là mạng một lớp với thông tin và quá trình xử lý có nối ngược Trong công trình nghiên cứu về mạng Hopfield người ta đã tìm ra được rất nhiều ứng dụng, đặc biệt là bộ nhớ liên kết và trong các bài toán tối ưu

Trang 4

3 Cấu trúc mạng Hopfield

Về mặt cấu trúc thì mạng Hopfield là mạng chỉ có một lớp nơron, trong đó mỗi nơron đều nối với tất cả các nơron còn lại Mạng Hopfield được xây dựng dưới dạng mạng một lớp, mỗi nơ-ron được truyền ngược lại làm tín hiệu đầu vào cho các nơ-ron khác nhưng bản thân các nơ-ron không tự liên kết với chính nó

Hình 1: Cấu trúc mạng Hopfield

Chắc các bạn cũng nhận xét ngay là mạng trên không có lớp input và output như các mạng đã tìm hiểu trước đây Lớp nơron duy nhất của mạng cũng chính là nơi nhận input và và phát output Như vậy số nơron trong mạng phải bằng số thành phần input cũng như số thành phần output

Ngoài ra mạng Hopfield chỉ nhận các inputs là -1 hay 1 Hàm truyền vào của mạng là hàm satlins:

Trang 5

Hình 2: Đồ thị hàm satlins

1 nÕu 1 nÕu 1 1

1 nÕu 1

i

n

n a

ì >

ïï ïï

= íï - < <

ï - <-ïïî

với n = (wijxi + b)

Tín hiệu ra của nơ-ron thứ j nào đó được truyền ngược lại làm tín hiệu vào cho các nơ-ron khác trong mạng một các đầy đủ thông qua các trọng số tương ứng:

1

1

sgn n k + - ,

k

i i

j w yij

  i = 1, 2, , n (2.1) Trong đó:

Wij là độ lớn trọng số kết nối từ nút j đến nút i (trọng số của liên kết).

xi là tín hiệu vào tại nơ-ron i

yj là trạng thái của nút j

θi là ngưỡng của nút i

b là độ lệch

Trang 6

Các liên kết trong mạng Hopfield thường có các ràng buộc sau:

 Wii = 0, ∀i (không có nút nào liên kết với chính nó)

 Wij = Wji ∀i, j (các liên kết là đối xứng)

Ràng buộc rằng các trọng số phải đối xứng thường được sử dụng, vì nó đảm bảo rằng hàm năng lượng sẽ giảm một cách đơn điệu trong khi làm theo các luật kích hoạt, và mạng có thể xuất hiện hành vi tuần hoàn hoặc hỗn loạn nếu dùng các trọng số không đối xứng Tuy nhiên, Hopfield nhận thấy rằng hành vi hỗn loạn này chỉ hạn chế ở những phần tương đối nhỏ của không gian pha, và không làm giảm

đi khả năng thực hiện vai trò làm hệ thống bộ nhớ có thể đánh địa chỉ nội dung của mạng

Ta định nghĩa hàm năng lượng của mạng là:

1

2

Tùy theo phương thức hoạt động của mạng mà người ta phân mạng Hopfield ra thành mạng Hopfield rời rạc và mạng Hopfield liên tục

3.1.1 Mạng Hopfield rời rạc

Mạng Hopfield rời rạc là mạng được tính rời rạc (đầu ra rời rạc) làm việc ở chế

độ không đồng bộ

Trường hợp mạng nhận các giá trị nhị phân {0,1}:

Hàm kích hoạt được xác định như sau:

  = 1 net > 0

0 net 0

f net 

(2.3)

Việc cho hàm kích hoạt (2.3) tương đương với qui tắc chuyển trạng thái của mạng:

Trang 7

Trong đó:

∆yi = yik+1 – yik (2.5)

Định lý: Giả sử với wii = 0 Khi đó với qui tắc chuyển trạng thái như trên và cập nhật không đồng bộ thì năng lượng của mạng không tăng (tức là giảm hoặc giữ nguyên)

Chứng minh:

Giả sử nơ-ron k thay đổi trạng thái từ thời điểm t đến t+1 Khi đó mạng sẽ thay đổi năng lượng và:

∆E = E(t+1) – E(t)

1

Với:

∆yi = 1 nếu   + -

n

t

j

∆yi = -1 nếu   + -

n

t

j

∆yi = -1 trong các trường hợp khác

Vì thế ta luôn có ∆E ≤ 0, tức là năng lượng của mạng không tăng, Vì thế hàm năng lượng sẽ đạt tới giá trị cực tiểu Do hàm giới nội

3.1.2 Mạng Hopfield liên tục

Trang 8

Một mạng Hopfield riêng biệt có thể bổ biến đối với một mô hình liên tục trong đó thời gian giả thiết là một biến liên tục và những nút có đầu ra liên tục, bị chia độ ( phân bậc) hơn là hai đầu ra nhị phân trạng thái Từ đây, năng lượng của mạng bị giảm bớt liên tục Hơn nữa, có một mạch điện tử để thực thi mạng Hopfield liên tục nó sử dụng những máy khuyếch đại và những điện trở phi tuyến( hình vẽ 2.0) Nó gợi ý khả năng của việc xây dựng một mạng bước nhảy ngắn xử dụng công nghệ tương tự VLSI

Hình 3: Mạng Hopfield liên tục sử dụng mạch điện tử

Mạng Hopfield liên tục là mạng mà trạng thái của nó được mô tả theo phương trình

i

du

(2.5)

Với:

1

n

j

Trong đó:

Trang 9

a(ui): đầu ra kích hoạt.

wij: độ dẫn điện của đầu ra thứ i với đầu vào thứ j (trong số giữa 2 nơron i và j)

Cj: điện trở phi tuyến

ui: điện áp vào

gi: độ dẫn điện

Định lý: Cho một mạng nơ-ron liên kết với n nút có đầu ra tín hiệu ui và một qui

tắc được phát triển theo dạng:

1

n

j

Sao cho:

Wij: ma trận cân với wij ≥ 0 và wij = wij

ai(u): hàm liên tục với u ≥ 0, và ai(u) > 0 với u > 0

bi(u): hàm liên tục và không ngang bằng mức ngoài với u > 0

fi(u): hàm khả vi và f’i(u) > 0 với u ≥ 0

[bi(u)-wij fj(u)] < 0 như u→∞

 

0

lim i

u

b u

0

lim i

u

b u

  và  

0

1 /

u

i

a s ds 

4 Mạng Hopfield với bài toán tối ưu

Như đã biết, mạng Hopfield sẽ đạt tới trạng thái cân bằng khi hàm năng lượng của nó đạt tới giá trị cực tiểu Vì vậy, từ bài toán cho trước ta xây dựng một hàm mục tiêu F nào đó (đã được xử lý các rằng buộc) và đặt F = E (E là hàm năng lượng), sau đó tìm mối liên hệ giữa các biến của chúng Chính vì vậy mà mạng Hopfield rất phù hợp với các bài toán tối ưu tổ hợp, đặc biệt là đối với một số bài

Trang 10

toán thuộc lớp bài toán NP – đầy đủ như bài toán người bán hàng, bài toán sánh cặp có trọng …

Tuy nhiên, khi sử dụng mạng Hopfield vào việc giải các bài toán tối ưu trong thực tế còn gặp một số hạn chế sau:

 Mạng Hopfield không đảm bảo cho hội tụ toàn cục Để khắc phục , người ta đã kết hợp mạng Hopfield với một số giải thuật khác, ví dụ như giải thuật di truyền …, hoặc đưa vào phương trình động học một số hạng đặc biệt gọi là số hạng leo đồi Từ đó hàm năng lượng của mạng có thể thay đổi đến một trạng thái cao hơn, tránh được hội tụ địa phương và tiến tới hội tụ toàn cục

 Việc chọn hệ số của hàm mục tiêu và hệ số của hàm rằng buộc để nhận một lời giải tố là hết sức khó khăn Cho đến nay, việc chọn nó vẫn chủ yếu dựa vào kinh nghiệm

Một các tổng quát, có thể xây dựng một số bước cần phai thực hiện khi sử dụng mạng Hopfield vào việc giải bài toán tối ưu như sau (ánh xạ bài toán tối ưu lên mạng nơ-ron)

1 Lập sơ đồ biểu diễn các đầu ra của mạng sao cho nó có thể giải mã thành nghiệm của bài toán tối ưu

2 Tạo hàm năng lượng sao cho giá trị cực tiểu của nó ứng với nghiệm tốt nhất của bài toán cần ánh xạ

3 Gán giá trị cho các tham số của hàm năng luợng, điều này xác định các trọng số tương đối gán cho các thành phần khác nhau của hàm năng lượng

4 Đưa ra phương trình động học cho các nơ-ron

5 Khởi tạo các giá trị đầu vào

Chú ý:

Không có phương pháp ánh xạ trực tiếp các bài toán tối ưu có rằng buộc lên mạng nơ-ron Cho nên phải thêm vào hàm mục tiêu các thành phần phạt khi các

Trang 11

rằng buộc bị phá vỡ Khi đó hàm năng lượng được biểu diễn như tổng của hàm mục tiêu và các thành phần phạt

Ví dụ: Xét bài toán sánh cặp có trọng.

Phát triển bài toán: cho n điểm i = 1, 2, …, n khoảng cách giữa hai điểm i và j là

dij Phải nối các điểm thành từng cặp, mỗi điểm chỉ nối với đúng một điểm khác sao cho tổng độ dài của đường nối là nhỏ nhất

Hình vẽ dưới đây chỉ là một ví dụ khi số lượng điểm n = 6

Hình 1.8

Ánh xạ bài toán lên mạng nơ-ron:

Ta gán cho mỗi cặp điểm (i,j ) với i < j một nơ-ron ij với đầu ra là Xij Như vậy cần tất cả  1

2

n n 

nơron Mỗi phương án của bài toán ứng dụng với một trạng thái của mạng với:





1 nÕu i nèi víi j

0 nÕu kh¸c

Xij

Ta cần phải giải bài toán:

Trang 12

n

ij ij

i j

Trong đó: dij là khoảng cách từ điểm i tới điểm j

Với các rằng buộc:

1

n

ij

j

X = 1,   i 1, n

Các rằng buộc trên chỉ ra rằng mỗi điểm chỉ được nối với đúng một điểm khác Ta định nghĩa Xij = Xij khi j < i và Xii = 0 Đưa ra thành phần phạt vào hàm cần cực tiểu hóa ta đi đến hàm năng lượng:

2

,

1

1

2 i j ij ij 2 i j ij

Trong đó: là tham số

Từ đây lấy đạo hàm riêng 

ij

E

X ta xác định được phương trình động học của các nơron

ij

k ij

Có thể chọn hàm kích hoạt là hàm McCulloch – Pitts hay hàm Sigmoid Và như vậy ta đã ánh xạ được bài toán sánh cặp có trọng lên mạng nơ-ron nhân tạo

Nhận xét:

Mạng truyền thẳng một lớp dễ phân tích nhưng không mô tả được mọi hàm Mạng nhiều lớp khắc phục được điều này, nhưng lại rất khó phân tích và gặp khó khăn trong quá trình xây dựng mạng (số lớp ẩn và số phần tử trong lớp) Hơn nữa, mạng truyền thẳng nhiều lớp có thể gây sai số tích lũy qua các lớp

Trang 13

Mạng phản hồi một lớp (nổi bật là mạng Hopfield) có cấu trúc đơn giản vì thế

dễ phân tích, không chứa sai số tích lũy Mạng được nghiên cứu và thực hiện với phần động học tuyến tính vì vậy nó rất thích hợp với các loại mô hình bài toán tói

ưu tổ hợp, điều khiển, vv…

Mạng nơ-ron truyền thẳng chỉ đơn thuần tính toán các tín hiệu ra dựa trên các tín hiệu vào và trọng số liên kết nơ-ron đã xác định sẵn ở trong mạng Do đó chúng không có trạng thái bên trong nào khác ngoài vectơ trọng số W Đối với mạng hồi quy, trạng thai bên trong của mạng được lưu trữ tại các ngưỡng của nơ-ron Nói chung các mạng hồi quy không ổn định, thậm chí còn rối loạn, mạng cần phải tính toán rất lâu, thậm chí có thể lặp vô hạn trước khi đưa ra kết quả mong muốn Quá trình họccủa mạng hồi quy cũng phức tạp hơn mạng truyền thẳng rất nhiều Tuy vậy, các mạng hồi quy có thể cho phép mô phỏng các hệ thống tương đối phức tạp trong thực tế

5 Huấn luyện

Huấn luyện một mạng Hopfield là làm giảm năng lượng của các trạng thái mà mạng cần phải "ghi nhớ" Điều này cho phép mạng có thể đóng vai trò một hệ thống bộ nhớ có thể đánh địa chỉ nội dung, hay nói cách khác, mạng sẽ hội tụ về một trạng thái "được ghi nhớ" nếu nó chỉ được cung cấp một phần của trạng thái Mạng có thể dùng để phục hồi từ một dữ liệu vào bị bóp méo thành một trạng thái

đã được huấn luyện giống với dữ liệu vào nhất Cái này gọi là bộ nhớ kết hợp vì nó phục hồi bộ nhớ dựa vào nền tảng tương tự Ví dụ, nếu chúng ta huấn luyện một mạng Hopfield với năm nút sao cho trạng thái (1, 0, 1, 0, 1) là một cực tiểu năng lượng, và chúng ta đưa vào mạng trạng thái (1, 0, 0, 0, 1) nó sẽ hội tụ về (1, 0, 1, 0, 1) Do đó, một mạng sẽ được huấn luyện đúng đắn khi năng lượng của các trạng thái mà mạng sẽ ghi nhớ là các giá trị cực tiểu cục bộ

Thay lời kết

Để kết thúc phần này, chúng tôi lưu ý là mạng Hopfield chỉ có thể khôi phục thành công các ảnh nếu số ví dụ mà bạn lưu trữ trong mạng không vượt quá 0.15N, với N là số nơron

Ngoài ra nên nhớ rằng N cũng chính là số thành phần của một input Chẳng hạn, nếu bạn lưu trữ ảnh của 10 con số từ 0 tới 9 trong phần trước, thì việc khôi

Trang 14

phục ảnh bị nhiễu của chúng sẽ không thành công lắm, vì mạng sẽ chỉ có N = 35 nơron thôi (ứng với 35 pixels của một ảnh) Với kích thước của mạng như vậy, chỉ nên lưu trữ khoảng 0.15x35, tức là 5 ảnh mà thôi

Mặt khác chúng ta cũng có thể tăng số nơron lên bằng cách tăng kích thước của các ảnh lên Nếu ảnh có 10x10 pixels thay vì 7x5 pixels thì số nơron sẽ tăng từ 35 lên 100, do đó mạng có thể lưu trữ được 15 ảnh và khôi phục ảnh bị nhiễu của chúng

III Ứng dụng mạng Hopfield

TRONG BÀI TOÁN 4 MÀU

Mạng Hopfield có thể sử dụng để giải bài toán thỏa mãn các ràng buộc Chương này trình bày ứng dụng của mạng Hopfield giải bài toán bốn màu, và được áp dụng để tô màu bản cho một bản đồ bất kỳ.

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

Chúng ta đã biết rằng một đồ thị phẳng bất kỳ có thể tô bởi bốn màu sao cho hai đỉnh

kề nhau có hai màu khác nhau Áp dụng vào mạng Hopfield để thực hiện bài toán này.

Bài toán đặt ra là: Cho một bản đồ trong đó có N vùng ( các tỉnh thành hoặc các

nước gần nhau ) Cần tô màu cho các vùng sao cho hai nước kề nhau được tô bởi hai màu khác nhau, nhờ đó có thể phân biệt được các vùng dễ dàng.

Thực hiện:

Trước hết ta sẽ mô hình hóa bài toán này như một bài toán thỏa mãn rằng buộc

Ký hiệu:

x : là chỉ số miền cần tô màu (x = 1, 2, …, n)

i :là chỉ số mầu (i;1, 2, 3, 4)

d xy : là biến đặc trưng cho sự cận kề của hai miền x và y.

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w