2017-04-15 10 views
0

私は最近、特にAI、ニューラルネットワーク、GAの分野で多くの関心を引いています。問題を処理できるように小さなAIを構築したいと思います。 私はこのテーマを研究しました。成長していないニューラルネットワークがどのように働いているのか、ウエイトがどのように進化しているのかを十分に理解していると思います。しかし、ネットワークが新しいニューロンを生成する必要があるかどうかを判断する方法については、私はどのくらい多くのことを始めなければなりませんか?ニューラルネットワークのニューロンの進化

P.S. 私はコンピュータサイエンスの学生であり、職業によってプログラマーをしているのでアルゴリズムとグラフをよく理解していますが、まだAIを研究していません。

答えて

2

遺伝的アルゴリズムは、ニューロンを追加または削除する必要があるかどうかを判断しません。ランダムなチャンスで行います。プラスの効果がある場合、将来の世代、つまり適者生存します。

NEATペーパーは、入力ノードと出力ノードのみを持つネットワークから始まります。しかし、それはランダム(mutationRate)のチャンスによってますます多くのノードと接続を展開します!

Read about it here

enter image description here


私には、JavaScriptにこれを実装しているので、あなたは、ネットワークがthisアウトを確認し、XORゲートとして動作するように進化する方法を確認したい場合。

0

開始ニューロン数の定義は難しいです。 Scientiscは、通常、直感または優雅なアルゴリズムを使用してこれを変更します。最初のオプションを使用していて、ネットワークが正常に動作しない場合: 1.ニューロンが多すぎるとネットワーク学習が遅れますが、類似の問題には問題があります。新しい小さなネットワークを作り、それを学びます。 2.ニューロンがあまりにも小さいニューロン、あまり小さいニューロンを追加してください。小さなニューロを追加してください。 。新しいレイヤーを追加することもできます。

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

出力leyerは例外とすることができます。 すべての接続をすべて使用する 通常、文献では3層が推奨されていますが、私の実験では4層がより一般化していると語っています。

関連する問題