Mạng nơron nhân tạo - Mạng Hopfield
Mạng nơ-ron Hopfield được phát minh bởi Tiến sĩ John J. Hopfield vào năm 1982. Nó bao gồm một lớp duy nhất chứa một hoặc nhiều nơ-ron lặp lại được kết nối đầy đủ. Mạng Hopfield thường được sử dụng cho các nhiệm vụ tự động liên kết và tối ưu hóa.
Mạng Hopfield rời rạc
Một mạng Hopfield hoạt động theo kiểu đường rời rạc hay nói cách khác, có thể nói các mẫu đầu vào và đầu ra là vector rời rạc, có thể có bản chất là nhị phân (0,1) hoặc lưỡng cực (+1, -1). Mạng có trọng số đối xứng không có tự kết nối, tức làwij = wji và wii = 0.
Ngành kiến trúc
Sau đây là một số điểm quan trọng cần ghi nhớ về mạng Hopfield rời rạc:
Mô hình này bao gồm các tế bào thần kinh với một đầu ra đảo ngược và một đầu ra không đảo ngược.
Đầu ra của mỗi tế bào thần kinh phải là đầu vào của các tế bào thần kinh khác nhưng không phải là đầu vào của bản thân.
Trọng lượng / cường độ kết nối được biểu thị bằng wij.
Kết nối có thể kích thích cũng như ức chế. Sẽ rất kích thích nếu đầu ra của nơron giống với đầu vào, ngược lại là ức chế.
Trọng lượng phải đối xứng, tức là wij = wji
Đầu ra từ Y1 sẽ Y2, Yi và Yn có trọng lượng w12, w1i và w1ntương ứng. Tương tự, các cung khác có trọng lượng trên chúng.
Thuật toán đào tạo
Trong quá trình huấn luyện mạng Hopfield rời rạc, các trọng số sẽ được cập nhật. Như chúng ta biết rằng chúng ta có thể có các vectơ đầu vào nhị phân cũng như các vectơ đầu vào lưỡng cực. Do đó, trong cả hai trường hợp, cập nhật trọng lượng có thể được thực hiện với mối quan hệ sau
Case 1 - Mẫu đầu vào nhị phân
Đối với một tập hợp các mẫu nhị phân s(p), p = 1 to P
Đây, s(p) = s1(p), s2(p),..., si(p),..., sn(p)
Ma trận trọng lượng được đưa ra bởi
$$ w_ {ij} \: = \: \ sum_ {p = 1} ^ P [2s_ {i} (p) - \: 1] [2s_ {j} (p) - \: 1] \: \: \: \: \: cho \: i \: \ neq \: j $$
Case 2 - Mẫu đầu vào lưỡng cực
Đối với một tập hợp các mẫu nhị phân s(p), p = 1 to P
Đây, s(p) = s1(p), s2(p),..., si(p),..., sn(p)
Ma trận trọng lượng được đưa ra bởi
$$ w_ {ij} \: = \: \ sum_ {p = 1} ^ P [s_ {i} (p)] [s_ {j} (p)] \: \: \: \: \: cho \ : i \: \ neq \: j $$
Thuật toán kiểm tra
Step 1 - Khởi tạo các trọng số thu được từ thuật toán huấn luyện bằng cách sử dụng nguyên tắc Hebbian.
Step 2 - Thực hiện các bước 3-9, nếu các kích hoạt của mạng không được hợp nhất.
Step 3 - Đối với mỗi vector đầu vào X, thực hiện các bước 4-8.
Step 4 - Thực hiện kích hoạt ban đầu của mạng bằng vectơ đầu vào bên ngoài X như sau -
$$ y_ {i} \: = \: x_ {i} \: \: \: cho \: i \: = \: 1 \: tới \: n $$
Step 5 - Đối với từng đơn vị Yi, thực hiện các bước 6-9.
Step 6 - Tính toán đầu vào thực của mạng như sau -
$$ y_ {ini} \: = \: x_ {i} \: + \: \ displaystyle \ sum \ limit_ {j} y_ {j} w_ {ji} $$
Step 7 - Áp dụng kích hoạt như sau trên đầu vào ròng để tính toán đầu ra -
$$ y_ {i} \: = \ begin {case} 1 & if \: y_ {ini} \:> \: \ theta_ {i} \\ y_ {i} & if \: y_ {ini} \: = \: \ theta_ {i} \\ 0 & if \: y_ {ini} \: <\: \ theta_ {i} \ end {case} $$
Đây $ \ theta_ {i} $ là ngưỡng.
Step 8 - Phát đầu ra này yi cho tất cả các đơn vị khác.
Step 9 - Kiểm tra mạng để kết hợp.
Đánh giá chức năng năng lượng
Một chức năng năng lượng được định nghĩa là một chức năng được liên kết và chức năng không tăng của trạng thái của hệ thống.
Chức năng năng lượng Ef, cũng được gọi là Lyapunov function xác định tính ổn định của mạng Hopfield rời rạc và được đặc trưng như sau:
$$ E_ {f} \: = \: - \ frac {1} {2} \ displaystyle \ sum \ limit_ {i = 1} ^ n \ displaystyle \ sum \ limit_ {j = 1} ^ n y_ {i} y_ {j} w_ {ij} \: - \: \ displaystyle \ sum \ limit_ {i = 1} ^ n x_ {i} y_ {i} \: + \: \ displaystyle \ sum \ limit_ {i = 1} ^ n \ theta_ {i} y_ {i} $$
Condition - Trong mạng ổn định, bất cứ khi nào trạng thái của nút thay đổi, cơ năng trên sẽ giảm.
Giả sử khi nút i đã thay đổi trạng thái từ $ y_i ^ {(k)} $ thành $ y_i ^ {(k \: + \: 1)} $ vậy thì sự thay đổi Năng lượng $ \ Delta E_ {f} $ được cho bởi quan hệ sau
$$ \ Delta E_ {f} \: = \: E_ {f} (y_i ^ {(k + 1)}) \: - \: E_ {f} (y_i ^ {(k)}) $$
$$ = \: - \ left (\ begin {array} {c} \ displaystyle \ sum \ limit_ {j = 1} ^ n w_ {ij} y_i ^ {(k)} \: + \: x_ {i} \: - \: \ theta_ {i} \ end {array} \ right) (y_i ^ {(k + 1)} \: - \: y_i ^ {(k)}) $$
$$ = \: - \ :( net_ {i}) \ Delta y_ {i} $$
Đây $ \ Delta y_ {i} \: = \: y_i ^ {(k \: + \: 1)} \: - \: y_i ^ {(k)} $
Sự thay đổi năng lượng phụ thuộc vào thực tế là chỉ một đơn vị có thể cập nhật kích hoạt của nó tại một thời điểm.
Mạng Hopfield liên tục
So với mạng Hopfield rời rạc, mạng liên tục có thời gian là một biến liên tục. Nó cũng được sử dụng trong các vấn đề liên kết và tối ưu hóa ô tô như vấn đề nhân viên bán hàng đi du lịch.
Model - Mô hình hoặc kiến trúc có thể được xây dựng bằng cách thêm các thành phần điện như bộ khuếch đại có thể ánh xạ điện áp đầu vào với điện áp đầu ra qua một chức năng kích hoạt sigmoid.
Đánh giá chức năng năng lượng
$$ E_f = \ frac {1} {2} \ displaystyle \ sum \ limit_ {i = 1} ^ n \ sum _ {\ substack {j = 1 \\ j \ ne i}} ^ n y_i y_j w_ {ij} - \ displaystyle \ sum \ limit_ {i = 1} ^ n x_i y_i + \ frac {1} {\ lambda} \ displaystyle \ sum \ limit_ {i = 1} ^ n \ sum _ {\ substack {j = 1 \\ j \ ne i}} ^ n w_ {ij} g_ {ri} \ int_ {0} ^ {y_i} a ^ {- 1} (y) dy $$
Đây λ là tham số khuếch đại và gri độ dẫn đầu vào.