?

Log in

No account? Create an account

Компьютерная лингвистика

Новостная лента www.solarix.ru

Entries by tag: machine learning

Machine learning местами азартен /// офтопик
kelijah
Например, когда досыпал фич в обучающий набор, и видишь, как тренер на машине с 62.7 Гб оперативки засасывает датасет, доходит до 62.3 Гб и начинает колебаться по 100 Мб туда-сюда... Только бы не шальной запрос к сервису, который там же висит.. Просто невозможно оторваться от htop'а:
Read more...Collapse )
Но вот видишь, как CRFSuite выплевывает в консоль информацию по первой итерации - фффух, пролез, родимый, справился, ай молодца!

Генерация деепричастных форм из инфинитивов - SQL словарь + Python + xgboost
kelijah
Read more...Collapse )

Предварительное сравнение точности CRFSuite и LSTM-CRF из keras.contrib
kelijah
Задача - анализ строковых данных из номенклатурного справочника.
Данные представляются цепочкой символов, разбивка на слова невозможна из-за специфики задачи. Каждому символу модель должна присвоить флаг в зависимости от того, относится ли символ к извлекаемой сущности. Сравниваемые модели используют одинаковый датасет с идентичной разбивкой на train/val.

1) Решение на базе классического NLP алгоритма на базе CRF использует реализацию CRFSuite и вручную выбранные фичи. Обучение длится примерно 20 часов. Достигаемая точность per char равна примерно 0.9947

2) Решение на базе keras-contrib.CRF. Никаких ручных фич нет, на вход bidir LSTM слоя подаются векторы исходных символов, настраиваемые через Embedding (см. референсную реализацию, я добавил туда лишь EarlyStopping и вычисление per instance accuracy). Обучение на GPU + Tensorflow идет примерно 1 час. Достигаемая точность per char равна 0.9988

Весело начался год собаки
kelijah
Накручивая нейросетку поверх CRF для нормализации результатов разбора данных для ETL процедуры, случайно обнаружил, что модель для CRF разбила датасет в пропорции 20% на тренировку и 80% на валидацию. Спасибо остатку от деления на пять:
Read more...Collapse )

Autoencoders for word representations и ахитектура для встраивания доп. информации
kelijah
Для эксперимента WordRepresentations делаю последний вариант получения векторного представления слов с помощью автоэнкодеров.

Read more...Collapse )

Представления слов: исправления, улучшения, сравнение Python / Java / C++ реализаций нейросетей
kelijah
1. В Keras-реализации решения нашел data leak из  валидационных данных в тренировочный набор (как обычно по причине копипасты фрагментов из своих же исходников). После исправления стал получать намного более консистентные результаты: точность на одинаковых данных для сопоставимых архитектур нейросетей в Keras+Theano и в Tensorflow решениях стала примерно равна. И даже решения на Deeplearning4j и Apache.SINGA дают примерно такие же значения!
Read more...Collapse )

Решение бинарной классификационной задачи на C++ с помощью Apache.SINGA, tiny-dnn и OpenNN
kelijah
1. Выложил в репозиторий эксперимента cеточные модели для бинарной классификации на C++ в Apache.SINGA, OpenNN и tiny-dnn:

TinyDNN_Model.cpp - решатель на базе MLP, реализованного средствами библиотеки tiny-dnn (C++, проект для VS 2015)
alexnet.cc - решатель на базе нейросетки, реализованной средствами Apache.SINGA (C++, проект для VS 2015)
main.cpp - решатель на базе нейросетки, реализованной средствами OpenNN (C++, проект для VS 2015)

Постарался максимально подробно описать собственные впечатления от этих библиотек с позиции человека, впервые пытающегося применить их для решения реальной задачи: https://habrahabr.ru/post/335838/

2. Стартовал эксперимент по использованию sparse distributed representations слов на этой же задаче. Посмотрим, будет ли выигрыш в сравнении с базовыми w2v репрезентациями.

Оценка представления слов через hashing trick в задаче определения валидности 3-грамм
kelijah
В развитие бенчмарка, описанного здесь: http://kelijah.livejournal.com/217608.html

Добавил еще один вариант представления слов - через one hot после hashing trick (https://en.wikipedia.org/wiki/Feature_hashing). В качестве готовой реализации взял класс hashdictionary из gensim: https://radimrehurek.com/gensim/corpora/hashdictionary.html.

Read more...Collapse )

Нерешительность как побочный эффект взаимодействия actor-critic в reinforcement learning
kelijah
Модель буквально боиться сделать следующий лаг, покачиваясь в нерешительности:
NIPS 2017 очередная модель...Collapse )

NIPS 2017: Learning to Run: улучшенная модель
kelijah
Подготовил новую модель для соревнования "NIPS 2017: Learning to Run (Reinforcement learning environments with musculoskeletal models)", организатором которого является Stanford Neuromuscular Biomechanics Laboratory:
Умчался вдаль, гремя костями (видео)...Collapse )
Визуально модель слишком динамична, склонна к энергичным и высокоамплитудным движениям. Возможно, следует штрафовать ее за слишком активную работу мышц, причем постепенно усиливать штраф.