Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Categories:

Укрощение нейронных сеток: попробуйте сами

Вот тут можно попробовать обучить нейронную сетку своими руками -- https://t.co/O4aRw8AAPk

Нейронные сетки всё-таки пока rocket science, но уже есть внятные способы это продемонстрировать окружающим. Всего-то делов -- поиграться параметрами, чтобы получить результат "на всём готовеньком". Вот для этого и нужны спецы, ибо "поиграться параметрами" -- тут не только "разумение", но и "чуйка" нужна (в свою очередь, эти "разумение" и "чуйка" вполне может быть отмоделированы каким-то другим методом машинного обучения: другой нейронной сеткой, байесовским обучением и т.д. -- но всё не так быстро, оптимизирующие компиляторы люди не сразу научились писать, довольно много лет на машинном коде и ассемблере практиковали).

Чтобы два раза не вставать, вот тут про архитектуру нейронной сетки и как её искать: http://arxiv.org/abs/1602.07360 (а вот тут сервис, который эта группа авторов предлагает -- архитектурное ужатие нейронной сетки, чтобы она упихнулась для embedded применений): http://deepscale.ai/dnnTraining.html. Вот ещё один ход на динамичность архитектуры (как архитектурно учитывать разнообразие времени вычислений в сетке -- http://arxiv.org/abs/1603.08983, Adaptive Computation Time for Recurrent Neural Networks).

Потихоньку формируется язык разговоров про архитектуру нейронных сеток. Вот ещё один пример, существенно отличающийся по целям и задачам создания архитектуры, там The model uses natural language strings to automatically assemble neural networks from a collection of composable modules. Parameters for these modules are learned jointly with network-assembly parameters via reinforcement learning, with only (world, question, answer) triples as supervision. http://arxiv.org/abs/1601.01705

Архитектура как всегда -- ключ к новым областям применения. Вот, например, пример работы, где предложение новой архитектуры поднимает state-of-the-art сразу на 17% -- Reasoning About Pragmatics with Neural Listeners and Speakers (http://arxiv.org/abs/1604.00562). Тут важно, что семантика выучивается, а вот прагматика выводится, её не нужно учить -- и поэтому данные для обучения не нужны. Всё как с человеком -- обсуждается снаружи и семантика, и прагматика, а внутри нейронная сетка.

Тут ещё нужно помнить, что архитектурой в нейронных сетках не всё описывается, нужно помнить про представления (deep learning это ведь часть representation learning -- представления это наше всё!). С представлениями тоже идёт работа.

Про "текст и картинки это одно и то же" я молчу: это сейчас мейнстрим. "Всё, что мы знали о видео, мы можем применить к тексту" -- это уже не заворот мозгов, это плотный ручеёк работ. Например, вот тут показывают крутые результаты по раскрашиванию чёрно-белых картинок в натуральные цвета: http://arxiv.org/abs/1603.06668. Давайте загадаем: когда аналогичные решения появятся для текстов? Например, сухой логический текст вполне можно "раскрасить", сделать его художественным с сохранением смысла ;)

А вот Attend, Infer, Repeat: Fast Scene Understanding with Generative Models (http://arxiv.org/abs/1603.08575) -- крутая архитектура от Google DeepMind для разбирательства со сложными визуальными сценами. Когда мы увидим такую архитектуру для разбирательства со сложными текстами?

С текстами пословные представления уже не "наше всё", пробуют и посимвольные представления:

1. Почти никто не занимается 100% посимвольным представлением, хотя это и даёт пару-тройку процентов к state-of-the-art на разных задачах. Вот, например, http://arxiv.org/abs/1604.00727 -- ответы на простые вопросы по FreeBase2M при переходе на посимвольное представление улучшились с 63.9% до 66.1% (то есть всего на 2.2%, но we achieve these results even though our character-level model has 16x less parameters than an equivalent word-embedding model, uses significantly less training data than previous work which relies on data augmentation, and encounters only 1.18% of the entities seen during training when testing).

2. Мало кто, но некоторые работают с пословным представлением + представлением частей слов или даже посимвольным представлением для редких слов. Вот полугодичной давности пример: http://arxiv.org/abs/1508.07909 (Neural Machine Translation of Rare Words with Subword Units).

3. большинство работает с разными вариантами пословных представлений. Из работ последнего времени можно выделить ConceptNet Vector Ensemble (CNVE) -- http://blog.luminoso.com/2016/04/06/an-introduction-to-the-conceptnet-vector-ensemble/ (оригинальная статья с подробностями http://arxiv.org/abs/1604.01692). Это некоторое объединение word embeddings по разным технологиям (ConceptNet 5, GloVe, word2vec и т.д.)Вот пример визуализации этого представления: чем ближе слова в пространстве, тем ближе они по своим значениям:

Тут ещё и вспоминают retrofitting -- когда все эти оригинальные "нейтральные" значения подкручивают, чтобы лучше соответствовать каким-то предметным областям (https://github.com/mfaruqui/retrofitting).

4. Пока мало кто работает с пофразными представлениями (словосочетания и целые предложения), но процесс после работы по skip-thought vectors (http://arxiv.org/abs/1506.06726) тоже пошёл. Вот Doc2Sent2Vec: A Novel Two-Phase Approach for Learning Document Representation (http://research.microsoft.com/apps/pubs/default.aspx?id=264430) -- Our model outperforms the current state-of-the-art model in scientific article classification task by 12.07% and Wikipedia page classification task by 6.93%, both in terms of F1 score.

Маховичок раскручивается. Вот тут обзор по свежим достижениям в машинном интеллекте: https://medium.com/@pavelkordik/recent-developments-in-artificial-intelligence-b64286daa06b#.w1u27c6g6

А вот свежие новости по машинному интеллекту и машинному обучению, в них говорится в том числе и об инвестициях, их уже немало: https://medium.com/@NathanBenaich/news-in-artificial-intelligence-and-machine-learning-you-should-know-about-44b4d719ba8e#.sp586f38q

Через год все эти "свежие новости" будут протухшими. Всё в этой сфере будет быстро.

А пока попробуйте потренировать нейронные сетки сами, как я и предлагал в начале этого поста: https://t.co/O4aRw8AAPk. Вдруг вам понравится, и вы этим займётесь!
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 2 comments