Практикум по машинному обучению: классификация изображений

Использование предварительно обученных моделей

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

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

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

,

Использование предварительно обученных моделей

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

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

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