8

Tôi đã xem qua số this interesting video on YouTube on genetic algorithms.Mạng lưới thần kinh sử dụng thuật toán di truyền và truyền ngược để chơi trò chơi như thế nào?

Như bạn có thể thấy trong video, các bot sẽ học cách chiến đấu.
Bây giờ, tôi đã nghiên cứu các mạng thần kinh trong một thời gian và tôi muốn bắt đầu học các thuật toán di truyền .. Bằng cách nào đó kết hợp cả hai.

Làm cách nào để kết hợp các thuật toán di truyền và mạng nơron để thực hiện điều này?
Và cũng làm cách nào để biết lỗi trong trường hợp này mà bạn sử dụng để truyền lại và cập nhật trọng số và đào tạo mạng? Và bạn nghĩ chương trình trong video đã tính toán chức năng thể dục của nó như thế nào? Tôi đoán đột biến chắc chắn đang xảy ra trong chương trình trong video nhưng những gì về sự giao nhau?

Cảm ơn!

+2

Sao chép lại thường tốt hơn nhiều so với thuật toán di truyền trong ngữ cảnh này – Untitled123

+0

Cố gắng tìm một giới thiệu tốt về đề xuất lại :) – Untitled123

+0

Bạn nghĩ chương trình trong video như thế nào ... Tính toán chức năng thể dục? – SSR

Trả lời

2

Đây là vấn đề gia cố trong đó đầu ra của mạng nơron là các phím trên bàn phím được nhấn để tối đa hóa điểm do chức năng thể dục cung cấp. Sử dụng các thuật toán di truyền (GA) và bắt đầu từ một kiến ​​trúc mạng nơron ban đầu, GA có xu hướng tìm một kiến ​​trúc tốt hơn để tối đa hóa một hàm thể dục, lặp lại. GA tạo ra các kiến ​​trúc khác nhau bằng cách sinh ra một quần thể của chúng và sau đó sử dụng chúng cho nhiệm vụ (chơi trò chơi), chọn ra một điểm số cao hơn (sử dụng chức năng thể dục). Lần sau, GA sử dụng các ứng cử viên kiến ​​trúc tốt nhất (cha mẹ trong thuật ngữ GA) để sử dụng cho chăn nuôi và lặp lại quá trình tạo ra dân số mới (kiến trúc). Tất nhiên, chăn nuôi cũng bao gồm đột biến.

Quy trình này tiếp tục cho đến khi đáp ứng tiêu chí chấm dứt (giá trị cụ thể cho chức năng thể dục hoặc tạo số lượng dân số). Bạn có thể lưu ý rằng các thuật toán di truyền rất chuyên sâu về tính toán và do đó loại bỏ các vấn đề quy mô lớn. Đương nhiên, khi một kiến ​​trúc được tạo ra nó được đào tạo bằng cách sử dụng backpropagation hoặc bất kỳ kỹ thuật tối ưu hóa áp dụng nào khác, bao gồm cả GA.

Ví dụ: this video cho biết cách các thuật toán di truyền giúp chọn kiến ​​trúc "tốt nhất" để chơi Mario và nó hoạt động rất tốt! Tuy nhiên, lưu ý rằng nếu GA chọn kiến ​​trúc để chơi Mario rất tốt ở một cấp, kiến ​​trúc đó sẽ không nhất thiết phải hoạt động tốt ở các cấp độ tiếp theo như được hiển thị trong another video.Theo tôi, điều này là bởi vì cả hai thuật toán di truyền và backpropagation có xu hướng tìm thấy một minima địa phương. Vì vậy, vẫn còn một chặng đường dài để đi ...

Nguồn

+0

Chức năng thể dục là gì .. Trong trường hợp của video tôi đã đề cập? – SSR

+0

@SSR Họ nên tự giải thích, nhưng tôi cho rằng chức năng thể dục được chụp thành công. – Amir

+0

@SSR xin lưu ý rằng cách tiếp cận học tập mới đang được sử dụng ngày hôm nay để chơi trò chơi sử dụng mạng thần kinh. Một công việc tình cảm đã được thực hiện vào năm ngoái, các nhà nghiên cứu của Google ở ​​London. Bạn có thể xem uo "Deep Q Learning" để đọc thêm về nó. – Amir

0

Làm cách nào để kết hợp các thuật toán di truyền và mạng nơron để thực hiện việc này?

Mạng nơron có thể được đào tạo với sự kết hợp của thuật toán di truyền và truyền lại hoặc bạn có thể đào tạo hàng loạt mạng với thuật toán backpropagation và chọn một lô biểu mẫu mà bạn cho là hứa hẹn nhất bằng thuật toán di truyền.

Và cũng làm cách nào để biết lỗi trong trường hợp này bạn sử dụng để sao lưu và cập nhật trọng số và đào tạo mạng?

Tính toán lỗi có thể thay đổi tùy thuộc vào thuật toán, nhưng nói chung, nếu bạn sử dụng phương pháp học được giám sát, bạn phải tính toán sai số.

Tôi đề xuất xem xét một trong các thuật toán di truyền tiên tiến nhất hiện tại là NEAT.

+0

Bạn nghĩ chương trình trong video đã được thực hiện như thế nào? Làm thế nào để bạn nghĩ rằng nó tích hợp các thuật toán di truyền và mạng thần kinh? – SSR

+0

Tôi cảm thấy như bạn không hiểu video rất rõ (mặc dù tôi chưa từng xem). Liên kết này có thể hữu ích http://www.ai-junkie.com/ann/evolved/nnt1.html – Untitled123

+0

@SSR Dường như sử dụng thuật toán di truyền làm phương pháp dạy mạng thần kinh thay vì truyền ngược. –

0

Bạn có thể sử dụng chung thuật toán như ano có cách để tối ưu hóa mạng thần kinh. Thay vì sử dụng phương pháp truyền lại, đó là thuật toán mặc định và được sử dụng nhiều nhất, bạn có thể tối ưu hóa trọng số bằng thuật toán di truyền.

Hãy xem điều này paper. Ở đó chúng tôi đề xuất một thuật toán gọi là sự tiến hóa thần kinh, là sự kết hợp của các mạng nơron với một thuật toán di truyền được gọi là sự tiến hóa khác biệt. Nó được sử dụng để làm cho một robot hình người phát hiện cảm xúc của con người và tương tác phù hợp. Ngoài ra còn có một trạng thái rộng lớn của nghệ thuật về vấn đề này. Hy vọng nó giúp.

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