pseudolabeling | Unsorted

Telegram-канал pseudolabeling - Запрети мне псевдолейблить

3577

Канал о пути к Kaggle competitions (теперь уже) GrandMaster и поте, которым обливаешься в процессе Последний авторский канал про мл, претендующий на искренность и позволяющий ставить клоунов Для контакта пишите в сообщения канала, они бесплатные

Subscribe to a channel

Запрети мне псевдолейблить

Ваш проект называют стартапом-внутри-компании не из-за его перспективности и инновационности, а потому что Эрику Рису в »Lean Startup« нужно было продать свою книжку не только предпринимателям, но и менеджерам среднего звена без специального образования.

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

Скелетрон вернется с умными мыслями завтра

Читать полностью…

Запрети мне псевдолейблить

3 место в #BirdClef2025

Данные:
1. Выкорчевали человеческий голос с помощью паблик кернела с каггла.
2. Взяли весь датасет 2025 года и к нему доложили 80% датасета 2023 года, добавив 112 новы классов. Оставшиеся 20% данных 2023 использовали для валидации. Локальная валидация не билась с ЛБ, но такая схема давала лучшую оценку сходимости модели.
3. Дополнительно вытянули еще данных из обоих открытых источнико, Xeno-Canto и INaturalist.
4. Запсевдолейбили всю неразмеченную часть, чтобы еще немного улучшить итоговые модели

Модели:
Обучили зоопарк моделей на двух видах спектрограмм. Вообще почти всегда есть смысл покрутить параметы построения спектрограмм для того, чтобы увеличить разнообразие и не потерять в качестве. Главное одну модель не учить на двух видах.

Список моделей
tf_efficientnet_b0_ns
tf_efficientnetv2_b3
tf_efficientnetv2_s.in21k_ft_in1k
mnasnet_100
spnasnet_100


Интересные приемы для обучения:
1. Семплировали случайные отрезки, а не честную нарезку по 5 сек. Говорят, так лучше училось
2. Добавляли человеческий голос для аугментации. На мой взгляд не сильно вяжется с удалением голоса из изначального датасета, но видимо использовали этот прием чтобы голос 'равномерно' размазать по всему датасету
3. FocalLoss
4. Использовали Model Soup. Это способ 'ужать' в одну модель несколько чекпоинтов. Усредняем веса например 20 resnet c одинаковой архитектурой и обученных на одних данных. Получаем почти ту же стабильность, что и усреднение 20 отдельных предикшнов этих моделей, но со скоростью инференса и весом одного resnet.
Кстати, тут можно обычно докрутить и делать только GreedySoup: пробовать в ансамбль добавлять только те модели, которые делают предикты лучше. Но опять же, тут надо верить в свой CV, а в этом соревновании наверно никто не верил в свой CV.

Для сабмита использовали Post-processing with power adjustment. Идея проста, работает для очень классификации с очень большим числом классов. Берем предикты, из них выбираем n самых 'уверенных' и усиливаем их, занижая скоры для прочих классов.

Читать полностью…

Запрети мне псевдолейблить

#соревнование
Обзор международных соревнований в DS за прошлый год: на каких платформах, что используют победители, какие конкурсы проходят и т.п. Такие отчёты каждый год выходят (но тут ни разу ссылок на них не давал).
https://mlcontests.com/state-of-machine-learning-competitions-2024/

Читать полностью…

Запрети мне псевдолейблить

Пятое место #Birdclef2025

Мануальная обработка данных
Это вообще та самая 'секретная техника', которую все ленятся делать. Данные полезно ковырять/слушать смотреть руками
Использовали Silero для того, чтобы найти записи с человеческим голосом, затем слушали их уже своими ушами и вырезали все фрагменты, где слышен человек.
Вообще у Silero есть бот, так что я им пожалуй и озвучу этот раздел поста.
Для классов с низкой частотностью (меньше 30 семплов в трейне) дополнительно послушали все записи и из каждой вычистили участки, где птиц не слышно.
Для трейна брали только первые 30 сек записи, а для низкочастотных 60 сек. Там, где семплов было меньше 20 для класса- апсемплили, чтобы 'разудть' трейн.

Модели
Стакали кучу эффишентнетов. Благо они с легкостью влезали в ограничения по CPU
• 4x tf_efficientnetv2_s
• 3x tf_efficientnetv2_b3
• 4x tf_efficient_b3_ns
• 2x tf_efficient_b0_ns


