Та же маска выпадения для многих точек данных в Pytorch (например, hugginface BERT) - PullRequest
0 голосов
/ 01 апреля 2020

Давайте предположим, что у меня есть обученная нейронная сеть (скажем, модель классификации текстовых настроений на основе BERT с использованием библиотеки huggingface), где я взял общедоступную предварительно обученную версию (предварительно обученную для какой-то другой задачи в случае БЕРТ как модель языка с замаскированными предметами) и точно адаптировал ее к моей конкретной проблеме классификации. Теперь я хочу использовать BatchBALD , чтобы выбрать новые образцы для маркировки среди некоторых немаркированных данных. Это требует, чтобы я рисовал повторяющиеся образцы вероятностей классификации с включенным выпадением во время вывода (пока это так легко, например, с установленным объятием training=True), но к каждому образцу должна применяться одинаковая маска отсева для всех немаркированных данных.

Т.е. я хотел бы сделать вывод с включенным выпадающим списком и той же (фиксированной) пропускающей маской для всего набора данных (а затем повторить с различными скрывающими масками) в PyTorch / huggingface.

Я видел одно решение, но, похоже, больше предполагало, что вы определите новую сеть (https://discuss.pytorch.org/t/how-to-fix-the-dropout-mask-for-different-batch/7119). Я предполагаю, что вам придется вмешиваться на уровне Pytorch, а не на более высоком уровне, таком как API-интерфейс huggingface, но любые предложения будут очень приветствоваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...