Pull to refresh
50
Karma
0
Rating
Андрей @S_A

Опытный пользователь ПК. Офисные пакеты.

Sample-efficient reinforcement learning: пытаемся воспроизвести обучение в воображении

Machine learning *Artificial Intelligence

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

В 2020 году Google выпустил статью “Dream to control: learning behaviours by latent imagination”. В статье описывался новейший алгоритм обучения в подкреплением - Dreamer. Алгоритм примечателен тем, что относительно быстро выучивает выигрышную стратегию - совершая относительно мало взаимодействий со средой.

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

Дисклеймер:

Я не пытаюсь сделать ИИ похожим на человека, я не утверждаю, что нейросети похожи на нервную систему каких-либо организмов. По моему опыту, машинное обучение обычно превосходит человека в тех задачах, где есть бигдата и легко проверяемая функция ошибки. Большинство известных мне исключений связаны с тем, что либо эволюция предобучила человека на огромном датасете, либо в детстве человек собрал огромную статистику. Как только задача требует непредвзятого универсального интеллекта - оказывается, что с хорошими шансами XGBoost работает точнее любого эксперта.

Читать далее
Total votes 9: ↑9 and ↓0 +9
Views 3.1K
Comments 73

Диффузионные Нейросети — самый актуальный подход к генерации изображений

RUVDS.com corporate blog Machine learning *Artificial Intelligence

Метод обратной диффузии поистине является самым нашумевшим в этом году методом генерации изображений нейросетями. Его используют: DALLE 2, Midjourney, imagen и другие актуальные модели 2022 года.

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

Под катом будет много кода, программирования, математики, в общем — всё, как вы любите.
Читать дальше →
Total votes 53: ↑50 and ↓3 +47
Views 11K
Comments 5

ClearML | Туториал

Data Mining *Big Data *Machine learning *
Tutorial
⚒️ Data Mining season

ClearML — это довольно мощный фреймворк, основным предназначением которого является трекинг ML-экспериментов. Для рассмотрения его возможностей построим небольшой пайплайн обучения ML-модели...

Читать далее
Total votes 11: ↑11 and ↓0 +11
Views 5.4K
Comments 4

Шерудим под капотом Stable Diffusion

Image processing *Machine learning *Artificial Intelligence Natural Language Processing *
Tutorial

Вероятно вы уже слышали про успехи нейросетей в генерации картинок по текстовому описанию.

Я решил разобраться, и заодно сделать небольшой туториал, по архитектуре модели Stable Diffusion. Сегодня мы не будем глубоко погружаться в математику и процесс тренировки. Вместо этого сфокусируемся на применении и устройстве основных компонент: UNet, VAE, CLIP.

Читать далее
Total votes 81: ↑81 and ↓0 +81
Views 18K
Comments 11

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

ГК ЛАНИТ corporate blog Machine learning *Reading room Artificial Intelligence Natural Language Processing *
Translation

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

Число исследований в области машинного обучения с каждым годом растет. Конечно, приятно было бы прогуляться по каждой статье или ветке исследований отдельно, но времени на это просто может не хватить, а «посетить» 2021 год еще раз, увы, не удастся. Следовательно, необходимо также искать «путеводители» - статьи, подсвечивающие некоторые тренды, понимание которых важно для будущих направлений исследований. В начале года одна из таких статей «гуляла»  по различным каналам и чатам. Мне захотелось перевести ее на русский и поделиться с вами. Далее приведу перевод этой статьи с моими комментариями.

Читать далее
Total votes 40: ↑39 and ↓1 +38
Views 5.3K
Comments 0

Цифровой вытрезвитель

System Analysis and Design *Machine learning *Distributed systems *Artificial Intelligence Cryptocurrencies

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

