Рис. 5.1.
Общая схема переноса обучения. Базовая модель обучается на большом наборе
данных, причем этот начальный процесс часто требует много времени и ресурсов. Затем базовая
модель обучается повторно, возможно становясь частью новой модели. Для повторного обучения
требуется намного меньше данных и вычислений, чем для первоначального. Его можно выполнить
и на оконечном устройстве с запущенным TensorFlow.js, например на ноутбуке или телефоне
Ключевая фраза «другую, но схожую» в определении переноса обучения при
разных ситуациях означает разные вещи.
z
z
В первом, упомянутом в начале главы сценарии уже существующая модель
адаптируется к данным конкретного пользователя. И хотя они отличаются от
данных исходного обучающего набора, задача остается той же — классификация
изображений по десяти категориям (цифрам). Эта разновидность переноса обу
чения называется
адаптацией модели
(model adaptation).
Глава 5. Перенос обучения: переиспользование предобученных нейронных сетей
189
z
z
В прочих задачах переноса обучения используются целевые признаки (метки),
отличающиеся от исходных. К этой разновидности относится задача классифи
кации изображений товаров, упомянутая в начале данной главы.
В чем преимущества переноса обучения по сравнению с обучением новой модели
с нуля? Их два.
z
z
Перенос обучения эффективнее в смысле объемов как требуемых данных, так
и вычислений.
z
z
Перенос обучения далее развивает результаты предыдущего обучения, переис
пользуя возможности выделения признаков базовой модели.
Перенос обучения сохраняет эти преимущества независимо от типа решаемой
задачи (например, классификации или регрессии). В первом пункте при переносе
обучения используются усвоенные весовые коэффициенты из базовой модели
(или некое их подмножество). В результате требуется меньше обучающих данных
и обучение сходится к заданному уровню безошибочности за меньшее время по
сравнению с обучением новой модели с нуля. В этом перенос обучения напоминает
учебу людей: когда вы научились решать какуюлибо задачу (например, играть
в карточную игру), научиться в будущем решать аналогичные задачи (скажем,
играть в схожие карточные игры) сможете намного проще и быстрее. Количество
сэкономленного времени не так велико для нейронных сетей наподобие созданной
нами для MNIST сверточной сети. Однако для более масштабных моделей, обуча
емых на б
ó
льших наборах данных (например, сверточных сетей промышленного
масштаба, обучаемых на терабайтах данных изображений), экономия оказывается
существенной.
Что касается второго пункта, основная идея переноса обучения и заключается
в переиспользовании результата предыдущего обучения. Исходная нейронная сеть,
обученная на очень большом наборе данных, прекрасно решает задачу выделения
полезных признаков из первоначальных входных данных. Признаки принесут поль
зу и при решении задачи, для которой нужен перенос обучения, если новые данные
не слишком отличаются от первоначальных. Исследователи собрали множество об
ширных наборов данных для часто встречающихся предметных областей машинного
обучения. В сфере машинного зрения есть набор данных ImageNet
1
с миллионами
маркированных изображений, относящихся примерно к тысяче различных кате
горий. Исследователи в сфере DL обучили на наборе данных ImageNet множество
глубоких сверточных сетей, включая ResNet, Inception и MobileNet (последней мы
скоро займемся). Благодаря большому количеству и разнообразию изображений
в наборе данных ImageNet обученные на нем сверточные сети отлично подходят для
выделения признаков для распространенных изображений. Они удобны для работы
с маленькими наборами данных наподобие упоминавшихся выше, на которых нельзя
обучить настолько эффективные средства выделения признаков. Перенос обучения
может пригодиться и в других предметных областях. Например, в сфере обработки
1
Пусть его название не вводит вас в заблуждении, ImageNet — это набор данных, а не ней
ронная сеть.
190
Do'stlaringiz bilan baham: |