Трансферное обучение (Transfer), таких на собеседования хватит! (с кодом)

машинное обучение

1. Что такое трансферное обучение

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

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

2. Зачем нужно трансфертное обучение?

  1. Противоречие между большими данными и меньшей маркировкой: несмотря на наличие большого объема данных, они часто не размечены и не могут использоваться для обучения моделей машинного обучения. Ручная калибровка данных занимает слишком много времени.
  2. Противоречие между большими данными и слабыми вычислениями: Обычные люди не могут иметь огромное количество данных и вычислительных ресурсов. Поэтому требуется перенос модели.
  3. Противоречие между универсальной моделью и индивидуальным спросом: даже при выполнении одной и той же задачи модель часто не может удовлетворить индивидуальные потребности каждого, например определенные настройки конфиденциальности. Это требует адаптации модели между разными людьми.
  4. Требования для конкретных применений, таких как холодный пуск.

3. Каковы основные проблемы трансферного обучения?

Есть три основные проблемы:

  • How to transfer: Как выполнить трансферное обучение? (Метод миграции дизайна)
  • What to transfer: Имея целевой домен, как найти соответствующий исходный домен и затем выполнить миграцию? (выбор исходного поля)
  • When to transfer: Когда миграция возможна, а когда нет? (избегайте отрицательного переноса)

4. Каковы общие концепции трансферного обучения?

  • основное определение

    • Домен: состоит из функций данных и распределения функций, является основной частью обучения.
      • Исходный домен: область существующих знаний
      • Целевой домен: Домен для изучения
    • Задача: состоит из целевой функции и результата обучения, который является результатом обучения
  • Классификация по функциональному пространству

    • Однородное трансферное обучение (однородное TL): Пространства признаков исходного и целевого доменов одинаковы,D_s=D_t
    • Гетерогенное трансферное обучение (гетерогенное TL): Пространства признаков исходного и целевого доменов различаются,D_s\ne D_t
  • Классификация по сценарию миграции

    • Индуктивное трансферное обучение (Inductive TL): задачи обучения исходного и целевого доменов отличаются
    • Трансдуктивная TL: Исходный домен и целевой домен разные, а задача обучения одна и та же.
    • Неконтролируемое трансферное обучение (неконтролируемое TL): Исходный и целевой домены не имеют ярлыков.
  • Классификация по методу миграции

    • TL на основе экземпляра: миграция путем повторного использования образцов из исходного и целевого доменов по весу.

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

    • TL на основе функций: преобразование функций исходного и целевого доменов в одно и то же пространство.

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

    • Миграция на основе модели (TL на основе параметров): поделиться моделью, используя параметры исходного и целевого доменов

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

    • TL на основе отношений: миграция с использованием логических сетевых отношений в исходном домене.

      Метод трансферного обучения на основе отношений (Relation Based Transfer Learning) имеет совершенно иную идею, чем три вышеуказанных метода. Этот подход сравнивает и фокусируется на отношениях между образцами из исходного и целевого доменов. На рисунке ниже показаны аналогичные отношения между разными доменами.

5. В чем разница между трансферным обучением и традиционным машинным обучением?

передача обучения традиционное машинное обучение
распределение данных Обучающие и тестовые данные не обязательно должны быть одинаково распределены Тренировочные и тестовые данные распределены поровну.
метки данных Требуется недостаточно аннотаций данных достаточно данных для маркировки
моделирование Можно повторно использовать предыдущие модели Моделируйте каждую задачу отдельно

6. Основные и критерии измерения трансферного обучения?

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

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

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

Резюме в одном предложении: Сходство — это ядро, а критерии измерения — важные средства.

7. В чем разница между трансферным обучением и другими концепциями?

  1. Связь между трансферным обучением и многозадачным обучением:
    • многозадачное обучение: совместное изучение нескольких связанных задач;
    • передача обучения: подчеркивает повторное использование информации, перенос из одного домена в другой.
  2. Трансферное обучение и адаптация предметной области:адаптация домена: сделать два домена с несовместимыми распределениями функций согласованными.
  3. Трансферное обучение и ковариационный сдвиг:Ковариационный сдвиг: Условное распределение вероятностей изменения данных.

8. Когда можно использовать трансферное обучение?

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

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

9. Что такое тонкая настройка?

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

Зачем вам уже обученная сеть?

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

Зачем нужна тонкая настройка?

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

10. Что такое глубокая сетевая адаптация?

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

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

11. Применение GAN в трансферном обучении

Генеративно-состязательные сети (GAN) вдохновлены идеей игр для двух игроков в теории самоигр. Он состоит из двух частей:

  • Одна часть — Генераторная сеть, которая отвечает за генерацию максимально реальных сэмплов, и эта часть называется Генератор;
  • Другая часть - дискриминационная сеть, которая отвечает за оценку того, является ли выборка реальной или сгенерированной генератором.Эта часть называется дискриминатором (дискриминатором) Взаимная игра между генератором и дискриминатором завершает обучение конфронтации.

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

12. Реализация кода

Пример трансферного обучения

Загрузка набора данных:

Машинное обучение легко понять серия статей

3.png

13. Ссылки

[GitHub.com/Sour Vinegar Jar 90/D О…](GitHub.com/Sour Vinegar Jar 90/D О…)


автор:@mantchs

Гитхаб:GitHub.com/NLP-love/ml…

Приглашаются все желающие присоединиться к обсуждению! Улучшайте этот проект вместе! Номер группы: [541954936]NLP面试学习群