Pull to refresh
128
7.8
Александр Рябиков @rsashka

Системный архитектор

Send message

Повышение уровня защиты сети путём использования облачного анализатора

Reading time7 min
Views3.4K

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

А на деле всё выглядит обыденно, незатейливо, и даже, можно сказать, скучно.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments1

Как это работает: архитектура тайлового бэкенда карт «Спутника»

Reading time4 min
Views29K
Мы, команда карт «Спутника», разрабатываем карты на основе данных «OpenStreetMap». В этой заметке мы расскажем об архитектуре нашего решения для рендеринга тайлов.


Читать дальше →
Total votes 85: ↑64 and ↓21+43
Comments68

Работаем с нейросетями: чек-лист для отладки

Reading time6 min
Views6.2K
image

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

Эта статья посвящена алгоритму отладки ваших нейронных сетей.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments0

Открытый курс «Deep Learning на пальцах»

Reading time3 min
Views53K

После 18-го февраля начнется открытый и бесплатный курс "Deep Learning на пальцах".


Курс предназначен для того, чтобы разобраться с современным deep learning с нуля, и не требует знаний ни нейросетей, ни machine learning вообще. Лекции стримами на Youtube, задания на Питоне, обсуждения и помощь в лучших русскоязычных DS-сообществах — ODS.ai и ClosedCircles.


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


Одновременно и в том же объеме курс будет читаться для магистрантов Новосибирского Государственного Университета, а также студентов CS центра Новосибирска.


Выглядеть объяснение на пальцах будет примерно так:



Главная ссылка — dlcourse.ai. Подробности ниже.

Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments72

Jetson Nano: одноплатник для машинного обучения от Nvidia

Reading time3 min
Views35K


Вчера компания Nvidia анонсировала Jetson Nano: одноплатный компьютер для вычислений в области ИИ. Маленький компьютер с поддержкой библиотек CUDA-X AI выдаёт 472 гигафлопса для запуска современных рабочих нагрузок ИИ, потребляя при этом всего лишь 5 Вт.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments17

Семь мифов в области исследований машинного обучения

Reading time10 min
Views12K
Для тех, кому лень читать всё: предлагается опровержение семи популярных мифов, которые в области исследований машинного обучения часто считаются истинными, по состоянию на февраль 2019. Данная статья доступна на сайте ArXiv в виде pdf [на английском языке].

Миф 1: TensorFlow – это библиотека для работы с тензорами.
Миф 2: Базы данных изображений отражают реальные фотографии, встречающиеся в природе.
Миф 3: Исследователи МО не используют проверочные наборы для испытаний.
Миф 4: В обучении нейросети используются все входные данные.
Миф 5: Для обучения очень глубоких остаточных сетей требуется пакетная нормализация.
Миф 6: Сети с вниманием [attention] лучше свёрточных [convolution].
Миф 7: Карты значимости – надёжный способ интерпретации нейросетей.

А теперь — подробности.
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments10

Задача N тел или как взорвать галактику не выходя из кухни

Reading time34 min
Views47K



Не так давно я прочёл фантастический роман «Задача трёх тел» Лю Цысиня. В нём у одних инопланетян была проблема — они не умели, с достаточной для них точностью, вычислять траекторию своей родной планеты. В отличии от нас, они жили в системе из трёх звёзд, и от их взаимного расположения сильно зависела «погода» на планете — от испепеляющей жары до леденящего мороза. И я решил проверить, можем ли мы решать подобные задачи.
Читать дальше →
Total votes 177: ↑177 and ↓0+177
Comments127

Важное сообщение об инвайтах в профиле

Reading time1 min
Views25K

Привет, Хабр!


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

  1. Появился англоязычный Хабр — теперь можно читать/писать публикации/комментарии на английском языке. Публикации на английском языке в ленте — это новая реальность, а не что-то непонятное.
  2. Мы ввели послабления для пользователей — теперь можно кросспостить свои публикации, писать о своих частных проектах и играх, бесплатном ПО, размещать ссылки на резюме и многое другое. Нарушением правил это больше не является.
  3. Мы увеличили срок голосования за публикации до 30 дней. Из-за этого у ППА-публикаций была заминка с начислением бонусов и их выплатой, но уже всё пересчитано и рассчитано.
И главное — про инвайты.
Читать дальше →
Total votes 147: ↑139 and ↓8+131
Comments132

WaveNet: новая модель для генерации человеческой речи и музыки

