Евгений Смирнов
Заказчик Евгений Смирнов evg71621 | FL.RU

Евгений Смирнов

На сайте 11 лет и 9 месяцев (заходил 30 дней назад)
19
3690.83
Рейтинг
3690.83
Все (1)       Заказы (1)        Вакансии (0)       Конкурсы (0)
Разместить заказ
10 Апреля 2024
По договоренности
Необходимо объяснить принцип формирования рекуррентного слоя принимающего на вход вектор (не последовательность векторов), выдающий последовательность векторов на выходе. И как чуть более сложная задача – рекуррентная сеть many-to-many с последовательностями на входе и выходе разной длины. На примере keras.
В обоих случаях получаю ошибку различной длины последовательности.

Пример 1.
Нужно подать на вход вектор длиной 2 (не последовательность), т.е. есть три входных образца x[0],x[1],x[2].
На выходе получаю последовательности 3 раза по 1 значению. 1) y[0][0],y[0][1],y[0][2]; 2)y[1][0],y[1][1],y[1][2];
3) y[2][0],y[2][1],y[2][2]

x = [[1,2],[3,4],[4,5]]
y=[[1,2,3],[1,2,3],[1,2,3]]
x = np.array(x)
y = np.array(y)
input = Input(input_shape=(1,2))
model = SimpleRNN(1, stateful=True, return_state=False,return_sequences=True)(input)
output = Dense(1)(model)
test = Model(input, output)

test.compile(loss='mse', optimizer='adam')
test.fit(x,y)

Пример 2.
many-to-many, такой что вход и выход различной длины
На вход подаю последовательность из 10ти значений размерностью 1,
на выходе ожидаю последовательность из 20ти значений размерностью 1

input_shape=(None, 1)
model_input = Input(shape=input_shape)
rnn = LSTM(20, return_sequences=False)(model_input)
dense = Dense(10,activation='tanh')(rnn)

input_shape2=(None, 1, 10)
model_input2 = Input(shape=input_shape2)
rnn2 = LSTM(20, return_sequences=True,stateful=True)(model_input2)
dense2 = Dense(1,activation='sigmoid')(rnn2)

encoder = keras.Model(model_input, dense, name="encoder")
decoder = keras.Model(model_input2, dense2, name="decoder")

model = keras.Model(model_input, decoder(encoder(model_input)), name="autoencoder")
model.compile(optimizer='adam', loss='binary_crossentropy')

Прошло времени с момента публикации: 10 месяцев 11 дней 19 часов 59 минут
Раздел: AI — искусственный интеллект / Нейронные сети

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».
-->-->