Но важно что тренировали в три стейджа. В каждом FocalLoss, Adam, Cosine Annealing + warmup

Первый стейдж:
только основной набор данных, только основной таргет

Второй стейдж:
Основной таргет + псевдолейблы, только основные размеченные данные + двухэтапная самодистилляция

Третий стейдж:
Использовали все данные. Для каждого батча брали половину из размеченных данных, половину из неразмеченных. Для основного набора испольовали основные лейблы + псевдолейблы с второго этапа, для неразмеченных- только псевдолейблы
Ну и еще дважды самодистилляция.

Если вы шарите, то объясните плз в комментах почему самодистилл работает и почему его есть смысл больше двух раз делать? Там еще и перфоманс на самодистиллах растет. В комментах есть график того, какие резульатты получаются от уровня дистилла

Читать полностью…

Запрети мне псевдолейблить

Ну я пост про решение написал, вот вам тизер

Читать полностью…

Запрети мне псевдолейблить

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

Ну или на следующей...

Читать полностью…

Запрети мне псевдолейблить

Ко мне снова пришли миньоны Рустама. В этот раз их видимо переалайнили: боты перестали хоть как-то отвечать на сообщения или как-то видоизменять скрипт. По ощущениям- там 50 разных фраз внутри и бот моделькой выбирает самый правдоподобный ответ. Скукота, но прогресс на лицо. Боты стали еще скучнее и больше похожими на классических спамеров.
А вот блеклист видимо все еще не прикрутили, чтобы токены на меня и других хейтеров не тратить. Удивительно, насколько Рустам читал lean startup, но не понимал что пишут

Читать полностью…

Запрети мне псевдолейблить

Сори что без оригинального контента пока

Читать полностью…

Запрети мне псевдолейблить

Approved:
Если занять хорошее место на Forams Classification 2025, то позовут выступать на семинаре CVPR.

Читать полностью…

Запрети мне псевдолейблить

Продолжая тему академичных соревнований:
Forams Classification 2025

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

Данные тоже забавные:
3D сканы окаменелых моллюсков 128x128x128 вокселей и 15 классов. Загвоздка в том, что на каждый класс дано по 15 размеченных семплов, прямо как у мня на парах по классическому CV в свое время.
Данных всего 18424 примеров, так что подавляющая часть вообще не размечена.

Метрика- F1.


План для изи ачивки в академической карьере:
1. Берем команду из 5 человек
2. Смотрим глазами все классы и каждый размечает по 300 примеров (всего уже 1500 примеров)
3. Учим на jpeg-проекциях вокселей от авторов что-нибудь простое, типа Resnet.
4. Проверяем за резнетом и исправляем ошибки для самых уверенных классов
5. Учимся еще раз
6. Проверяем еще раз
7. ...
8. PROFIT!

Читать полностью…

Запрети мне псевдолейблить

🏀Не долго музыка играла, March Mania кончилась и все команды сыграли. 🏀

ПОЛУЧИЛОСЬ ОЧЕНЬ ПЛОХО

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

Из идей, которые можно вынести на будущее:
🔸 Надо обязательно участвовать. Это буквально лотерейный билет на solo gold — самый сложный шаг на пути к Kaggle Grandmaster, и его вполне можно вытянуть даже из паблик кернела с хорошим сидом

🔸 Вместо ELO — лучше GLIKO (версия 2). Он позволяет задавать разную дисперсию силы для разных команд, что особенно важно для нестабильных команд

🔸 Смотреть надо не на разницу очков, как Raddar, а на offense-defense метрики, как Джордж. Например, в попытках атак на кольцо хорошо видно, что одни команды закидывают трёшки, а другие играют в проход под кольцо. Результаты тоже сильно разные.

🔸 Женский баскетбол требует очень "неуверенного" подхода. Уровень команд более ровный, денег меньше, тренировки проще. В гранд-финале центровая проходит под кольцо и забивает сверху, а ее даже никто не пытается заблокировать. Фэнтези-баскет какой-то.

🔸 Последние матчи команды до турнира — самые важные. Игроки в NCAA проводят максимум 4 года, а звёзды уходят в профи уже через 2. Значит, старая статистика быстро устаревает и баланс сил меняетя.

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

Читать полностью…

Запрети мне псевдолейблить

