Search
Write a publication
Pull to refresh
-2
0.1
Send message

Нечувствительные к весам нейронные сети (WANN)

Reading time6 min
Views41K


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


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

Читать дальше →

15 книг по машинному обучению для начинающих

Reading time5 min
Views175K
Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как.
Добавляйте в закладки и делитесь с коллегами!

Книги по машинному обучению на русском


1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин.

О чем

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

2. «Верховный алгоритм» Педро Домингос.

О чем

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.
Читать дальше →

Нахождение объектов без учителя (Unsupervised Object Detection)

Reading time7 min
Views8.8K
image

Одна из важнейших задач в машинном обучении — детектирование объектов (Object Detection). Недавно был опубликован ряд алгоритмов машинного обучения основанных на глубоком обучении (Deep Learning) для детектирования объектов. Эти алгоритмы занимают одно из центральных мест в практических приложениях компьютерного зрения, в частности, очень популярные сейчас самоуправляемые автомобили (Self-Driving Cars). Но все эти методы являются методами обучения с учителем, т.е. им необходим размеченный набор данных (Dataset) огромного размера. Естественно возникает желание иметь модель способную обучаться на «сырых» (неразмеченных) данных. Я попытался проанализировать существующие методы и также указать возможные пути их развития. Всех желающих милости прошу под кат, будет интересно.
Читать дальше →

Deep Learning vs common sense: разрабатываем чат-бота

Reading time14 min
Views13K
Чем больше пользователей у вашего сервиса, тем выше вероятность, что им понадобится помощь. Чат с техподдержкой — очевидное, но довольно дорогое решение. Но если применить технологии машинного обучения, можно неплохо сэкономить.

Отвечать на простые вопросы сейчас может и бот. Более того, чат-бота можно научить определять намерения пользователя и улавливать контекст так, чтобы он мог решить большинство проблем пользователей без участия человека. Как это сделать, помогут разобраться Владислав Блинов и Валерия Баранова — разработчики популярного помощника Олега.



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

Опыт моделеварения от команды Computer Vision Mail.ru

Reading time15 min
Views12K


Меня зовут Эдуард Тянтов, я руковожу командой Computer Vision в Mail.ru Group. За несколько лет существования наша команда решила десятки задач компьютерного зрения, и сегодня расскажу вам о том, какие методики мы используем для успешного создания моделей машинного обучения, которые работают на широком спектре задач. Поделюсь трюками, которые могут ускорить получение модели на всех этапах: постановка задачи, подготовка данных, обучение и развертывание в продакшен.
Читать дальше →

Как я пытался починить поиск по картам для водителей

Reading time8 min
Views3.8K
Это история про то, как я пытался решить одну странную проблему, которая мешала мне самому. Забегая вперед, скажу — получившимся решением я доволен и довел приложение до логического конца. Однако, чтобы запустить его полноценно, нужно больше ресурсов, поэтому я решил взять паузу и спросить людей, нужно ли оно кому-то еще. С этой целью (а еще чтобы просто выговориться) и пишу здесь.
Читать дальше →

Как я пытался починить поиск по картам для водителей. Часть 3 (финал)

Reading time7 min
Views5.7K
Итак, это третья часть моей попытки переосмыслить привычный поиск по картам. Первая часть тут, а вторая тут — они более технические, но пробежать глазами для лучшего понимания можно. Вкратце это звучит так: мне надоело ковыряться в картах за рулем, пытаясь среди мелких значков и рекламы найти ближайшую заправку. Вместо этого хотелось бы просто ехать, посматривая на экран приложения. Чтобы оно сортировало ближайшие места по времени езды, показывало списком, объясняло, какие из них по пути и какой к ним трафик. Такая вот идея.



Собственно, к версии приложения 3.0 наконец получилось реализовать все основные функции, которые хотелось. После прошлой статьи из этой серии его скачало некоторое количество людей, и даже написали отзывы — спасибо, ко всем прислушался. Работал над новой версией месяца два интенсивно, все мелкие изменения не перечислить — по сути это на 80% новое приложение. С кардинально улучшенным интерфейсом, раза в 2 быстрее и значительно стабильнее. Опять же, приглашаю сочувствующих оценить и поругать. А под катом снова технические моменты.

Вот тут ссылки на айфон и андроид
Читать дальше →

Распознавание образов в эйдетическом искусственном интеллекте

Reading time6 min
Views8.6K
"[ Нейронная сеть нуждается] в 300 миллионах изображений кошек, чтобы научиться понимать, что есть кошка, корова или собака. Но интеллект не основывается на больших данных (Big data). Наоборот, он основан на «маленьких данных». Если вы можете смотреть на кошку, извлекать абстрактные принципы «кошки» так, как это делают дети, и далее уже всегда знать, что такое кошка – это и есть интеллект"

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

