5

Tôi có hai mảng đối tượng mô tả cấu trúc của mạng nơ-ron, làm thế nào tôi có thể kết hợp chúng để tạo ra một con cái thực tế? Các "nhiễm sắc thể" sẽ giống như thế này:Sử dụng thuật toán di truyền, làm thế nào tôi có thể tạo ra con cái dựa trên hai cấu trúc mạng thần kinh?

chromosome = [ 
    [Node, Node, Node], 
    [Node, Node, Node, Node, Node], 
    [Node, Node, Node, Node], 
    [Node, Node, Node, Node, Node], 
    [Node, Node, Node, Node, Node, Node, Node], 
    [Node, Node, Node], 
]; 

Một ví dụ nút:

Node { 
    nodesThatThisIsConnectedTo = [0, 2, 3, 5] // These numbers identify which nodes to collect output from in the preceding layer from based on their index number 
    weights = [0.34, 0.33, 0.76, -0.56] // These are the corresponding weights applied to the mentioned nodes 
} 
+3

Crossover cho mạng nơron rất khó vì nhiều lý do. Bạn có thể muốn xem [NEAT] (http://www.cs.ucf.edu/~kstanley/neat.html), sử dụng cơ chế thông minh (dấu hiệu lịch sử) để giải quyết vấn đề. Các giấy tờ liên kết (dưới cùng của trang) chứa nhiều thông tin hơn về cách thức/lý do hoạt động. – DataWraith

+0

Đọc bản gốc 2005 (tôi nghĩ) giấy, nó được viết tuyệt vời và sẽ trả lời tất cả các câu hỏi của bạn. – mbatchkarov

Trả lời

0

Tôi nghĩ rằng một cách tiếp cận tốt hơn sẽ được thực hiện một tìm kiếm thuật toán di truyền cho vector trọng số của từng nút - nếu bạn' được khóa lại bằng GA.

cho mỗi nút có số lượng vectơ và mỗi nút lặp lại thay đổi vectơ trọng số của nó. Điều này dường như với tôi giống như một cách tiếp cận âm thanh nhiều hơn sau đó cross-over giữa hai mạng đầy đủ.

Các vấn đề liên quan