В строю наших слонов-компетишн-мастеров прибавилось:
/channel/AparinAI/123

Читать полностью…

Запрети мне псевдолейблить

🥇 Первое место на NeurIPS Lux AI 3

За первое место соперничали в основном только три топовые команды. Давайте разберем ключевые решения победителей соревы:

Массовый фичинжиниринг
• Создали более 1000+ признаков для каждого тайла (напомню, их размер — 24×24)
•Сами написали PPO с V-trace на PyTorch
• Тоже двухголовая архитектура. Одна голова выбирает действие, а вторая определяет, куда стрелять, если действие связано с выстрелом
• Приделали еще и голову, которая предсказывает, куда шагнут враги в следующий момент, даже если враг не наблюдается. Таким образом, модель научилась стрелять «вслепую» 👀
• Обучались в формате bfloat16 на 1.5 млрд матчей. Всего за всю соревновательную сессию сыграли около 20 млрд матчей ⚡

Все другие секреты PPO уже разобраны, поэтому давайте сосредоточимся на поистине уникальном приеме команды:

🔥 Противодействие Imitation Learning (тут еще есть второе мнение от настоящего грандмастера)
• С первого люкса команда понимала, что многие полагаются на imitation learning, и решила активно противодействовать этому.
• Были обучены две модели — слабая и сильная (предыдущая лучшая и текущая) — с рандомным выбором, какая из них будет играть во время инференса.
• Сильная модель работала всего в 15% случаев, но писала об этом в логи игры, позволяя после матча распарсить и понять какая модель играла и замерять эффект. Все остальное время учили IL оппонентов плохому
• Анализ логов после матчей позволял точно оценить преимущества сильной модели относительно предыдущей. К тому же, топовые команды генерировали около 1000 матчей в день уже на лб (из них ~150 с сильной моделью), так что можно было проверить статзначимость улучшения.
• Под конец модель настолько раздулась, что две модели не помещались в сабмишн, так что пришлось оставить только одну и добавить к её атрибутам шум для того, чтобы портить трейн сет всем подражателям
#lux

Читать полностью…

Запрети мне псевдолейблить

Опустился в бронзу из-за драмы:
Marquette, в победе которого моя модель уверена на 97%, проиграли New Mexico, причем из-за пары рандомных трехочковых в начале начали дизморалить и пытаться тоже забить издалека вместо борьбы под кольцом. Даже на графике видно, на сколько они все время были чуть-чуть позади и под конец окончательно сдали нервы. Просто сравните плотность атак из-за трехочковой линии у черных (New Mexico) и синих (Marquette)

UPD:
Драма продолжается
После этого разгона с New Mexico успел побывать на 4 🥇 месте (в деньгах 💰) и опуститься даже из бронзы на 177 место из-за какого-то неожиданно хорошего перфоманса Миссисипи

Ну что же, буду использовать полученный опыт в следующем году

Читать полностью…

Запрети мне псевдолейблить

Пока что единственный РУЧНОЙ ЧЕРВЬ мастер в этом казино

Читать полностью…

Запрети мне псевдолейблить

У вас митинги на работе не полчаса, а 25 минут, не для экономии времени, а потому, что в книжке »Сам себе MBA. Самообразование на 100%. Джош Кауфман« написано, что это способ сэкономить время менеджеров. Причем вообще-то эта идея предложена для оптимизации кастдева и сапорта

Скелетрон вернется с умными мыслями завтра

Читать полностью…

Запрети мне псевдолейблить

У вас каждый день дейли не потому, что дейли эффективны. У вас дейли потому, что в книжке »Scrum. Революционный метод управления проектами. Джефф Сазерленд« написано, что их можно делать чтобы инженеры-механики могли рассказать о своих проблемах и о том, что им не хватает запчастей

Скелетрон вернется с умными мыслями завтра

Читать полностью…

Запрети мне псевдолейблить

4 место в #BirdClef2025
Коротко, но ценно: иногда простота выигрывает.

Поскольку на BirdCLEF нас оценивают именно по AUC, логично оптимизировать его напрямую.
AUC-лосс устойчив к переобучению, но не поддерживает soft labels, как, например, кросс-энтропия.


class SoftAUCLoss(nn.Module):
def __init__(self, margin=1.0, pos_weight=1.0, neg_weight=1.0):
super().__init__()
self.margin = margin
self.pos_weight = pos_weight
self.neg_weight = neg_weight

