Máy Boltzmann
Đây là các quy trình học ngẫu nhiên có cấu trúc lặp lại và là cơ sở của các kỹ thuật tối ưu hóa ban đầu được sử dụng trong ANN. Boltzmann Machine được Geoffrey Hinton và Terry Sejnowski phát minh vào năm 1985. Có thể thấy rõ hơn qua những lời của Hinton về Boltzmann Machine.
“Một tính năng đáng ngạc nhiên của mạng này là nó chỉ sử dụng thông tin có sẵn tại địa phương. Sự thay đổi của trọng lượng chỉ phụ thuộc vào hành vi của hai đơn vị nó kết nối, mặc dù sự thay đổi đó tối ưu hóa một thước đo toàn cầu ”- Ackley, Hinton 1985.
Một số điểm quan trọng về Boltzmann Machine -
Chúng sử dụng cấu trúc lặp lại.
Chúng bao gồm các tế bào thần kinh ngẫu nhiên, có một trong hai trạng thái có thể có, 1 hoặc 0.
Một số tế bào thần kinh trong số này là thích nghi (trạng thái tự do) và một số bị kẹp (trạng thái đông lạnh).
Nếu chúng ta áp dụng phương pháp ủ mô phỏng trên mạng Hopfield rời rạc, thì nó sẽ trở thành Máy Boltzmann.
Mục tiêu của Máy Boltzmann
Mục đích chính của Boltzmann Machine là tối ưu hóa giải pháp của một vấn đề. Công việc của Boltzmann Machine là tối ưu hóa trọng lượng và số lượng liên quan đến vấn đề cụ thể đó.
Ngành kiến trúc
Sơ đồ sau đây cho thấy kiến trúc của máy Boltzmann. Rõ ràng từ sơ đồ, rằng nó là một mảng đơn vị hai chiều. Ở đây, trọng số về kết nối giữa các đơn vị là–p Ở đâu p > 0. Trọng lượng của các kết nối tự được đưa ra bởib Ở đâu b > 0.
Thuật toán đào tạo
Như chúng ta biết rằng máy Boltzmann có trọng số cố định, do đó sẽ không có thuật toán huấn luyện vì chúng ta không cần cập nhật trọng số trong mạng. Tuy nhiên, để kiểm tra mạng, chúng ta phải thiết lập các trọng số cũng như tìm hàm đồng thuận (CF).
Máy Boltzmann có một tập hợp các đơn vị Ui và Uj và có kết nối hai chiều trên chúng.
Chúng tôi đang xem xét trọng lượng cố định nói wij.
wij ≠ 0 nếu Ui và Uj được kết nối.
Cũng tồn tại một sự đối xứng trong liên kết có trọng số, tức là wij = wji.
wii cũng tồn tại, tức là sẽ có sự tự kết nối giữa các đơn vị.
Đối với bất kỳ đơn vị nào Ui, trạng thái của nó ui sẽ là 1 hoặc 0.
Mục tiêu chính của Boltzmann Machine là tối đa hóa Hàm đồng thuận (CF) có thể được đưa ra bởi quan hệ sau
$$ CF \: = \: \ displaystyle \ sum \ limit_ {i} \ displaystyle \ sum \ limit_ {j \ leqslant i} w_ {ij} u_ {i} u_ {j} $$
Bây giờ, khi trạng thái thay đổi từ 1 thành 0 hoặc từ 0 thành 1, thì sự thay đổi về sự đồng thuận có thể được đưa ra bởi quan hệ sau:
$$ \ Delta CF \: = \ :( 1 \: - \: 2u_ {i}) (w_ {ij} \: + \: \ displaystyle \ sum \ limit_ {j \ neq i} u_ {i} w_ { ij}) $$
Đây ui là trạng thái hiện tại của Ui.
Sự thay đổi trong hệ số (1 - 2ui) được cho bởi quan hệ sau:
$$ (1 \: - \: 2u_ {i}) \: = \: \ begin {case} +1, & U_ {i} \: is \: current \: off \\ - 1, & U_ {i } \: is \: current \: on \ end {case} $$
Nói chung, đơn vị Uikhông thay đổi trạng thái của nó, nhưng nếu có thì thông tin sẽ được cư trú cục bộ cho đơn vị. Với sự thay đổi đó, cũng sẽ tăng sự đồng thuận của mạng lưới.
Xác suất mạng chấp nhận sự thay đổi trạng thái của thiết bị được cho bởi quan hệ sau:
$$ AF (i, T) \: = \: \ frac {1} {1 \: + \: exp [- \ frac {\ Delta CF (i)} {T}]} $$
Đây, Tlà tham số điều khiển. Nó sẽ giảm khi CF đạt giá trị lớn nhất.
Thuật toán kiểm tra
Step 1 - Khởi tạo phần sau để bắt đầu đào tạo -
- Trọng số đại diện cho hạn chế của vấn đề
- Thông số điều khiển T
Step 2 - Tiếp tục bước 3-8, khi điều kiện dừng không đúng.
Step 3 - Thực hiện các bước 4-7.
Step 4 - Giả sử rằng một trong các trạng thái đã thay đổi trọng số và chọn số nguyên I, J như các giá trị ngẫu nhiên giữa 1 và n.
Step 5 - Tính toán sự thay đổi trong sự đồng thuận như sau -
$$ \ Delta CF \: = \ :( 1 \: - \: 2u_ {i}) (w_ {ij} \: + \: \ displaystyle \ sum \ limit_ {j \ neq i} u_ {i} w_ { ij}) $$
Step 6 - Tính xác suất để mạng này chấp nhận sự thay đổi trạng thái
$$ AF (i, T) \: = \: \ frac {1} {1 \: + \: exp [- \ frac {\ Delta CF (i)} {T}]} $$
Step 7 - Chấp nhận hoặc từ chối thay đổi này như sau -
Case I - nếu R < AF, chấp nhận sự thay đổi.
Case II - nếu R ≥ AF, từ chối thay đổi.
Đây, R là số ngẫu nhiên từ 0 đến 1.
Step 8 - Giảm thông số điều khiển (nhiệt độ) như sau -
T(new) = 0.95T(old)
Step 9 - Kiểm tra các điều kiện dừng có thể như sau:
- Nhiệt độ đạt đến một giá trị xác định
- Không có thay đổi về trạng thái đối với một số lần lặp được chỉ định