Вы когда-нибудь были впечатлены тем, как люди учатся разным вещам? Интересно понять, как мы можем изучить концепцию и применить ее к различным сценариям. Немного запутались? Разрешите пояснить это на примере. Так, например, если вы хотите выучить новый язык, чтобы сказать «Python», мы по сути используем наш собственный опыт (с C, C ++, JAVA и т. Д.), Чтобы привыкнуть к Python. Мы даже пытаемся согласовать синтаксис, операторы цикла, обработку исключений и т. Д. Таким образом, мы изучаем новый язык намного быстрее. Звучит знакомо, не так ли?
Нечто подобное происходит в Transfer Learning.

Передача обучения:
Короче говоря, это способ повторного использования знаний, полученных при решении одной проблемы, а затем применения этих знаний для решения других аналогичных проблем .

Почему требуется трансферное обучение?
Прежде чем мы поймем, что такое трансферное обучение, очень важно понять необходимость трансферного обучения, проблему, которую оно призвано решить. и как трансферное обучение может нам помочь.
Большинство из нас знает, что машинное обучение / глубокое обучение требует огромного количества данных. Эти данные необходимы для
1. Обучения вашей модели нейронной сети.
2. Для проверки и тестирования вашей модели.
3. Чтобы понять поведение или взаимосвязь между исходными функциями (корреляции, пропорциональность и т. д.).
4. Чтобы понять наиболее «важные» функции (например, извлечение функций) и т. д.
Итак, здесь начинается проблема, потому что в большинстве случаев у нас не хватает данных.

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

Подход к решению:
Мы можем использовать предварительно обученные модели, такие как (VGG, Inception, ResNet-50). Поскольку
все эти модели обучаются на широком спектре данных, полученные ими знания на начальных уровнях носят очень общий характер, и мы можем использовать эти знания для решения нашей конкретной проблемы.

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

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

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

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

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

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