• Transformer — новая архитектура нейросетей для работы с последовательностями

      Необходимое предисловие: я решил попробовать современный формат несения света в массы и пробую стримить на YouTube про deep learning.


      В частности, в какой-то момент меня попросили рассказать про attention, а для этого нужно рассказать и про машинный перевод, и про sequence to sequence, и про применение к картинкам, итд итп. В итоге получился вот такой стрим на час:



      Я так понял по другим постам, что c видео принято постить его транскрипт. Давайте я лучше вместо этого расскажу про то, чего в видео нет — про новую архитектуру нейросетей для работы с последовательностями, основанную на attention. А если нужен будет дополнительный бэкграунд про машинный перевод, текущие подходы, откуда вообще взялся attention, итд итп, вы посмотрите видео, хорошо?


      Новая архитектура называется Transformer, была разработана в Гугле, описана в статье Attention Is All You Need (arxiv) и про нее есть пост на Google Research Blog (не очень детальный, зато с картинками).


      Поехали.

      Читать дальше →
      • +58
      • 20.2k
      • 7
    • Методы оптимизации нейронных сетей

        В подавляющем большинстве источников информации о нейронных сетях под «а теперь давайте обучим нашу сеть» понимается «скормим целевую функцию оптимизатору» лишь с минимальной настройкой скорости обучения. Иногда говорится, что обновлять веса сети можно не только стохастическим градиентным спуском, но безо всякого объяснения, чем же примечательны другие алгоритмы и что означают загадочные \inline \beta и \inline \gamma в их параметрах. Даже преподаватели на курсах машинного обучения зачастую не заостряют на этом внимание. Я бы хотел исправить недостаток информации в рунете о различных оптимизаторах, которые могут встретиться вам в современных пакетах машинного обучения. Надеюсь, моя статья будет полезна людям, которые хотят углубить своё понимание машинного обучения или даже изобрести что-то своё.


        image


        Под катом много картинок, в том числе анимированных gif.

        Читать дальше →
      • Обзор топологий глубоких сверточных нейронных сетей

          Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

          Читать дальше →
        • О новых успехах противостояния (СР УВЧ!*)

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



            Не идеально, но по мне — очень классно. 3D шутер, который играется в реальном времени — это впервые.
            А теперь чуть-чуть теории
          • Из физиков в Data Science (Из двигателей науки в офисный планктон)

            Вступление


            Не так давно, а именно двенадцать месяцев назад, начался мой последний год аспирантуры на физическом факультете ВУЗа под названием University of California, Davis. Вставал законный вопрос — что делать дальше? За преподаванием, движением науки и прочими развлечениями год пройдёт очень быстро. Решать надо было заранее. Основной план был найти позицию постдока, причем где-нибудь в Токио, Рио де Жанейро или Сингапуре, так что вроде как и путешествуешь, а вроде как и работаешь. И по идее под это дело у меня всё было подготовлено: и статьи, и знакомые, и знаний в определённых областях физики конденсированных сред — на троих. Я начал активно гуглить сайты разных вузов, в интересующих меня географически частях мира, написал научно ориентированный CV, подписался на рассылки где публикуются вакансии постдоков, намекнул всем знакомым, что если что — то мне надо сказать в первую очередь. Я даже по скайпу с какими то профессорами общался на тему работы в их научных группах. В общем всё куда-то катилось.

            Примерно в то же время к нам в городок заехал один мой знакомый, который в свое время тоже выпустился с нашего доблестного факультета, но на пару лет раньше. Последние пару лет он мыкался и тыкался в разные конторы и вот наконец нашёл работу на позицию под названием Data Scientist. Посидели в баре, потрепались — то, чем он занимается, особенно не зацепило (когда каждый день пытаешься разобраться что и куда квантовать, чтобы описать свойства наноматериалов, рассказы о том, как в некой базе данных что-то куда-то аггрегируется и почему это важно для каких-то продаж офисных принадлежностей, вообще не цепляет), но зацепила зарплата. Для справки, в США грязными, то есть до вычета налогов:

            1. Аспирант — $27k
            2. Постдок — $45k
            3. Профессор — $117k

            Читать дальше →
          • Внезапный диван леопардовой расцветки

              Если вы интересуетесь искусственным интеллектом и прочим распознаванием, то наверняка уже видели эту картинку:


              А если не видели, то это результаты Хинтона и Крижевского по классификации ImageNet-2010 глубокой сверточной сетью

              Давайте взглянем на ее правый угол, где алгоритм опознал леопарда с достаточной уверенностью, разместив с большим отрывом на втором и третьем месте ягуара и гепарда.

              Это вообще довольно любопытный результат, если задуматься. Потому что… скажем, вы знаете, как отличить одного большого пятнистого котика от другого большого пятнистого котика? Я, например, нет. Наверняка есть какие-то зоологические, достаточно тонкие различия, типа общей стройности/массивности и пропорций тела, но мы же все-таки говорим о компьютерном алгоритме, которые до сих пор допускают какие-то вот такие достаточно глупые с человеческой точки зрения ошибки. Как он это делает, черт возьми? Может, тут что-то связанное с контекстом и фоном (леопарда вероятнее обнаружить на дереве или в кустах, а гепарда в саванне)? В общем, когда я впервые задумался над конкретно этим результатом, мне показалось, что это очень круто и мощно, разумные машины где-то за углом и поджидают нас, да здравствует deep learning и все такое.

              Так вот, на самом деле все совершенно не так.
              под катом пятна
            • Chatbot на нейронных сетях

                Недавно набрел на такую статью. Как оказалось некая компания с говорящим названием «наносемантика» объявила конкурс русских чатботов помпезно назвав это «Тестом Тьюринга»». Лично я отношусь к подобным начинаниям отрицательно — чатбот — программа для имитации разговора — создание, как правило, не умное, основанное на заготовленных шаблонах, и соревнования их науку не двигают, зато шоу и внимание публики обеспечено. Создается почва для разных спекуляций про разумные компьютеры и великие прорывы в искусственном интеллекте, что крайне далеко от истины. Особенно в данном случае, когда принимаются только боты написанные на движке сопоставления шаблонов, причем самой компании «Наносемантика».

                Впрочем, ругать других всегда легко, а вот сделать что-то работающее бывает не так просто. Мне стало любопытно, можно ли сделать чатбот не ручным заполнением шаблонов ответа, а с помощью обучения нейронной сети на образцах диалогов. Быстрый поиск в Интернете полезной информации не дал, поэтому я решил быстро сделать пару экспериментов и посмотреть что получится.
                Читать дальше →
                • +20
                • 53.6k
                • 9
              • Не очень большие данные и определение тональности текста

                  Всякая идея имеет простое, понятное и неправильное решение.
                  Одно из таких решений я и опишу в этой статье.
                  Не пытайтесь повторить эти эксперименты дома.
                  А если попытаетесь — то претензии по сгоревшим процессорам не принимаются.

                  Читать дальше →
                • Классификация предложений с помощью нейронных сетей без предварительной обработки

                    Довольно часто встречается задача классификации текстов — например, определение тональности (выражает ли текст позитивное мнение или отрицательное о чем-либо), или разнесения текста по тематикам. На Хабре уже есть хорошие статьи с введением в данный вопрос.

                    Сегодня я хочу поговорить о проблеме классификации отдельных предложений. Решение этой задачи позволяет делать много интересного, например, выделять положительные и отрицательные моменты из длинных текстов, определять тональность твитов, является компонентом многих систем отвечающих на естественно-языковые вопросы (классификация типа вопроса), помогает сегментировать веб-страницы на смысловые блоки и многое другое. Однако, классификация отдельных предложений значительно сложнее классификации больших блоков текста — в одном предложении значительно меньше полезных признаков, и велико влияние порядка слов. Например: «как положено фильму ужасов, этот фильм был ну очень жутким» — содержит негативные слова («ужас», «жуткий»), но выражает положительное мнение о фильме, «все было ужасно красиво», или даже «отличный фильм, ничего не скажешь, только зря деньги потратили».
                    Читать дальше →
                  • Нейропластичность в искусственных нейронных сетях

                      Привет, Хабр, давно не виделись. В этом посте мне хотелось бы рассказать о таком относительно новом понятии в машинном обучении, как transfer learning. Так как я не нашел какого-либо устоявшегося перевода этого термина, то и в названии поста фигурирует хоть и другой, но близкий по смыслу термин, который как бы является биологической предпосылкой к формализации теории передачи знаний от одной модели к другой. Итак, план такой: для начала рассмотрим биологические предпосылки; после коснемся отличия transfer learning от очень похожей идеи предобучения глубокой нейронной сети; а в конце обсудим реальную задачу семантического хеширования изображений. Для этого мы не будем скромничать и возьмем глубокую (19 слоев) сверточную нейросеть победителей конкурса imagenet 2014 года в разделе «локализация и классификация» (Visual Geometry Group, University of Oxford), сделаем ей небольшую трепанацию, извлечем часть слоев и используем их в своих целях. Поехали.
                      Читать дальше →
                    • Deep Learning, NLP, and Representations

                      Предлагаю читателям «Хабрахабра» перевод поста «Deep Learning, NLP, and Representations» крутого Кристофера Олаха. Иллюстрации оттуда же.

                      В последние годы методы, использующие глубокое обучение нейросетей (deep neural networks), заняли ведущее положение в распознавании образов. Благодаря им планка для качества методов компьютерного зрения значительно поднялась. В ту же сторону движется и распознавание речи.

                      Результаты результатами, но почему они так круто решают задачи?



                      В посте освещено несколько впечатляющих результатов применения глубоких нейронных сетей в обработке естественного языка (Natural Language Processing; NLP). Таким образом я надеюсь доходчиво изложить один из ответов на вопрос, почему глубокие нейросети работают.
                      Вглубь по кроличьей норе
                    • Data tidying: Подготовка наборов данных для анализа на конкретных примерах

                      Данная статья возникла в результате переработки и перевода информации на русский язык, взятой из двух источников:

                      • из статьи «Tidy Data»
                      • из соответствующего swirl урока по tidyr package

                      Для профессионалов в области анализа данных это, возможно, выглядит как давно выученная таблица умножения — вряд ли они найдут здесь что-то новое. А тех, кто как и я только знакомится с данной областью и возможностями языка R, приглашаю продолжить чтение.
                      Читать дальше →
                      • +8
                      • 12.4k
                      • 2
                    • Анализ тональности текста в Excel с помощью Azure Machine Learning и Power Query

                      • Translation
                      • Tutorial
                      Возможно, вы видели пост Joseph Sirosh на прошлой неделе о возможности опубликовать модели Azure Machine Learning в Azure Marketplace, и что MS уже опубликовало некоторое количество API. Для Excel есть специальный аддон, который может используется для доступа к этим API, но я заметил, что как минимум одно API (Sentiment Analysis API) может использоваться напрямую через Power Query.

                      Для того, чтобы сделать это, сперва вам необходимо зайти в Azure Marketplace, войти под вашим Microsoft-аккаунтом и подписаться на Lexicon Based Sentiment Analysis API. В документации говориться, что у вас есть 25000 транзакций в месяц бесплатно. API как таковое очень простое: передайте предложение для оценки, и вам в ответ придет оценка от -1 до 1, где 1 означает положительную тональность, а -1 отрицательную. Для примера, выражение «I had a good day» возвращает значение 1:


                      Читать дальше →
                      • +13
                      • 11.2k
                      • 6
                    • Как узнать больше о ваших пользователях? Применение Data Mining в Рейтинге Mail.Ru



                        Любой интернет-проект можно сделать лучше. Реализовать новые фичи, добавить серверов, переделать интерфейс или выпустить новую версию API. Вашим пользователям это понравится. Или нет? И вообще, что это за люди? Молодые или в возрасте? Обеспеченные или скорее наоборот? Из Москвы? Питера? Сан-Франциско, штат Калифорния? И почему, в конце концов, те сто теплых пледов, что вы закупили еще в мае, пылятся на складе, а футболки с октокотами расходятся, как горячие пирожки? Получить ответы поможет проект Рейтинг Mail.Ru. Эта статья о том, как мы применяем data mining, чтобы ответить на самые сложные вопросы.
                        Читать дальше →
                      • Эффективный Django. Часть 2

                        • Translation
                        • Tutorial

                        Продолжение перевода статей о Django с сайта effectivedjango.com. Наткнулся я на этот сайт во время изучения данного фреймворка. Информация размещенная на этом ресурсе показалась мне полезной, но так как нигде не нашел перевода на русский, решил сделать сие доброе дело сам. Этот цикл статей, как мне думается, будет полезен веб-разработчикам, которые делают только первые шаги в изучении Django.
                        Приступить к чтению
                        • +19
                        • 53k
                        • 9
                      • Краткое изложение освоения космоса СССР, типы ракет и самые значимые победы на этом поприще. Часть 2

                          Добрый день, мой глубокоуважаемый читатель, я продолжаю свое повествование о ракета-носителях СССР и самых интересных грузах, которые они доставляли в космос.


                          Ракета-носитель «Молния»


                          Модифицированный вариант ракеты-носителя «Молния-М»

                          Как известно, в Солнечной системе расположены восемь планет. Это Меркурий, Венера, Земля, Марс, Юпитер, Сатурн, Уран и Нептун. Считающийся ранее планетой Солнечной системы Плутон нынче исключен из этого «почетного» ряда. По степени удаленности от Солнца Земля стоит на третьем месте. Ближайшая к Солнцу планета — это Меркурий, а самая далекая — Нептун.

                          Наименьшее расстояние от этих планет до Земли следующее (в млн. км):

                          Меркурий — 91.6
                          Венера — 41.4 самая близкая планета к Земле.
                          Марс — 78.3
                          Юпитер — 628.4
                          Сатурн — 1277.4
                          Уран — 2721.4
                          Нептун — 4347.4
                          Эта информация нам понадобится впоследствии, для понимания, глобальности шагов, сделанные СССР в период космической гонки.
                          Читать дальше →
                        • 24 недели Metro-дизайна для Windows Phone | #2 Процесс проектирования приложений для Windows Phone

                          • Translation
                          Сегодня я расскажу о процессе проектирования приложений Windows Phone, которым я пользуюсь. Хотя многое из этого представляет собой обычные этапы для процесса проектирования, я попытаюсь объяснить их именно с точки зрения дизайна приложений для Windows Phone. Пишите мне в твиттер, если у вас есть какие-либо замечания, вопросы, или оставьте комментарий в блоге.

                          Эта статья покрывает процесс от начала и до конца, так что я буду рассказывать о высокоуровневых понятиях, а в ближайших статьях мы начнем более подробное изучение каждого из этапов. В следующей статье, например, мы начнем с придумывания идей и концепции — всё, что касается историй, эскизов, раскадровок и грубых (бумажных) прототипов.
                          Читать дальше →
                          • +40
                          • 4.6k
                          • 7
                        • Иерархическая Темпоральная Память (НТМ) и алгоритмы ее самообучения

                          • Translation
                          Привет всем Хабражителям, кто интересуется вопросами искусственного интеллекта! Всех с Прошедшими праздниками! Пора двигаться дальше.

                          В конце прошлого года я закончил перевод последней версии документа о «Hierarchical Temporal Memory» (HTM), который теперь можно найти рядом с оригиналом на сайте Numenta.com.

                          Что это такое и зачем оно все? Это последняя разработка весьма небезысвестного Джеффа Хокинса сотоварищи, моделирующая работу отдельных слоев коры головного мозга. Эта штуковина позволяет (если не накосячить все сделать правильно) выделять из входного потока данных сходные события, их последовательности, проводить их распознавание и предсказание. Всех, кого интересуют подробности, милости прошу под хабракат.

                          Читать дальше →
                        • Интеграция приложения на Windows Phone со SkyDrive

                            Привет, %username%!

                            Если честно, я не ожидал, что столько людей добавят в избранное мой предыдущий пост. На самом деле это не может не радовать: платформа активно развивается и пиарится, что привлекает внимание разработчиков. Сегодня я хочу освятить тему работы со SkyDrive из приложения. Статья, как и в прошлый раз, будет основана на реальном кейсе: мне нужно было дать возможность пользователю расшарить файл в социальные сети.

                            Читать дальше →
                            • +16
                            • 2.6k
                            • 2
                          • Обзор наиболее интересных материалов по анализу данных и машинному обучению №14 (15 — 21 сентября 2014)


                              Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения. Хочу также обратить внимание, что я выпустил первый дайджест по теме высокой производительности и Data Enginering: Обзор наиболее интересных материалов по высокой производительности (15 — 21 сентября 2014). Думаю, что кого-то он тоже может заинтересовать.
                              Читать дальше →
                              • +25
                              • 9.8k
                              • 2