May 29, 2016 10:25
1. Работать с real-valued continuous word vectors в моделях с RNN очень тяжело. Несколько разных моделей ведут себя похожим образом, попадая на какие-то плато. Практически в долину смерти оптимизаторов, где по склонам валяются скелеты умерших от истощения градиентных спускателей. Это приводит к очень плохой сходимости. Переход на хитрые оптимизаторы типа adagrad в целом не помогает. А использовать 1-hot vector представление очень не хочется из-за катастрофических проблем с размером лексикона и отсутствием композируемости для составных слов.
2. Генерация бинарных sparse distributed representations для слов - забавная штука. Но получение 2048-разрядных векторов для 1kk+ лексикона приводит к забавному эффекту на хосте с 32 Гб оперативки. В общем, убунта, ушедшая в свопирование на таком объеме, с очень большим трудом поддается снятию задачи-виновника, особенно если спарсификация - многопоточная и занимает хотя бы 4 из 8 ядер. Да и после снятия задачи около 5 минут система приходит в себя, очищая своп. В этот момент она очень похожа на кота, который занят вылизыванием и умыванием. Его можно ненадолго отвлечь, но предпочтение будет все равно отдано вылизыванию и умыванию. Так что жесткий ребут помогает тут лучше. Но вопрос о недостаточности 32 Гб для некоторых задач уже встал :(
текущие планы,
sparse distributed representation,
vector model