Исследователи из НИУ ВШЭ в Нижнем Новгороде, МИСИС и Института искусственного интеллекта AIRI разработали алгоритм, который подбирает лучшую нейронную сеть для распознавания лиц, учитывая характеристики мобильного устройства. Новый подход ускоряет выбор наиболее подходящей нейросети и позволяет добиться идентификации лиц с точностью до 99%. Исследование опубликовано в журнале IEEE Access. Исходный код доступен на GitHub.
Исследование было поддержано грантом для исследовательских центров в области искусственного интеллекта, предоставленным Аналитическим центром при Правительстве РФ.
Нейронные сети, которые умеют распознавать лица, обычно требуют больших вычислительных мощностей для работы. Идеальной сети для всех устройств не существует, так как их характеристики существенно различаются: на одном смартфоне нейросеть может распознавать лица быстро, а на другом она же будет работать с неприемлемой для пользователя задержкой.
В машинном обучении существует «лотерейная» гипотеза. Согласно ей, в очень глубокой сети можно «выиграть в лотерею» — выбрать часть нейронов и связей между ними так, чтобы точность получаемой подсети оказалась практически такой же, как у исходной сети. Таких подсетей существует огромное количество, и найти наиболее точную, которая бы распознавала лицо за заданное время, чрезвычайно сложно. Можно измерить точность с использованием специального набора фотографий лиц, перебрав несколько случайно выбранных подсетей, и таким образом в конце концов найти лучшую. Однако процесс подбора может занять недели, при этом получится проверить лишь малую часть возможных подсетей.
Ученые из Лаборатории алгоритмов и технологий анализа сетевых структур НИУ ВШЭ — Нижний Новгород, МИСиС и Института искусственного интеллекта AIRI предложили «персонализировать» систему подбора нейросети для распознавания лиц. Она в наибольшей степени учитывает возможности конкретного мобильного устройства и позволяет сделать процесс выбора максимально быстрым — требуется всего 5–10 минут. Исследователи предложили использовать компаратор — алгоритм, который, не проводя измерений, за доли секунды выбирает из двух сетей-кандидатов наиболее точную до тех пор, пока не останется одна — самая подходящая.
Допустим, у вас есть 500 маленьких подсетей. Все они сортируются, и из них выделяется сотня лучших, ожидаемо самых точных. Потом с помощью «мутации» и «скрещивания» из выбранных генерируются новые — ещё более точные. Затем процесс повторяется. При «мутациях» случайным образом меняются некоторые части символьного описания подсети, при «скрещивании» к половине описания одной подсети добавляется половина второй. Такой подход называется генетическим алгоритмом, или эволюционным поиском. Для выбора топовых решений мы предложили использовать компаратор на основе градиентного бустинга — популярный алгоритм машинного обучения для классификации табличных данных. Оказалось, что он работает точнее и качественнее и обучается намного проще.
Андрей Савченко
Профессор НИУ ВШЭ в Нижнем Новгороде
Эксперименты показали, что предложенный метод устойчив к различным положениям лица. Алгоритм позволяет найти модели, у которых точность идентификации достигает 97–99%.
Авторы технологии также разработали демонстрационное мобильное приложение для устройств на операционной системе Android. Оно позволяет проанализировать технические возможности гаджета, выбрать подходящую нейросеть, измерить время её работы и найти одного и того же человека на двух фотографиях, выбранных из галереи устройства. Код разработки опубликован на платформе с открытым доступом.
В подписке — дайджест статей и видеолекций, анонсы мероприятий, данные исследований. Обещаем, что будем бережно относиться к вашему времени и присылать материалы раз в месяц.
Спасибо за подписку!
Что-то пошло не так!