Pull to refresh
0
0
Дмитрий @MrGrod

User

Send message

CatBoost, XGBoost и выразительная способность решающих деревьев

Reading time42 min
Views50K

Сейчас существенная часть машинного обучения основана на решающих деревьях и их ансамблях, таких как CatBoost и XGBoost, но при этом не все имеют представление о том, как устроены эти алгоритмы "изнутри".

Данный обзор охватывает сразу несколько тем. Мы начнем с устройства решающего дерева и градиентного бустинга, затем подробно поговорим об XGBoost и CatBoost. Среди основных особенностей алгоритма CatBoost:

• Упорядоченное target-кодирование категориальных признаков
• Использование решающих таблиц
• Разделение ветвей по комбинациям признаков
• Упорядоченный бустинг
• Возможность работы с текстовыми признаками
• Возможность обучения на GPU

В конце обзора поговорим о методах интерпретации решающих деревьев (MDI, SHAP) и о выразительной способности решающих деревьев. Удивительно, но ансамбли деревьев ограниченной глубины, в том числе CatBoost, не являются универсальными аппроксиматорами: в данном обзоре приведено собственное исследование этого вопроса с доказательством (и экспериментальным подтверждением) того, что ансамбль деревьев глубины N не способен сколь угодно точно аппроксимировать функцию y = x_1 x_2 \dots x_{N+1}. Поговорим также о выводах, которые можно из этого сделать.

Читать далее
Total votes 48: ↑48 and ↓0+48
Comments9

QR-code. Обнаружить и расшифровать. Шаг 1 — Обнаружить

Reading time6 min
Views12K

Эта статья - первая в цикле статей, в котором мы разберемся с тем, как qr-код устроен, и напишем простенький Qr-детектор и дешифровщик, а также свой собственный генератор qr-кодов

Использовать мы будем python вместе с opencv и numpy. Учитывая, что opencv - кросс-язычная библиотека, а также то, что работа с изображением/текстурой в разных решениях выглядят примерно одинаково, то я думаю, что вы без труда сможете перевести алгоритм, который будет здесь написан, на любой нужный вам язык

В первую очередь мы будем рассматривать полноразмерный qr-код, Micro-qr возможно будет рассмотрен после завершения работы над полноразмерным qr

Также, хочу отметить, что готовый класс QrCodeDetector уже имеется внутри opencv. Возможно, вам не нужно изобретать велосипед :-)

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments18

Используем Google Cloud AutoML Vision для создания бинарного классификатора для обнаружения пневмонии на рентгеновском

Reading time4 min
Views2K

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

В этой статье я детально продемонстрирую шаги создания грязного/сбалансированного бинарного классификатора для обнаружения пневмонии на рентгеновских снимках грудной клетки с Google Cloud AutoML Vision без написания единой строчки кода.

Читать далее
Total votes 2: ↑1 and ↓10
Comments3

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

Reading time17 min
Views5.9K

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

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

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

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

Введение в библиотеку Transformers и платформу Hugging Face

Reading time17 min
Views48K

Библиотека Transformers предоставляет доступ к огромному кол-ву современных предобученных моделей глубокого обучения. В основном основаных на архитектуре трансформеров. Модели решают весьма разнообразный спектр задач: NLP, CV, Audio, Multimodal, Reinforcement Learning, Time Series.

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

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments12

Основы работы с Robotic Operating System 2: скажи миру «Hello, world!»

Reading time6 min
Views15K
    Доброй всем фазы вращения Земли!
    Сегодня мы продолжим знакомство с системой ROS, позволяющей легко и непринужденно создавать системы управления роботами. Для тех кто пропустил предыдущее занятие — примерный план работ.
  1. Установка, основные концепции
  2. Создаем свой пакет, знакомимся с сообщениями, простая программа
  3. Сервисы и параметры

    В прошлый раз мы установили, что базовым элементом ROS является пакет. Учебный процесс не может пройти мимо этого занимательного факта, так что достаньте лупу или микроскоп посильнее — будем изучать!
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments4

Основы работы с Robotic Operating System

Reading time5 min
Views58K

Введение


    Доброго всем времени суток!
    Осваивая в очередной раз просторы Хабра, заметил, что здесь практически нет информации о Robotic Operating System (далее просто ROS). Поспешу исправить эту оплошность и популяризовать замечательный продукт.
