• Cofree Will Tear Us Apart

    Всем привет.


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

    Читать дальше →
  • Outline: Делаем свой личный VPN от Google за 5$ в месяц (и за 1€ для продвинутых)

    • Tutorial
    image

    В последнее время использовать VPN стало популярно с чего бы это?, но все инструкции которые мне попадались — могут «осилить» только пользователи хотя бы чуть-чуть знакомые с тем что такое Linux. Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика (правда в два!) на своем личном сервере без каких либо знаний.
    (Если у вас нет сервера — не беда, появится)
    Читать дальше →
  • Два акселерометра, губка для посуды и четыре гайки

      Вводная: измерение угла маятника


      Итак, разобравшись с датчиками Холла для бесколлекторных двигателей, покажу для чего это было нужно. Я сделал стенд с простейшим обратным маятником, который стабилизируется при помощи маховика, вращаемого моторчиком на свободном конце маятника:


      Читать дальше →
    • «Герои Меча и Магии» в браузере: долго, сложно и невыносимо интересно

        Как реализовать в браузере игру, на которой годы назад залипал без всякого браузера? С какими сложностями столкнёшься в процессе, и как их можно решить? И, наконец, зачем вообще это делать?

        В декабре на конференции HolyJS Александр Коротаев (Tinkoff.ru) рассказал, как он сделал браузерную версию «Героев». Ранее уже появилась видеозапись доклада, а теперь для Хабра мы сделали ещё и текстовую версию. Кому удобнее видео — запускайте ролик, а кому текст — читайте его под катом:

        Читать дальше →
      • Генерация и тестирование ядра RISC-V

        • Перевод
        Как я писал в прошлом посте, название моего проекта на GSoC-2016 — «порт RISC-V на Parallella», и первая вещь, которую я должен был сделать, это познакомиться с экосистемой RISC-V. Один из лучших способов это сделать, — посмотреть видео с презентации первого воркшопа RISC-V на Youtube. Для того, чтобы понять самые важные концепции, я рекомендую следующие презентации:


        Ещё одна ссылка, если вы интересуетесь Chisel, языком, основанным на Scala, который используется для описания текущей аппаратной реализации ядра RISC-V (ядро Rocket имеет in-order конвейер, BOOM — out-of-order), и любых будущих реализаций.

        Краткое руководство по Chisel (Jonathan Bachrach) видео слайды

        Работа с Rocket Chip, добавление расширений, инфраструктура ASIC и FPGA (Colin Schmidt) видео слайды

        Если вы глубоко заинтересованы в RISC-V и развитии сообщества, я предлагаю вам принять участие в воркшопах.


        Читать дальше →
      • Пойди туда, не знаю куда: по следам конференции SmartData



          Конференций, связанных с AI / ML / data science в последнее время и у нас стало довольно много. Организаторы до сих пор ищут форматы, концепции конференций меняются, но состав спикеров повторяется процентов на 50.

          Задача поиска формата стояла и перед программным комитетом SmartData. Задача эта довольно размытая. Кто тот человек, который занимается анализом и / или обработкой данных, что ему интересно? От участников конференции мы получили частичные ответы на эти вопросы, но данных хочется больше. В связи с этим хочу поделиться тем представлением об идеальном мире, которое сложилось на данный момент, и пригласить читателей к дискуссии в комментариях. Помогите сделать такую конференцию, на которую вам потом самим захочется сходить.

          Кроме вопросов о ваших интересах и задачах, за кликом вас ждут две ранее не публиковавшиеся видеозаписи выступлений с первой конференции, технический приём написания текстов на Хабр и один забавный факт о беспилотных автомобилях.
          И кое-что ещё
          • +26
          • 2,6k
          • 3
        • Эффективные методы сжатия данных при тренировке нейросетей. Лекция в Яндексе

            Не так давно в Яндекс приезжал Геннадий Пехименко — профессор Университета Торонто и PhD Университета Карнеги-Меллон. Он прочитал лекцию об алгоритмах кодирования, которые позволяют обходить проблему ограничения памяти GPU при обучении глубоких нейронных сетей.


            — Я вхожу в несколько групп Университета Торонто. Одна из них — Computer Systems and Networking Group. Есть еще моя собственная группа — EcoSystem Group. Как видно из названий групп, я не специалист непосредственно в машинном обучении. Но нейронные сети сейчас достаточно популярны, и людям, которые занимаются компьютерной архитектурой и сетями, компьютерными системами, приходится сталкиваться с этими приложениями на постоянной основе. Поэтому последние полтора-два года этой темой я тоже плотно занимаюсь.
            Читать дальше →
            • +41
            • 8,4k
            • 7
          • Машинное зрение. Что это и как им пользоваться? Обработка изображений оптического источника

              Машинное зрение — это научное направление в области искусственного интеллекта, в частности робототехники, и связанные с ним технологии получения изображений объектов реального мира, их обработки и использования полученных данных для решения разного рода прикладных задач без участия (полного или частичного) человека.

              Читать дальше →
            • Haskell. Задача о мудрецах и колпаках

                Три мудреца поспорили, кто из них самый мудрый. Чтобы выяснить правду, каждый надел на голову колпак случайного цвета. Каждый мудрец видит цвета колпаков своих оппонентов, но не видит свой собственный. Побеждает тот, кто сможет определить цвет своего колпака.

                Так получилось, что все трое вытянули колпаки белого цвета. Мимо проходящий прохожий сообщает им: «на одном из вас надет белый колпак». Через некоторое время самый умный из мудрецов воскликнул: «на мне белый колпак!!!».

                Как он об этом догадался?
                Существует определенная последовательность рассуждений, которая привела нашего мудреца к верному ответу. Мы попытаемся смоделировать эти рассуждения.
                Читать дальше →
              • Нейросеть AttnGAN рисует объекты по частям, используя векторное пространство не только предложений, но и слов


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

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

                  Последние разработки исследователей в этой области основаны на генеративно-состязательных сетях (GAN). Общим подходом является перевод всего текстового описания в глобальное векторное пространство предложений (global sentence vector). Такой подход демонстрирует ряд впечатляющих результатов, но у него есть главные недостатки: отсутствие чёткой детализации на уровне слов и невозможность генерации изображений высокого разрешения. Группа разработчиков из Лихайского университета, Ратгерского университета, Университета Дьюка (все — США) и компании Microsoft предложили своё решение проблемы: новая нейросеть Attentional Generative Adversarial Network (AttnGAN) представляет собой улучшение традиционного подхода и позволяет многоступенчато изменять сгенерированное изображение, меняя отдельные слова в текстовом описании.
                  Читать дальше →