Как ИИ оказался в смартфоне?
Обычная программа решает задачу по определенному алгоритму, который написал человек. А если таких задач много, или постоянно меняются исходные данные и условия? Человек не сможет обработать тонны информации и написать тысячи алгоритмов. Так пусть этим занимается бездушная машина!
Главное, правильно ее настроить, а дальше она начнет самостоятельно искать оптимальное решение. Так появился искусственный интеллект и его подраздел — машинное обучение. Один из алгоритмов машинного обучения — нейросети, о которых вы наверняка слышали.
Мы давно используем ИИ в нашем смартфоне. Прокладка маршрута с учетом пробок, поиск котиков среди фотографий в «облаке», общение с голосовым помощником — все это было бы невозможно без умных алгоритмов. Эти задачи решаются удаленно: запрос отправляется на сервер, обрабатывается, и ответ приходит обратно.
А почему бы не поселить ИИ сразу внутри смартфона? Он уже многому обучен «из коробки», он учится постоянно вместе с нами. Мощности современных аппаратов позволяют. Сразу получаем два плюса:
- это быстро: не нужно тратить время и трафик на передачу данных;
- это безопасно: все данные хранятся внутри смартфона, вы не делитесь ими со сторонними сервисами.
Производители даже выделили для ИИ отдельный блок внутри мобильного процессора — NPU (Neural Processing Unit, нейронный модуль). Это ускоритель алгоритмов машинного обучения, с ним смартфон решает задачи еще быстрее и требует меньше энергии.
Первым процессором с NPU стал Huawei Kirin 970. Он установлен, например, в смартфонах Huawei P20 Pro и nova 3. А в 2018 году вышел первый в мире процессор с двойным нейромодулем Kirin 980. Производительность NPU выросла на 226%, а энергоэффективность — на 182%. Таким процессором оснащены флагманы Huawei Mate 20 Pro и Mate 20.
Так зачем смартфону искусственный интеллект?
Распознавание лиц
Практически все современные смартфоны поддерживают разблокировку по лицу. В недорогих моделях технология простая: фронтальная камера делает снимок лица, а специальные алгоритмы сравнивают его с заданным рисунком по ключевым точкам. Совпало — свой, не совпало — чужой.
Такая технология плохо работает в темноте, да и с безопасностью беда: если смартфону показать фотографию владельца или похожего человека, есть вероятность совпадения.
В смартфонах подороже используется другой способ. Например, в Huawei nova 3 две фронтальные камеры формируют 3D-изображение, а ИК-подсветка помогает в темноте. Флагман Huawei Mate 20 Pro вообще проецирует 30 тысяч точек на лицо, строит 3D-модель, а затем сравнивает с исходной моделью.
А если усложнить задачу? Надеть очки или шапку, отрастить бороду или нанести макияж? Совсем другое лицо получается. Тогда выручает машинное обучение. ИИ подмечает такие изменения, вносит коррективы в модель и понимает, что перед ним — владелец смартфона. Благодаря NPU эти операции занимают доли секунды.
Улучшение автономности
Еще нейросети умеют предсказывать будущее. Справляются с этим лучше экстрасенсов. ИИ в смартфоне анализирует наши привычки, подмечает сценарии поведения (запуск приложений в определенное время, бездействие во время сна и т.д.) и сам понимает, какие приложения нужны в определенный момент, а какие — нет.
Важные программы и процессы будут заранее подгружаться в память, чтобы они быстрее открывались, а ненужные — удаляться, чтобы не расходовать заряд. На работе первым делом проверяете почту? Приложение уже ждет вас. Ночью работают Карты и Инстаграм? Вон из памяти, сейчас не время.
Если копнуть еще глубже, то ИИ прогнозирует нагрузку на процессор в зависимости от частоты смены кадров. В итоге динамичные сцены кажутся нам плавными, без «подергиваний». Особенно это важно в играх.
Оптимизация производительности
Искусственный интеллект управляет даже производительностью. Объясним на примере Kirin 980: в главном процессоре (CPU) всего 8 ядер, из них 2 работают на высокой частоте, 2 на средней и 4 на высокой. Наглядно - на картинке (выше столбик - выше мощность):
Чтение книг и прослушивание музыки в фоне не требуют много ресурсов. Зачем нагружать все ядра? Пусть работают только низкочастотные. Фейсбук, Вконтакте «потяжелее» — тогда к работе подключаются «середнячки».
А вот жесткие зарубы в PUBG или эпичные битвы в WoT на максимальных настройках, рендеринг видео — это ресурсоемкие задачи, тогда «танцуют все»: CPU и GPU (графический процессор) трудятся на максимальной мощности. ИИ все это подмечает и оптимально распределяет мощность.
Улучшение качества звука
Образы могут быть не только визуальными. За качество звука также отвечает ИИ.
Когда вы говорите по телефону, ИИ тут же «отделяет» голос от посторонних звуков и усиливает его, а фоновый шум — приглушает. В итоге вас слышно даже когда дует сильный ветер, гремят вагоны в метро или на концерте отжигает любимая группа.
Размытие фона и выделение цвета
Фильмы со спецэффектами на смартфон — это тоже к нейросетям. Современные флагманы Huawei умеют снимать видео с размытием заднего фона: объект съемки остается четким, а передний и задний план «замыливаются» в боке. Такого эффекта обычно добиваются с помощью дорогих светосильных объективов.
Другая фишка — выделение цвета: ИИ понимает, кого вы снимаете (это должен быть человек), и держит ее в постоянном фокусе. Помогает предиктивная (читай — предугадывающая движение) фокусировка. Дальше ИИ закрашивает только объект съемки, а окружающий мир оставляет черно-белым. Помните фильм «Город грехов»? Там такой же эффект.
Оффлайн-переводчик
Есть такой переводчик для Android и iOS — Microsoft Translator. В 2018 году он научился переводить тексты без подключения к интернету, во многом благодаря системе искусственного интеллекта. А в партнерстве с Huawei компания Microsoft доработала Translator под процессор Kirin 980.
Что из этого получилось: на смартфонах линейки Huawei Mate 20 точность машинного перевода выросла на 23% и вплотную приблизилась к человеческому. При этом скорость обработки текста в 3 раза выше, чем на других флагманских смартфонах, а языковые пакеты «весят» в 2 раза меньше.
Улучшение фотографий
Пожалуй, самое заметное влияние ИИ мы видим при фотосъемке. Алгоритмы камеры определяют, что именно мы снимаем и в каких условиях, и сами подбирают лучшие настройки: контрастность, насыщенность, баланс белого.
Например, смартфоны на процессоре Kirin 980 распознают до 1500 сценариев из 25 категорий — еще до того, как вы нажмете на кнопку спуска. Нейросети отличают кошек от собак, снег от листьев, море от неба. И для всех разные настройки.
Также ИИ понимает, в каком режиме лучше снимать. Навели камеру на документ — включается режим «Сканер», который выделяет только область с текстом. В кадре Кремль — включается режим «Архитектура». Навели на человека — включается портретный режим с размытием.
Портреты — это вообще простор для ИИ. Можно закручивать боке с разной силой и формой, наносить макияж и менять тип освещения вокруг. Зеркалку с профессиональной оптикой смартфон не заменит, но сделать шикарный портрет на аватарку — запросто.
Сегментация изображений
Распознавание образов и категоризация — основные задачи, которые решает машинное обучение. ИИ раскладывает «по полочкам» и объединяет фотографии на смартфоне, основываясь на схожести признаков.
Фотографии гамбурегров, салатов, фруктов — это еда, для них отдельная папка. В другую папку ИИ кладет снимки автомобилей, в третью — здания. Если нейросети нашли чье-то лицо на разных снимках, они тоже будут в папках, но внутри категории «лица».
Захотели отобрать все фотографии с мамой или бабушкой? Вот все снимки, где они попали в кадр. Давно сфотографировали важный документ, но забыли, когда? Вот все кадры, на которых есть текст. Вместо ручного перебора сотен, тысяч файлов остается проверить 10-15. Это удобно.
«Умная» стабилизация
Популярные технологии стабилизации изображения в смартфонах — OIS и EIS, оптическая и электронная соответственно. Huawei же разработала AIS — стабилизатор на базе ИИ. Расшифровывается как AI Image Stabilization.
Лучше всего AIS проявляет себя при съемке ночных фото. Как это видите вы:
- нажимаете кнопку 4-6 секунд (без штатива!), и получаете резкий снимок с отличной детализацией и минимумом шумов.
Как это видит смартфон:
- сначала 0,2 секунды AIS определяет положение камеры в пространстве. Точность — до 98%;
- затем камера снимает много фотографий с разными параметрами;
- ИИ отбирает лучшие кадры. Если был сдвиг — совмещает их, после чего обрабатывает каждую секцию и убирает шумы.
Для нас ничего сложного, на деле процессор «прогоняет» через себя 24 миллиарда бит информации. Без машинного обучения и нейроморфного процессора это заняло бы в разы больше времени.