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

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

Open in Telegram

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

Show more
3 578
Subscribers
+224 hours
+477 days
+18330 days
Posts Archive
🚀 @SBERLOGASCI webinar on data science: 👨‍🔬 Obozov M.A. "Proximal Policy Optimization. От графов Кэли до RLHF." ⌚️ Пятница
🚀 @SBERLOGASCI webinar on data science: 👨‍🔬 Obozov M.A. "Proximal Policy Optimization. От графов Кэли до RLHF." ⌚️ Пятница 14 июня 19.00 по Москве PPO - достаточно современный и интересный Policy Gradient метод, который базируется на идее клиппинга и обучение policy network с специальной целевой функцией. Концептуально алгоритм решает проблему больших policy обновлений, что значительно улучшает сходимость. При этом его применение часто очень нетривиально, а понимание алгоритма к сожалению нередко заканчивается абстрактными идеями и просто знанием об его существование. Данная лекция ориентирована на исправление этой проблемы. Всего лекция состоит из четырёх частей: 1. Пользовательское понимание PPO, концепции и основные идеи, отличие от REINFORCE и других PGM. 2. Более глубокое понимание и описание математики стоящей за этим алгоритмом. 3. Применение к реальным задачам в том числе и к графовым. 4. RLHF с PPO. Эта часть ориентирована именно на LLM инженеров. Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe

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

13% - лютейшая нищета на грани выживания 15% - обычная нищета, ипотека на 20 лет, кино и рестораны раз в неделю, еда из ашана 18% - нормальная жизнь, ипотека на 10 лет, машина среднего класса (B, C) 20% - хорошая жизнь, ипотека на 5 лет, путешествия 22% - достаточно хорошая жизнь, ипотека на 2 года, машина бизнес класса, девушка

Никто кстати не понял прикол: чел ушел фултайм каглить, а не то, что вы подумали
Никто кстати не понял прикол: чел ушел фултайм каглить, а не то, что вы подумали

Смотрите кого выпустили из чулана!
Смотрите кого выпустили из чулана!

#HMS 8 место, мастер-класс от Криса Дейота: Самое первое, на чем акцентирует внимание Крисс: нам в соревновании не надо поста
#HMS 8 место, мастер-класс от Криса Дейота: Самое первое, на чем акцентирует внимание Крисс: нам в соревновании не надо поставить диагноз, нам надо угадать мнения разметчиков. Казалось бы так всегда, но конкретно в этом соревновании из-за разнородности разметчиков это решало сильнее, чем обычно. Крис прочитал статью организаторов и выяснил, что аннотаторов было всего 119 в трейне и 20 в тесте. А еще он вычитал, что судороги в трейне предсказывали в 18.8% случаев, а в тесте- 1.5%. И вот именно вычистку этих самых малоушмных экспертов из теста и делал хак с разделением трейна
train.loc[train.vote_count>=10]
Он так же посмотрел на то, как проходил процесс разметки данных и увидел там, что разметка проходила и по спектрограммам и по обычным графикам формы волны одновременно. Значит это и надо подавать как инпут моделей. И того у него было три модели: 1. По сырым сигналам, a-la WaveNet 2. Трансформемер по спектрограммам 3. Трансформемер по plt.plot форм волны В СМЫСЛЕ ОН ВЗЯЛ И ИСПОЛЬЗОВАЛ МАТПЛОТЛИБ ДЛЯ ИНПУТА, НУ ГЕНИЙ Используя уже эти три модели он псевдолейблил кусочки трейна, в которых было меньше 10 размечающих. Ну и все, 0.29 на приватном лидерборде. Так же Крис заботливо выделил для нас лайфхаки: 1. Все сырые данные обработал с помощью библиотеки MNE. Она как раз специализированна для работы с ЭЭГ 2. Для перфоманса можно было все сырые ЭЭГ загрузить в RAM и формировать спектрограмы используя torchaudio.transforms 3. На каждой эпохе показывать одну ЭЭГ один раз, но семплировать каждый раз случайно. 4. Пользоваться его гайдом по подбору ЛР для модели Скажу, что читать райтапы Криса- сплошной кайф. Однажды он прочитает моей райтап и скажет то же самое

#HMS Поступил вопрос про пункт 3 и заявление, что там ничего не ясно. А там с одной стороны классика, с другой не совсем инту
#HMS Поступил вопрос про пункт 3 и заявление, что там ничего не ясно. А там с одной стороны классика, с другой не совсем интуитивно: Допустим у нас есть 150 моделей на одинаковых OOF и мы по ним хотим построить какой-то ансамбль, который будет лучше каждой индивидуальной. 1. Возьмем оптимизатор L-BFGS-B (знаю, в подписчиках есть фанаты) и на OOF построим оптимум заданной лосс функции 2. У какой-то доли моделей веса будут близкими к нулю, потому что они не слишком хорошо перформят относительно прочих. Так давайте установим трешхолд, например 0.01, и все модели с весом меньше этого из списка выкинем и пользоваться ими не будем 3. На оставшихся повторим процедуру и будем делать до тех пор, пока у всех моделей веса не будут больше, чем заданный наперед трешхолд 4. ... 5. Profit! У нас остались только уверенные и разнообразные модели В этом смысле прием похож на совсем уж античную классику: отобрать фичи с помощью L1-регрессии и на выбраных фичах обучить уже обычную линейную/гребневую