image
    Что же это такое? ROS представляет собой надстройку над ОС, которая позволяет легко и просто разрабатывать системы управления роботами. Что это означает и как с этим потом жить — и призвана рассказать серия топиков.
    По сути, ROS — это набор из различных широко (и неочень) известных библиотек, таких как:
  • OpenCV — библиотека, содержащая алгоритмы компьютерного зрения и обработки изображений;
  • PCL- библиотека для работы с облаками 3D-точек;
  • Ogre — объектно-ориентированный графический движок с открытым исходным кодом;
  • Orocos — библиотека для управления роботами (например, расчет кинематики).

    Также в ROS входят драйвера для различных манипуляторов и сенсоров (включая MS Kinect).
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments20

С чего айтишнику можно начать 2023 год?

Reading time5 min
Views17K

Отдохните после 2022 года! На этом можно завершить статью.

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

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

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

Читать далее
Total votes 13: ↑10 and ↓3+7
Comments21

Голос атомных ядер: собираем магнитно-резонансный магнитометр

Reading time18 min
Views19K
image

Пора уже поближе познакомиться с квантовой физикой на практике! Сегодня я расскажу вам об истории открытия эффекта ядерного магнитного резонанса, но в отличие от классических учебников полных зубодробительного матана мы обратим наш разрушительный для когеренции взгляд на экспериментальную составляющую. С полученными знаниями вы сможете в духе старого доброго DIY собрать несложный прибор, который позволит вживую послушать сигналы ядер атомов водорода а также измерить величину магнитного поля нашей планеты.
Поехали!
Total votes 150: ↑150 and ↓0+150
Comments68

Теперь наш публичный синтез в супер-высоком качестве, в 10 раз быстрее и без детских болячек

Reading time8 min
Views47K

hero_image


В нашей прошлой статье про синтез речи мы дали много обещаний: убрать детские болячки, радикально ускорить синтез еще в 10 раз, добавить новые "фишечки", радикально улучшить качество.


Сейчас, вложив огромное количество работы, мы наконец готовы поделиться с сообществом своими успехами:


  • Снизили размер модели в 2 раза;
  • Научили наши модели делать паузы;
  • Добавили один высококачественный голос (и бесконечное число случайных);
  • Ускорили наши модели где-то примерно в 10 раз (!);
  • Упаковали всех спикеров одного языка в одну модель;
  • Наши модели теперь могут принимать на вход даже целые абзацы текста;
  • Добавили функции контроля скорости и высоты речи через SSML;
  • Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;
  • Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;

Это по-настоящему уникальное и прорывное достижение и мы не собираемся останавливаться. В ближайшее время мы добавим большое количество моделей на разных языках и напишем целый ряд публикаций на эту и смежные темы, а также продолжим делать наши модели лучше (например, еще в 2-5 раз быстрее).


Попробовать модель как обычно можно в нашем репозитории и в колабе.

Читать дальше →
Total votes 158: ↑157 and ↓1+156
Comments100

Визуальный SLAM: делаем HD-карты при помощи смартфона

Reading time11 min
Views14K

Привет, Хабр! Меня зовут Гращенков Александр, я iOS-разработчик в компании RoadAR. С 2016 года живу и работаю в Иннополисе, занимаюсь компьютерным зрением и интеграцией нейросетей в мобильные платформы.

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

Сейчас мы создаем детализированные трехмерные сканы дорог при помощи смартфонов. Я расскажу, что такое HD-карты, сравню два подхода к их созданию и покажу вам трехмерный Иннополис.

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments16

ComputerVision и стиль

Reading time9 min
Views22K

Несколько месяцев назад я писал статью про тихую революцию в ComputerVision - про трансформеры. А сейчас я хочу поговорить про другую революцию в CV. Уже не такую тихую (статьи тут куда более известные). Рассказ будет про GAN'ы. Как ими сегодня умеют управлять, и что достигли. В первую очередь это StyleGan и его производные.
В последний год-полтора появилось много различных способов управлять GAN-сетями и улучшилось их качество. Ещё чуть чуть и… Что? Можно будет генерить фильмы по описанию? Игры? Нужно ли будет рисовать крутые текстуры, или их можно будет создать?Попробую показать куда дошла современная технология, и чего ожидать от GAN’ов.

Читать далее
Total votes 66: ↑66 and ↓0+66
Comments13

Edge платы для домашнего Computer Vision

Reading time8 min
Views11K

Я люблю делать всякие странные штуки с Computer Vision. Назовем их “условно полезные девайсы”. Из того, что я выкладывал на Хабре, - рассказ про умную кормушку для птиц и камера для слежения за ребенком. По работе тоже примерно тем же самым занимаюсь. Так что люблю следить за актуальным рынком устройств которые подходят для ComputerVision. Свой прошлый обзор я делал полтора года назад. Что для Embedded - много. В этом я сосредоточусь на устройствах которые вышли недавно + на устройствах которые будут интересны для хоббийных проектов.

