• Лекции Техносферы. Нейронные сети в машинном обучении


      Представляем вашему вниманию очередную порцию лекций Техносферы. На курсе изучается использование нейросетевых алгоритмов в различных отраслях, а также отрабатываются все изученные методы на практических задачах. Вы познакомитесь как с классическими, так и с недавно предложенными, но уже зарекомендовавшими себя нейросетевыми алгоритмами. Так как курс ориентирован на практику, вы получите опыт реализации классификаторов изображений, системы переноса стиля и генерации изображений при помощи GAN. Вы научитесь реализовать нейронные сети как с нуля, так и на основе библиотеке PyTorch. Узнаете, как сделать своего чат-бота, как обучать нейросеть играть в компьютерную игру и генерировать человеческие лица. Вы также получите опыт чтения научных статей и самостоятельного проведения научного исследования.

      Читать дальше →
    • Сверточная сеть на python. Часть 2. Вывод формул для обучения модели


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

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


          Читать дальше →
        • Двоичный поиск в графах

          • Перевод

          Двоичный поиск — один из самых базовых известных мне алгоритмов. Имея отсортированный список сравнимых элементов и целевой элемент, двоичный поиск смотрит в середину списка и сравнивает значение с целевым элементом. Если цель больше, мы повторяем с меньшей половиной списка, и наоборот.

          При каждом сравнении алгоритм двоичного поиска разбиваем пространство поиска пополам. Благодаря этому всегда будет не более $\log(n)$ сравнений со временем выполнения $O(\log n)$. Красиво, эффективно, полезно.

          Но всегда можно посмотреть под другим углом.

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


            Привет, Хабр! По традиции, представляем вашему вниманию дюжину рецензий на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество ODS!


            Статьи выбираются либо из личного интереса, либо из-за близости к проходящим сейчас соревнованиям. Напоминаем, что описания статей даются без изменений и именно в том виде, в котором авторы запостили их в канал #article_essence. Если вы хотите предложить свою статью или у вас есть какие-то пожелания — просто напишите в комментариях и мы постараемся всё учесть в дальнейшем.


            Статьи на сегодня:

            Читать дальше →
          • Как я написал приложение, которое за 15 минут делало то же самое, что и регулярное выражение за 5 дней

            • Перевод

            От переводчика


            Не так давно столкнулся с проблемой поиска набора слов в большом тексте. Разумеется главной проблемой стала производительность. Поиск готовых решений порождал больше вопросов, чем давал ответов. Часто я натыкался на примеры использования каких-то сторонних коробок или онлайн-сервисов. А мне в первую очередь нужно было простое и легкое решение, которое в дальнейшем дало бы мысли для реализации собственной утилиты.

            Несколько недель назад вышла замечательная англоязычная статься об open-source python-библиотеки FlashText. Эта библиотека предоставляла быстрое работающее решение задачи поиска и замены ключевых слов в тексте.

            Т.к. на русском материалов подобной тематики не так много, то я решил перевести эту статью на русский. Под катом вас ждет описание проблемы, разбор принципа работы библиотеки а так же примеры тестов производительности.
            Поехали
          • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

            Подробнее
            Реклама
          • AlphaGo Zero совсем на пальцах

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

              19 октября 2017 года команда Deepmind опубликовала в Nature статью, краткая суть которой сводится к тому, что их новая модель AlphaGo Zero не только разгромно обыгрывает прошлые версии сети, но ещё и не требует никакого человеческого участия в процессе тренировки. Естественно, это заявление произвело в AI-коммьюнити эффект разорвавшейся бомбы, и всем тут же стало интересно, за счёт чего удалось добиться такого успеха.

              По мотивам материалов, находящихся в открытом доступе, Семён sim0nsays записал отличный стрим:


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

              Сразу хочу отметить, что стрим и статья собирались в значительной степени по мотивам дискуссий на closedcircles.com, отсюда и спектр рассмотренных вопросов, и специфическая манера повествования.

              Ну, поехали.
              Читать дальше →
            • Разбираемся, что же там нового открыли в задаче о ферзях

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


                image
                Сможете поставить ещё шесть? А найти все решения?
                (картинка из статьи)


                Далее, к сожалению, произошла какая-то совершенно невразумительная история из цепочки вот таких вот превращений:



                Стоит отметить, что пять наугад открытых ссылок на русском ещё меньше проясняли картину происходящего.


                Я тут подумал — надо бы кому-то эту странную цепочку прервать и нормальным языком изложить суть событий.


                О чём пойдёт речь:


                Читать дальше →
              • Как перетасовать песни?

                • Перевод
                Мы здесь в Spotify серьёзно относимся к фидбеку от пользователей. Какое-то время назад мы заметили, что пользователи жалуются на то, что при включенном режиме случайного перемешивания плейлиста порядок песен на самом деле не случаен — например, несколько песен одного и того же исполнителя могут быть воспроизведены одна за другой, при том, что в плейлисте множество песен разных исполнителей. Пользователи спрашивали неужели мы не способны сделать такую простую вещь, как случайный порядок воспроизведения треков? Мы отвечали «Он правда-правда случаен! Мы проверяли!»

                Так кто же был прав — мы или пользователи? Как оказалось — и мы, и они. Ну и вообще дело обстояло значительно серьёзнее, чем казалось на первый взгляд.

                Наш точка зрения


                Ещё в самом первом релизе нашего плеера в нём была функция случайного перемешивания плейлиста. Мы использовали для этого алгоритм Фишера-Йетса — и он давал идеально случайное перемешивание. Но что такое «идеально случайное»? Это значит, например, что мы можем получить один из двух нижеуказанных порядков песен с одинаковой вероятностью (разные цвета означают треки разных исполнителей):

                image
                Читать дальше →
                • Front-end Developer
                  от 100 000 руб.
                  НКО «Евразийский деловой союз» Москва Полный рабочий день
                • Back-end Developer
                  от 100 000 руб.
                  НКО «Евразийский деловой союз» Москва Полный рабочий день
                • Райффайзенбанк Москва
              • Трёхмерная графика с нуля. Часть 2: растеризация

                • Перевод
                image


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

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

                Тогда как это удаётся играм?

                Ответ заключается в использовании совершенно иного семейства алгоритмов, которое мы исследуем во второй части статьи. В отличие от трассировки лучей, которая получалась из простых геометрических моделей формирования изображений в человеческом глазе или в камере, сейчас мы будем начинать с другого конца — зададимся вопросом, что мы можем отрисовать на экране, и как отрисовать это как можно быстрее. В результате мы получим совершенно другие алгоритмы, которые создают примерно похожие результаты.
                Читать дальше →
                • +36
                • 9,7k
                • 2
              Самое читаемое