Pull to refresh
12
0
Send message

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

Level of difficulty Hard
Reading time 28 min
Views 5.3K

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

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

Читать далее
Total votes 20: ↑20 and ↓0 +20
Comments 7

Метод главных компонент (PCA). Принцип работы и реализация с нуля на Python

Level of difficulty Hard
Reading time 8 min
Views 7.1K

Метод главных компонент (Principal Component Analysis или же PCA) — алгоритм обучения без учителя, используемый для понижения размерности и выявления наиболее информативных признаков в данных. Его суть заключается в предположении о линейности отношений данных и их проекции на подпространство ортогональных векторов, в которых дисперсия будет максимальной.

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

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

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Level of difficulty Hard
Reading time 34 min
Views 9.3K

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

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

Читать далее
Total votes 36: ↑36 and ↓0 +36
Comments 2

Раскрывая секреты LLM: руководство по основным понятиям больших языковых моделей без хайпа

Level of difficulty Medium
Reading time 27 min
Views 26K

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

Вспоминаю, как на одном обмене опытом со стартапами они чётко делились на 2 группы: первая – с менеджерами про невероятные инновации и всеобщее благоденствие, а вторая – с инженерами, которые с красными глазами рассказывали, что так и не смогли победить галлюцинации, что окно контекста заканчивается очень быстро и что для того, чтобы на нормальном продакшн использовании вся эта магия заработала, нужны огромные инвестиции в инфраструктуру, оркестратор, агенты, векторные базы, кратковременную и долговременную память и так далее. Поэтому хотелось собрать в одном месте понятное руководство и для разработчиков, пробующих LLM-ки для своих задач, и для людей из бизнеса, чтобы погрузить в контекст.

Читать далее
Total votes 25: ↑25 and ↓0 +25
Comments 6

«ИИ без границ»: как научить Transformer обрабатывать длинные тексты

Level of difficulty Hard
Reading time 12 min
Views 7K

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

Читать далее
Total votes 30: ↑30 and ↓0 +30
Comments 3

Как применять метод PCA для уменьшения размерности данных

Level of difficulty Medium
Reading time 9 min
Views 8.8K

Одной из ключевых задач при работе с данными является уменьшение размерности данных, чтобы улучшить их интерпретируемость, ускорить алгоритмы обучения машин и, в конечном итоге, повысить качество решений. Сегодня мы поговорим о методе, который считается одним из наиболее мощных инструментов в арсенале данных разработчиков — методе главных компонент, или PCA (Principal Component Analysis).

Читать далее
Total votes 21: ↑18 and ↓3 +15
Comments 16

Зоопарк трансформеров: большой обзор моделей от BERT до Alpaca

Level of difficulty Hard
Reading time 59 min
Views 17K

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

Читать далее
Total votes 28: ↑28 and ↓0 +28
Comments 15

Рейтинг русскоязычных энкодеров предложений

Reading time 9 min
Views 20K

Энкодер предложений (sentence encoder) – это модель, которая сопоставляет коротким текстам векторы в многомерном пространстве, причём так, что у текстов, похожих по смыслу, и векторы тоже похожи. Обычно для этой цели используются нейросети, а полученные векторы называются эмбеддингами. Они полезны для кучи задач, например, few-shot классификации текстов, семантического поиска, или оценки качества перефразирования.

Но некоторые из таких полезных моделей занимают очень много памяти или работают медленно, особенно на обычных CPU. Можно ли выбрать наилучший энкодер предложений с учётом качества, быстродействия, и памяти? Я сравнил 25 энкодеров на 10 задачах и составил их рейтинг. Самой качественной моделью оказался mUSE, самой быстрой из предобученных – FastText, а по балансу скорости и качества победил rubert-tiny2. Код бенчмарка выложен в репозитории encodechka, а подробности – под катом.

Читать далее
Total votes 26: ↑26 and ↓0 +26
Comments 19

5 классных сервисов на основе ИИ (с примерами)

Level of difficulty Easy
Reading time 4 min
Views 24K

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

Сегодня я бы хотел показать 5 сервисов на основе нейронных сетей, которые не связаны с chatGPT, Midjorney или Stable Diffusion. Эти сервисы помогают обрабатывать аудио, преобразовывать текст в речь и удалять ненужные вещи с картинок.

Ознакомиться
Total votes 72: ↑70 and ↓2 +68
Comments 25

Что наука знает о красоте: 13 научных исследований для создания привлекательного персонажа

Level of difficulty Medium
Reading time 11 min
Views 21K


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

  • красивые женщины нравятся не только взрослым мужчинам, но и младенцам;
  • для красоты лица важна симметрия;
  • оранжевые мужчины более привлекательны;
  • важен не размер женских бедер, а угол в пояснице;
  • у Лары Крофт фигура нормальной англичанки.

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

Я веду ламповый Telegram-канал GameDEVils и блог на Substack . Заглядывайте в гости, я делюсь там материалами про геймдизайн, разработку и историю игр ^__^

Красота биологически важна для человека


И если бы меня попросили назвать только одно «почему», которое чаще всего называют ученые, то после чтения пары десятков исследований, я бы сказала: «красивое» — скорее всего здоровое.
Читать дальше →
Total votes 89: ↑84 and ↓5 +79
Comments 67

Базовые принципы машинного обучения на примере линейной регрессии

