Привет. В этой публикации речь пойдёт о многопоточке, каналах, подписках, планировании регулярных задач, мониторинге, нейросетях и самоэволюционирующих алгоритмах.
Машинное обучение *
Основа искусственного интеллекта
Новости
Разработка Gamio AI. Сквозь боль и баги
Gamio AI - текстовое приключение на русском языке, основанное на искусственном интеллекте.
Как бы пафосно это не звучало, мне удалось создать рабочую версию этой амбициозной идеи.
Инструменты для участников соревнований по машинному обучению
Соревнования по машинному обучению - относительно новое явление.
Появилось вследствие развития технологий искусственного интеллекта.
В данный момент очень активно развивается и привлекает множество заинтересованных людей.
Преимущества, которые получают организаторы соревнований:
Применение подхода eXtreme Multi-Label Classification для классификация записей материально-технических ресурсов
Данная работа является пересказом статьи Jingzhou Liu, Wei-Cheng Chang, Yuexin Wu, and Yiming Yang. 2017. Deep Learning for Extreme Multi-label Text Classification. In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR '17). Association for Computing Machinery, New York, NY, USA, 115–124. https://doi.org/10.1145/3077136.3080834
Одно из направлений работ в нашей лаборатории Unidata Labs – классификация записей материально-технических ресурсов (МТР) с применением машинного обучения. В этой статье мы бы хотели кратко разобрать нашу постановку задачи как таковую, и после чего предложить разбор одного из методов, которым эта задача могла бы решаться.
Вкратце, продукт Юнидата МТР работает с данными, относящимися к материально-техническим ресурсам клиентов, которые представлены в Юнидата как реестр — т.е., коллекция записей. Записи МТР, как правило, содержат очень большое количество полей, но нас интересует только одно — полное наименование. Оно может выглядеть примерно так...
Дополнительные временные ряды в ETNA
Меня зовут Артем, я разработчик библиотеки ETNA. Мои коллеги уже познакомили вас с ETNA и рассказали, как загружать данные и строить прогнозы. А я расскажу, что такое регрессоры, какие они бывают, чем могут помочь при прогнозировании временных рядов и как с ними работать в нашей библиотеке.
Матстат и опоздания на работу
Привет, народ! В рамках курса Python для аналитики, хочу поделиться с вами небольшим шуточным исследованием, которое немного раскроет методику применения математической статистики и A/B тестирования в повседневной жизни. Данное исследование, как и статью в целом, подготовил мой коллега Роман Козлов.
В последнее время проблема с опозданиями не так уж остро стоит, ведь большинство работников, особенно в IT-сфере, работают на удалёнке. Однако, остались еще те последние из могикан, кто вынужден ходить на работу по старинке в офис.
Три подхода к ускорению обучения XGBoost-моделей
Фреймворк XGBoost (Extreme Gradient Boosting, экстремальный градиентный бустинг) — это эффективная опенсорсная реализация алгоритма градиентного бустинга. Этот фреймворк отличается высокой скоростью работы, а модели, построенные на его основе, обладают хорошей производительностью. Поэтому он пользуется популярностью при решении задач классификации и регрессии с использованием табличных наборов данных. Но процесс обучения XGBoost-моделей может занять много времени.
Как и для чего мы построили ML Space
Речь пойдет о платформе для ML-разработки полного цикла. Работа над ней стартовала с запуска одной из наиболее производительных вычислительных систем в России — суперкомпьютера Christofari. Расскажем, как мы строили ML Space и что предлагает платформа.
Сегментация экземпляров с помощью Mask R-CNN
Задача сегментации изображений может решаться в нескольких постановках. Самая распространённая - semantic segmentation с одним классом и фоном, необходимо просто отделить объекты от фона, не различая их между собой. Но часто просто отделения от фона недостаточно, необходимо отделять отдельные образцы друг от друга, например, чтобы оценить размер или расположение каждого отдельного объекта. Как это можно сделать?
Как улучшить распознавание скелетов в MediaPipe
Я очень люблю скелетные детекторы из Mediapipe. Чтобы запустить их нужно всего несколько минут. Работает на разных платформах (мобильные, pc, embedded, и.т.д.). И выдает достаточное качество для многих применений.
Но надо признать что не всюду его можно брать и использовать. Давайте я расскажу как небольшими силами можно его улучшить. Приведенная тут логика будет построена вокруг Mediapipe, но она им не ограничена. Применяя аналогичные подходы можно улучшить практически любой скелетный алгоритм.
Проведение совместных экспериментов c DVC
Вы можете использовать удаленные хранилища DVC для совместного использования экспериментов и их данных через машины.
NNHelper – пакет на языке Go для создания и использования нейронной сети
Данная статья описывает работу пакета nnhelper, предназначенного для создания и использования нейронных сетей в программах на языке Go.
Если Вы уже знакомы с машинным обучением и используете его в своей работе, то эта статья и описанные в ней примеры могут показаться вам слишком простыми. Если Вы в начале пути и хотите познакомиться с этой темой или вам хотелось бы научиться использовать нейроматрицу в ваших программах на языке Go, то вы попали точно по адресу.
Go пакет nnhelper разработан для быстрого создания нейронной сети и использовании ее в приложениях, написанных на языке Go. Для использования nnhelper не потребуется ничего дополнительного, кроме Go. Пакет nnhelper является надстройкой над пакетом gonn. И это единственная внешняя зависимость.
Для чего нужно интервью по проектированию системы машинного обучения и как его провести
Предлагаем детальный гайд по подготовке к интервью по проектированию системы ML
Что означает дизайн системы ML?
Такие навыки как машинное обучение, презентации, кодирование, статистика, вероятность, тематические исследования и прочие необходимы для успешного проведения интервью по машинному обучению. И одном из главных интервью по ML является интервью по проектированию системы.
Оно необходимо для оценки кандидата на его понимание общей картины разработки полной системы ML с учетом всех деталей. В основном кандидаты ML хорошо разбираются в технических тонкостях, но когда дело доходит до их компиляции, они не могут увидеть сложности и взаимозависимости проектирования всей системы от сбора данных до оценки и развёртывания модели и поэтому плохо справляются с интервью.
Важно в таком интервью – структурированный мыслительный процесс. Однако он требует подготовки. Заранее подготовленный гайд может очень пригодиться при ограниченном времени интервью. Гарантируем, что вы сконцентрируетесь на важном, не будете долго обсуждать одно или упускать важные темы.
Итак, гайд выглядит так:
Как установить ботов для StarCraft II
(с) Blizzard Entertainment
В StarCraft II есть встроенные боты, и все с ними хорошо, за исключением того, что они немного тупые, но речь пойдет не о них. В 2017 году разработчик игры компания Blizzard Entertainment опубликовала API, позволяющий создавать внешних ботов. Однако, по какой-то странной причине Blizzard рассматривает этот API как сугубо исследовательский проект, где боты должны сражаться только друг с другом. Нормальной возможности поиграть человеку с ботами они почему-то не сделали, хотя многие геймеры рассматривают ботов как довольно неплохой инструмент тренировок.
Тем не менее все не так плохо. Раз штатной возможности нет, то будем использовать нештатную. Мы все же настроим ботов и повоюем против них. Потом мы с вами, движимые исследовательским порывом, разберемся как устроен АPI, и поднимем окружение разработки, в котором сможем сами писать подобных ботов.
Распределённое глубокое обучение: параллелизм моделей и данных в TensorFlow
Значительное количество задач, предусматривающих обучение глубоких нейронных сетей, можно решить на отдельном компьютере, обладающем единственным, сравнительно мощным и быстрым GPU. Но бывает так, что нужно что-то помощнее. Например — данные могут просто не поместиться в память, доступную на отдельной машине. Или окажется, что имеющееся «железо» просто не «потянет» некую задачу. В результате может возникнуть необходимость в горизонтальном масштабировании вычислительных мощностей.
«Горизонтальное масштабирование» — это когда в компьютер добавляют дополнительные GPU, или когда используют несколько машин, входящих в состав кластера. При таком подходе нужен какой-то способ эффективного распределения задач обучения моделей по имеющимся системам. В теории всё просто, но в реальной жизни это — задача нетривиальная. На самом деле — существует несколько стратегий организации распределённого обучения. Выбор конкретной стратегии сильно зависит от конкретной задачи, от данных и от модели.
В этом материале я попытаюсь описать существующие стратегии организации распределённого обучения, раскрыв детали необходимые для того, чтобы читатель смог бы получить общее представление о них. Нашей главной целью будет обретение возможности выбора наилучшей из стратегий для конкретной задачи. Тут я продемонстрирую некоторые примеры кода, основанные на библиотеке TensorFlow. Освоив их, вы разберётесь с тем, как именно устроена программная часть рассматриваемых здесь стратегий распределённого обучения. Но, в любом случае, затрагиваемые здесь концепции применимы не только к TensorFlow, но и к другим библиотекам и фреймворкам глубокого обучения.
Эта публикация входит в серию материалов о глубоком обучении. В предыдущих статьях шла речь о создании собственного цикла обучения для задачи по сегментации изображений с помощью U-net. Мы развернули модель в Google Cloud для того чтобы получить возможность удалённого запуска обучения. Здесь я буду использовать тот же код.
Как выжать из солнечной батареи максимум с помощью обучения с подкреплением
Под катом вас ждёт чертёж установки, блок-схемы агента, работающего методом проб и ошибок, а также визуализации, видеоролики и, конечно, код. Материалом делимся к старту нашего флагманского курса по Data Science.
Простой поиск дубликатов изображения
Существует множество проверенных решений, основанных на разных алгоритмах. Этот пример использует элементы машинного обучения, текущий уровень развития инструментов, позволяет с минимальными усилиями решать "бытовые задачи". В качестве меры сходства - косинусное сходство. Сравнение многомерных массивов (изображение в цифровом пространстве), ресурсоемкий процесс, поэтому, применяем обученную свёрточную нейронную сеть для уменьшения размерности с учетом важных пространственных признаков. Библиотека keras содержит готовые модели под разные задачи, этот пример задействует архитектуру VGG16 обученную на данных imagenet. Вход в сеть (N, 224, 224, 3), выход (1, 512).
Как узнать принцессу среди 500 амурских тигров с помощью vision transformers
Рассказываем, как мы, ML princesses [Napoleon IT] стали победителями кейса от Минприроды «Защита редких животных», и решили задачу по созданию сервиса, способного распознавать в дикой природе особо редкий вид хищников- амурского тигра. Десятый региональный хакатон проходил в рамках федерального проекта «Искусственный интеллект».
Лингвистические особенности речи человека в диалогах с виртуальным ассистентом
Зачастую, для создания виртуальных ассистентов используются подходы на основе машинного обучения и, конечно, подходы на основе правил. Оба (в большей степени машинное обучение) полагаются на исходные данные, которыми обычно являются человеческие диалоги. При этом, не учитывается фактор того, что пользователи диалоговых систем не будут общаться с ними так же как с реальными людьми.
Как избежать «подводных камней» машинного обучения: руководство для академических исследователей
Этот лонг-рид является сильно переработанным и расширенным переводом статьи How to avoid machine learning pitfalls: a guide for academic researchers (Lones, 2021).
Статья является кратким описанием ряда распространенных ошибок, возникающих при использовании методов машинного обучения, и руководством к тому, как их избежать. Материал предназначен в первую очередь для студентов-исследователей и касается вопросов, регулярно возникающих в академических исследованиях, например, необходимости проводить строгие сравнения и делать обоснованные выводы. Однако материал применим к использованию ML и в других областях.
Вклад авторов
-
ZlodeiBaal 1521.0 -
Leono 1346.8 -
BarakAdama 1224.0 -
snakers4 1114.0 -
3Dvideo 747.0 -
m1rko 694.0 -
alizar 674.2 -
mephistopheies 629.0 -
sim0nsays 568.0 -
yorko 544.0