Читать далее
Total votes 38: ↑37 and ↓1+36
Comments23

Трансформация цвета: поиски в прореженном столе

Reading time9 min
Views8.6K

Это обзор функциональности, появившейся в Pillow 5.2: применение трехмерных таблиц поиска (3D lookup tables, 3D LUT) для трансформации цвета. Эта техника широко распространена в обработке видео и 3D-играх, однако мало графических библиотек могли похвастаться 3D LUT трансформациями до этого.


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


from PIL import Image, ImageFilter

def washout(r, g, b):
    h, s, v = _rgb_to_hsv(r, g, b)
    if 0.3 < h < 0.7:
        s = 0
    return _hsv_to_rgb(h, s, v)

im = Image.open('./Puffins.jpg')
im = im.filter(ImageFilter.Color3DLUT.generate(17, washout))

Функция, полностью написанная на Пайтоне, применяется к 16,6-мегапиксельной картинке за 75ms.



Работа с изображениями и так ресурсоемка, поэтому я обожаю алгоритмы, которые позволяют убрать сложность от входных параметров. Пять лет назад я реализовал в Pillow гауссово размытие, работающее за одинаковое время для любого радиуса. Не так давно я рассказал как можно уменьшить изображение за константное время с минимальной потерей качества. Сегодня я покажу для каких задач можно применять 3D LUT, какие у нее ограничения и похвастаюсь достигнутой производительностью в Pillow-SIMD.

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

Трекинг множества объектов без разметки или как следить за пузырьками во время пенной флотации

Reading time10 min
Views9.2K


Привет, Хабр! Меня зовут Клоков Алексей, сегодня поговорим об алгоритмах компьютерного зрения, обработке видеопотока и методах трекинга множества объектов без разметки (unsupervised multiple object tracking) на примере пузырьков. Методичка будет полезна как опытным специалистам, перед которыми стоит похожая задача, так и начинающим энтузиастам. На основе черновика этого текста и экспериментов получилось опубликовать научную статью в Journal of Mineral and Material Science.


В тексте вы найдете:
— описание домена данных и технологического процесса флотации;
— подход к cегментации множества подобных объектов;
— существующие методы трекинга без разметки;
— подход к одновременному сопровождению множества подобных объектов;
— сравнение качества работы алгоритмов и много демонстраций

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

Разбираемся с устройством свёрток на примере объединения двух свёрток в одну в pytorch

Reading time8 min
Views13K

Неинтересная цель этой статьи — показать, как можно смержить две свертки пайторча в одну.

А интересная цель — потыкать непосредственно в веса моделей на примере объединения свёрток. Узнать, как они хранятся и используются конкретно в pytorch, не вдаваясь в хардкорные интересности по типу im2cal.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments3

Как работают text2image модели?

Reading time6 min
Views18K

Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали! В этой статье будем разбираться, как такие модели работают. Начнем с азов и потихоньку накидаем деталей и техник генерации.

Читать далее
Total votes 79: ↑78 and ↓1+77
Comments4

YOLOR — Объяснение статьи и выводы – Углубленный анализ

Reading time20 min
Views2.8K

В последние годы наблюдается огромный прогресс в серии YOLO, в настоящее время в ней используются как модели обнаружения объектов без привязки, так и модели обнаружения объектов на основе привязки. Вместо того, чтобы сосредоточиться исключительно на архитектурных изменениях, YoloR выбирает новый маршрут. Он черпает вдохновение в том, как люди сочетают неявные знания с явными знаниями для решения новых задач. Предлагаемые методы значительно улучшают производительность Обнаружение объектов YoloR модели, в результате которых они будучи на ~88% 🚀быстрее и лучше (🎯 57,3% на Набор для тестирования COCO) с минимальными дополнительными затратами.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments3

Третья жизнь пет-проекта по распознаванию рукописных цифр

Reading time8 min
Views4.6K

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

Читать далее
Total votes 27: ↑27 and ↓0+27
Comments13

Heatmap на интерактивной карте с помощью folium

Reading time4 min
Views4.3K


Возникла необходимость изобразить на интерактивной карте актуальное предложение вакансий в сфере Data Science с агрегацией по городам.


Действовать будем в 3 этапа:


  1. Парсинг вакансий с hh API
  2. Актуализация геолокаций каждой вакансии с точностью до населенного пункта
  3. Построение heatmap по количеству вакансий и по средней предлагаемой зарплате с помощью folium
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments1
1

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Date of birth
Registered
Activity