2017-04-15 94 views
0

我最近開始對人工智能,神經網絡和遺傳算法有很大的興趣,並且我想要構建一個能夠處理問題的小AI。 我研究了這個主題,並且我認爲我對非增長神經網絡的工作原理以及它們的權重如何演變有了很好的理解,但我無法找到關於如何確定網絡是否需要生成新神經元的解釋,我應該從多少這樣的開始。神經網絡中神經元的演化

P.S. 我是一名計算機科學專業的學生,​​也是職業程序員,所以我對算法和圖形有很好的理解,但我還沒有學習AI。

回答

2

的遺傳算法不「確定」,如果神經元應該被添加或移除,它通過一個隨機的機會,當它有積極的影響,它會留在後代做它 - 優勝劣汰。

純紙開始與僅具有輸入節點和輸出節點的網絡。然後它演變越來越多的節點和連接,然而隨機(mutationRate)的機會!

Read about it here

enter image description here


我已經實現了這個轉換成JavaScript,所以如果你想看看網絡如何演變作爲一個異或門,檢查this出來。

0

起始神經元數量是很難定義的。 Scientisc通常使用直覺或gentic algoritm來描述上層。如果使用第一個選項,網絡不工作好: 1.(過多的神經元,網絡快速學習lerning例子,但有symilar問題的問題)做出新的更小的網絡和學習。 2.(太痘痘神經元,網絡具有較大的誤差結束,這不可能是lerning期間更小)儘量小的重量和continou lerning添加新的神經元太現有的網絡(連接其他人一樣),或者做出新的更大的網絡,並開始新的lerning 。您也可以嘗試添加新圖層。

輸入 leyer 1> leyer 2> L 3 ...

輸出leyer可以是一個例外。 使用連接的所有所有 在文獻usualy recomentd 3層,但我的實驗告訴4層具有更好的泛化。