2017-05-24 101 views
1

我有一個優化問題,其中我想最大化的目標函數是不可微分的。我用遺傳算法訓練了一個線性模型,但線性模型的表現並不好。我正在考慮用神經網絡替換線性模型。但我的理解是,使用不可區分的目標函數,我不能使用backprop方法來執行更新。 那麼,有沒有人知道如何使用遺傳算法來訓練神經網絡?使用遺傳算法訓練神經網絡

回答

1

是的。這被稱爲神經進化。如果你擅長編程,你可以製作自己的NEAT(增強拓撲的神經元進化)實現。但是,這裏已經有很多實現。

如果你想先玩神經元進化,你可能想看看Neataptic。你所需要做的就是設置網絡並運行一個功能來啓動神經元進化。

+0

你可以建議我應該看看的任何實現或例子嗎?@Thomas W – ascetic652

+0

@ ascetic652 well [here](https://github.com/wagenaartje/agario-ai)例如Neataptic用於演化基因組來玩遊戲agario –