первый контекст.Должен ли я нормализовать входные данные в моей нейронной сети?
Я принимаю очень преуспевающий проект, создавая нейронную сеть, способную играть в шахматы на достойном уровне. Мне это не удастся, но я делаю это в основном, чтобы узнать, как подойти к этому виду машинного обучения.
Я решил, что хочу тренировать сеть, используя генетический алгоритм для точной настройки веса после того, как различные нейронные сети сражались друг с другом в нескольких играх в шахматы.
Каждый нейрон использует гиперболический тангенс (-1, 1), чтобы нормализовать данные после его обработки, но до того, как он войдет в сеть, пока не будет нормализоваться до входа.
Я вдохнул вдохновение из шахматного движка Giraffe, особенно входы.
Они будут выглядеть вроде этого:
Первый слой:
количество оставшихся Белый Пешки (0-8)
количество оставшихся черных пешек (0 -8)
Остальные белые рыцари (0-2)
количество оставшихся черных рыцарей (0-2)
....
Второй слой все еще на том же уровне, что и первая:
- Положение пешки 1 (вероятно, происходит с 2-мя значениями, х [0-7] и у [0-7])
- Положение пешки 2
...
- Положение королевы 1
- Положение Queen 2
...
Третий слой, опять на том же уровне двух предыдущих. Данные будут только «перекрещиваться» после следующего слоя абстракции.
- Значения частей атакованных Pawn1 (это будет в диапазоне 0-12 МОГ)
- Значения частей атакованных Pawn2
...
- Значение деталей атакованы Bishop1
Вы получаете идею.
Если вы не сделали здесь ужасная краска представление о том, что я имею в виду:
Вопрос: Я должен нормализовать входные данные, прежде чем она считывается нейронные сети?
Я чувствую, что хлюпание данных может быть не такой хорошей идеей, но у меня действительно нет компетенции сделать окончательный звонок.
Я надеюсь, что кто-то здесь может просветить меня по этому вопросу, и если вы думаете, что я должен нормализовать данные, мне бы хотелось, если бы вы могли предложить некоторые способы сделать это.
Спасибо!
Укажите, что вы хотите нормализовать? – SmallChess
Привет. Я хочу нормализовать входные данные, так что я перечислил в вопросе. Например, количество пешек, все еще находящихся на доске, которое будет варьироваться от 0 до 8, должен ли я нормализовать его вместе со всеми другими входами, которые я перечислял? – Daniel
Ответ на ваш [от 0 до 8] - ДА. Пожалуйста, просмотрите мой ответ. – SmallChess