Машинное обучение лежит в основе многих замечательных приложений, включая компьютерное зрение, распознавание речи, веб-поиск, рекомендательные системы и многие другие. Если вы работаете над проектом машинного обучения, вам может понадобиться быстрый прогресс и желаемые результаты. Поэтому в этой и нескольких следующих статьях я объясню некоторые перспективные направления, которые можно попробовать.

Предположим, вы строите модель обнаружения объектов со своей командой и хотите обнаруживать кошек. Далее, вы хотели бы развернуть модель на смартфоне. Вы обучили свою модель обнаружения объектов, однако, когда вы ее развернули, точность вашего алгоритма, к сожалению, недостаточно высока. Что случилось? Чем вы сейчас занимаетесь? У вашей команды может быть много идей по улучшению производительности, например:

  • Получение большего количества обучающих данных и получение большего количества изображений кошек и не кошек.
  • Сбор более разнообразных данных в различных условиях, таких как различная ориентация, освещение, размытые изображения и различные настройки камеры.
  • Попытка более крупной нейронной сети с большим количеством скрытых слоев, скрытых единиц и дополнительных параметров.
  • Обучение вашего алгоритма обучения дольше, что означает больше итераций градиентного спуска.
  • Изменение архитектуры нейронной сети (скрытые слои, скрытые блоки, функция активации и т. д.)
  • Пробуем меньшую нейронную сеть.
  • Добавление регуляризации (например, регуляризация L2)
  • ….

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

Масштабирование способствует прогрессу в машинном обучении

У вас может возникнуть вопрос: почему глубокое обучение (нейронные сети) сейчас набирает обороты? Двумя крупнейшими движущими силами недавнего прогресса были:

  • Доступность данных. Благодаря технологическим инновациям люди теперь проводят больше времени за такими устройствами, как ноутбуки, мобильные телефоны и цифровые устройства. Эти гаджеты генерируют огромное количество данных, которые вы можете передать своему алгоритму обучения.
  • Масштаб вычислений. Теперь мы можем обучать более крупные нейронные сети с огромным объемом данных. Недавний прогресс в вычислительной мощности сделал это возможным.

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

Эти традиционные алгоритмы не знали, что делать с огромным объемом данных.

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

Наконец, если вы попробуете более крупную нейронную сеть с большим количеством скрытых слоев, скрытых модулей и параметров. Вы можете получить еще более высокую производительность.

Здесь вы можете увидеть значительную разницу в производительности, большая NN становится более точной по мере увеличения объема данных. Следовательно, вы хотели бы иметь более крупную модель (на зеленой кривой) и огромное количество данных для повышения производительности.

Многие другие факторы, такие как архитектура нейронной сети, также важны. Однако на сегодняшний день наиболее надежным способом является (i) получение большего количества данных и (ii) обучение более крупной нейронной сети.

Процесс (i) и (ii) получения работы для вас намного сложнее, чем вы думаете. В следующей статье я объясню общие стратегии и самые современные стратегии создания систем глубокого обучения, таких как обнаружение объектов, и как вы можете выбрать лучшие варианты для повышения производительности вашей модели.

Сводка

Производительность нейронной сети сильно зависит от архитектуры нейронной сети и объема имеющихся у вас данных. Получение огромного количества данных и обучение более крупного алгоритма глубокого обучения — эффективный способ улучшить производительность вашей модели.

Ссылки

[я]. https://github.com/ajaymache/machine-learning-тоска

[ii]. https://towardsdatascience.com/understanding-ssd-multibox-real-time-object-detection-in-deep-learning-495ef744fab