Вот с w2v понятно всё, создаём эмбединг слой, добавляем туда матрицу эмбедингов и даём на вход айдишники токенов. У одинаковых слов одинаковые эмбединги. Но у берта же вообще для каждого слова свой эмбединг, который формируется в зависимости от контекста, и если мы загрузим в эмбединг слой матрицу эмбедингов из обучающей выборке, то как потом будет работать в тестовой выборкой? У её слов уже будут другие эмбединги
эмбеддинг берта это просто вектор. так что входом должно быть просто linear (dense). поищите как можно дотюнить претренированные берты, может зайдет
нет, не единственный. скормить уже полученные после берта векторы - базовый способ. если у вас тексты, а не слова - векторизуйте лучше через sentence-transformers. с бертом можно брать или средние вектора на текст, или только токен cls, первый. +/- от задачи. и вот когда у вас есть np_array.shape == (-1, 768) - им и обучайте новую сетку с Dense(768, ...)
да, я, брал уже cls, но хочу попробовать скормить cnn слою эмбидинги отдельных токенов текста, так как обучение на cls эмбединги показало не очень хороший результат.
да. значительно лучше
окей, попробую её, спасибо
Обсуждают сегодня