Как стать автором
Обновить

Обзор топологий глубоких сверточных нейронных сетей

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

Читать дальше →
Всего голосов 108: ↑108 и ↓0 +108
Просмотры 100K
Комментарии 57

Спортивный анализ данных, или как стать специалистом по data science

Блог компании Яндекс Спортивное программирование *Data Mining *Big Data *Машинное обучение *
Меня зовут Пётр Ромов, я — data scientist в Yandex Data Factory. В этом посте я предложу сравнительно простой и надежный способ начать карьеру аналитика данных.

Многие из вас наверняка знают или хотя бы слышали про Kaggle. Для тех, кто не слышал: Kaggle — это площадка, на которой компании проводят конкурсы по созданию прогнозирующих моделей. Её популярность столь велика, что часто под «кэглами» специалисты понимают сами конкурсы. Победитель каждого соревнования определяется автоматически — по метрике, которую назначил организатор. Среди прочих, Kaggle в разное время опробовали Facebook, Microsoft и нынешний владелец площадки — Google. Яндекс тоже несколько раз отметился. Как правило, Kaggle-сообществу дают решать задачи, довольно близкие к реальным: это, с одной стороны, делает конкурс интересным, а с другой — продвигает компанию как работодателя с солидными задачами. Впрочем, если вам скажут, что компания-организатор конкурса задействовала в своём сервисе алгоритм одного из победителей, — не верьте. Обычно решения из топа слишком сложны и недостаточно производительны, а погони за тысячными долями значения метрики не настолько и нужны на практике. Поэтому организаторов больше интересуют подходы и идейная часть алгоритмов.



Kaggle — не единственная площадка с соревнованиями по анализу данных. Существуют и другие: DrivenData, DataScience.net, CodaLab. Кроме того, конкурсы проводятся в рамках научных конференций, связанных с машинным обучением: SIGKDD, RecSys, CIKM.

Для успешного решения нужно, с одной стороны, изучить теорию, а с другой — начать практиковать использование различных подходов и моделей. Другими словами, участие в «кэглах» вполне способно сделать из вас аналитика данных. Вопрос — как научиться в них участвовать?
Хардкор
Всего голосов 71: ↑66 и ↓5 +61
Просмотры 59K
Комментарии 13

Бенчмарк нового тензорного процессора Google для глубинного обучения

GPGPU *Облачные вычисления *Машинное обучение *Google Cloud Platform *
Перевод

Каждое устройство Cloud TPU состоит из четырёх «чипов TPUv2». В чипе 16 ГБ памяти и два ядра, каждое ядро с двумя юнитами для умножения матриц. Вместе два ядра выдают 45 TFLOPS, в общей сложности 180 TFLOPS и 64 ГБ памяти на один TPU

Большинство из нас осуществляет глубинное обучение на Nvidia GPU. В настоящее время практически нет альтернатив. Тензорный процессор Google (Tensor Processing Unit, TPU) — специально разработанный чип для глубинного обучения, который должен изменить ситуацию.

Через девять месяцев после первоначального анонса две недели назад Google наконец-то выпустила TPUv2 и открыла доступ первым бета-тестерам на платформе Google Cloud. Мы в компании RiseML воспользовались возможностью и прогнали парочку быстрых бенчмарков. Хотим поделиться своим опытом и предварительными результатами.

Давно мы ждали появления конкуренция на рынке оборудования для глубинного обучения. Она должна разрушить монополию Nvidia и определить, как будет выглядеть будущая инфраструктура глубинного обучения.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 16K
Комментарии 13

Эффективные методы сжатия данных при тренировке нейросетей. Лекция в Яндексе

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


— Я вхожу в несколько групп Университета Торонто. Одна из них — Computer Systems and Networking Group. Есть еще моя собственная группа — EcoSystem Group. Как видно из названий групп, я не специалист непосредственно в машинном обучении. Но нейронные сети сейчас достаточно популярны, и людям, которые занимаются компьютерной архитектурой и сетями, компьютерными системами, приходится сталкиваться с этими приложениями на постоянной основе. Поэтому последние полтора-два года этой темой я тоже плотно занимаюсь.
Всего голосов 41: ↑41 и ↓0 +41
Просмотры 12K
Комментарии 7

«Сезам откройся» Или Intel RealSense и ResNet на страже фруктов

Блог компании Intel Машинное обучение *DIY или Сделай сам


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


Мы решили реализовать подобную схему с помощью подручных материалов и open source решений. В качестве физического объекта, который будет обладать соответствующей "избирательностью к открытиям", был выбран сейф.


Все подробности под катом.

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 4.7K
Комментарии 12

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

Блог компании Open Data Science Python *Алгоритмы *Математика *Машинное обучение *

Neural Ordinary Differential Equations


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

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

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

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

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


Читать дальше →
Всего голосов 79: ↑76 и ↓3 +73
Просмотры 28K
Комментарии 5

Как мы подняли производительность Tensorflow Serving на 70%

Высокая производительность *Машинное обучение *TensorFlow *
Перевод
Tutorial
Tensorflow стал стандартной платформой для машинного обучения (ML), популярной как в индустрии, так и в научных исследованиях. Создано множество свободных библиотек, инструментов и фреймворков для обучения и обслуживания моделей ML. Проект Tensorflow Serving помогает обслуживать модели ML в распределённой среде продакшна.