#HMS 9 место: 1. Использовали двух и трехмодальные системы. На вход сырой ЭЭГ, ванильные спектрограммы от каггла и спектрограммы Криса Дейота (о его решении следующий пост). 2. Учили мультихед, который предсказывал конкретную запись и предсказывали, будет ли в этой записи Nan. Это скорее такой auxiliary loss, чтобы модель лучше генерализовывала данные и училась понимать саму доменную область, чем улучшала понимание задачи. Подробнее можно тут почитать: тык 3. Чтобы стакнуть свою кучу моделей использовали L-BFGS-B, а там 150 моделей было примерно. 4. Использовали аугментацию таргетов. Интуиция такая: раз у нас есть 15 разметчиков с одним мнением, то может нам в качестве аугментации использовать только часть из них? Ситуация с таргетом не должна поменяться критически, но разнообразие это для модели внесет. Делали так только для семплов, у которых число голосов было больше 10. У меня к сжоалению этот трюк не завелся 5. Использовали веса семплов равные числу голосов размечающих. Когда 3 человека говорят, что это судороги, это в тре раза надежнее, чем один человек.

#HMS Пост коротких идей из минорых мест 2 11 место: 1. Использовали как инпут зоопарк модальностей: STFT MFCC Mel-frequency cepstral coefficients LFCC linear-frequency cepstrum coefficients RMS 2. Усредняли KL-div loss по всем классам и лоссы по каждому классу индивидуально. Т.е. считали 6 One-Versus-Other лоссов дополнительно и все вместе усредняли 3. Стакнули на OOF модель второго уровня, которая давала буст 0.01 относительно простого усреднения. Всего было 16 базовых архитектур, каждая по 5 фолдов. Думайте, подписаться 10 место: 1. Взял все 19 каналов и просто нарисовал их амплитуду 2. Приправил картинками спектрограмм для вязкости 3. Добавил туда визуализацию STFT и других преобразований чтобы обои точно отклеивались 4. Пожарил 20 моделей на своей гпу 5. Сказал "оххх, золото мое золото" Нет вы просто зайдите по ссылке и посмотрите на его картинку входную, я не шучу. Образ мышления грандмастеров сводит иногда с ума, но я кажется улавливаю. Следует ли из деепричастия причастие- вопрос открытый

#HMS Пост коротких идей из минорых мест 14 место: 1. Использовали двухстадийное обучение (это все использовали).. В соревнова
#HMS Пост коротких идей из минорых мест 14 место: 1. Использовали двухстадийное обучение (это все использовали).. В соревновании быстро заметили, что обучаться надо сначала на всех данных, а потом файнтюнить модель семплах, на которые посмотрели много экспертов, потому что в паблик/прайвет тесте были именно такие семплы. Но эти парни решили, что вместо того, чтобы выкидывать низкокачественные семплы на втором этапе, их можно запсевдолейблить той же моделью с первого этапа и уже с меньшим весом чем у нормальных данных файнтюниться еще и на этих псевдолейблах, а не только на высококачественных. 2. Прочитали все дискашены и нашли в них статью одного из авторов соревнования. Там нашли похожее на соревание исследование, где автор использовал довольно специфичную модель валидации. Краткая суть: один из авторов соревнования использовал разнородных по обученности экспертов и некоторые из них не были до конца обучены на работу с ЭЭГ, поэтому значимо чаще предсказывали 'я не знаю', что отправлялось в Other. При этом они могли попадать в 'высосокачественные семплы' и портить распределение. Поэтому они разбили трейн как в статье и выкинули семплы, от которых должен был исходить шум. А еще тут работало простое советское 'домножать вероятность класса Other на констатнту'. Читайте статьи авторов соревы, они может и не специально, но подсказывают дизайном вам правильные решения 3. Использовали вместо STFT short-time Fourier transform другое преобразование сырых ээг: CWT continuous wavelet transform 4. Ну и дальше как все использовали сетки для CV: resntet/effnet/etc 12 место: 1. Заранее поняли, что надо учиться на высококачественных семплах, и использовали семплы низкого качества только для псевдолейблинга 2. Использовали случаный шум к оффсету на этапе TTA, что давало примерно ~0.01. Это много, между 12 и 18 местом примерно такой разрыв. Т.е. это то, что явно мешало на медальку 3. Использовали для стакинга hill climbing. Как-нибудь про нее отдельно напишу, тоже важная техника для сорев

