Как нейросети и машинное обучение используются в мобильных устройствах и приложениях

Как нейросети и машинное обучение используются в мобильных устройствах и приложениях
09 января 2018
Подпишитесь на нас в Telegram

Наверняка каждый активный пользователь заметил тенденцию, что все чаще в программировании используется машинное обучение приложений. На ежегодной конференции разработчиков Apple в 2017 году данная тема упоминалась около ста раз сотрудниками организации. Поэтому неудивительно, что все крупные и только начинающие свой путь компании внедряют нейронное обучение в свои приложения.

Несмотря на такой термин, программное обеспечение фактически не занимается самообучением, и причиной тому является низкий уровень мощности современных мобильных телефонов. Зачастую совершенствование происходит на удаленном сервере, а после улучшения приходят на телефон в качестве обновлений. Следует отметить, что самообучение приложений на устройстве –– это ближайшее будущее и многие эксперты уверены, что такая технология станет доминирующей на рынке ИТ.

Нейросеть и мобильные устройства

Наиболее часто от пользователей можно услышать следующий вопрос: «В каких приложениях используется нейронная сеть?».

Сегодня нейронное обучение применяют при разработке ПО для распознавания окружающей среды, фото- и видеоинформации. Условно данную область называют компьютерным зрением. Однако нейронное обучение не ограничивается только картинками, его также можно использовать для работы с аудио- и дактилоскопическими данными (распознание отпечатка пальца, голоса).

Современные гаджеты оснащены всевозможными датчиками и имеют быстрый выход в интернет, что создает проблему большого объема данных, которые хранятся в памяти устройства. На iOS используется несколько систем глубокого обучения: распознавание лиц, китайских иероглифов, кодовых фраз «Привет, Сири». Стоит учитывать, что все эти приложения ничему не учатся напрямую у пользователя.

Зачастую весь процесс обучения происходит на удаленном сервере с большим количеством GPU. Именно на него поступают данные о запросах пользователей, которые впоследствии обрабатываются системой.

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

Серверное образование – это отличная стратегия для приложений, обновление которых происходит нерегулярно. К сожалению, обучение серьезных систем на телефоне пока что невозможно, но так не будет всегда, учитывая темпы развития технологий.

Преимущества прямого обучения

  • полная конфиденциальность – вся информация будет храниться только на устройстве; программное обеспечение будет обучаться под запросы и поведение владельцев; перевод процесса обновления с сервера на устройство сэкономит деньги;
  • непрерывное обновление системы.

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

На iOS-системах уже есть подобные приложения:

  • телефонная клавиатура с машинным обучением, которая анализирует набираемые пользователем тексты и впоследствии выдает предположение о следующем слове в предложении. Такая модель обучается только для вас и данные о запросах не поступают на удаленный сервер;
  • система распознания фото в некоторых современных телефонах автоматически рассортировывает изображения похожих людей в отдельную папку. Подобное приложение применяет API анализ человеческих лиц и производит организацию фотографий согласно обработанным данным. Когда пользователь устраняет ошибку, допущенную программой, она автоматически вносит коррективы и таким образом обучается;
  • Touch ID – это приложение, которое обучается при каждом приложении отпечатка пальца к устройству;
  • Face ID является моделью с непрерывным обучением, поэтому если у пользователя появится борода или он станет носить очки, то программа все равно будет распознавать его лицо;
  • приложение, построенное на основе нейронных сетей, например, Apple Watch, проводит постоянный анализ ваших движений и биения сердца в различных ситуациях и нагрузках. Уже сейчас подобные программы могут предсказать точное время пробуждения человека, на основании собранных данных. В будущем, по мнению специалистов, такие приложения смогут даже прогнозировать инсульт или сердечный приступ, что, безусловно, спасет множество человеческих жизней.