Reading time5 min
Views39K
Наша облачная платформа Voximplant — это не только телефонные и видео звонки. Это еще и набор «батареек», которые мы постоянно улучшаем и расширяем. Одна из самых популярных функций: возможность синтезировать речь, просто вызвав JavaScript метод say во время звонка. Разрабатывать свой синтезатор речи — на самая лучшая идея, мы все-таки специализируемся на телеком бэкенде, написанном на плюсах и способном обрабатывать тысячи одновременных звонков и снабжать каждый из них JavaScript логикой в реальном времени. Мы используем решения партнеров и внимательно следим за всем новым, что появляется в индустрии. Хочется через несколько лет отойти от мема «Железная Женщина» :) Статья, адаптированный перевод которой мы сделали за эти выходные, рассказывает про WaveNet, модель для генерации звука (звуковых волн). В ней мы рассмотрим как WaveNet может генерировать речь, которая похожа на голос любого человека, а также звучать гораздо натуральнее любых существующих Text-to-Speech систем, улучшив качество более чем на 50%.

Мы также продемонстрируем, что та же самая сеть может использоваться для создания других звуков, включая музыку, и покажем несколько автоматически сгенерированных примеров музыкальных композиций (пианино).
Очень много интересного
Total votes 47: ↑47 and ↓0+47
Comments20

Гайд: Как вывести SaaS продукт на AppSumo – успехи и немного ошибок

Reading time16 min
Views4K
Несколько месяцев назад мы вышли на AppSumo с 93% скидкой на свой продукт. Подготовка заняла у нас полтора месяца, и в процессе мы не нашли подробного гайда или описания, что от нас требуется, как все будет происходить и как мы могли бы улучшить результат. Мы общались с несколькими компаниями, которые прошли этот путь до нас, но и этой информации казалось нам недостаточно. Пройдя этот путь от и до, Мария Бочева, Business Development Manager в OWOX BI, составила пошаговое руководство, которое поможет вам подготовиться к запуску и сэкономить время.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments3

Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play

Reading time6 min
Views12K


Мы с мужем давно хотели делать игры вместе, но времени на это никогда не хватало. Мы оба работали: он — UI-программистом в геймдеве, я — продакт-менеджером в social media, затем в финтехе, и сил на собственную игру не оставалось.

Год назад мы переехали в Канаду и решили, что это хороший шанс попробовать себя в качестве инди-разработчиков. Муж, правда, быстро нашёл работу в AAA игре, но мне это не удалось, и времени вдруг появилось очень много.

Как мы придумывали


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

Мы сами довольно много играем и всегда отмечаем то, что нам нравится, и что — не очень. Основной момент, который нас раздражает в современных мобильных казуалках — это однообразие их механик, обилие попапов с предложениями что-нибудь купить и длинными описаниями, а также перенасыщенный UI с кучей каких-то плашек, бабблов и объёмных шрифтов. Поэтому в нашей игре мы постарались сделать всё наоборот.
Total votes 38: ↑24 and ↓14+10
Comments40

Демистифицируем свёрточные нейросети

Reading time5 min
Views15K
Перевод Demystifying Convolutional Neural Networks.


Свёрточные нейросети.

В прошлом десятилетии мы наблюдали удивительный и беспрецедентный прогресс в сфере компьютерного зрения. Сегодня компьютеры умеют распознавать объекты на изображениях и кадрах видео с точностью до 98 %, уже опережая человека с его 97 %. Именно функции человеческого мозга вдохновляли разработчиков при создании и совершенствовании методик распознавания.

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

Вдохновлённые этим, математики разработали систему, в которой эмулируются группы нейронов, срабатывающие на разные свойства изображения и взаимодействующие друг с другом для формирования общей картины.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments5

Знакомство с Neural ODE

Reading time20 min
Views36K

Neural Ordinary Differential Equations


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

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

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

На последней NIPS-конференции была представлена одна очень интересная статья, которая может помочь решить эту проблему. Авторы предлагают подход, который они назвали Нейронные Обыкновенные Дифференциальные Уравнения (Neural ODE).

Здесь я постарался воспроизвести и кратко изложить результаты этой статьи, чтобы сделать знакомство с ее идеей чуть более простым. Мне кажется, что эта новая архитектура вполне может найти место в стандартном инструментарии дата-сайентиста наряду со сверточными и рекуррентными сетями.


Читать дальше →
Total votes 79: ↑76 and ↓3+73
Comments7

Просто о микросервисах

Reading time11 min
Views262K

Вступление


Чуть ли не каждый второй, кто впервые сталкивается с MSA (Micro Service Architecture), на первых порах восклицает: «Да я эти микросервисы еще …надцать лет назад». Отчасти они правы. И я тоже был из этой самой половины, и не понимал — почему такой шум?



В самом деле! Ведь MSA — это тоже про разработку софта. Какие здесь могут быть революции? Все методики знакомы. В некоторых местах можно даже удивиться: «А разве бывает по-другому»? Фанаты Agile и DevOps тоже скажут, что это всё наше, родное.

Но всё же прошу вас набраться терпения и продолжить читать дальше.
Читать дальше →
Total votes 51: ↑41 and ↓10+31
Comments33

Как защититься от брендовых троллей

Reading time15 min
Views12K


Изображение взято из Викимедии, автор – Gil. Распространяется на условиях лицензии Creative Commons Attribution 2.0 Generic license


Привет, Хабр! Меня зовут Андрей, я юрист в сфере интеллектуальной собственности и IT-технологий.


Некоторое время назад на Хабре была опубликована история andrei_mankevich — автора мобильного приложения — реализации игры «Балда», которое было удалено по жалобе правообладателя соответствующего товарного знака. Судя по комментариям к этой истории, многим было интересно, можно ли как-то восстановить справедливость и наказать тролля.


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


На заметку: «патентные тролли» («patent troll») — это лица, осуществляющие покупку или регистрацию патента на изобретение, полезную модель или промышленный образец исключительно для того, чтобы требовать с других лиц вознаграждение за использование патента под угрозой предъявления судебного иска. Такие лица, как правило, не производят какой-либо полезный продукт на основании купленного патента.


В отношении лиц, осуществляющих аналогичную деятельность с товарными знаками и объектами авторских прав, используются, соответственно, термины «trademark troll» (можно перевести как «брендовый тролль») и «copyright troll» («копирайтный тролль», «копитролль»).
Далее я буду говорить о брендовых троллях — лицах, которые регистрируют или покупают товарные знаки, для того чтобы заработать на предъявлении претензий и судебных исков.

Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments19

Как научить свою нейросеть генерировать стихи

Reading time10 min
Views54K
Умоляю перестань мне сниться
Я люблю тебя моя невеста
Белый иней на твоих ресницах
Поцелуй на теле бессловесном

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

Вернее, нейронная сеть нужна лишь для первого этапа — расстановки слов в правильном порядке. С рифмовкой справляются правила, применяемые поверх предсказаний нейронной сети. Хотите узнать подробнее, как мы это реализовывали? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments30

Audio AI: выделяем вокал из музыки с помощью свёрточных нейросетей

Reading time12 min
Views58K
Взлом музыки для демократизации производного контента

Отказ от ответственности: вся интеллектуальная собственность, проекты и методы, описанные в этой статье, раскрыты в патентах US10014002B2 и US9842609B2.

Вот бы вернуться в 1965 год, постучать в парадную дверь студии «Эбби-Роуд» с пропуском, зайти внутрь — и услышать настоящие голоса Леннона и Маккартни… Что ж, давайте попробуем. Входные данные: MP3 среднего качества песни «Битлз» We Can Work it Out. Верхняя дорожка — входной микс, нижняя дорожка — изолированный вокал, который выделила наша нейросеть.

Читать дальше →
Total votes 69: ↑68 and ↓1+67
Comments27

Изучаем Docker, часть 4: уменьшение размеров образов и ускорение их сборки

Reading time8 min
Views136K
В этой части перевода серии материалов, которая посвящена Docker, мы поговорим о том, как оптимизировать размеры образов и ускорить их сборку. В прошлых материалах мы сравнивали образы Docker с пиццей, термины с пончиками, а инструкции файлов Dockerfile с бубликами. Сегодня же не будет никакой выпечки. Пришло время посидеть на диете.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными


Для того чтобы разобраться с тем, о чём мы будем тут говорить, вам будет полезно освежить в памяти то, о чём шла речь в третьей части этой серии материалов. А именно, там мы говорили об инструкциях файлов Dockerfile. Знание этих инструкций и тех особенностей Docker, которые мы обсудим сегодня, поможет вам оптимизировать файлы образов Docker.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments1

Как подружить Tensorflow и C++

Reading time6 min
Views44K

Google TensorFlow — набирающая популярность библиотека машинного обучения с акцентом на нейросетях. У нее есть одна замечательная особенность, она умеет работать не только в программах на Python, а также и в программах на C++. Однако, как оказалось, в случае С++ нужно немного повозиться, чтобы правильно приготовить это блюдо. Конечно, основная часть разработчиков и исследователей, которые используют TensorFlow работают в Python. Однако, иногда бывает необходимо отказаться от этой схемы. Например вы натренировали вашу модель и хотите ее использовать в мобильном приложении или роботе. А может вы хотите интегрировать TensorFlow в существующий проект на С++. Если вам интересно как это сделать, добро пожаловать под кат.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments17

SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс

Reading time13 min
Views6.2K

Введение


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

К сожалению, тогда подобное решение не подошло по некоторым причинам, хотя если бы удалось использовать уже готовую российскую аппаратную криптографию, то это должно было значительно ускорить разработку и последующую сертификацию конечного изделия. А причины невозможности использования USB токенов или смарткарты были весьма банальны: устройство должно было быть довольно компактным (небольшой модуль для M2M или IoT устройств), эксплуатироваться преимущественно в необслуживаемом режиме и работать в широком температурном диапазоне.

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


Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments5

Information

Rating
623-rd
Location
Россия
Works in
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer, Software Architect
Lead
C++
OOP
Linux
Programming microcontrollers
Embedded system
C
Qt
Software development