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 1TRƯỜ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 2MẠ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 3củ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 43 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 5Hì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 6Cá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 7Trong đó:
∆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 8Mộ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 9a(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 10toá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 11rằ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 13Mạ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 14phụ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.