Я верю в "частичные идеи". Бывает, человек крутит в голове половину чего-то важного. А у кого-то есть вторая половина. Чтобы мысли встретились и "клацнули", кто-то должен свою половину опубликовать. Сегодня это делаю я. Считайте это скорее приглашением к обсуждению, нежели готовым рецептом.

Читать далее
Total votes 45: ↑41 and ↓4 +37
Views 19K
Comments 48

[Часть 1] Математика в АБ-тестах. Что такое z-score и p-value?

Python *Mathematics *Statistics in IT
Sandbox

Приветствую тебя, дорогой друг! Эта публикация была создана для тебя, если ты хотел бы разобраться с этими непонятными словами из заголовка раз и на всегда. Как с идейной, так и с математической стороны. Признаюсь сразу, в свое время в универе частенько прогуливал семинары по высшей математике где-нибудь в приятном заведение со вкусной едой и хорошей музыкой или вообще дома, занимаясь чем-то "уникальным" и "сверхполезным". Но жизнь оказалась более ироничной, чем я думал. Сейчас я работаю продуктовым аналитиком в @IDFinance и познаю мат. статистику заново. И теперь уже с горящими глазами. Дается местами она не просто, а особенную трудность испытываю, когда хочу найти в интернете простые и понятные материалы по необходимой теме. Собственно, это меня и побудило написать данную статью, включающую в себя всю математику, почему она так работает и как это вообще запрограммировать.

Читать далее
Total votes 19: ↑19 and ↓0 +19
Views 13K
Comments 7

35 реальных рисков, убивающих data- и machine learning проекты

Big Data *Machine learning *Project management *Product Management *Data Engineering *
Sandbox

Всем привет! Эта статья - обобщение моего опыта 30+ проектов, связанных с обработкой данных и машинным обучением. Здесь не будет теории про управление рисками и общего перечня проектных рисков. Я перечислил только наиболее частые “грабли” именно из data-специфики, с которыми приходилось сталкиваться за последние 7 лет. Надеюсь, что эта статья поможет менеджеру проекта или менеджеру продукта сохранить свой цвет волос, ценное время команды и удовлетворенность заказчиков. Риски я разделил на три группы:

Читать далее
Total votes 24: ↑24 and ↓0 +24
Views 6.6K
Comments 5

Transformer в картинках

Machine learning *
Translation

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 55K
Comments 2

Теорема Байеса: просто о сложном

Mathematics *Machine learning *Statistics in IT
Sandbox
Translation

В этой статье мы рассказываем об основах и применении одного из самых мощных законов статистики - теоремы Байеса. 

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

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

Читать далее
Total votes 21: ↑19 and ↓2 +17
Views 38K
Comments 5

Создаем самоорганизующуюся команду: пошаговый алгоритм

Конференции Олега Бунина (Онтико) corporate blog Development Management *Project management *Personnel Management *Conferences

Меня зовут Андрей Булов. Я простой питерский технарь, архитектор, разработчик, DevOps технический менеджер. Сейчас работаю в Quantori.

Я не буду описывать самоорганизующиеся команды, а расскажу про алгоритм их создания. Это мой личный опыт — я так работаю с командами (их было 30+). Он перекликается с Management 3.0, моделью Херши-Бланшар, LeSS, Sсrum и даже SAFe, а также со многими другими софтовыми областями. И в нем есть конкретика на уровне действий.

Для ленивых: я исследую окружение, проектирую дизайн культуры, объясняю правила и делегирую задачи команде. Я не поддерживаю внедрение самоорганизации через фреймворк. Видео моего выступления об этом на конференции TeamLead Conf 2021 можно посмотреть здесь.

Читать далее
Total votes 29: ↑27 and ↓2 +25
Views 15K
Comments 7

Геоаналитика с помощью Python и открытых данных: пошаговое руководство

Python *OpenStreetMap *Geoinformation services *Open data *Data visualization *
Sandbox

Геоаналитика с помощью Python: GeoPandas, folium, Uber H3, OSM + примеры как можно определять лучшие локации для поиска помещений под открытие кофейни (и не только).