def forward(self, preds, labels, sample_weights=None):
# Разделяем положительные и отрицательные предсказания
pos_mask = labels > 0.5
neg_mask = labels < 0.5
pos_preds, pos_labels = preds[pos_mask], labels[pos_mask]
neg_preds, neg_labels = preds[neg_mask], labels[neg_mask]

if pos_preds.numel() == 0 or neg_preds.numel() == 0:
return torch.tensor(0., device=preds.device)

# Веса отражают уверенность soft-label
pos_w = self.pos_weight * (pos_labels - 0.5)
neg_w = self.neg_weight * (0.5 - neg_labels)
if sample_weights is not None:
sw = sample_weights.unsqueeze(1).expand_as(labels)
pos_w *= sw[pos_mask]
neg_w *= sw[neg_mask]

# Считаем pairwise-разности и лог-лосс
diff = pos_preds.unsqueeze(1) - neg_preds.unsqueeze(0)
loss_matrix = torch.log1p(torch.exp(-self.margin * diff))

# Усредняем по всем парам с учётом весов
return (loss_matrix * pos_w.unsqueeze(1) * neg_w.unsqueeze(0)).mean()


Что еще работало и не работало:
Semi-supervised learning на неразмеченном датасете:
Сначала обучил 10 моделей EfficientNet на размеченной части.
Сгенерировал «псевдо-лейблы» для неразмеченных данных.
Обучил следующий раунд моделей уже на объединённом наборе.

Отказался от самодистилляции и сложных схем — не заводилось.

Лотерея или мастерство? Автор поднялся с 11 места на 4-е на прайвете! Возможно, дело не только в удаче.

Читать полностью…

Запрети мне псевдолейблить

👉 Поддержать бота 👈

Читать полностью…

Запрети мне псевдолейблить

BirdCLEF+ 2025

Очередная часть ежегодного соревнования от Cornell Lab of Ornithology.

Дано:
– 12 ГБ аудиозаписей птиц, насекомых, рептилий и т. д.
– Источники (около–опенсорс):

1. xeno-canto.org
2. iNaturalist
3. Colombian Sound Archive (CSA) института Гумбольдта в Колумбии

Первые два источника — чистый краудсорс, разметка «грязная»:
1. у части семплов встречаются продолжительные комментарии колубийского натуралиста на испанском;
2. муха залетает в микрофон и гудит 40 секунд из 50 секунд записи вообще-то птицы;
3. мой любимый фейл — запись птицы, где звук обрывается громким «бултых», а дальше — полная тишина на 90 сек. Видимо не все микрофоны пережили сборку датасета

Разметка (для всех семплов):
1. Основной лейбл — целевая живность, которую нужно предсказывать.
2. Вторичный лейбл — какие ещё виды могут быть слышны. Конечно же не гарантирует то, что все виды на записи хотя бы отмечены
3. Координаты
4. Автор записи
5. Оценка качества (только для xeno-canto)
6. Источник данных (одна из трёх библиотек)

Трейн/тест сплит:
Общий пул разбит по записям, но обработан по-разному:
В train — полные аудиофайлы.
В test — нарезки записей по 5 с.
Например, из записей длительностью 30 сек и 20 сек получится 10 тест-семплов:
первые 6 — с основным лейблом первой записи;
остальные 4 — с лейблом второй.

Метрика:
Macro-ROC-AUC — сортировка вероятностей внутри каждого класса и усреднение без учёта частоты встречаемости.

Ну и конечно же ограничения на железо:
90 минут CPU-only

Тут кстати тренд:
2025- 90 min CPU-only
2024- 120 min CPU-only
2023- 120 min CPU-only
2022- 9 hours с доступом к GPU
2021- 9 CPU часов или 3 GPU часа

Как решать будете?

Читать полностью…

Запрети мне псевдолейблить

Теперь образ Рустама приследует меня всюду

Читать полностью…

Запрети мне псевдолейблить

X X^t can be faster (Score: 150+ in 8 hours)

Link: https://readhacker.news/s/6uANa
Comments: https://readhacker.news/c/6uANa

Читать полностью…

Запрети мне псевдолейблить

Человечество:
Изобретает LLM-driven поиск, чтобы не читать булшит от маркетологов и ллмки переписали все без воды и CEO-оптимизации

