Як і багато інших, я знайшов ресурси тут і тут надзвичайно корисними для розуміння клітин LSTM. Я впевнений, що я розумію, як величини течуть і оновлюються, і я досить впевнений, щоб додати також згадані "підключення" та ін.
У своєму прикладі я маю на кожному етапі вхідний вектор довжини iта вихідний вектор довжини o, де o < i.
Те, що не висвітлено на жодній сторінці, - це те, як вони влаштовані та навчені.
У мене є 2 питання:
- У своїх навчальних даних я маю багато пар вхідних / вихідних векторів, що відповідають багатьом, багатьом одиницям часу. Припустимо, я треную LSTM з усіма даними. Чи можу я потім запустити через нього введення довільної довжини? Що я маю на увазі, якщо у мене є дані про навчання, скажімо, за весь 2015 та 2016 роки, чи можу я потім запускати дані через мережу за 2017 рік? Чи, можливо, 2017 по 2020 рік?
- Згідно з тим, що я прочитав, складається враження, що у мене є одна клітинка LSTM на одиницю часу, тому якщо у мене є багато одиниць часу, то у мене є багато прикутих LSTM комірок. Оскільки довжина ланцюга залежить від довжини даних, які я хочу запустити через мережу, і це, мабуть, довільно, я не можу зрозуміти, як я би це тренував, якщо тільки не треную лише одну клітинку LSTM, яка потім дублюється число разів. Отже, схоже, я би тренував одну клітинку LSTM, а потім ланцюг
nїх разом для заданого списку вхідних векторних довжинn? Навіть незважаючи на те, що одна комірка LSTM містить ряд елементів та функцій, здається, що її недостатньо для того, щоб захопити стільки інформації в щось таке маленьке?
Дякую. Чи є інші ресурси, які я можу спожити (відносно швидко), які допоможуть мені зрозуміти деталі впровадження? Наведені вище 2 посилання дали фантастичну картину на високому рівні, що відбувається, але не вдалося зафіксувати ці тонкі деталі.