Я попытался запрограммировать свою собственную нейронную сеть LSTM (длинную короткую память). Я хочу проверить, работает ли базовая функциональность. Я реализовал обратное распространение через алгоритм BPTT времени для обучения сети с одной ячейкой.LSTM network learning
Должно ли одноядерная сеть LSTM иметь возможность изучать простую последовательность или иметь более чем одну ячейку? Кажется, что сеть не может научиться простой последовательности, такой как 1 0 0 0 1 0 0 0 1 0 0 0 1.
Я посылаю последовательность 1 и 0 по одному, чтобы, в порядке сети и подавать ее вперед. Я записываю каждый вывод для последовательности.
После выполнения всей последовательности через ячейку LSTM я подаю сигналы средней ошибки обратно в ячейку, сохраняя изменения веса внутри ячейки, в отдельной коллекции и после выполнения всех ошибок один за другим через и вычисляя новые веса после каждой ошибки, я суммирую новые веса вместе, чтобы получить новый вес, для каждого веса в ячейке.
Я делаю что-то неправильно? Я был бы очень признателен за любые советы.
Большое вам спасибо!