- Машинное обучение на Android
- Вычислительные ресурсы смартфонов
- Приложение для обработки данных
- Выбери себе алгоритм
- Запусти свой алгоритм
- Как применить машинное обучение (ML) в приложении для Android
- Машинное обучение для мобильных приложений
- Как сделать приложение машинного обучения
- Некоторые из лучших приложений машинного обучения —
- 1)Netflix
- 2)Tinder
- 3)Карты Гугл
- Как применить машинное обучение к Android
- Использование TensorFlow Lite в приложении для Android
- Обучение модели TensorFlow на Android
- Вы можете сделать это обучение, выполнив следующие шаги —
- Некоторые из высокопрофессиональных служб машинного обучения и API
- Двигаться вперед
Машинное обучение на Android
Привет, Хабр! Представляю вашему внимаю перевод статьи из журнала APC.
Машинное обучение и интеллектуальный анализ данных – это практические разработки ИИ, благодаря которым появляются приложения различных тематик, начиная от воздухоплавания и заканчивая зоологией. Эти процессы чаще всего выполняются в облаке, на ПК или ноутбуке, гораздо реже – в смартфоне.
Однако недавно в Google Play появилось новое бесплатное приложение под названием «DataLearner», с помощью которого можно добывать данные. Оно не требует внешних ресурсов и доступа с полномочиями суперпользователя.
Вычислительные ресурсы смартфонов
Многие ошибочно полагают, что для машинного обучения и добычи данных требуется много ресурсов облачной вычислительной системы или по меньшей мере мощный компьютер. Однако в конечном счёте всё сводится к размеру анализируемых данных и типу машинного обучения, которое вы хотите применить.
У компьютерного обучения есть свои уровни сложности. Если представить, что такая недавно появившаяся техника глубокого обучения, как свёрточная нейросеть (CNN) – это автомобиль с высокой удельной мощностью, то другие техники, например, дерево поиска решений и многие прочие «лесные» методы обучения – это горячие «хэтчбеки». Они показывают отличные результаты, быстры и легки даже при ограниченных вычислительных возможностях CPU.
Приложение для обработки данных
Недавно Google выпустила TensorFlow Lite. Это приложение для смартфонов и Интернета вещей, предназначенное для глубинного обучения физических объектов. Однако DataLearner пошёл иным путём. Он поддерживает традиционные алгоритмы классификации, например, NaïveBayes и Random Fores. Все они будут храниться в вашем телефоне и не требовать участия третьей стороны для получения доступа к ним.
В DataLearner сочетаются основные компоненты приложения для извлечения данных с открытым исходным кодом Weka и новые алгоритмы компьютерного обучения, разработанные сотрудниками Университета Чарльза Стерта в Австралии. Приложение автономно, т.е. не требует облачных вычислений или интернет — соединения для нормальной работы. Программа не запрашивает доступ с полномочиями суперпользователя, не собирает информацию о вас (за исключением тех данных, которые Google получает из загрузочных файлов в Google Play) и поддерживается на всех устройствах на Android 4.0 и выше. Она легка в управлении благодаря простому пользовательскому интерфейсу, состоящему из трех основных экранов.
При запуске приложения появляется загрузочный экран, где можно скачать пакеты данных CSV или ARFF. Их можно сохранить локально или в загрузках. Для формата CSV нужна строка заголовка. После загрузки вы увидите общую информацию о данных, включая типы и число параметров, а также атрибуты класса.
Выбери себе алгоритм
Если провести по экрану влево, откроется окно, где можно выбрать один из 40 алгоритмов для распознавания паттернов в пакете данных. Извлечение информации – по сути, это выделение паттернов в данных и связей между различными атрибутами и признаками. Совершенного алгоритма не существует, и потому DataLearner предоставляет вам широкий спектр для выбора. Помимо большого числа алгоритмов от разработчиков приложения Weka в списке имеются несколько новых методов, созданных сотрудниками Университета Чарльза Стерта, например, ForestPA, SysFor и SPAARC.
Запусти свой алгоритм
Здесь начинается самое интересное.
Делать вам ничего не придётся, кроме того, что нажать кнопку ‘Run’. Остальное DataLearner сделает сам. Сначала он построит модель ваших данных, т.е. соотнесёт атрибуты друг с другом.
Атрибут класса определяет сгруппированный список, к которому принадлежит каждый пакет данных. Например, стандартная демонстрационная версия пакета данных выдаёт такие показатели погоды, как температура, влажность, направление ветра и количество осадков за последние несколько дней. А вы извлекаете данные, чтобы узнать, есть ли какие-нибудь паттерны в том, как данные показатели погоды соотносятся с тем, дождливо или нет было в тот день.
Затем приложение выполняет перекрёстную сверку набора правил или «модели», созданной посредством метода под названием «10-проходная перекрёстная проверка», чтобы узнать, каковы её прогностические возможности. В итоге вы получите математический анализ, основной результат которого процент точности. Он появится вверху экрана.
Нажмите кнопку ‘View details/matrix’ внизу экрана, и вы получите более детализированную информацию о модели и том, как она работает. Здесь информация о паттернах будет представлена в более наглядном виде.
Также необходимо помнить о количестве загружаемых данных на обработку: несмотря на хвалёную производительность мобильных процессоров, не стоит ожидать от них той же скорости, что и у AWS или Google Cloud. Также не стоит ждать, что вы сможете загрузить с Facebook данные о дорожной обстановке за последние десять лет и того, программа обработает их за…нет, она никогда их не обработает. Тем не менее есть много приложений с более скромными источниками информации, для обработки которых смартфон бы подошёл идеально.
Источник
Как применить машинное обучение (ML) в приложении для Android
Дата публикации Jun 10, 2019
Машинное обучение — это приложение искусственного интеллекта (AI), которое позволяет программному обеспечению автоматически изучать, изучать и предвидеть результаты без вмешательства человека. Машинное обучение использовалось во многих областях, и сейчас оно активно используется для разработки мобильных приложений.
Есть несколько способов применить машинное обучение в приложении для Android. Наиболее подходящий способ основан на заданиях или заданиях, которые вы хотите решить с помощью машинного обучения.
Алгоритмы машинного обученияможет выполнять анализ целевых шаблонов поведения пользователя и выполнять поисковые запросы для внесения предложений, а также рекомендаций. Он широко используется в мобильных приложениях электронной коммерции. Распознавание видео и аудио — это даже тип ML, используемый в сфере развлечений, например Snapchat.
Его также можно использовать для распознавания лиц или отпечатков пальцев, чтобы упростить аутентификацию. В противном случае вы можете добавить чат-бота в мобильное приложение, которое стало популярным среди таких приложений, какЯблочная Сири,
Согласно исследованию, проведенномуbccresearch, Мировой рынок машинного обучения составил 1,4 миллиарда долларов в 2017 году и оценивается в 8,8 миллиарда долларов к 2022 году.Машинное обучение против искусственного интеллектатакже самая обсуждаемая тема для аналитиков данных.
Специалисты по технологиям даже оптимизируют процессы поиска, включив ML в приложение для Android. Добавление исправления орфографии, голосового поиска или процедуры поиска для ваших целевых пользователей станет более спонтанным и менее утомительным.
Машинное обучение для мобильных приложений
Разработчики мобильных приложений могут извлечь выгоду из инновационных преобразований, которые Машинное обучение (ML) предлагает по всей отрасли. Это возможно благодаря техническим возможностям, которые мобильные приложения приносят на стол, обеспечивая более гладкие пользовательские интерфейсы, опыт и расширяя возможности компаний с выдающимися функциями, такими как предоставление точных предложений на основе местоположения или немедленное обнаружение хронических заболеваний.
Люди хотят, чтобы их опыт был абсолютно персонализированным в эти дни. Таким образом, недостаточно создать качественное приложение, но вы должны даже заставить целевых пользователей придерживаться вашего мобильного приложения.
Здесь машинное обучение может помочь вам. Технология машинного обучения может преобразовать ваше мобильное приложение в видение пользователя.
Как сделать приложение машинного обучения
Создание приложений ML — это итеративная процедура, которая включает в себя сопоставление основных проблем машинного обучения с тем, что в настоящее время наблюдается, и какое решение вы хотите предусмотреть в модели. Затем вам необходимо собрать, очистить и отфильтровать данные, передать результаты и далее использовать модель для составления прогнозов необходимых ответов для вновь созданных экземпляров данных.
Некоторые из лучших приложений машинного обучения —
1)Netflix
В Netflix они используют алгоритмы машинного обучения. Он сделал точные, персонализированные ссылки с помощью линейной регрессии и логистической регрессии и других подобных алгоритмов.
Приложение Netflix использует разнообразный контент, классифицированный по разнообразию, актерам, отзывам пользователей и критиков, временному интервалу, году и многому другому, чтобы предложить их аудитории. Вся эта информация входит в алгоритмы машинного обучения.
Алгоритмы ML в Netflix обучаются через действия пользователя, которые отслеживают поведение его пользователей. Он отслеживает, какие телепередачи я смотрю, или какие обзоры я предоставляю онлайн. А алгоритмы машинного обучения знакомят с поведением этого пользователя, предлагая исключительно персонализированный контент.
2)Tinder
Мы знаем, что Tinder — это мобильное приложение, которое помогает найти партнера для знакомства. Он использует алгоритмы машинного обучения, чтобы найти точное соответствие. Он использует фрагменты информации, такие как размещенные изображения, демонстрируя их в случайном порядке, и анализирует, как часто они считываются, что помогает приложению изменить порядок ваших фотографий, поместив большинство наблюдаемых фотографий в первую очередь. Эта инновационная функция повышает шансы пользователя найти идеальное соответствие.
3)Карты Гугл
Исследователи Google собирают и изучают данные от очень большой выборки людей. Они задают им вопросы о том, как долго и возникнут ли у них трудности с поиском парковки. Они выбирают, агрегируют и используют эти данные, создавая различные модели обучения из тех, кто поделился информацией о своем местонахождении.
Машинное обучение также применяет процессы к мобильному приложению Android от Tensorflow, которое является важной средой ML.
Как применить машинное обучение к Android
Есть рядрамки машинного обучениядоступно и мы подберем здесь Tensorflow например.
TensorFlowбиблиотека Google с открытым исходным кодом, которая используется в Android для реализации машинного обучения TensorFlow Lite используется как облегченное решение TensorFlow для мобильных устройств. Это позволяет сделать вывод ML на устройстве с использованием низкой задержки, поэтому он очень быстр. Это очень хорошо для мобильных устройств, поскольку требует небольшого двоичного размера и даже поддерживает аппаратное ускорение с помощью Android Neural Networks API.
Использование TensorFlow Lite в приложении для Android
Вот краткое изложение примера машинного обучения Android TensorFlow и того, как применить Machine Learning к Android. Чтобы выполнить модель с помощью TensorFlow Lite, вам придется изменить модель на модель (.tflite), которая подтверждается TensorFlow Lite. Важным моментом при использовании TensorFlow Lite является построение модели (.tflite), которая отличается от стандартной модели TensorFlow.
Получив модель и файл метки, можно запускать и маркировать файлы в приложении Android для загрузки требуемой модели и прогнозирования выходных данных с помощью необходимой библиотеки TensorFlow Lite.
У нас есть опыт создания всего запущенного примера приложения с использованием TensorFlow Lite, предназначенного для требуемого обнаружения объектов.
Обучение модели TensorFlow на Android
Обучение модели TensorFlow, которая требует большого количества данных, может занять гораздо больше времени. Однако есть способ сделать эту процедуру намного короче, не требуя огромной вычислительной мощности графического процессора и гигабайт изображений. Трансферное обучение — это курс действий по использованию ранее обученной модели и ее переподготовке для создания новой модели.
Вы можете сделать это обучение, выполнив следующие шаги —
• Шаг 1. Сбор данных о тренировках.
• Шаг 2. Преобразование данных в нужные изображения.
• Шаг 3. Создайте папки с изображениями и сгруппируйте их
• Шаг 4. Перенесите модель со свежими изображениями
• Шаг 5. Оптимизация модели для доступных мобильных устройств.
• Шаг 6: встроить файл .tflite в приложение
• Шаг 7. Запустите приложение локально и узнайте, обнаруживает ли оно изображения.
Сложность ввода для использования машинного обучения становится менее значимой. Многие компании создали полностью обученные API-интерфейсы машинного обучения, которые вы можете сразу начать использовать:
Некоторые из высокопрофессиональных служб машинного обучения и API
•Сервисы Google Play — API Mobile Vision
Основная группа служб машинного обучения была создана в SDK Google Play Services. Это говорит о том, что любой из разработчиков Android может использовать эти сервисы в своих приложениях.Google Cloud Vision APIЭто один из примеров, который дает разработчикам возможность использовать камеру Android для распознавания лиц, проверки штрих-кодов и идентификации текста.
•ML Rest Services — API Google CLOUD ML
Остальные службы хорошо обучены и всегда готовы к использованию для умных задач. Существует множество таких сервисов REST, как с бесплатными, так и с платными опциями.
Google ML платформавключает в себя API-интерфейсы перевода, распознавания речи, НЛП и списков вакансий, в накоплении до версии REST. Чтобы начать использовать платформу Google ML, вам потребуется учетная запись Google Cloud Platform для входа и использования служб.
API REST Vision поддерживает многочисленные запросы, включая информацию, связанную с метками, текстом, свойствами изображения и многим другим.
Двигаться вперед
Услуги машинного обучениявключить интеллектуальные платформы, которые помогут вам в создании, обучении и размещении необходимых прогностических моделей. Эти платформы являются гибкими и простыми в использовании, как только вы получите на них руки. Немногие из недостатков — это изобилие разнообразных алгоритмов и конфигураций, необходимых для настройки приложения машинного обучения с самого начала. Однако, если вы уже обладаете новейшими знаниями в области развития машинного обучения, современные сервисы предоставляют мощные и находчивые вычислительные ресурсы для точного анализа данных и высокоточных прогнозов.
Источник