Наш сервис Mux использует Tensorflow Serving в нескольких частях инфраструктуры, мы уже обсуждали использование Tensorflow Serving в кодировании видео по заголовкам. Сегодня сосредоточимся на методах, которые улучшают задержку за счёт оптимизации как на сервере прогнозирования, так и на клиенте. Прогнозы модели обычно являются «онлайновыми» операциями (на критическом пути запроса приложения), поэтому основные цели оптимизации — обрабатывать большие объёмы запросов с максимально низкой задержкой.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 7.4K
Комментарии 0

ResNet50. Своя реализация

Обработка изображений *Машинное обучение *
Всем привет. Библиотека нейросети описана в моей прошлой статье. Здесь решил показать как можно использовать обученную сеть из TF (Tensorflow) в своем решении, и стоит ли.

Под катом сравнение с оригинальной реализацией TF, демо приложение для распознавания картинок, ну и… выводы. Кому интересно, прошу.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 11K
Комментарии 11

Нейронные сети предпочитают текстуры и как с этим бороться

Блог компании Open Data Science Обработка изображений *Машинное обучение *Искусственный интеллект Мозг


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


В первой статье Approximating CNNs with bag-of-local features models works surprisingly well on ImageNet авторы берут модель, похожую на bag-of-words, и в качестве "слов" используют фрагменты из изображения. Эти фрагменты могут быть вплоть до 9х9 пикселей. И при этом, на такой модели, где полностью отсутствует какая-либо информация о пространственном расположении этих фрагментов, авторы получают точность от 70 до 86% (для примера, точность обычной ResNet-50 составляет ~93%).


Во второй статье ImageNet-trained CNNs are biased towards texture авторы приходят к выводу, что виной всему сам набор данных ImageNet и то, как изображения воспринимают люди и нейронные сети, и предлагают использовать новый датасет – Stylized-ImageNet.


Более подробно о том, что на картинках видят люди, а что нейронные сети

Читать дальше →
Всего голосов 100: ↑100 и ↓0 +100
Просмотры 29K
Комментарии 68

7 лет хайпа нейросетей в графиках и вдохновляющие перспективы Deep Learning 2020-х

Big Data *Машинное обучение *Статистика в IT Научно-популярное Искусственный интеллект


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



Понятно, что можно примерно посчитать количество статей по разным областям. Метод не идеальный, нужно учитывать подобласти, но в целом можно пробовать. Дарю идею, по Google Scholar (BatchNorm) это вполне реально! Можно считать новые датасеты, можно новые курсы. Ваш же покорный слуга, перебрав несколько вариантов, остановился на Google Trends (BatchNorm)

Мы с коллегами взяли запросы основных технологий ML/DL, например, Batch Normalization, как на картинке выше, точкой добавили дату публикации статьи и получили вполне себе график взлета популярности темы. Но не у всех тем путь усыпан розами взлет такой явный и красивый, как у батчнорма. Некоторые термины, например регуляризацию или skip connections, вообще не получилось построить из-за зашумленности данных. Но в целом тренды собрать удалось.

Кому интересно, что получилось — добро пожаловать под кат!
Читать дальше →
Всего голосов 100: ↑99 и ↓1 +98
Просмотры 31K
Комментарии 50

Как я делал нейросеть для оценки картинки с простеньких веб-камер

Блог компании Skyeng Алгоритмы *Обработка изображений *Машинное обучение *Искусственный интеллект
Наверняка многие, кто пытался сделать свою первую нейросеть, проходили на Kaggle челленж Cat vs Dog, в котором нужно научить компьютер отличать картинку с кошкой или собакой на дата-сете из 25 тысяч заранее размеченных изображений.



Примерно с таким «Kaggle-опытом» я взялся за свою первую боевую модель машинного обучения с нуля. И опыт получился интересным. Но обо всем по порядку.

Пролог. «Система, чем-то похожая на Тиндер»


Читать дальше
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 5.7K
Комментарии 7

Модерация изображений: уроки этикета от Data Scientist’a, часть 2

Блог компании Россельхозбанк Машинное обучение *Искусственный интеллект
Привет, Хабр!

Мы продолжаем серию статей про модерацию контента на площадках Центра Развития Финансовых Технологий Россельхозбанка. В прошлой статье мы рассказывали, как решали задачу модерации текста для одной из площадок экосистемы для фермеров “Свое Фермерство”. Почитать немного о самой площадке и о том какой результат мы получили можно здесь.

Если коротко, то нами использовался ансамбль из наивного классификатора (фильтр по словарю) и BERT’a. Тексты, прошедшие фильтр по словарю, пропускались на вход в BERT, где они также проходили проверку.

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

image

Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 1.8K
Комментарии 1

Нейронная сеть считает лес кругляк и распознает автомобильные номера. Как это сделано?

Python *Искусственный интеллект TensorFlow *
Из песочницы
✏️ Технотекст 2021

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

Необходимая подготовка читателя — должно быть общее представление о компьютерном зрении (computer vision) и нейронных сетях. Здесь не будет описаний, что такое сверточная нейронная сеть и т.п., статей по таким основам найдете много на хабре (вот хорошая Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей). В то же время, совсем новички могут получить представление, какие знания и компетенции нужны для решения подобных задач.

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 11K
Комментарии 20