2013-06-12 5 views
19

Я узнаю о нейронных сетях и обратном распространении. Я думаю, что я понимаю, как работает сеть, с точки зрения ввода, вывода, скрытых слоев, весов, смещений и т. Д. Однако я до сих пор не совсем понимаю, как создать сеть для решения проблемы. Т.е.: Скажем, я хотел, чтобы нейронная сеть научилась играть в Drafts, как бы я перевел проблему в дизайн нейронной сети? Cheers :)Проектирование нейронных сетей

ответ

13

Есть определенно много решений, которые необходимо принять при проектировании нейронной сети, и нет ни одного правильного ответа. Однако есть несколько общих вопросов, которые часто бывают полезны для обсуждения:

  1. Что вы пытаетесь сгенерировать в качестве вывода? Черновики кажутся сложной игрой, чтобы играть с нейронной сетью, потому что есть много потенциальных движений, и те, которые доступны, изменяются от поворота к повороту, но, по-видимому, вы хотите, чтобы результат стал следующим шагом.

  2. Каковы ваши входы? Это должно включать все, что, по вашему мнению, было бы полезно для принятия решения, которое вы хотите сделать нейронной сетью. В примере с рисунками вам, вероятно, нужно будет предоставить нейронной сети расположение всех частей на доске.

  3. Периодические или передовые технологии? Как правило, если нет существенной причины для предоставления ему информации о том, что было сделано в прошлом, лучше использовать функцию пересылки вперед, поскольку позволяет вам обучать сеть с помощью обратного распространения. Например, для черновиков вы, вероятно, захотите использовать сеть передачи данных.

  4. Вам нужен скрытый слой? Это более сложный вопрос, чтобы знать ответ и может потребоваться некоторое экспериментирование, если вы не знаете много о пространстве с высоким пространством, которое занимают ваши входы. Черновики достаточно сложны, что кажется, что для этого потребуется скрытый слой, но это трудно сделать.

Очевидно, что есть много больше решений, которые могут/должны быть сделаны о нейронной сети установки, но, надеюсь, это поможет вам идти.

2

Моделирование проблемы с использованием нейронной сети (или любой другой модели) является сложной проблемой; для этого нет волшебной пули. Я бы рекомендовал прочитать о тех методах, которые разработали другие, и посмотреть, можете ли вы применить их к своей проблеме. Вы могли бы начать с ссылкой, как,

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

И поиск через Google Scholar для большего количества примеров.

2

Ну, я думаю, ваша проблема - проблема любого другого дизайнера NN ... Одна вещь, которую вы всегда должны иметь в виду, - это эвристические модели. Поэтому они учатся по опыту, так же, как и мы .. Вы не можете «вставить» чистые знания в NN (что возможно в других алгоритмах SC) . Мой подход к вашей проблеме или любой общей проблеме, с которой я сталкиваюсь, заключается в том, чтобы начать с вопрос: «Как я научу это кому-то?»

Вы должны знать правила игры и какие переменные вы можете играть и что хотите. Затем вам нужно обучить сеть (получить данные) с целью выиграть игру, как если бы это был ребенок. После достаточного количества изменений данных и веса NN должен быть в состоянии ответить на разумные игры, чтобы выиграть игру ... поскольку больше данных вы получите, более точный ответ, который у вас может быть, и, следовательно, лучший игрок!

Это не что-то убедительное и линейное, но моя перспектива;) Удачи!

+1

Что такое алгоритм «SC»? – HelloGoodbye

+1

Извините, алгоритм Soft Computing. Soft Computing включает в себя нейронные вычисления, эволюционные вычисления и алгоритмы нечеткой логики – diogoncalves

Смежные вопросы