Reading time 20 min
Views 176K
Здравствуйте, коллеги! Это блог открытой русскоговорящей дата саентологической ложи. Нас уже легион, точнее 2500+ человек в слаке. За полтора года мы нагенерили 800к+ сообщений (ради этого слак выделил нам корпоративный аккаунт). Наши люди есть везде и, может, даже в вашей организации. Если вы интересуетесь машинным обучением, но по каким-то причинам не знаете про Open Data Science, то возможно вы в курсе мероприятий, которые организовывает сообщество. Самым масштабным из них является DataFest, который проходил недавно в офисе Mail.Ru Group, за два дня его посетило 1700 человек. Мы растем, наши ложи открываются в городах России, а также в Нью-Йорке, Дубае и даже во Львове, да, мы не воюем, а иногда даже и употребляем горячительные напитки вместе. И да, мы некоммерческая организация, наша цель — просвещение. Мы делаем все ради искусства. (пс: на фотографии вы можете наблюдать заседание ложи в одном из тайных храмов в Москве).

Мне выпала честь сделать первый пост, и я, пожалуй, отклонюсь от своей привычной нейросетевой тематики и сделаю пост о базовых понятиях машинного обучения на примере одной из самых простых и самых полезных моделей — линейной регрессии. Я буду использовать язык питон для демонстрации экспериментов и отрисовки графиков, все это вы с легкостью сможете повторить на своем компьютере. Поехали.
Читать дальше →
Total votes 89: ↑82 and ↓7 +75
Comments 22

Какой метод генерации аудио лучший? Сравнение GAN, VAE и Diffusion

Level of difficulty Hard
Reading time 6 min
Views 4.7K

В прошлой статье я затронул тему генерации звука с помощью диффузионной модели. Но какие методы существуют вообще и какой из них сейчас наиболее перспективен? Сегодня мы рассмотрим долгий путь этого направления в машинном обучении. Послушаем результаты, посмотрим метрики и просто взглянем на новые технологии, применяемые в совершенно разных нейросетях для аудиосинтеза.
Читать дальше →
Total votes 44: ↑44 and ↓0 +44
Comments 3

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

Reading time 42 min
Views 49K

Сейчас существенная часть машинного обучения основана на решающих деревьях и их ансамблях, таких как 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
Comments 9

Теория вероятностей в машинном обучении. Часть 1: модель регрессии

Reading time 28 min
Views 21K

В данной статье мы подробно рассмотрим вероятностную постановку задачи машинного обучения: что такое распределение данных, дискриминативная модель, i.i.d.-гипотеза и метод максимизации правдоподобия, что такое регрессия Пуассона и регрессия с оценкой уверенности, и как нормальное распределение связано с минимизацией среднеквадратичного отклонения.

В следующей части рассмотрим метод максимизации правдоподобия в классификации: в чем роль кроссэнтропии, функций сигмоиды и softmax и как кроссэнтропия связана с "расстоянием" между распределениями вероятностей и почему модель регрессии тоже обучается через минимизацию кроссэнтропии. Затем перейдем от метода максимизации правдоподобия к байесовскому выводу и его различным приближениям.

Данная серия статей не является введением в машинное обучение и предполагает знакомство читателя с основными понятиями. Задача статей - рассмотреть машинное обучение с точки зрения теории вероятностей, что позволит по новому взглянуть на проблему, понять связь машинного обучения со статистикой и лучше понимать формулы из научных статей. Также на описанном материале строятся более сложные темы, такие как вариационные автокодировщики (Kingma and Welling, 2013), нейробайесовские методы (Müller et al., 2021) и даже некоторые теории сознания (Friston et al., 2022).

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

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

Reading time 22 min
Views 26K

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

Читать далее
Total votes 34: ↑31 and ↓3 +28
Comments 1

Переносим свою картину мира в чат-бота на базе GPT-3

Reading time 4 min
Views 45K

Думаю, все уже наслышаны о потрясающих возможностях ChatGPT и GPT-3, многие уже вдоволь наигрались с ними, а новые стартапы на их основе льются на нас каждый проливным дождём! Возможности ChatGPT в решении некоторых текстовых задач потрясают, порой кажется, что имеешь дело с настоящим разумом.

У меня возникла идея - что если попробовать доучить сеть так, чтобы она имитировала картину мира определенного человека? (Да, снова Черное Зеркало). Классический подход с pre-prompt для этого не подходит, так как хочется заложить в сеть побольше знаний (а также реально поменять веса связей), поэтому будем использовать fine-tune (дообучение на небольшом датасете и небольшом числе итераций). Такая опция доступна пользователям openAI за небольшую плату ($0.5-1 в моих примерах).

В этой статье я покажу как можно обучить GPT-3 (в версии davinchi-003) на своей картине мира и засунуть её внутрь телеграм-бота, потратив на всё всего несколько долларов.

Код бота доступен в репозитарии.

Читать далее
Total votes 43: ↑42 and ↓1 +41
Comments 31

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

Reading time 6 min
Views 18K

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

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

Я обучил нейросеть на своих рисунках и отдаю модель бесплатно (и научу вас делать это)

Reading time 2 min
Views 24K

Модель подходит для создания бесшовных узоров, абстрактных рисунков и стилизованных под акварель образов. Как использовать модель и как обучить нейросеть на своих картинках?

Хочу всё знать!
Total votes 38: ↑34 and ↓4 +30
Comments 31

Самые интересные нейросети открытого доступа

Reading time 7 min
Views 270K

К началу 2020-х годов нейросети успели с переднего края научных разработок проникнуть в сферу общедоступных интернет-развлечений. В наши дни каждый может поэкспериментировать с генерацией текстов или изображений, сгенерировать фотореалистичного человека или кота, превратить набросок качества paint — во вполне сносный пейзаж, и всё такое прочее. И в некоторых случаях даже без регистрации и СМС (ну или почти без оных).
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 3

Как мы с помощью NLP облегчаем поиск людей с суицидальными наклонностями

Reading time 20 min
Views 6.2K

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

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

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

Читать далее
Total votes 24: ↑21 and ↓3 +18
Comments 41

Information

Rating
Does not participate
Registered
Activity