Стек из двух LSTM слоев, с прослойкой из batch normalization, если я правильно понял синтаксис R? Интересно, а у меня никогда такая конструкция качество не повышала.
Это дополнительная фича для оценки неких намерений человека по использованному им никнейму в почтовом адресе при регистрации (точнее не могу рассказать). Меня поразило, что при валидации AUC модели с только этой информацией под 0.8 (точно число тоже увы не помню) получился.
Хотя конечно задача довольно простая -- ответить да-нет.
У меня вот такая конструктция в некой прикладной задаче сработала (это 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 %>%
layer_lstm(units = 64,
dropout = 0.2,
recurrent_dropout = 0.2,
return_sequences = T,
go_backwards=T) %>%
layer_batch_normalization() %>%
layer_lstm(units = 32,
dropout = 0.2,
recurrent_dropout = 0.2,
go_backwards=T) %>%
layer_batch_normalization()
name_output <- layer_concatenate(c(lstm_out.name.forw,
lstm_out.name.back)) %>%
layer_dense(units = 64, activation = 'relu') %>%
layer_batch_normalization() %>%
layer_dropout(drop) %>%
......
Reply
Reply
Пойнт мне представляется разрешить самостоятельно сети различать символы.
Сейчас я этот кусок пишу по другому, получается куда устойчивее (и одновременно без отказа от глубины -- добавит полезное, так добавит).
...
return_sequences = T) %>%
layer_batch_normalization() %>%
list(emb_out_nicname) %>%
layer_concatenate() %>%
layer_lstm(units = 32,
...
Reply
Reply
Хотя конечно задача довольно простая -- ответить да-нет.
Reply
А потом лет через дцать стук в дверь - мы из полиции будущего, анализ вашего ника показал высокую склонность к насилию, пройдите с нами.
Reply
Моё предположение проще, похоже что ники для "пробных регистраций" в сетевых сервисах выбирают неким специфическим способом и сетка это цепляет.
Reply
Leave a comment