Маркетологи:
МЫ СОБРАЛИ ДЛЯ ВАС ПЯТНАДЦАТЬ ТЫСЯЧ ПРОМТОВ КОТОРЫЕ ПОЗВОЛЯТ ВАМ ЛУЧШЕ ИСКАТЬ С ПОМОЩЬЮ AI

Читать полностью…

Запрети мне псевдолейблить

Python's new t-strings (Score: 154+ in 5 hours)

Link: https://readhacker.news/s/6t8rs
Comments: https://readhacker.news/c/6t8rs

Читать полностью…

Запрети мне псевдолейблить

Новое соревнование на Kaggle:
Yale/UNC-CH - Geophysical Waveform Inversion

Цель- инвертировать отражения сейсмических волн. Надо по 3D (два направления и время) предсказать карту глубин.

На kaggle только часть датасета в 108 гб, но полный датасет весит 2.2 террабайта. Тут есть нюанс- для каждой уникальной карты глубин есть 500 замеров, чтобы их усреднить и уменьшить шум.

Метрика MAE по 69 колонкам (мультирегрессия)

По сути нам нужно из данных
p(*), t, x, z и (s + eps) вычислить c(*) в заданных точках.

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

Мне в свое время очень нравилась идея поженить свои знания МЛ и время потраченное на дифуры и уже была хорошая сорева для этого:
Google Brain - Ventilator Pressure Prediction

Там нужно было моделировать давление в легких в зависимости от нагнетаемого объема воздуха, что хорошо описывается дифурами, но в топовых решениях были просто plug-n-play трансформеры 😭

Читать полностью…

Запрети мне псевдолейблить

Пойду вспомню статистику гуся

Читать полностью…

Запрети мне псевдолейблить

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

Тут на дружественном канале вышла как раз подборка немецких магистратур:
->>> подборка <<<-

Добавил бы от себя, что с этого года в TUM надо платить 6к евро в год за учебу, но это только в нем и остальные универы стоят порядка 100 евро в семестр + расходы на проживание

Читать полностью…

Запрети мне псевдолейблить

Kaggle для академиков

Прямо сейчас проходят соревнования, хорошее место в которых позволит опубликовать свой work-note и выступить с воркшопом на конфах CVPR25 (A+) / CLEF (A)

1. AnimalCLEF25 @ CVPR-FGVC & LifeCLEF
2. FungiCLEF25 @ CVPR-FGVC & LifeCLEF
3. PlantCLEF2025 @ LifeCLEF & CVPR-FGVC
4. GeoLifeCLEF25 @ CVPR & LifeCLEF
5. FathomNet 2025 @ CVPR-FGVC

Отдельно от них стоит BirdCLEF+ 2025. Это потому что за нее, в отличие от 5 предыдущих дают медальки, а значит конкуренция кратно выше. И это на самом деле очень хорошо, потому что можно на мягких лапах подкрасться к хорошим местам на первых пяти соревнованиях и против вас не будет драться на смерть весь консалтинг-отдел NVIDIA с 10к A100 в кармане. Отдел будет драться со мной за медальку на птичках.

А там глядишь, воркшоп с work-note на CVPR, магистратура в École Polytechnique и уютный офис Google в Париже с неплохой французской бытностью.

На фото это Эйфелева башня. Знаю, мыло, но ночью с рук сложно сделать совсем четкий снимок на polaroid. А почему я говорю именно про Париж- вы спросите лучше в лс.

А научиться решать соревы можно прямо вместе с @pseudolabeling

Читать полностью…

Запрети мне псевдолейблить

Guess who's back, bitch

Такие конечно эмоциональные качели от 'Я БЫЛ ПРАВ С САМОГО НАЧАЛА' до 'Ну не смог и не смог, ну чего бухтеть то'

Читать полностью…

Запрети мне псевдолейблить

March mania начался, все ставки сделаны и ставок больше нет.

Собственно задача этого когда, как и почти все время до этого- это предсказать исход матчей точнее, чем остальные кагглеры в терминах Brier-score

Здесь могла бы быть реклама вашей букмейкерской конторы.

🏀 🏀 🏀
Пока все три прогноза заходят, но и матчи вроде изи
🏀 🏀 🏀

Покупайте экспресс на матчи женской лиги NCAA

Через 19 дней будем знать результаты

Читать полностью…
Subscribe to a channel