Вопрос или проблема
В трансферном обучении часто лишь последний слой сети перенастраивается с использованием градиентного спуска. Однако последний слой обычной нейронной сети выполняет только линейное преобразование, так почему мы используем градиентный спуск, а не линейную (или логистическую) регрессию для дообучения последнего слоя?
Общий подход к дообучению существующей предобученной нейронной сети следующий:
- Имея существующую предобученную модель нейронной сети (например, imagenet), удалите последний слой (который выполняет классификацию в задаче предобучения) и зафиксируйте все веса в остальных слоях модели (обычно устанавливая параметр trainable в false).
- Добавьте новый финальный плотный слой, который будет обучаться на новой задаче.
- Обучите модель на наборе данных новой задачи до сходимости.
- [опционально] После достижения сходимости при дообучении можно разморозить все слои и продолжить обучение до сходимости с меньшей скоростью обучения.
Причина использовать градиентный спуск вместо другого алгоритма машинного обучения, как вы предлагаете, заключается в возможности дальнейшего обучения после начального дообучения (шаг #4 выше). Однако это не обязательно. Предлагаемый вами подход (использовать выход предобученной модели в качестве входа для другой модели машинного обучения) может продемонстрировать удовлетворительные результаты и быть более вычислительно эффективным.
Компромиссы между этими подходами также обсуждаются в руководстве по трансферному обучению Keras в разделе о “Типичном потоке работы в трансферном обучении”.
Ответ или решение
Использование линейной регрессии для дообучения последнего слоя нейронной сети может показаться логичным шагом, учитывая, что последний слой часто действительно выполняет линейную трансформацию. Однако у этого подхода есть несколько недостатков, которые делают обучение с помощью градиентного спуска более предпочтительным вариантом.
-
Гибкость обучения: Линейная регрессия по своей природе подразумевает статическую модель с фиксированными параметрами. Если в процессе обучения возникают изменения в данных или структурах, линейная регрессия не может динамически адаптироваться. В отличие от этого, градиентный спуск позволяет непрерывно обновлять параметры, что делает модель более устойчивой к изменению данных, а также позволяет пересчитывать и адаптировать представление, полученное на предыдущих уровнях сети.
-
Вероятностная интерпретация: Логистическая регрессия, используемая для бинарной классификации, предоставляет вероятностные выходные значения, что является полезной характеристикой для многих задач. Используя градиентный спуск с функцией потерь, такой как кросс-энтропия для многоклассовой классификации, можно получить не только предсказания, но и вероятностные оценки, что может быть критически важным для задач, где важна инфоративность уверенности модели.
-
Качество предсказаний: Обучая последний слой нейронной сети с помощью градиентного спуска, можно извлекать более сложные зависимости из предобученных представлений. Глубокие сети могут моделировать более сложные функции, чем простая линейная модель, что значительно увеличивает предсказательную мощность. Даже если финализируемая задача имеет линейный характер, предобученные слои могут уловить важные нелинейные зависимости в данных.
-
Возможность дообучения: Градиентный спуск позволяет не только дообучать последний слой, но и, если это необходимо, адаптировать остальные слои после первоначального обучения через механизм дополнительного обучения. Такой подход обеспечивает более плавное и глубокое обучение, что может быть полезно, если новая задача отличается от предобученной.
-
Оптимизация параметров: Линейная регрессия не учитывает сложные взаимосвязи, которые могут присутствовать в данных, в то время как глубокая нейронная сеть с последующим обучением позволяет оптимизировать множество параметров, что потенциально приводит к более высокому качеству обучения и предсказаний.
Таким образом, хотя теоретически можно использовать линейную регрессию для дообучения последнего слоя нейронной сети, преимущества, которые предоставляет градиентный спуск, в плане гибкости, мощности представлений и способности к адаптации делают его предпочтительным выбором в большинстве случаев, особенно при использовании предобученных моделей в контексте передачи обучения.