Некоторые системы работают по упрощенной схеме обучения – просто запоминают последние запросы. Однако для многих современных приложений и не требуется разработка усложненных алгоритмов нейронного обучения. Например, система набора текста достаточно проста, поэтому модель обучается в режиме реального времени. Приложение для распознавания фото требует расхода энергии, поэтому процесс усовершенствования включается тогда, когда телефон находится в режиме заряда батареи. Все остальные модели функционируют между двумя представленными режимами.

Проблемы машинного обучения

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

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

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

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

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

  • большая модель – для усложненных алгоритмов нейронных сетей потребуется серьезная вычислительная мощность, иначе процесс усовершенствования затянется на неограниченное время. Сегодня специалисты изучают возможность обучения моделей на небольшом количестве данных, например на одном фото;
  • наличие нескольких гаджетов – если человек будет использовать несколько телефонов или устройств, то встает вопрос о передаче информации и моделей. Например, приложение Face ID не способно передавать данные другим устройствам, поэтому обучение будет происходить отдельно на каждом телефоне, что не совсем удобно;
  • обновления от компании – если приложение на устройстве работает по принципу машинного обучения, подстраиваясь под конкретного пользователя, то существует вопрос о корректном сохранении накопленных данных при массовом обновлении системы.

Будущее технологии нейронного обучения

Если главная цель нейронного обучения состоит в том, чтобы приблизить модель приложения к пользователю, то какие возможности отрываются? В качестве примера возьмем нейронную сеть, которая может превращать 3D-снимок лица в определенные «эмодзи». Такая модель уже доступна на iPhone X: при необходимости пользователь может быстро обучить систему правильно определять настроение и выбирать соответствующие идеограммы (смайлы).

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

  • Smart Reply представляет собой приложение от компании Google, которое способно анализировать входящие письма и предлагать варианты ответов, основываясь на предыдущем опыте. К сожалению, данная система сейчас не может обучаться на телефоне, но это дело ближайшего будущего;
  • усовершенствование системы распознавания почерка, особенно это необходимо для таких моделей, как iPad Pro Pencil;
  • анализ и распознавание речи с каждым годом будет все больше совершенствоваться под конкретного пользователя, что принесет удобство и комфорт при использовании;
  • приложения, отслеживающие сердечные ритмы, движения и сон после короткого обучения смогут давать советы по улучшению здоровья и предупреждать об опасностях. Конечно, все подобная информация должна оставаться на устройстве;
  • обучение чат-бота под конкретного пользователя. При общении система будет изучать вашу речь и впоследствии подстраивать ботов для общения с вами на удобном для вас языке. Siri уже сегодня обучается данному приему и при необходимости начинает давать меньше комментариев;
  • усовершенствованный маркетинг. Никому не нравится навязчивая реклама в сети, но нейронные сети помогут пользователю избежать раздражения, а рекламодателям сократить нерациональные расходы. Отныне система будет изучать, какие типы маркетинговых ходов интересны лично вам, и подбирать соответствующую рекламу;
  • советы и рекомендации – уже сейчас всевозможные системы социальных сетей изучают аудио- и видеоконтент пользователей, впоследствии подбирая соответствующий материал для прослушивания и просмотра;
  • люди с ограниченными возможностями могут получить серьезную поддержку, например, с помощью камеры можно изучить этикетку того или иного лекарственного средства.

Нейронное обучение приложений – это инновационная технология на рынке IT, но не удивительно, если вскоре она действительно преобразит жизнь каждого человека.  

Друзья, теперь вы можете поддержать Лайкни https://pay.cloudtips.ru/p/8828f748
Ваши донаты помогут нам и дальше радовать вас полезным контентом.

Нас удобно читать в соцсетях. Подписывайся!

Комментарии

1 комментарий
Чтобы оставить комментарий, войдите на сайт через:
Очень круто, спасибо за такое подробное перечисление и объяснение, что, где и как используется) В дополнение к вашей статье, вот здесь еще круто написали ребята про машинное обучение и ИИ в мобильных приложениях: [censored]

Будь в курсе

Главные новости, кейсы и статьи за месяц – у тебя в почте:

Отправляя форму, вы принимаете условия обработки персональных данных