Эндрю Ын о состоянии Computer Vision: от ручного проектирования к Transfer Learning

DeepLearning.AI 54,8 тыс. 12 мин 4 мин 07.11.2017
Главное

В новом видеоуроке от образовательного проекта DeepLearning.AI профессор Эндрю Ын анализирует современное состояние компьютерного зрения (Computer Vision). Он объясняет, почему эта область всё ещё сильно полагается на сложное проектирование архитектур, в чем принципиальное различие между победой в соревнованиях и созданием реальных продуктов, а также дает советы по использованию предобученных моделей.

📊 Дилемма данных: почему компьютерное зрение стоит особняком 0:25

По мнению Эндрю Ына, большинство задач машинного обучения можно расположить на определенном спектре: на одном его конце находятся области с относительно небольшим объемом данных, на другом — задачи, где данных в избытке . Компьютерное зрение, несмотря на наличие огромных датасетов, находится в специфическом положении.

Лектор сравнивает CV с другими областями:

Эндрю Ын выводит общую закономерность: чем больше у вас данных, тем меньше потребность в «ручном проектировании» (hand engineering) признаков и архитектур . В условиях избытка информации нейросеть может выучить всё необходимое самостоятельно даже на простой архитектуре. Однако в условиях дефицита данных ручное проектирование становится единственным способом добиться высокой производительности .

🛠 Ручное проектирование: искусство или костыль? 4:18

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

Исторически область компьютерного зрения развивалась на очень маленьких датасетах, что и сформировало культуру создания невероятно сложных и тонко настроенных нейросетевых архитектур . Даже сегодня, когда объем данных значительно вырос, CV-алгоритмы остаются более сложными в плане выбора гиперпараметров по сравнению со многими другими дисциплинами .

В качестве инструментов для работы в условиях дефицита данных Эндрю Ын выделяет:

  1. Тщательное проектирование архитектуры сети.
  2. Перенос обучения (Transfer Learning) — метод, который критически важен для таких задач, как детекция объектов .

🏆 Бенчмарки против реальности: как побеждать в соревнованиях 6:25

В академической среде компьютерного зрения существует культ побед на стандартизированных бенчмарках. По мнению Ына, это имеет свои плюсы — сообщество быстрее понимает, какие алгоритмы эффективны, — но порождает методы, которые почти не применимы в реальной эксплуатации (production) .

Для получения заветных лишних 1-2% точности на соревнованиях исследователи используют два основных приема, которые Эндрю Ын не рекомендует применять в бизнес-задачах:

Ансамблирование (Ensembling)

Этот метод подразумевает обучение нескольких (от 3 до 15) одинаковых сетей с разной случайной инициализацией и усреднение их прогнозов .

Multi-crop на этапе тестирования

Это форма аугментации данных, применяемая не при обучении, а при проверке модели. Например, используется техника «10-crop»: из изображения вырезается центральная часть и четыре угла, затем то же самое делается для зеркально отраженного изображения . Все 10 вариантов прогоняются через классификатор, а результаты усредняются.

🚀 Практические советы по созданию систем 11:07

Для тех, кто строит практические системы, Эндрю Ын дает ключевой совет: не пытайтесь изобрести велосипед. Архитектуры, которые хорошо работают в одной задаче компьютерного зрения, с большой вероятностью подойдут и для другой .

Рекомендованный алгоритм действий:

  1. Найдите существующую архитектуру, хорошо показавшую себя в литературе.
  2. Используйте open-source реализацию, если это возможно. В ней уже могут быть учтены тонкие детали вроде графиков снижения скорости обучения (learning rate decay) и другие гиперпараметры .
  3. Возьмите предобученную модель. Кто-то уже мог потратить недели времени и ресурсы нескольких GPU, чтобы обучить её на миллионе изображений. Тонкая настройка (fine-tuning) такой модели на ваших данных позволит запустить проект гораздо быстрее .

В завершение лекции автор отмечает, что самостоятельное обучение сетей с нуля оправдано только в том случае, если у вас есть избыточные вычислительные ресурсы или вы стремитесь создать принципиально новый алгоритм .

💬 Цитаты

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

«Ансамблирование — это один из тех советов, которые люди используют для победы в соревнованиях, но который почти никогда не используется в продакшене.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Bounding box
Прямоугольная рамка, которой на изображении выделяется конкретный объект для обучения нейросети.
Ensembling
Метод обучения нескольких моделей и объединения их предсказаний для повышения точности.
Multi-crop
Техника тестирования, при которой модель делает предсказания для нескольких фрагментов одного изображения и усредняет их.
Transfer Learning
Перенос знаний, полученных моделью на одной задаче, для решения другой, схожей задачи.
Fine-tuning
Дообучение (тонкая настройка) уже обученной нейросети под конкретную узкую задачу.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Эндрю Ын Computer Vision Transfer Learning Ensembling DeepLearning.AI