Недавно я выходила в эфир с темой нейронные сети в мобильных приложениях (в особенности всех интересовало, как можно предсказывать, как будет вести себя пользователь). Цель подкаста была затронуть тему ML на мобилках, тк в последнее время она интересует многих. Решила перевести то, о чем я говорила в текст. Ведь вы любите читать 😉
Расскажу об основных аспектах, которые были затронуты
📒 За последние несколько лет произошел взрывной рост мобильных устройств, что, как ожидается, продолжится в следующем десятилетия. Мобильные устройства, проникая почти во все аспекты нашей повседневной жизни, меняют определение того, как люди живут и взаимодействуют друг с другом. Между тем машинное обучение (ML) стало повсеместным используется в мобильных приложениях, решая такие задачи как распознавание объектов, перевод, мониторинг работоспособности, обнаружение вредоносных программ и т.д.
📒 Из-за частого взаимодействия между мобильными устройств и пользователей в повседневной жизни, мобильные устройства собирают большое количество количество данных о поведении, предпочтениях и привычки, что делает их перспективными ресурсами для машинного обучения.
📒 Однако большинство мобильных разработчиков с этой сферой до сих пор сталкиваются очень редко. Это скорее нишевые задачи и большинство предпочитает использовать уже что-то готовое: Apple (Core ML, Create ML, Turi Create, Core ML Tools), Google (ML Kit, TensorFlow Lite) и Facebook (PyTorch Mobile).
📒 Для того чтобы обучаться на пользовательских данных в мобильных приложениях всегда нужно помнить о безопасности. Нельзя просто собрать все пользовательские данные и отправлять облако. Самый оптимальный вариант – распределенное обучение. Это когда модель обучается на общедоступных обезличенных данных, а потом дообучается локально на конкретном пользователе.
📒 Помещение модели непосредственно на устройство и возможность ее извлечения реверсером – не самая большая проблема, которую нужно решать при работе с ML на мобилках. Условно, если вы вытащите маски из Snapchat, вы не создадите свой Snapchat.
📒 Актуальные задачи для ML на мобильных устройствах:
Нарушение настроения пользователя – широкое использование мобильных устройств открывает новые возможности в изучении и лечении психических заболеваний, включая изучение раннего проявления психических заболеваний в повседневной жизни пациентов и уровень детализации, который ранее был невозможен.
📒 Идентификация пользователей – фундаментальная, но все же открытая проблема приложений. Сбор статической информации может представлять угрозу безопасности и конфиденциальности, а еще это ненадежно, поскольку все эти данные можно легко подменить, например, пользователь переходит на новое устройство. Биометрический мониторинг информация, включая поведение пользователя при вводе текста, имеет тенденцию давать стабильные результаты с течением времени, будучи менее разрушительным к пользовательскому опыту. Кроме того, существуют разные виды датчиков.
📒 Предсказание поведения в приложении – с помощью собранных данных можно формировать “подобные” пользовательские группы, которые покидают приложение по одинаковым причинам и вместо индивидуального решения проблемы, решать проблему сразу целой группы, что существенно сокращает время.
Если вам не нужно решать стандартную проблему, вроде распознавания изображений (инструменты на такие случаи общедоступны), вам придется решать проблему самостоятельно, в большинстве случаев понадобится вникнуть в алгоритмы или придумать свой.
📒 К сожалению, мобильные устройства до сих пор не наделены достаточной мощностью, чтобы использовать на них ML полноценно. Поэтому, пока что нет адекватных примеров обучения непосредственно на устройствах, в основном это прогон через уже собранную модель, но, думаю, в связи с таким большим интересом к этой сфере эта проблема будет решена в скором времени.
Есть тут разработчики, которые уже занимаются ML на мобильных устройствах? 🤔
Post #365
4.22K
- 👍 1