Последовательную модель keras с встраиванием необходимо переобучать, начиная с известных в настоящее время весов.
Последовательная модель Keras обучается на предоставленных (текстовых) обучающих данных.Обучающие данные токенизируются токенайзером (изготовленным на заказ).Входным измерением для первого слоя в модели, слоя встраивания, является количество слов, известных токенизатору.
Через несколько дней станут доступны дополнительные данные тренировки.Токенизатор необходимо переустановить на этих новых данных, поскольку он может содержать дополнительные слова.Это означает, что входное измерение уровня внедрения изменяется, поэтому ранее обученная модель больше не может использоваться.
self.model = Sequential()
self.model.add(Embedding(tokenizer.totalDistinctWords + 1,
hiddenSize + 1, batch_size=1,
input_length=int(self.config['numWords'])))
self.model.add(LSTM(hiddenSize, return_sequences=True,
stateful=True, activation='tanh', dropout = dropout))
self.model.add(LSTM(hiddenSize, return_sequences=True,
stateful=True, activation='tanh', dropout = dropout))
self.model.add(TimeDistributed(Dense(
len(self.controlSupervisionConfig.predictableOptionsAsList))))
self.model.add(Activation('softmax'))
Я хочу использовать ранее обученную модель в качестве инициализатора для нового сеанса обучения.Для новых слов в токенизаторе слой внедрения должен просто использовать случайную инициализацию.Для слов, уже известных токенизатору, он должен использовать ранее обученное вложение.