View in Telegram
Tailoring: encoding inductive biases by optimizing unsupervised objectives at prediction time Ferran Alet, Kenji Kawaguchi, Tomas Lozano-Perez, Leslie Pack Kaelbling Статья: https://arxiv.org/abs/2009.10623 Очередная прикольная работа из серии “а что, так можно было?”. Помните, на заре текущего хайпа, когда ещё даже VGG не появилась (и тем более резнеты), был популярен такой способ получения более точных предсказаний уже обученной модели, когда картинка подавалась на вход несколько раз с кропами, отзеркаливанием, иногда поворотами (где это было можно), а результат предсказания потом усреднялся? Этот метод возвращается в новой ипостаси — Tailoring! Не знаю, как лучше по-русски назвать, пусть будет “подгонка”. В чём суть? В основе успеха многих решений лежит правильный inductive bias. Обычный классический подход подразумевает добавление inductive bias в архитектуру или через дополнительные лоссы. Первый подход неуниверсальный, а второй как и обучение с обычным лоссом приводит к generalization gap между данными обучения и предсказания, а также уводит objective в сторону от того, который нам реально важен. Проблема здесь в том, что когда поступают запросы на инференс, модель уже не может использовать знание об этой новой конкретной точке, она “заморожена”. А собственно кто нам запретил воспользоваться этой новой информацией? Вапник в своё время предложил подход под названием transductive learning (в противовес обычному inductive learning), где алгоритм получает не только обучающие данные, но и набор точек, на которых потом надо будет сделать предсказания, то есть делает предсказание от частного к частному без перехода к общему. Кстати, есть мнение, что Бертран Рассел сделал это ещё раньше, https://www.cs.bham.ac.uk/~jdk/transductive.html — не прогуливайте философию, в ML она тоже полезна! Красивый пример, когда трансдукция полезнее обычной индукции, реализованной в виде supervised модели, есть в английской википедии — это классификация точек (https://en.wikipedia.org/wiki/Transduction_(machine_learning)#Example_problem). Действительно, обладая полным набором точек, хоть бы большинство из них и было без разметки, сделать разумную классификацию гораздо проще, проведя сначала unsupervised кластеризацию. И вообще говоря, множество подходов с предобучением или semi-supervised подходов, по сути делают что-то подобное. Теперь мы знаем, как это называется! :) Но проблема с этим подходом в том, что обычно заранее мы не знаем, на чём надо будет потом применять модель, и хочется подход, который умеет делать предсказания в режиме онлайн по мере поступления новых точек. А гонять на каждом предсказании полный вариант transductive learning это too much. Авторы предлагают подход tailoring и meta-tailoring. При “подгонке” (tailoring) мы при поступлении новой точки на предсказание файн-тюним модель на специальный unsupervised tailoring loss, а затем делаем предсказание. При “мета-подгонке” у нас есть двухуровневый процесс оптимизации по типу как в мета-обучении, где по сути мы обучаем модель с учётом последующей подгонки, чтобы она прошла легче — во внешнем цикле мы оптимизируем лосс, который нам важен (например, какой-то из supervised), а во внутреннем цикле оперируем этим нашим unsupervised tailoring loss. И, кстати, широко известный MAML (https://arxiv.org/abs/1703.03400) легко транслируется в текущий сеттинг с мета-подгонкой. Если чуть больше конкретики, то мы, например, знаем, что данные должны обладать какими-то гарантиями: гладкость, симметрия, сохранение момента или энергии, что-нибудь ещё — мы можем использовать это в tailoring loss. Можно также заюзать какой-нибудь contrastive loss. Отдельный практический челлендж — сделать так, чтобы можно было параллельно делать подгонку одной модели для всего батча.
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily