Leave a comment

Comments 9

p2004r December 13 2017, 14:22:31 UTC
А датасет при обучения для первого энкодера, и для итоговой сетки использующей этот энкодер был одинаков? Или брался датасет для энкодера эквивалентный чему то типа GloVe по размеру, а в обучении итоговой сетки было что то существенно меньшее, и всё равно "всё плохо"?

Reply

kelijah December 13 2017, 14:53:17 UTC
Вроде бы обучал первую сетку, автоэнкодер, на большем датасете.

Reply

p2004r December 14 2017, 05:48:27 UTC
Чувствую что надолго бы запомнил "840B tokens" :)

У меня вот такая конструктция в некой прикладной задаче сработала (это keras в R).

Идея дать сетке самой решить что какой символ значит.

aux_input_nicname <- layer_input(shape = c(seqLengthNames), dtype = 'int32', name = 'aux_input_nicname')
emb_out_nicname <- aux_input_nicname %>%
layer_embedding(input_dim = embNames, output_dim = 50, input_length = seqLengthNames) %>%
layer_spatial_dropout_1d(drop)

## bidirectional()

lstm_out.name.forw <- emb_out_nicname %>%
layer_lstm(units = 64,
dropout = 0.2,
recurrent_dropout = 0.2,
return_sequences = T) %>%
layer_batch_normalization() %>%
layer_lstm(units = 32,
dropout = 0.2,
recurrent_dropout = 0.2) %>%
layer_batch_normalization()

lstm_out.name.back <- emb_out_nicname ( ... )

Reply

kelijah December 14 2017, 09:57:59 UTC
Стек из двух LSTM слоев, с прослойкой из batch normalization, если я правильно понял синтаксис R? Интересно, а у меня никогда такая конструкция качество не повышала.

Reply


Leave a comment

Up