"Машинное обучение"

Google AutoML Vision для классификации изображений

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

AutoML от Google позволяет обучать пользовательские модели машинного обучения без программирования.

Обучение высокопроизводительных глубоких сетей часто является сложной задачей, особенно для тех, у кого меньше опыта в глубоком обучении или искусственном интеллекте. Кроме того, нам может потребоваться графический процессор в дополнение к ОЗУ и ЦП. У меня было много проблем, когда я пытался попасть в категорию CNN.

Что, если я скажу, что Google AutoML Vision решит наши проблемы? Да, AutoML Vision позволяет нам обучать пользовательские модели машинного обучения классифицировать изображения в соответствии с нашими собственными метками. Он обучит модель по размеченным изображениям и оценит производительность. Для этого не требуется, чтобы от пользователя были какие-либо знания в области глубокого обучения или искусственного интеллекта, все, что вам нужно, - это помеченные данные! Он обучит, развернет и сервер приложение для нас.

В этой статье я покажу вам, как использовать Google AutoML для распознавания мимики.

Вы взволнованы? Давайте нырнем глубже, пока не поздно!

Подготовка помеченного набора данных

Данные о выражениях лица поступают из различных источников, в том числе

Я загрузил CSV-файл, набор данных, состоящий из пикселей обучающих и тестовых изображений, предоставленных Kaggle.

Теперь у нас есть фрейм данных с пикселями изображения и его соответствующая метка (0 = сердитый, 1 = отвращение, 2 = страх, 3 = счастливый, 4 = грустный, 5 = сюрприз, 6 = нейтральный). Нам нужно получить изображения из этих значений пикселей и организовать каждую метку в отдельной папке.

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

После того, как изображения будут идеально организованы, ваша папка набора данных будет выглядеть примерно так:

Прежде чем вы сможете использовать Cloud Vision API, вы должны включить его для своего проекта:

Google предлагает вам кредит в размере 300 долларов США для новых клиентов, чтобы бесплатно начать работу с Google Cloud Platform. Если вы не используете уровень бесплатного пользования, Google взимает плату за каждый созданный вами ресурс.

  1. Войдите в свою учетную запись Google.
  2. В облачной консоли на странице выбора проекта выберите или создайте облачный проект.
  3. Убедитесь, что для вашего проекта Google Cloud включен биллинг.
  4. Включите Cloud Vision API.
  5. Настроить аутентификацию.

Для получения дополнительной информации нажмите здесь.

Создать новый набор данных

После первоначальной настройки вы увидите панель Vision Dashboard, как показано выше. Теперь нажмите Начать.

Вы будете перенаправлены на консоль для создания нового набора данных. Дайте ему имя, выберите цель модели и нажмите СОЗДАТЬ НАБОР ДАННЫХ.

Импортировать набор данных

Теперь загрузите zip-файл набора данных, нажав ВЫБРАТЬ ФАЙЛЫ. И просмотрите место назначения в облачном хранилище, т. е. путь к сегменту для хранения набора данных. Нажмите ПРОДОЛЖИТЬ. Мы также можем импортировать CSV-файл со ссылками на изображения.
Импорт набора данных займет некоторое время.

После импорта набора данных вы можете проверить количество изображений в каждой этикетке. Мы можем добавлять сюда новые метки, удалять любые изображения. Как видите, общее количество изображений 38 535. Но наш исходный набор данных содержит 41 944 образца, потому что некоторые изображения будут отброшены AutoML по умолчанию (с ошибкой: метка уже является достоверной).

Нажмите СТАТИСТИКА ЭТИКЕТОВ, чтобы проверить количество изображений, используемых для обучения, проверки и тестирования.

Обучите модель

Теперь у нас есть помеченный набор данных, импортированный в облако Google. Мы можем обучить модель, выбрав НАЧАТЬ ОБУЧЕНИЕ.

Теперь появится консоль для обучения модели,

Дайте модели имя и выберите Edge, чтобы загрузить файл модели для дальнейшего использования. Кроме того, вы можете выбрать Размещение в облаке, если хотите разместить модель в облаке Google. Нажмите ПРОДОЛЖИТЬ.

После определения модели нам необходимо оптимизировать ее, выбирая компромисс между размером пакета (файла модели), временем отклика и точностью. Выберите вариант, необходимый для вашего приложения, и нажмите ПРОДОЛЖИТЬ.

На заключительном этапе нам нужно установить бюджет. AutoML порекомендует количество узлов, необходимое для обучения модели. Однако вы можете уменьшить или увеличить время работы узла. (ПРИМЕЧАНИЕ: больше время узлов будет дороже). Нажмите НАЧАТЬ ОБУЧЕНИЕ. Обучение может занять несколько часов, и вы получите электронное письмо по окончании обучения.

Щелкните ссылку, чтобы начать использовать вашу модель.

Оцените модель

После завершения обучения мы можем проверить детали модели, то есть количество образцов (изображений), использованных для обучения, время, затраченное на обучение, точность, отзыв и т. Д. Нажмите СМОТРЕТЬ ПОЛНУЮ ОЦЕНКУ.

Avergare Precision - 76%

Мы видим количество изображений, использованных для тестирования, то есть 3855. Здесь мы можем изменить значение порога уверенности (которое изначально установлено на 0,5) и проверить изменение.

Приведенные выше графики получены, когда пороговое значение установлено на 0,75. Замечено, что значение «Точность» увеличивается (т. Е. Низкая частота ложных срабатываний), но уменьшается количество повторных вызовов.

Для простоты я сохраняю пороговое значение уверенности равным 0,5.

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

Протестируйте и используйте модель

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

Выбрав РАЗВЕРТИТЬ МОДЕЛЬ в правом верхнем углу, мы можем развернуть модель здесь, в Google Cloud, для онлайн-прогнозов, что опять же стоит нам.

Google Cloud AutoML предоставляет нам различные способы использования нашей модели. Например, мы можем экспортировать нашу модель для запуска в контейнере Docker, или для настройки на устройствах iOS и macOS, или для запуска модели в нашем браузере.

Я хочу экспортировать модель как пакет TF Lite для работы на мобильных устройствах. Щелкните значок TF Lite.

Найдите папку пути / назначения в облачном хранилище, чтобы сохранить пакет tflite.

Нажмите ЭКСПОРТ. Перейдите по пути и загрузите файл.

Использование пакета TF Lite

После загрузки tflite файла модели мы можем использовать его для прогнозов с помощью TensorFlow.

Реализация,

Использовать TF Lite Package просто, с помощью этой функции при разработке API или во Flask, Django Server можно найти множество приложений.

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

Я использовал AutoML и разработал приложение для создания мемов. Вы можете проверить это здесь.

Заключение

Мы увидели, как использовать Google Cloud AutoML для обучения пользовательских моделей машинного обучения и как использовать артефакты для дальнейшего развертывания (пакет tflite).

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

Если вы хотите связаться, свяжитесь со мной в LinkedIn.