Использование похожей задачи
Перенос весов из другой задачи (transfer learning)
Предположим, нам нужно решить узкоспециализированную задачу A, такую как распознавание модели машины по её фотографии. Как правило, когда заходит речь о задаче с узкой специали зацией, то данных для настройки модели оказывается мало, поскольку сбор объектов и их ручная разметка - это трудоёмкий процесс. Зато можно воспользоваться другой похожей задачей B, для которой собрано много обучающих данных и есть уже настроенные и хорошо зарекомендовавшие себя модели.
Например, можно воспользоваться датасетом ImageNet [1], в котором свыше 14 миллионов размеченных изображений на 1000 классов, содержащих типовые объекты, встречаемые на практике, такие как кошки, собаки, машины, грузовики, дома, прицепы, компьютеры и т.д. Для этого датасета уже существует большой набор настроенных моделей [2].
Классы ImageNet хотя и не совсем соответствуют решаемой задаче определения марки машины по её фото, но в целом и та, и другая задача опирается на похожий набор признаков - чтобы распознать марку машины, нужно вначале извлечь углы распознаваемого предмета, определить его цвет, извлечь типовые графические паттерны, отвечающие резине колёс, бликам на стёклах, цветовым пере ливам на форме кузова и т.д. А эти признаки как раз и извлекаются в уже настроенных моделях на ImageNet!
Поэтому вместо того, чтобы обучать модель под целевую задачу с нуля, рекомендуется вначале извлечь информативные высокоуровневые признаки (high level features) из промежуточных слоёв уже настроенных моделей на похожей задаче, как проиллюстрировано на схеме ниже:

Таким образом, веса первых слоёв модели, решающей задачу B (красные), переносятся в неизменном виде на первые слои модели, решающие задачу A. Это называется жёсткая общность весов (hard weight sharing). Под целевую задачу A настраиваются лишь последние слои (обозначенные синим цветом), что позволяет сэкономить на сложности настройки и успешно обучить модель на выборке меньшего объёма. Чем больше размеченных данных мы имеем для решения целевой задачи A, тем большее количество последних слоёв мы можем выделить для настройки под эту задачу, не переобучившись.