Заменить двунаправленный LSTM на GRU в coref?

Я тренирую корреферентную модель от грубого к точному (для другого языка, кроме английского) от Allennlp с конфигурациями шаблонов из bert_lstm.jsonnet. Когда я заменяю тип «lstm» контекстного слоя на «gru», это работает, но, похоже, очень мало влияет на обучение. Одни и те же 63 ГБ ОЗУ потребляются каждую эпоху, валидационный показатель f1 колеблется вокруг одного и того же значения. Действительно ли это изменение в конфигурации заменяет уровень Bi-LSTM на уровень Bi-GRU, или я что-то упустил?

          "context_layer": {
    "type": "gru",
    "bidirectional": true,
    "hidden_size": gru_dim,
    "input_size": bert_dim,
    "num_layers": 1
},

1 ответ

Потребуются некоторые эксперименты, чтобы быть уверенным, но я предполагаю, что все происходит внутри BERT (вашего встраивающего устройства), и context_layerделает очень мало, независимо от того, является ли это GRU или LSTM. Если вы посмотрите на аналогичную конфигурацию SpanBERT, контекстный уровень там на самом деле просто сквозной.

Аналогично для памяти: большая часть памяти потребляется BERT. Уровень контекста мало влияет на потребление памяти.

Другие вопросы по тегам