Ключевым средством развертывания моделей глубокого обучения является мобильное устройство. Преимущество запуска моделей в мобильных приложениях вместо их отправки в облако - сокращение задержки и возможность обеспечить конфиденциальность данных для пользователей. Несмотря на разнообразие библиотек глубокого обучения и инструментов искусственного интеллекта, успешное внедрение модели глубокого обучения в мобильное приложение может оказаться сложной задачей. Анируд Коул, руководитель отдела ИИ и исследований в Aira, объяснил пошаговый процесс развертывания сверточных нейронных сетей (ConvNets) в приложениях для мобильных устройств во время своей лекции на ODSC West 2018.

[Статья по теме: Подходы машинного обучения к данным мобильного зондирования для повышения безопасности беспилотных автомобилей]

Анируд объяснил процесс, необходимый для развертывания приложения ConvNet с учетом нескольких временных рамок. С минимальным временем, скажем, за час, можно просто использовать облачный API, размещенный в Google, Amazon или Microsoft. API позволяет пользователю просто загрузить фотографию и получить прогнозы; здесь не нужно моделировать. Анируд разбивает производительность облачных API-интерфейсов по каждой компании в таблице ниже.

Как упоминалось ранее, облачные API страдают от задержки, связанной с отправкой информации в облако. Если у вас есть только день для развертывания приложения, можно использовать предварительно обученные модели, такие как ResNet50 или Inception, без необходимости в обучении. Однако этот подход ограничен предсказанием 1000 классов, для предсказания которых были разработаны предварительно обученные модели. Поскольку все прогнозы должны быть сделаны локально, необходима платформа для поддержки предварительно обученной модели на мобильном телефоне. Для этой цели Анируд рекомендует CoreML, TensorFlow Lite и Caffe2. В целом Анируд рекомендует использовать модель Keras и CoreML или TensorFlow Lite для приложений iOS или Android соответственно.

Чтобы делать прогнозы для конкретной задачи, скажем, для определения разницы между породами собак, нужно обучить ConvNet на изображениях для конкретной задачи. Обучение ConvNets требует значительного количества времени для вычислений и экспериментальных испытаний. Построение ConvNet может быть выполнено с различной степенью настройки, от простого обучения последнего уровня предварительно обученной модели до обучения полной ConvNet с настраиваемой архитектурой (то есть структурой модели). Анируд указал, что объем необходимого обучения зависит от сходства набора данных с набором данных, используемого для данной предварительно обученной модели, и от размера набора данных (подробности ниже).

Скорость обработки - ключевая особенность развертывания ConvNets в реальном времени на мобильных устройствах. Некоторые архитектуры ConvNet предлагают более эффективную классификацию, чем другие. Например, Google Inception-V3 предлагает немного более высокую точность для классов ImageNet с существенно меньшим временем вычислений. Стоит поискать передовую модель, которая сделает классификации похожими на вашу задачу. Анируд также упомянул убедительную технику для автоматизации поиска наиболее эффективной архитектуры ConvNet под названием Platform-Aware Neural Architecture Search. Этот метод использует обучение с подкреплением, которое наказывает модели за большое время вычислений.

[Статья по теме: Как использовать предварительно обученные слои в классификации изображений]

Ключевые выводы:

  • Для данного приложения глубокого обучения необходимы два основных компонента: модель глубокого обучения и платформа для развертывания.
  • CoreML и TensorFlow Lite предлагают платформы, которые требуют минимального программирования и напрямую поддерживают общие библиотеки машинного обучения.
  • Для эффективного прогнозирования с минимальной задержкой требуется тщательное проектирование архитектуры модели.
  • Объем необходимого обучения зависит от схожести задачи с задачей предварительно обученных моделей и размера набора данных.

Оригинальный пост здесь.

Прочтите больше статей по науке о данных на OpenDataScience.com, включая учебные пособия и руководства от новичка до продвинутого уровня! Подпишитесь на нашу еженедельную рассылку здесь и получайте последние новости каждый четверг.