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

Зачем передавать обучение?

Один из первых и главных вопросов, который возникнет у читателя, будет - зачем передавать обучение? Есть простая причина, по которой я решил начать свой блог именно на эту тему. В сфере машинного обучения знание — сила. Цель ученого машинного обучения в любой точке мира — увеличить объем знаний, которые может представить его/ее модель. Концепция трансферного обучения показывает нам, что если один из нас способен увеличить базу знаний, охватываемую моделью, хотя бы на 1%, то это может сделать и весь мир. Это имеет и гораздо большее значение. Трансферное обучение позволяет моделям делиться своими знаниями и вместе становиться лучше. Итак, для моего первого блога я считаю оправданным начать с темы, которая также может изменить сценарий исследования ML.

Определение и строительные блоки

Формальное определение трансферного обучения — это повторное использование предварительно обученной модели для решения новой, но связанной проблемы. Итак, давайте рассмотрим это внимательно здесь. Одним из терминов в этом определении является предварительно обученная модель. Так что это значит? Ну, это так просто, как кажется. Предварительно обученная модель — это модель, которая уже обучена на некотором наборе данных и способна хорошо представлять эти данные. На практике у нас есть много архитектур CNN, доступных онлайн с весами, предварительно обученными в наборе данных ImageNet. Теперь основная идея трансферного обучения состоит в том, чтобы использовать эту уже изученную модель и применить ее к связанной проблеме. В примере с CNN, архитектуры, предварительно обученные на ImageNet, связаны с проблемой обнаружения определенного типа цветов, птиц, животных и т. д.

Простой пример

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

Теперь давайте более внимательно рассмотрим пример и свяжем его с концепцией трансферного обучения. Первым объектом в примере является студент. Ученик аналогичен новой необученной модели, которой необходимо изучить конкретную задачу. В примере со студентом задачей является конкретный курс, на который он/она записался. Следующим объектом в примере является профессор. Профессор аналогичен предварительно обученной модели с большей базой знаний. Подумайте об этом, профессор имеет многолетний опыт работы в своей области и обладает обширными знаниями не только о конкретном курсе, на который записывается студент, но и о других предметах в своей области. Профессор в нашем случае — идеальный кандидат на предварительно обученную модель, которую можно использовать для трансферного обучения. Что касается студента, то единственной целью является сдать экзамен по его курсу. Таким образом, предварительно обученная модель передаетзнания об этом конкретном курсе. Теперь, если студент хорошо учится, он может легко усвоить знания, данные профессором, и легко сдать экзамен. На самом деле, студент может даже превзойтипреподавателя на этом конкретномэкзамене, хотя у преподавателя больше знаний о его поле в целом.

Почему это используется?

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

  1. Это экономит много времени. Это одна из самых простых вещей, которую вы можете наблюдать непосредственно на примере студента. Если бы студент должен был выучить все, что делает профессор, только для того, чтобы сдать этот единственный экзамен, я бы не хотел быть таким студентом. В большинстве случаев трансферное обучение обычно является быстрым решением огромной проблемы. С технической точки зрения, время обучения модели сокращается в геометрической прогрессии при применении трансферного обучения.
  2. Для этого не требуются огромные объемы данных. Вернемся к нашему любимому примеру. «Данные» для изучения предметной книги. Для того объема знаний, которым обладает профессор, он должен был прочитать тысячи книг разных авторов по одному и тому же предмету. Но единственные данные, которые нужны студенту для сдачи экзамена, — это конспекты лекций, которые он записал во время лекции. Количество «данных», необходимых в случае трансферного обучения, поразительно мало.
  3. Поделиться — значит проявить заботу, верно? Переносное обучение — одна из самых многообещающих областей исследований, которые могут привести к общему интеллекту. Это может быть ключом к созданию ИИ со знаниями по множеству разных предметов одновременно.

Как это использовать?

Существует много способов и приложений, в которых можно применять трансферное обучение. Ниже перечислены самые основные и абстрактные этапы использования этой техники:

  1. Определить предварительно обученную модель. Этот шаг определяет уже доступную предварительно обученную модель, которая максимально близка к целевой модели. В приложениях компьютерного зрения предварительно обученная сеть CNN является идеальной моделью для трансферного обучения.
  2. Определите способ передачи знаний. Следующим шагом является определение способа передачи знаний о целевом наборе данных с использованием предварительно обученной модели. В основном это включает в себя поиск способа представления «знаний», закодированных предварительно обученной моделью, которые могут использоваться целевой моделью для обучения. В приложениях компьютерного зрения вывод последнего сверточного слоя обычно представляет собой представление знаний о наборе данных.
  3. Обучение целевой модели. На последнем этапе используются «знания», полученные от предварительно обученной модели, для эффективного обучения целевой модели. Обычно это самая простая часть, так как она просто включает в себя подгонку целевой модели к промежуточному представлению набора данных.

Резюме

В этом посте было представлено всестороннее объяснение концепции трансферного обучения с помощью понятных и понятных примеров.

В частности, мы узнали:

  1. Что такое трансферное обучение?
  2. Преимущества трансферного обучения
  3. Реальный пример трансферного обучения
  4. Как использовать трансферное обучение?

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