Làm thế nào tôi nên mã hóa cấu trúc của một mạng lưới thần kinh thành một bộ gen?


14

Đối với một không gian vấn đề xác định, tôi cần tìm một mạng thần kinh với cấu trúc nút và liên kết tối ưu. Tôi muốn sử dụng một thuật toán di truyền để mô phỏng nhiều mạng thần kinh để tìm cấu trúc mạng tốt nhất cho miền vấn đề.

Tôi chưa bao giờ sử dụng thuật toán di truyền cho một nhiệm vụ như thế này trước đây. Những cân nhắc thực tế là gì? Cụ thể, tôi nên mã hóa cấu trúc của mạng lưới thần kinh thành bộ gen như thế nào?

Câu trả lời:


12

Phần 4.2 của "Yếu tố cần thiết của siêu dữ liệu" có rất nhiều thông tin về các cách khác nhau để mã hóa cấu trúc đồ thị thông qua thuật toán di truyền.

Liên quan đặc biệt đến việc phát triển ANN, cá nhân tôi sẽ không có khuynh hướng thực hiện loại điều này 'từ đầu':

Lĩnh vực tiến hóa thần kinh đã có từ lâu và việc triển khai một số phương pháp, chẳng hạn như Neuroevolution of Augmenting Topology ( NEAT ) hiện đã kết hợp nhiều kết quả của nhiều kinh nghiệm thực tế.

Theo liên kết trên:

Chúng tôi cũng đã phát triển một phần mở rộng cho NEAT được gọi là HyperNEAT có thể phát triển các mạng thần kinh với hàng triệu kết nối và khai thác các quy tắc hình học trong miền nhiệm vụ. Trang HyperNEAT bao gồm các liên kết đến các ấn phẩm và giải thích chung về phương pháp này.


Rằng "Yếu tố cần thiết của siêu dữ liệu" trông rất thú vị! Đây là điều thực sự nằm trong lộ trình của M-automata, vì MCTS thuần túy không bao giờ là tối ưu trong các trò chơi M. Từ wiki siêu dữ liệu : "Trong khoa học máy tính và tối ưu hóa toán học, siêu dữ liệu là một thủ tục cấp cao hơn hoặc heuristic được thiết kế để tìm, tạo hoặc chọn một heuristic (thuật toán tìm kiếm một phần) có thể cung cấp một giải pháp đủ tốt cho một vấn đề tối ưu hóa, đặc biệt là với thông tin không đầy đủ hoặc không hoàn hảo hoặc khả năng tính toán hạn chế. "
DukeZhou

4

Sử dụng thuật toán tiến hóa để phát triển mạng lưới thần kinh được gọi là neuroevolution .

Một số thuật toán tiến hóa thần kinh chỉ tối ưu hóa thần kinh trọng số của mạng thần kinh với cấu trúc liên kết cố định. Nghe có vẻ không giống như những gì bạn muốn. Các thuật toán tiến hóa thần kinh khác tối ưu hóa cả trọng lượngcấu trúc liên kết của mạng lưới thần kinh. Các loại thuật toán này có vẻ phù hợp hơn với mục tiêu của bạn và đôi khi được gọi là TWESEN (Mạng cấu trúc liên kết và cấu trúc liên kết trọng lượng).

Một thuật toán phổ biến được gọi là NEAT , và có lẽ là một nơi tốt để bắt đầu, nếu chỉ vì có vô số triển khai, một trong số đó hy vọng được viết bằng ngôn ngữ yêu thích của bạn. Điều đó ít nhất sẽ cung cấp cho bạn một đường cơ sở để làm việc với.

NEAT mã hóa bộ gen mạng thần kinh trực tiếp dưới dạng cấu trúc đồ thị. Đột biến có thể hoạt động trên cấu trúc của mạng bằng cách thêm các liên kết mới (bằng cách kết nối hai nút không được kết nối trước đó) hoặc các nút mới (bằng cách chia một kết nối hiện có) hoặc chỉ có thể hoạt động khi thay đổi các trọng số liên quan đến các cạnh trong biểu đồ (được gọi là đột biến các trọng số). Để cung cấp cho bạn ý tưởng về thứ tự độ lớn của kích thước ANN, thuật toán cụ thể này hoạt động với, nó có thể sẽ phải vật lộn với hơn 100 hoặc 200 nút.

Có nhiều TWESEN có khả năng mở rộng hơn, nhưng chúng phức tạp hơn và đưa ra các giả định về các loại cấu trúc mà chúng tạo ra có thể không phải lúc nào cũng hiệu quả trong thực tế. Ví dụ, một cách khác để mã hóa cấu trúc của mạng nơ ron, là sản phẩm của mẫu hạt giống được lặp đi lặp lại bởi một ngữ pháp (ví dụ: hệ thống L). Bạn có thể dễ dàng khám phá các cấu trúc lớn hơn, nhưng vì chúng được tạo ra bởi một ngữ pháp nên chúng sẽ có một loại cảm giác tự lặp lại đặc trưng. HyperNEAT là một phần mở rộng phổ biến của NEAT tạo ra một loại giả định khác (các mẫu trọng số có thể dễ dàng biểu thị dưới dạng hàm của hình học) và có thể mở rộng thành ANN với hàng triệu kết nối khi giả định đó phù hợp với một miền cụ thể.

Có một vài bài khảo sát được liên kết trong liên kết hàng đầu nếu bạn muốn quan sát nhiều kỹ thuật hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.