2013-06-12 13 views
19

私はニューラルネットワークとバックプロパゲーションについて学んでいます。私は、入力、出力、隠れた層、重み、バイアスなどの点で、ネットワークの仕組みを理解していると思います。しかし、問題に合わせてネットワークを設計する方法はまだ完全に理解できていません。つまり、ドラフトをどのようにプレイするかを学習するためにニューラルネットが必要だったとしたら、どのように問題をニューラルネットデザインに変換するのですか?歓声:ニューラルネットワークの設計

答えて

13

確かにニューラルネットの設計には多くの決定がなされており、正しい答えはありません。しかし、よく考えられるいくつかの一般的な質問があります。

  1. 何を出力として生成しようとしていますか?ドラフトは、潜在的な動きが多いので、ニューラルネットで遊ぶのは難しいゲームのようだが、出力が次の動きになることを望むだろう。

  2. あなたの入力は何ですか?これには、ニューラルネットを作成することを決定するのに役立つと思われるものをすべて含める必要があります。ドラフトの例では、ボード上のすべての部分の位置をニューラルネットに与える必要があるでしょう。

  3. 繰り返しまたはフィードフォワード?一般的に、過去に何が行われたのかに関する情報を提供する本当に顕著な理由がない限り、フィードフォワードを使用することが最善です。これは、バックプロパゲーションでネットをトレーニングできるようにするためです。たとえば、ドラフトの場合は、フィードフォワードネットワークを使用することをお勧めします。

  4. 隠れたレイヤーが必要ですか?あなたの入力が占める高次元の空間についてたくさん知っている場合を除き、これは答えを知るのが難しい問題であり、実験を必要とするかもしれません。ドラフトは複雑なので、隠れたレイヤーが必要なようですが、確かめるのは難しいです。

明らかに、ニューラルネットの設定については、もっとたくさんの決定をすることができますが、うまくいけばこれらのことが進むでしょう。

2

ニューラルネットワーク(または他の種類のモデル)を使用して問題をモデル化することは困難な問題です。このための魔法の弾丸はありません。私は、他の人が開発したテクニックについて読んで、問題にそれらを適用できるかどうかを確認することをお勧めします。あなたは、参照などで

https://en.wikipedia.org/wiki/Types_of_artificial_neural_networks

を開始し、より多くの例については、Googleの学者を検索できます。

2

あなたの問題は、他のNNデザイナーの問題だと思います.NNはヒューリスティックなモデルです。常に心に留めておいてください。したがって、彼らは私たちと同じように経験によって学びます。あなたはNNに純粋な知識を挿入することはできません。(他のSCアルゴリズムでも可能です) あなたの問題に対する私のアプローチや、私が直面する一般的な問題は、質問: 「これは誰に教えてもらえますか?」

あなたはゲームのルール、どの変数を使用して遊ぶことができ、どんなものが必要なのかを知る必要があります。あなたが子供であるかのように、ゲームを勝ち取るという目標を持ってネットワークを訓練する(データを得る)必要があります。十分なデータと重量の変化の後、NNはゲームを勝ち抜くために合理的なプレイに答えることができるはずです。もっと多くのデータが得られれば、より正確な答えが得られます。

結論も線形ですが、私の見解です; 幸運を祈ってください!

+1

"SC"アルゴリズムとは何ですか? – HelloGoodbye

+1

申し訳ありません、ソフトコンピューティングアルゴリズム。ソフトコンピューティングには、ニューラルコンピューティング、進化的コンピューティング、ファジィ論理アルゴリズム – diogoncalves

関連する問題