Давайте заглянем в этот процесс поглубже!
Читать дальше →

Uber: Обзор главных алгоритмов управления платформой

Reading time10 min
Views17K

1. Введение


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

В этой статье мы (как представители команды Uber Marketplace Optimization) коротко представим взгляд изнутри на главные рычаги управления эффективностью онлайн-платформ: алгоритмы, отвечающие за диспетчерские решения (matching), динамическое ценообразование (dynamic pricing), а также представим одну из новых концепций — динамическое время назначения автомобиля (dynamic waiting). Основываясь на реальном практическом опыте, мы покажем, что все три алгоритма играют важную роль для создания системы с высокой производительностью и низким временем ожидания заказов как для пассажиров, так и для водителей.

Представленное описание алгоритмов будет носить ознакомительных характер и намеренно лишено технической глубины и строгости. Заинтересовавшийся читатель приглашается изучить оригинал статьи (Dynamic Pricing and Matching in Ride-Hailing PlatformsN.Korolko, D.Woodard, C.Yan, H.Zhu — 2019), опубликованной исследователями из отдела Uber Marketplace, по мотивам которой этот краткий ознакомительный обзор и создан.
Читать дальше →

Простые методы оптимизации программ Go

Reading time11 min
Views16K
Я всегда забочусь о производительности. Точно не знаю, почему. Но меня просто бесят медленные сервисы и программы. Похоже, я не одинок.

В тестах A/B мы попытались замедлять выдачу страниц с шагом 100 миллисекунд и обнаружили, что даже очень небольшие задержки приводят к существенному падению доходов. — Грег Линден, Amazon.com

По опыту, низкая производительность проявляется одним из двух способов:

  • Операции, которые хорошо выполняются в небольших масштабах, становятся нежизнеспособными с ростом числа пользователей. Обычно это операции O(N) или O(N²). Когда база пользователей мала, всё работает отлично. Продукт спешат вывести на рынок. По мере роста базы возникает всё больше неожиданных патологических ситуаций — и сервис останавливается.
  • Много отдельных источников неоптимальной работы, «смерть от тысячи порезов».
Читать дальше →

Tupperware: «убийца» Kubernetes от Facebook?

Reading time10 min
Views10K

Эффективное и надежное управление кластерами в любом масштабе с Tupperware



Сегодня на конференции Systems @Scale мы представили Tupperware — нашу систему управления кластерами, которая оркестрирует контейнеры на миллионах серверов, где работают почти все наши сервисы. Впервые мы развернули Tupperware в 2011 г., и с тех пор наша инфраструктура разрослась с 1 датацентра до целых 15 геораспределенных датацентров. Все это время Tupperware не стоял на месте и развивался вместе с нами. Мы расскажем, в каких ситуациях Tupperware обеспечивает первоклассное управление кластерами, включая удобную поддержку stateful-сервисов, единую панель управления для всех датацентров и возможность распределять мощности между сервисами в реальном времени. А еще мы поделимся уроками, которые усвоили по мере развития нашей инфраструктуры.


Tupperware выполняет разные задачи. Разработчики приложений с его помощью поставляют приложения и управляют ими. Он упаковывает код и зависимости приложения в образ и поставляет его на серверы в виде контейнеров. Контейнеры обеспечивают изоляцию между приложениями на одном сервере, чтобы разработчики занимались логикой приложения и не думали о том, как найти серверы или контролировать обновления. А еще Tupperware отслеживает работоспособность сервера, и если находит сбой, переносит контейнеры с проблемного сервера.

Читать дальше →

Аппаратное ускорение глубоких нейросетей: GPU, FPGA, ASIC, TPU, VPU, IPU, DPU, NPU, RPU, NNP и другие буквы

Reading time28 min
Views95K


14 мая, когда Трамп готовился спустить всех собак на Huawei, я мирно сидел в Шеньжене на Huawei STW 2019 — большой конференции на 1000 участников — в программе которой были доклады Филипа Вонга, вице-президента по исследованиям TSMC по перспективам не-фон-неймановских вычислительных архитектур, и Хенга Ляо, Huawei Fellow, Chief Scientist Huawei 2012 Lab, на тему разработки новой архитектуры тензорных процессоров и нейропроцессоров. TSMC, если знаете, делает нейроускорители для Apple и Huawei по технологии 7 nm (которой мало кто владеет), а Huawei по нейропроцессорам готова составить серьезную конкуренцию Google и NVIDIA.

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

Только в прошлом году в тему было вложено больше 3 миллиардов долларов. Google уже давно объявил нейросети стратегическим направлением, активно строит их аппаратную и программную поддержку. NVIDIA, почувствовав, что трон зашатался, вкладывает фантастические усилия в библиотеки ускорения нейросетей и новое железо. Intel в 2016 году потратил 0,8 миллиарда на покупку двух компаний, занимающихся аппаратным ускорением нейросетей. И это при том, что основные покупки еще не начались, а количество игроков перевалило за полсотни и быстро растет.


