DL in NLP
12.7K subscribers
546 photos
13 videos
27 files
1.09K links
Новости и обзоры статей на тему обработки естественного языка, нейросетей и всего такого.

Связь: @dropout05 (рекламы нет)
Download Telegram
«Читаем статьи за вас». Октябрь — Декабрь 2019
Forwarded from b b
from thinc.api import PyTorchWrapper, TensorFlowWrapper

pt_model = PyTorchWrapper(create_pytorch_model())
tf_model = TensorFlowWrapper(create_tensorflow_model())
# You can even stitch together strange hybrids
# (not efficient, but possible)
frankenmodel = chain(add(pt_model, tf_model), Linear(128), logistic())
Раз уж мы занялись эзотерикой, то держите ещё и DL-фреймворк на Haskell
Подъехало новое соревнование!

В этом году впервые будет проходить соревнование #SMM4H по автоматическому извлечению упоминаний о побочных эффектах лекарств из твитов на русском языке. SMM4H воркшоп будет проходить совместно с конференцией COLING 2020 в Барселоне, 13 сентября. Подробная информация:

healthlanguageprocessing.org/smm4h-sharedtask-2020
Сегодня официально стартовало соревнование RuREBus на конференции "Диалог 2020".

Контест включает в себя 3 задачи:
1. NER
2. Relation extraction с уже размеченными сущностями
3. End-to-end relation extraction на plain тексте.

Репозиторий

Официальная страница

Чат
На днях стартовало ещё одно соревнование от конференции "Диалог 2020" - GramEval2020.
Это соревнование по полной грамматической разметке русского языка, а именно:
- морфология
- синтаксис
- лемматизация

Страница соревнования

Github

Телеграм канал
Forwarded from DeepPavlov notifications
Мы снова запускаем курс "Глубокое обучение в обработке естественного языка" (он же Deep Learning in NLP), на этот раз его прочтут сотрудники лаборатории нейронных систем и глубокого обучения МФТИ Алексей Сорокин и Василий Коновалов. Занятия будут проходить по вторникам в 19:00 в учебном центре 1С (Дмитровское шоссе 9), аудитория 9235. Первая лекция 11 февраля.

Канал курса: https://t.me/dlinnlp2020spring
Чат курса: https://t.me/dlinnlp_discuss
Форум для вопросов: https://forum.deeppavlov.ai/t/about-the-deep-learning-in-nlp-2020-spring-category/319
Запись на курс: https://forms.gle/1mz9rzoFdf2Von9L7

Как и раньше, курс будет проходить в формате "обратных лекций", то есть дома вы смотрите видеолекции (прежде всего из курса cs224n Стэнфорда) и читаете материалы, после чего решаете тест по их содержанию. На самом занятии мы разбираем квиз и ваши вопросы, проговариваем ещё раз основные моменты из лекций, возможно, делаем что-то ещё, чтобы максимально хорошо понять их содержание. Оценка за курс будет формироваться из еженедельных квизов, практических заданий по программированию нейросетей для задач компьютерной лингвистики, а также курсового проекта.

Первый квиз появится 4 февраля.
Мы строили, строили, и наконец построили! Новый запуск DL in NLP!
How to do machine learning efficiently
medium.com/hackernoon/doing-machine-learning-efficiently-8ba9d9bc679d

Классный пост, который покрывает многие типичные ошибки дата-сатанистов. И в общем, он близок к моим представлениям о хороших практиках.

1. The 10 second rule - во время весь ваш скрипт (включая обучение и валидацию) должен выполняться ~5-10 секунд и не больше, чтобы вы могли чаще итерироваться и улучать вашу модель / исправлять баги
1. Be a time spammer - используйте эффективные операции, не делайте 🚲
1. Test yourself - пишите тесты на всё, в особенности на предобработку данных; это займёт куда меньше времени, чем поиск странных багов в будущем
1. Rush to success - начните с простых/тупых/линейных моделей, код к которым вы можете написать за 15 минут и натренировать которые вы можете за 15 секунд.
1. Don’t tune the parameters, tune the architecture - не тратье время на подбор гиперпараметров в начале проекта, выбирайте архитектуру, гиперпараметры потюните уже в конце проекта. Тут не могу полностью согласиться, но разумное зерно есть.
1. Free the mice - подучите комбинации клавиш в вашем текстовом редакторе / IDE
1. Пост заканчивается ссылкой на другой пост, о том, как правильно сделать валидационный сет

И, раз уж тема близкая, ещё раз рекомендую прочитать/перечитать A Recipe for Training Neural Networks от Andrej Karpathy. После каждого прочтения, я узнаю что-то новое.
Гитхаб с примерами решения типовых задачек NLP с помощью типовых нейросеток на типовом PyTorch.
github.com/lyeoni/nlp-tutorial

К каждой задаче приложен длинный README с объяснением архитектуры, что приятно. Некоторые примеры на мой вкус очень многословные, и многие best practices игнорируются, но всё равно выглядит полезным для того, чтобы понять, как работает X и можно использовать в качестве стартового кода, чтобы поиграться/написать небольшой проектик.

Трансформер описан хорошо - базовые модули имплементированны прямо в тексте README (правда главная штука: self-attention почему-то отсутствует, хотя её можно написать в 2 строчки).

UPD: Спасибо @dePuff за ссылку на аналогичный репозиторий от Microsoft, в котором примеров ещё больше.
Раз уж начинается новая итерация курса, возникает закономерный вопрос
Anonymous Poll
53%
Больше простых туториалов в канал
31%
Больше новостей, разборов новых статей, вот этого всего
17%
Оставляем как есть
​​Machine Unlearning
Bourtoule et al.
arxiv.org/abs/1912.03817

Два забавных факта:
В эпоху ML ваши данные собирают все. GDPR и его аналоги пытаются контролировать эти процессы и дают вам право удалить данные. Что звучит как здравая и полезная идея.
С другой стороны, современные модели очень хорошо запоминают датасеты, что позволяет потенциально достать из этих самых моделей данные, на которых они были натренированы.

Следовательно, если юзер X запрашивает у компании G удаление его данных, в идеальном мире компания должна не только удалить его из своих БД/текстовых документов/post-it notes/умов своих сотрудников, но и перетренировать все модели, в которых эти данные участвовали. Но когда ваши модели тренируются по несколько дней на десятках GPU, это вообще себе такая идея.

А теперь о статье:
Авторы формализуют задачу разучивания данных и приводят метод SISA (Sharded, Isolated, Sliced, and Aggregated training), который позволяет убирать определённые данные из моделей без их полной перетренировки. Суть метода - шардинг данных и ансаблирование моделей.

Конкретно это решение мне кажется сложным для поддержки, некрасивым и ещё больше усложняющим жизнь разработчкам. Но направление исследований определённо интересное.
Критика байесовских нейросетей набирает обороты.

twitter.com/ilyasut/status/1225812704725630977

https://arxiv.org/abs/2002.02405 — careful and expensive MCMC Bayesian inference over NN parameters is worse than point estimates or low temperature posteriors.

Supports @carlesgelada and @jacobmbuckman’s view that Bayesian NNs are not meaningful probably because the prior is wrong.
Новый мультиязычный QA датасет от google.
200к примеров, 11 языков (включая русский!), большинство - не основанные на латинском алфавите.

блог

статья

Твиттер пост