6

Я хочу иметь искусственную нейронную сеть:Как реализовать искусственную нейронную сеть в Delphi?

  • 42 входных нейронов
  • 168 скрытых нейронов
  • 7 выходных нейронов

Эта сеть, чтобы играть в игру "Connect Four" , В конце каждой игры сеть получает обратную связь (результат игры/выигрыш?).

Обучение должно проводиться с учетом временных разниц.

Мои вопросы:

  • Какие ценности должны быть в моей награды массив?
  • И, наконец: Как я могу применить его сейчас к своей игре?

Большое вам спасибо!

+14

Что значит «что случилось»? Вы говорите нам. Что случилось с этим? Разве это не компилируется? Содержит ли он компиляцию, но он дает ошибки при запуске? Это просто не дает правильного выхода? Гораздо легче справиться с такими вопросами, когда вы даете нам что-то, что нужно продолжить. –

+1

Он отлично компилируется в Delphi 2010! – IElite

+2

@ user89818, после ответа на вопрос Мейсона и исправления ошибки, найденной Sertac: Начните с малого, вы не можете протестировать с общим количеством нейронов 217, уменьшите количество на что-то много, намного меньше; Настройте рабочий лист Excel, запустите программу в отладчике и на каждом шаге обновите рабочий лист Excel * вручную * и сравните значения с тем, что вы видите в Delphi. Это поможет выявить любые логические ошибки. –

ответ

4

Нет необходимости в псевдокоде. Посмотрите на эти ссылки:

+0

Прохладные ссылки. Первый - особый дельфи, хотя другие - нет. Однако, если у вас есть первая ссылка на загрузку. Есть еще один для NeuroVCL? Кажется, что файлы DCU (двоичные) для Delphi 5 предоставлены автором, но нет источников, что делает этот NeuroVCL интересным историческим любопытством для тех, у кого нет Delphi 5 или 6. Альтернативная ссылка: http: //solair.eunet .rs/~ ilicv/free_eng.html –

+0

Спасибо :) Хорошие ссылки, но поскольку я ищу некоторые подсказки, чтобы подготовить MY-реализацию, я не могу это использовать. И: Я хочу реализовать алгоритм TD (лямбда) для обучения, тогда как все ссылки имеют простое обратное распространение. – caw

+0

FANN также поддерживает Delphi: http://sourceforge.net/projects/fann – avra

1

Если вы заинтересованы в использовании сторонней библиотеки (бесплатно для некоммерческих продуктов, я был очень доволен некоторыми инструментами от этой компании http://www.mitov.com/html/intelligencelab.html (хотя я никогда не использовал их разведывательную лабораторию, просто видео инструменты .)

+0

Спасибо! Может быть очень интересным для других пользователей, но в моем случае мне нужна моя реализация;) – caw

4

Первый удар: вы назначаете '0' t в 'main', но ваша нижняя граница вашего массива '1', поэтому вы получаете доступ к несуществующему элементу в циклах, следовательно, AV.

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

BTW, так как я понятия не имею, что делает код, я бы не заметил никаких других ошибок в это время.

+0

Благодарим вас за сообщение об этой небольшой ошибке. Я скорректировал его в коде выше – caw

0

Fast Artificial Neural Network (FANN) является хорошим открытым исходным кодом библиотеки, ее оптимизирован и используется большим сообществом, с большим количеством поддержки и delphi привязки.

Использование зависимостей в этой области рекомендуется, если вы не полностью понимаете, что вы делаете, самая маленькая деталь может оказать большое влияние на работу нейронной сети; поэтому лучше потратьте время на реализацию сети, а затем на что-нибудь еще.

0

Другие ссылки, которые могут быть полезны для вас:

http://delphimagic.blogspot.com.ar/2012/12/red-neuronal-backpropagation.html (Включает исходный код) Coding нейронную сеть прямого распространения с двумя входными нейронами, два выхода и один скрытый слой. Образец предоставляет два набора данных, которые могут обучать сеть и видеть, как точное обучение минимизирует ошибку, показанную на графике. Изменение программы может изменить количество раз, когда сеть была обучена тестовыми данными (эпохи)

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