Техника, о которой вы могли не знать.

АвторАхмед Хамди

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

Выводы из этой статьи основаны на конкурсе Omdena Challenge Использование компьютерного зрения для определения этнической принадлежности в новостях и видео и повышения осведомленности об этнической принадлежности».

В нашем проекте один из соавторов предложил использовать активное обучение. Я впервые услышал об этой теме, я даже не помню, чтобы встречал ее на каком-либо курсе по машинному обучению, который я проходил, поэтому я просто начал читать об этом в Интернете. При поиске в этой теме я обнаружил совершенно новую тему под названием Curriculum Learning, о которой я никогда раньше не упоминал, но она меня заинтересовала.

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

Обучение по учебной программе было введено Bengio et al. в 2009 году в своей статье под названием «Обучение по учебной программе» он упомянул, как он заметил, что люди и животные учатся намного лучше, когда информация представлена ​​им в значимом порядке, мы не просто бросаем ребенка в библиотеку и ожидаем, что он будет иметь докторскую степень в математике, почему мы ожидаем, что модель будет лучше? Я знаю, я знаю, что модели и дети — это не одно и то же, но разве у вас никогда не было эмоциональной связи со своей моделью в какой-то момент?

Возвращаясь к нашей теме, Bengio et al. хотели заказать обучающие образцы, прежде чем представлять их модели от простого к сложному, тем самым они позволяют модели сначала изучить более простые функции, а затем сойтись позже на более сложных функциях. В своей исследовательской работе они экспериментировали с распознаванием форм. Как вы можете видеть на изображении ниже, меньшее количество вариантов форм рассматривалось как простые образцы, а большее количество — как сложные. Этот метод доказал улучшение в уменьшении ошибки обобщения.

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

Если вы не понимаете цифры сейчас, не проблема, просто продолжайте читать статью, а затем вернитесь в конце, и вы обнаружите, что они начали обретать смысл.

Мы можем разбить различные варианты обучения по учебной программе на следующие категории: ванильное обучение по учебной программе, самостоятельное обучение, сбалансированное обучение по учебной программе, самостоятельное обучение по учебной программе, прогрессивное обучение по учебной программе и обучение по учебной программе «учитель-ученик».

Мы поговорим о каждой категории, кроме Vanilla CL, вы можете спросить меня, почему мы собираемся пропустить ее? Единственная причина в том, что мы уже обсуждали это. Vanilla Cl — это основная форма обучения по учебной программе, которую Bengio et al. предложили в своей статье, тогда ок… я думаю, мы готовы, давайте начнем с…

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

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

М. Кумар и соавт. в их статье говорится, и я буду использовать их формулировку: «Наша стратегия самостоятельного обучения решает основную проблему обучения по учебной программе, а именно отсутствие легко вычисляемой меры простоты выборки». Они решили оставить выбор за самой моделью, вместо того, чтобы дать модели предопределенный график от простого к сложному, который мы выбрали, они позволят модели переупорядочивать образцы самостоятельно.

Вы можете спросить меня, как мы вообще узнаем, что модель считает простой выборкой, в нескольких статьях предлагались разные подходы, мы обсудим некоторые, но пока M. Kumar et al. предложил решать на основе вероятности прогноза, для меня это имеет смысл, что модель предсказывает с высокими значениями, я могу считать это уверенным прогнозом, который предполагает, что модель считает эту выборку легкой.

Другой подход был предложен Yong Jae Lee et al. В статье под названием «Сначала изучаем простые вещи: самостоятельное обнаружение визуальных категорий», в которой они решили ввести простую функцию, функция будет определять простые образцы на основе функций, представленных на изображениях, и упорядочивать их соответствующим образом.

Сбалансированное обучение. Я знаю, что то, что я сейчас говорю, не представляет никакой сложности для всех, кто читает эту статью, но размер вашей партии должен быть сбалансированным, если вы не знали… ну, теперь вы знаете. Почему он должен быть сбалансирован? Таким образом, вы гарантируете, что ваша модель не будет отдавать предпочтение одному классу перед другим, и, поскольку вы не говорите матери выбирать своего любимого ребенка, вы не должны позволять своей модели проходить через это.