TPU, VPU, IPU, DPU, NPU, RPU, NNP — что все это означает и кто победит? Попробуем разобраться. Кому интересно — велкам под кат!
Читать дальше →

Введение в свёрточные нейронные сети (Convolutional Neural Networks)

Reading time8 min
Views65K
Полный курс на русском языке можно найти по этой ссылке.
Оригинальный курс на английском доступен по этой ссылке.


Выход новых лекций запланирован каждые 2-3 дня.
Читать дальше →

Почему только прокачка кодинга не сделает из тебя лучшего разработчика

Reading time9 min
Views27K


Techlead Skyeng Кирилл Роговой (flashhhh) выступает на конференциях с докладом, в котором рассказывает о навыках, развивать которые стоит каждому хорошему разработчику, чтобы стать лучшим. Я попросил его поделиться этой историей с читателями Хабры, передаю Кириллу слово.


Миф про хорошего разработчика гласит, что он:


  1. Пишет чистый код
  2. Знает много технологий
  3. Быстрее кодит задачи
  4. Знает кучу алгоритмов и шаблонов проектирования
  5. Умеет отрефакторить любой код по Clean Code
  6. Не тратит время на непрограммистские задачи
  7. 100% мастер своей любимой технологии

Так видят идеальных кандидатов HRы, и вакансии, соответственно, выглядят тоже так.


Но мой опыт говорит, что это не сильно соответствует действительности.

Читать дальше →

Как начать жить и выращивать салат

Reading time11 min
Views30K


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

Шпаргалки по безопасности: Docker

Reading time7 min
Views46K


Docker контейнеры — самая популярная технология для контейнеризации. Изначально она использовалась в основном для dev и test окружений, со временем перешла и в production. Docker контейнеры начали плодиться в production среде, как грибы после дождя, однако мало из тех, кто использует данную технологию, задумывался о том, как же безопасно публиковать Docker контейнеры.

Основываясь на OWASP, мы подготовили список правил, выполнение которых позволит значительно обезопасить ваше окружение, построенное на Docker контейнерах.
Читать дальше →

Возможно, вам не нужен Kubernetes

Reading time5 min
Views31K

Девушка на скутере. Иллюстрация freepik, логотип Nomad от HashiCorp

Kubernetes — это 300-килограммовая горилла для оркестровки контейнеров. Она работает в некоторых самых крупных контейнерных системах в мире, но дорого обходится.

Особенно дорого для небольших команд, которым придётся потратить много времени на поддержку и крутую кривую обучения. Для нашей команды из четырёх человек это слишком много накладных расходов. Поэтому мы стали искать альтернативы — и влюбились в Nomad.
Читать дальше →

Делаем современное веб-приложение с нуля

Reading time31 min
Views162K
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →

Mountain Car: решаем классическую задачу при помощи обучения с подкреплением

Reading time12 min
Views13K
Как правило, модификации алгоритмов, полагающиеся на особенности конкретной задачи, считаются менее ценными, так как их сложно обобщить на более широкий класс задач. Однако это не означает, что такие модификации не нужны. Более того, часто они могут значительно улучшить результат даже для простых классических задач, что очень важно при практическом применении алгоритмов. В качестве примера в этом посте я решу задачу Mountain Car при помощи обучения с подкреплением и покажу, что используя знание о том, как устроена задача, ее можно решить значительно быстрее.


Читать дальше →

Как исследователи в Uber применяют и масштабируют знания о поведении человека

Reading time10 min
Views7.1K
image

Мы подготовили для читателей Хабры перевод статьи команды Uber Labs. Коллеги из Uber описывают процесс работы аналитиков узкоспециализированного типа (в области науки о поведении) в рамках огромной корпорации, как устроено их взаимодействие с аналитиками других типов (UX-исследователи, продуктовые аналитики) и коллегами из других команд (продуктовых, внутренней разработки), какие задачи они решают и как к ним подходят. Комментирует материал Глеб Сологуб, директор по аналитике Skyeng.

В Uber Labs мы стремимся использовать идеи и методы науки о поведении, чтобы создавать интуитивно понятные и приятные программы и продукты. Члены нашей команды имеют ученые степени по психологии, маркетингу и когнитивным наукам, обладают знаниями предметных областей — таких, как принятие решений, мотивация и обучение, методологические возможности в дизайне экспериментов, а также являются экспертами по статистическому моделированию и причинно-следственным подходам. Эти знания позволяют нам глубоко анализировать проблемы повышения степени удовлетворенности клиентов, а благодаря нашему опыту в области методологии и статистики мы можем измерить влияние удовлетворенности на бизнес (одним из таких подходов является моделирование посредника).
Читать дальше →

Information

Rating
5,814-th
Registered
Activity