Arhn - архитектура программирования

batch_input_shape для модели Keras LSTM

Я пытаюсь построить нейронную сеть с LSTM в качестве первого скрытого слоя с библиотекой Keras (бэкэнд тензорного потока). У меня проблема с пониманием того, как изменить форму моих данных и передать их в LSTM с сохранением состояния с параметром batch_input_size.

Мой ввод - это 100-секундный временной ряд, выбранный на частоте 10 кГц. В общем, у меня есть 100 * 10000 разных значений времени. У меня есть выборка 3 разных наблюдаемых, поэтому количество функций равно 3. Назовем X входной матрицей с формой:

np.shape(X) = (1000000,1,3)

Моя цель имеет одно значение на каждый момент времени -> 100 * 10000 значений:

np.shape(Y) = (1000000,1,1)

Я хочу, чтобы моя модель выполнялась по одной секунде за раз и поэтому предсказывала 10000 целевых значений. Я полагаю, это должен быть размер партии. целевые значения Скажем, я хочу разместить 32 узла в слое LSTM, вот что я написал:

model_LSTM = Sequential()
model_LSTM.add(LSTM(32, stateful=True, batch_input_shape=(10000,1,3)))
model_LSTM.compile(optimizer=keras.optimizers.Adam(lr=0.00039, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False), loss='mean_squared_error')

Чтобы соответствовать модели, я кормлю ее по одной порции:

batch_size=10000
for i in range(int(X.shape[0] / batch_size)):
    X = X_l[(i * batch_size):((i + 1) * batch_size)][:][:]
    Y = Y_l[(i * batch_size):((i + 1) * batch_size)]
    model_hist = model_LSTM.fit(X, Y, epochs=1, 
                                batch_size=batch_size, 
                                verbose=1, shuffle=False)

Я правильно это делаю? Сценарий выполняется без ошибок, но при использовании model_LSTM.predict () в новом наборе он просто выводит одно и то же значение для каждого временного шага.


Ответы:


1

Можете ли вы предоставить дополнительную информацию, например о точности и стоимости? Поскольку все время прогнозируется только один класс, ваша модель не обучается. Возможно, ваш набор данных искажен, что приводит к высокой точности без обучения. Я бы порекомендовал повозиться с гиперпараметрами и попробовать разные модели, такие как SimpleRNN и GRU.

Кроме того, поскольку вы спросили, я бы рекомендовал использовать метод fit_generator, поскольку он уменьшит накладные расходы на вызов fit снова и снова.

07.12.2018
  • Возможно, я вас неправильно понял, но это проблема регрессии, а не классификации. У меня есть среднеквадратичные потери, рассчитанные для каждой эпохи. 07.12.2018
  • Ой, как плохо. LSTM требует, чтобы input_shape был (batch_size, timesteps, input_dim). Итак, ваша форма ввода должна быть (1, 100*10000, 3). Кроме того, поскольку вы не указали return_sequences, вывод LSTM равен (batch_size, units) viz. (1, 32). Таким образом, для каждого входа существует только один временной шаг. 07.12.2018
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..