В статье «Структура самостоятельного обучения с несколькими экземплярами для обнаружения совпадений» Dingwen Zhang et al. предположил, что в дополнение к подходу к обучению по учебной программе образцы также должны быть достаточно разнообразными, заставляя их выбирать из разных частей изображения.

Самостоятельное обучение по учебной программе для меня — это лучшее из обоих миров, это одна из моих любимых техник обучения. Как вы могли догадаться из названия, он сочетает в себе концепцию обучения по учебной программе с концепцией самостоятельного обучения. Он был представлен Лу Цзяном и соавт. в своей статье «Обучение по учебной программе в самостоятельном темпе» они рассуждают о том, что в обучении по учебной программе способ, которым мы упорядочиваем наши обучающие образцы, фиксирован, поэтому с течением времени и улучшением нашей модели порядок образцов остается неизменным и на с другой стороны, при самостоятельном обучении модель может переобучать, потому что мы оставили ее самой выбирать выборки данных.

Решение заключалось в объединении их обоих в одно. Они начали с упорядочивания выборок перед обучением, а затем позволили модели снова переупорядочить выборки данных во время обучения. Таким образом, они приобрели достоинства обоих методов.

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

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

Выпадающий слой был представлен в 2014 году Нитишем Шриваставой и др. в своей статье «Отсев: простой способ предотвратить переобучение нейронных сетей». Слой отсева работает, случайным образом устанавливая нейроны в 0 при каждом обновлении фазы обучения; это помогает предотвратить переоснащение модели обучающими данными за счет намеренного саботажа процесса обучения.

Это нормально, пока вы не подумаете, как Пьетро Морерио и др. В своей статье «Выпадение из учебной программы» они обсуждали, что в начале тренировочного цикла веса нашей модели инициализируются случайным образом, и модель уже достаточно запутана этим. Добавление константы Вероятность того, что слой отсева в начале обучения принесет больше вреда, чем пользы. Поэтому они предложили создать слой запланированного отсева, который начинается с вероятности отсева, равной 0, и доходит до указанного максимального значения. Если вы посмотрите достаточно внимательно, вы обнаружите, что они каким-то образом применили концепции обучения по учебной программе: сделав вероятность отсева равным 0, они сделали все обучающие выборки похожими на простые образцы, а увеличив вероятность отсева, они усложнили распознавание модели. эти сэмплы делают их похожими на жесткие семплы…..Поистине потрясающе!

Серьезной проблемой в GAN было создание высококачественных выходных изображений в «Прогрессивном росте GAN для повышения качества, стабильности и вариации», опубликованном в 2018 году Теро Каррасом и др. представил новый способ применения прогрессивного обучения по учебной программе к GAN, помогая улучшить качество выходных изображений.

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

И наша последняя статья о прогрессивном обучении по учебной программе — «Учебный план путем сглаживания», опубликованная Samarth Sinha et al. в 2020 году. Думаю, уже очевидно, что прогрессивное обучение по учебной программе — мой любимый вариант обучения по учебной программе.

Возвращаясь к статье, Samarth Sinha et al. предложил применить фильтр Гаусса для размытия карт признаков в модели во время обучения и постепенно начать уменьшать эффект размытия фильтра Гаусса, зачем это делать? в своей статье они выдвинули аргумент, что случайная инициализация весов модели приводит к тому, что карты признаков становятся слишком зашумленными. Применяя фильтр размытия, они могут уменьшить шум, присутствующий в картах объектов, и оставить только самые очевидные объекты.

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

Обучение по учебной программе "учитель-ученик"разделяет обучение на две разные задачи: обучение модели и обучение ученика. Предполагается, что модель учителя получает обратную связь от модели ученика и устанавливает график обучения, изучая оптимальные параметры обучения для ученика. Модель ученика — это последняя модель, которая у нас будет, и она будет обучаться по расписанию, установленному моделью учителя. Первоначально это было введено как метод обучения с подкреплением, но затем было адаптировано для других задач.

Когда я читал статьи, в которых применялась концепция «учитель-ученик», я наткнулся на «О силе обучения по учебной программе в обучении глубоких сетей». В этой статье я познакомился с функцией стимуляции. Я не думаю, что это первое приложение, использующее функцию стимуляции, но давайте объясним это здесь. Предполагается, что функция стимуляции определяет, как долго мы должны тренироваться на каждом подмножестве тренировочного набора.

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

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

Оставайтесь мотивированными!