Читать далее
Total votes 29: ↑29 and ↓0 +29
Views 26K
Comments 37

Байесовские сети и реальные опционы

Machine learning *Finance in IT

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

Поскольку принятие решений в таких случаях неизбежно связано с вероятностными оценками и множеством неопределенностей, диаграммы влияния, как и все Байесовские сети доверия (БСД) чрезвычайно полезны для моделирования ситуаций и прогнозирования ожидаемых результатов. Рассмотрим два простых примера с реальными опционами. Как обычно, решаем задачи с использованием Netica, а попутно опробуем функцию программного заполнения таблиц полезности.

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views 3.3K
Comments 0

Нейросети в исследовании процессов

Python *Programming *Machine learning *

Нейронные сети – это статистические вычислительные модели, применяемые к множеству практических задач, в том числе обработка изображений, машинный перевод и поиск шаблонов. При обучении с учителем, нейросеть тренируется на примере уже известных объектов, то есть для всех исходных данных у нас есть предопределенный правильный ответ. Главная идея обучения нейросети – это настроить такую конфигурацию, при которой ответы модели будут максимально приближены к корректным. Что же до рекуррентных нейросетей, то они не только обучаются на исходных объектах, но и предоставляют контекст для каждого следующего предсказания. Это помогает нейросети сохранять состояние, в котором было принято решение. В этой статье мы обсудим применение рекуррентных нейросетей (РНС) в проблеме исследования процесса в process mining.

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

Для прояснения подхода возьмём лог событий L = [(a, b, c, d, e), (a, b, d)] в качестве примера. Внутренние вычисления нейросети требуют предобработку последовательностей событий следующим образом.

Читать далее
Total votes 4: ↑3 and ↓1 +2
Views 4.3K
Comments 2

Обзор методов численной оптимизации. Безусловная оптимизация: метод линий

Algorithms *Mathematics *Machine learning *
image

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

Введение


Оптимизация — это процесс нахождения точки экстремального значения некоторой заданной целевой функции $f(\mathbf{x})$. Это один из крупнейших краеугольных камней прикладной математики, физики, инженерии, экономики, промышленности. Область её применений необъятна и может распространяться от минимизации физических величин на микро- и макроуровнях до максимизации прибыли или эффективности логистических цепочек. Машинное обучение также заострено на оптимизации: всевозможные регрессии и нейроные сети пытаются минимизировать ошибку между предсказанием и реальными данными.

Экстремум может быть как минимумом, так и максимумом, но обычно принято изучать любую оптимизацию исключительно как поиск минимума, поскольку любая максимизация эквивалентна минимизации из-за возможности поменять знак перед целевой функцией: $f(\mathbf{x})\to -f(\mathbf{x})$. Следовательно, в любом месте ниже под оптимизацией мы будем понимать именно минимизацию.
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Views 21K
Comments 13

P<0.05, и откуда оно (иногда) берётся

Timeweb Cloud corporate blog Mathematics *Statistics in IT Popular science
Translation

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

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

Читать далее
Total votes 11: ↑11 and ↓0 +11
Views 9.9K
Comments 5

Обучение универсальной модели NLU c BERT и Multitask Learning

SberDevices corporate blog Machine learning *Artificial Intelligence Natural Language Processing *

В современной компьютерной лингвистике понимание смысла написанного или сказанного достигается с помощью моделей естественного языка (NLU). С постепенным ростом аудитории виртуальных ассистентов Салют встает вопрос об оптимизации наших сервисов, работающих с естественным языком. Для этого оказывается целесообразно использовать одну сильную модель NLU для решения сразу нескольких задач обработки текста. В этой статье мы расскажем, как можно использовать многозадачное обучение для улучшения векторных представлений и обучения более универсальной модели NLU на примере SBERT.

В высоконагруженных сервисах обработки текста решается целый ряд различных задач NLP:

  1. Распознавание намерений.
  2. Выделение именованных сущностей.
  3. Сентиментный анализ.
  4. Анализ токсичности.
  5. Поиск похожих запросов.

Каждая из этих задач обладает своей спецификой и, вообще говоря, требует построения и обучения отдельной модели. Однако, поддерживать и исполнять для каждой такой задачи отдельную NLU-модель непрактично – сильно возрастает время обработки запроса и потребляемая (видео)память. Вместо этого мы используем одну сильную модель NLU для извлечения универсальных признаков из текста. Поверх этих признаков мы применяем относительно легковесные модели (адаптеры), которые и решают прикладные NLP-задачи. При этом NLU и адаптеры могут исполняться на разных машинах – это позволяет удобнее разворачивать и масштабировать решения.
Total votes 12: ↑12 and ↓0 +12
Views 5.3K
Comments 4

Первые шаги в BI-аналитике. Роль Data Engineering

Python *SQL *Big Data *Data visualization *Data Engineering *

Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.

Что традиционно понимается под этим понятием? Если говорить простым языком, то это комплексная система (как и, например, бюджетирование) по сбору, обработке и анализу данных, представляющая конечные результаты в виде графиков, диаграмм, таблиц.

Это требует слаженной работы сразу нескольких специалистов. Дата-инженер отвечает за хранилища и ETL/ELT-процессы, аналитик данных помогает в заполнении базы данных, аналитик BI разрабатывает управленческие панели, бизнес-аналитик упрощает коммуникации с заказчиками отчетов. Но такой вариант возможен, только если фирма готова оплачивать работу команды. В большинстве случаев небольшие компании для минимизации затрат делают ставку на одного человека, который зачастую вообще не обладает широким кругозором в области BI, а имеет лишь шапочное знакомство с платформой для отчетов.

В таком случае происходит следующее: сбор, обработка и анализ данных происходит силами единственного инструмента – самой BI-платформой. При этом данные предварительно никак не очищаются, не проходят компоновки.  Забор информации идет из первичных источников без участия промежуточного хранилища. Результаты такого подхода можно легко лицезреть на тематических форумах. Если постараться обобщить все вопросы касательно BI-инструментов, то в топ-3 попадут, наверное, следующие: как загрузить в систему плохо структурированные данные, как по ним рассчитать требуемые метрики, что делать, если отчет работает очень медленно. Что удивительно, на этих форумах вы практически не найдете обсуждений ETL-инструментов, описания опыта применения хранилищ данных, лучших практик программирования и запросов SQL. Более того, я неоднократно сталкивался с тем, что опытные BI-аналитики не очень лестно отзывались о применении R/Python/Scala, мотивируя это тем, что все проблемы можно решить только силами BI-платформы. Вместе с тем всем понятно, что грамотный дата инжиниринг позволяет закрывать массу проблем при построении BI-отчетности.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 9.2K
Comments 1

Рассказываем про библиотеку для Process Mining: теперь SberPM в открытом доступе

Сбер corporate blog System Analysis and Design *Data Mining *Project management *
Process Mining – это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий (event logs), доступных в корпоративных ИТ-системах. Являясь своеобразным мостиком между Data Mining и Process Management, он выводит исследование бизнес-процессов на принципиально новый уровень. Подробнее о том, чем полезен такой подход и как мы его применяем вот здесь .

В конце 2020 года в открытый доступ вышла разработанная Сбером python-библиотека SberPM – первая в России мультифункциональная библиотека для интеллектуального анализа процессов и клиентских путей. Ниже про то, как она устроена и как ей пользоваться.

image

Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Views 9.5K
Comments 10

Как построить свою систему поиска похожих изображений

Search engines *Image processing *Artificial Intelligence

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

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

Читать далее
Total votes 51: ↑50 and ↓1 +49
Views 21K
Comments 33

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity