Написанная / гостевая статья Чена Фэна, Терри Шэна, Джея Чжо, Чжию Ляна, Паркера Чжана и Лян Шэня из Qualcomm Technologies.
Источник | Публичный аккаунт TensorFlow
Вызов IEEE LPIRC
Low Power Image Recognition Challenge (LPIRC) — это ежегодное соревнование, в котором оцениваются технологии компьютерного зрения с точки зрения точности, времени выполнения и энергопотребления. Конкурс этого года, спонсируемый Google и Facebook, разделен на три трека, где трек 1 ставит задачу обработки 20 000 изображений в течение 10 минут с использованием смартфона Pixel 2 на базе мобильной платформы Qualcomm Snapdragon 835 с максимальной точностью. классификации изображений. В конкурсе используется большой набор данных примерно из 1,2 миллиона изображений в формате JPEG, охватывающих 1000 различных классов, в качестве обучающих данных и набор изображений Holdout в качестве тестовых данных.
Реальный мир требует моделей нейронных сетей, которые могут работать в режиме реального времени на мобильных устройствах и могут точно классифицировать изображения, и этот открытый конкурс был проведен для этой цели. Помимо точности, вычислительная эффективность также имеет решающее значение для устройств с батарейным питанием. В соревновании наша команда использовала удобную для количественной оценки архитектуру MobileNet V2 с усовершенствованной схемой постквантования и вышла на первое место благодаря превосходной скорости и точности. Мы вставляем узлы FakeQuantization с вычисленными минимальными и максимальными значениями для каждого слоя, чтобы изменить график в TensorFlow, и используем TensorFlow Lite, чтобы преобразовать график в файл .tflite для аппаратного развертывания.
Члены команды Qualcomm Canada Inc: Паркер Чжан, Лян Шен, Чен Фэн, Терри Шэн, Джей Чжо и Чжию Лян.Наша модель достигла наивысшей точности при распознавании 20 000 изображений за 28 мс на вывод на одном процессоре ARM.
«Эта задача идеально согласуется с нашей стратегией ИИ, и победа в этом конкурсе будет иметь большое значение для утверждения роли Qualcomm Technologies в машинном обучении и продвижении ИИ в устройствах», — сказал Микки Алексик, вице-президент по разработкам в Qualcomm Technologies, Inc. "
Реализуйте чрезвычайно быстрое распознавание изображений на устройстве
Для точного и быстрого распознавания изображений на периферийных устройствах необходимо выполнить следующие шаги:
-
Создайте и обучите модель нейронной сети для распознавания и классификации изображений в операциях с плавающей запятой.
-
Преобразование моделей с плавающей запятой в модели с фиксированной запятой, которые могут эффективно работать на периферийных устройствах без проблем с задержкой и точностью.
Модель нашей команды построена на MobileNet v2, но изменена таким образом, чтобы ее было «легко подсчитать». В то время как модель MobileNet от Google успешно уменьшает размер параметра и вычислительную задержку за счет использования разделяемой структуры свертки, прямое квантование предварительно обученной модели MobileNet v2 может привести к потере точности. Наша команда проанализировала и определила основную причину снижения точности из-за квантования в таких разделимых сверточных сетях и решила эту проблему без использования переобучения с учетом квантования. При обучении с учетом квантования модель достигает хорошей точности, и наш подход является альтернативой, которая позволяет модифицировать сетевую архитектуру для решения квантования без повторного обучения. Другой, более комплексный подход заключается в использовании платформы машинного обучения Google Learn2Compress для обучения эффективных моделей на устройстве непосредственно с нуля путем оптимизации нескольких сетевых архитектур и одновременного использования квантования и других методов (таких как уточнение, сокращение и совместное обучение). или существующая модель TensorFlow. Примечание: ссылка Learn2CompressЛюбовь. Google blog.com/2018/05/ Подсказка…
Архитектура модели
В структуре сепарабельной свертки мы применяем глубинную свертку к каждому каналу отдельно. Однако минимальное и максимальное значения, используемые для квантования веса, берутся вместе со всех каналов. Выбросы в одном канале могут вызвать потери квантования для всей модели из-за расширения диапазона данных. Если вычисления данных не выполняются в разных каналах, сверточная структура по глубине может давать нулевые веса внутри канала, что характерно как для моделей MobileNet v1, так и для v2. Все нулевое значение в канале означает, что отклонение мало. При применении пакетного преобразования нормализации непосредственно после свертки по глубине ожидается, что значение «масштаба» для этого конкретного канала будет больше. Это ставит под угрозу репрезентативную силу всей модели.Наша команда предлагает легко поддающуюся количественной оценке эффективную отделимую сверточную архитектуру в качестве решения, которое полностью устраняет нелинейные операции (пакетная нормализация и ReLU6) между глубинными и точечными сверточными слоями, позволяя сети изучать соответствующие веса для непосредственной обработки пакетных преобразований нормализации. Кроме того, мы также заменяем ReLU6 на ReLU во всех точечных сверточных слоях. В многочисленных экспериментах с моделями MobileNet v1 и v2 эта архитектура продемонстрировала значительное повышение точности в 8-битном канале квантования.
технология постколичественного анализа
Как только структура модели определена, вы можете обучить модель с плавающей запятой на наборе данных. На этапе постквантования мы запускаем модель с различными входными данными и против одного изображения каждого класса в обучающих данных, чтобы собрать минимальные и максимальные значения и распределение гистограмм данных для каждого вывода слоя. Мы выбираем оптимальные значения Step и Offset (обозначаемые Δ) для линейного квантования, которые минимизируют общую сумму потерь квантования и потерь насыщения при жадном поиске. Основываясь на вычисленных минимальных и максимальных диапазонах, TensorFlow Lite предоставляет путь для преобразования графовых моделей в модели .tflite для развертывания на периферийных устройствах.
Нин Би из Qualcomm Technologies, Inc (в центре справа на фотографии выше) принимает награду от имени команды.в заключении
Перенос вычислений на 8-битные вычисления с сохранением высокой точности — важный шаг для быстрого и эффективного запуска моделей на периферийных устройствах. Наша команда обнаружила эту проблему количественного определения, проанализировала и определила ее основную причину, а затем устранила ее. Впоследствии мы применили эти результаты к задаче классификации изображений и увидели, как наши теоретические результаты стали реальностью. Вы можете узнать больше в нашей статье «Удобная для квантования архитектура сепарабельной свертки для мобильных сетей» (АР Вест V.org/ABS/1803.08…).