Машинное обучение на мобильных телефонах
Задача Машинного обучения на мобильных телефонах — очень популярная область машинного обучения. Огромное количество мобильных приложений каким либо образом используют машинное обучение.
Соцсети, редакторы фото и видео, карты, игры и даже ваш плеер — все это использует машинное обучение.
Задачи машинного обучения на телефонах
Кастомизация
Конечно же, самое первое, что может прийти в голову про применения машинного обучения на телефонах — это кастомизация. Подбор музыки, новостей, любого контента — все это достигается путем обучения машинного обучения. Приложение получает ваши персональные данные и, используя данные старых пользователей, показывает вам то, что понравилось людям с наиболее подходящими данными. Однако такая работа связана с очень большими вычислениями, и, чаще всего, выполняется на сторонних серверах. Самая частая модель для классификации изображений - CNN, однако часто даже такая классификация является излишней.
Распознавание фото и видео
Распознавание фото и видео на мобильных телефонах мало чем отличается от обычных компьютерных методов, только цели немного другие.
Существует несколько известных библиотек для работы с изображениями на мобильных приложениях: Tesseract, OpenCV, Mobile Vision Google. Изображения легко передавать через сеть, так что можно обрабатывать их и на веб-серверах
Распознавание текста
Распознавание звука
Анализ данных с сенсоров
Навигация
Процессоры
Из-за медлительности телефонов развитие машинного обучения на телефонах началось совсем недавно. Раньше все данные хранились на серверах компаний, выбор модели был очень широк, и, с точки зрения безопасности, это было плохо. Однако теперь IT-гиганты, такие, как Google, переходят на модель федеративное обучение. Понятно, что обычный телефон не может себе позволить обучаться на тяжелых моделях, таких как, например, нейронные сети. Однако существуют модели, которые потребляют очень малое количество памяти и времени на обучение. В основном именно они используются, когда нет соединения с сервером.
Однако машинное обучение стало настолько актуальным, что производители процессоров задумались о том, что бы создавать процессоры, некоторые чипы которых заточены под задачи машинного обучения.
Примерами являются такие процессоры как:
- Qualcomm Neural Processing SDK. Этот процессор заточен под работу с аудио и видео: распознавание речи, умная камера, очистка картинки от шума и подобное
- Huawei Ai. Этот процессор заточен под компьютерное зрение, распознавание речи и интерпретацию естественного языка
- NeuroPilot SDK. Процессор заточен под отслеживание поз множества людей, идентификацию множества объектов, семантическую сегментацию, обработку изображений.
- Samsung Neural SDK. Заточен под обработку матриц, которые часто встречаются в задачах машинного обучения.
- CoreML SDK. Создан для классификации объектов, звуков, движений, текста, табличных данных, обладает рекомендательной системой.
Существует огромное число процессоров для огромного числа задач, начиная от задачи линейной регрессии до задач глубокого обучения.