Для обучения всего этого зоопарка использовали набор доменных аугментаций: 1. Флипы электродов правых и левых долей 2. Флипы
Для обучения всего этого зоопарка использовали набор доменных аугментаций: 1. Флипы электродов правых и левых долей 2. Флипы электродов передних и задних долей 3. CropCat. Примерная идея на картинке. В принципе засчитываем за угаданный MixUp в комментах, только не с весами, а по времени. 4. Шум на входной сигнал Из данных использовали только семплы, в которых больше 10 голосов. И никакого псевдолейблинга :(

#HMS Разберем 15 топовых мест еще и потому, что в сореве ровно столько золота Аккуратно, на картинке ошибка. Там не 10 мин, а 10 сек спектрограммы 15 место: Использовали три бекбона, которые мерджили в одну мегамодель. Обязательно попорбую в следующий раз, судя по всему это крайне продуктивный для каггла подход Первая модель: Вариация на тему Wavenet1D (Первая дополнительная картинка) Добавили в активации еще и Mish. Выражается как f(x) = x * tang(softplus(x)) Статью пока не читал, но судя по графикам она еще и не монотонная. Как учится в активациях немонотонность стоит обдумать. Пишите в комментах, почему это вообще может быть полезно. Вторая модель: построена на Short Term Furier Transform Брали фурье трансформ и рестакали его из чередования в конкатенации. Почему-то работало, сами не знают почему. Третьяя модель: стандартная сетка для вижна, которую не сильно измывались. Даже не описывают конкретную модель. Подозреваю там был стак из кучи бекбонов. Кстати в этой сореве FP16 ломал зачастую сетки и тренировка часто либо деградировала, либо вообще скатывалась в Nanы. Получается запретили включать FP16.

#HMS HMS - Harmful Brain Activity Classification Последнее время решал медицину. Данные: Уважаемые люди из Harvard Medical Sc
#HMS HMS - Harmful Brain Activity Classification Последнее время решал медицину.  Данные: Уважаемые люди из Harvard Medical School (на секундочку лидер рейтингов лучших ресерчерских медицинских школ) собрали нам датасет ЭЭГ и кардиограмм своих пациентов и даже разметили их. У данных есть иерархическая структура: Для одного и того же пациента могут быть записаны несколько ЭЭГ произвольной длины.  Из этих ЭЭГ могут быть выбраны участки по 50 секунд, из которых разметчиков попросили оценить центральные 10 секунд. Разметчиков для одного такого семпла обычно более одного (может быть больше двадцати) Каждый такой семпл разметчиков попросили отнести к одному из 6 классов: 1. Судороги (SZ) 2. Генерализованные эпилептические разряды (LPD) 3. Латеризованные эпилептические разряды (GPD) 4. Латерализованнная ритмическая дельта-активность (LRDA) 5. Генерализованная ритмическая дельта-активность (GRDA) 6. Прочее Как метрику выбрали KL-div. В силу того, что по разным семплам могло пройтись несколько разметчиков, голоса разметчиков нормировали на число проверяющих и именно это великолепие стали рассматривать как вероятности, которые нам надо учить.  По ощущениям- там еще и качество разметчиков страдало. Там, где перекрестной проверки больше поведение сильно отличалось от участков с малой перекрестностью. Это прямо на ЭЭГ видно- идут пару минут с 1-3 голосами и преобладает класс other по-русски назовем его "я не знаю", а за ним сразу идет уверенное SZ от 16 из 17 размечающих. Странное совпадение, но пока организаторы не признались- не правда. В этот раз хочу пройтись по большему числу топовых решений, потому что сил в сореву было какое-то невыносимое количество потрачено. Как решать будете? Думайте. Подписаться

HMS- Harmful Brain Activity Classification закончился и значит в ближайшем будущем будем разбирать топовые решения из него. Соревнование оказалось дико конкурентным, 2800+ команд. Нам удалось залезть в top 2%, но всегда же интересно, что там придумали гении из золота? Разбор enefit кстати отменяется: там скучно и нас удалили с ЛБ по неизвестным причинам. Скорее всего кернел умер от ошибки в kaggl forecasting API.

Вы же помните, что этот канал создан, как карго-культ pola.rs? Так вот, к поларсу пришла Nvidia и предложила им дать своих инженеров, чтобы они впиливали RAPIDS в polars. Ставлю на то, что команда рапидс будет отставать, но это все равно мощный шаг к признанию полярных медведей. Думайте. Подписаться.

Кстати о репостах: Собрал из ретроспективы по Open Problems пост на хабр. Поддержите заливом лайков, пожалуйста

Запрети мне псевдолейблить - Statistics & analytics of Telegram channel @pseudolabeling