#python #keras
#python #keras
Вопрос:
Я новичок в keras и области глубокого обучения. На самом деле, я хочу создать плотный вектор для каждого документа в моих данных, чтобы я создал простой автоэнкодер, используя библиотеку keras. Входные данные нормализуются с использованием Word2vec с размером вложения 200, а все функции находятся в диапазоне от -1 до 1. Я подготовил 3D-тензор, который содержит 137 выборок (количество документов) с 469 столбцами (максимальное количество слов), а третье измерение — это размер вложения.Я использовал функцию потерь mse и GRU в качестве рекуррентной нейронной сети. У меня тот же вектор для всех документов, что и результат прогнозирования автоэнкодера, в то время как потери начинаются с очень низкого значения и становятся постоянными через несколько эпох. Я пробовал разное количество эпох, но получил то же самое. Я также пытался изменить размер пакета, но без изменений. Может ли кто-нибудь помочь мне найти проблему, пожалуйста.
input = Input(shape=(469,200))
encoder = GRU(120,activation='sigmoid',dropout=0.2)(input)
neck = Dense(20)(encoder)
decoder1 = RepeatVector(469)(neck)
decoder1 = GRU(120,return_sequences=True,activation='sigmoid',dropout=0.2)(decoder1)
decoder1 = TimeDistributed(Dense(200,activation='tanh'))(decoder1)
model = Model(inputs=input, outputs=decoder1)
model.compile(optimizer='adam', loss='mse')
history = model.fit(x_train, x_train,validation_data=(x_test,x_test) ,epochs=10, batch_size=8)
это входные данные «x_train» :
print(model.predict(x_train)) возвращает эти значения (те же векторы):
Почему «model.predict (x_train)» возвращает тот же вектор для 137 выборок?
Заранее благодарю вас.
Комментарии:
1. Не понимаю, что вы подразумеваете под одним и тем же вектором. Значения разные ..?!