Компания Waymo объявила о партнерстве с компанией DeepMind в области обучения нейросетевых алгоритмов беспилотных автомобилей. Теперь для части алгоритмов Waymo использует разработанную в DeepMind методику, при которой гиперпараметры обучения подбираются параллельно на множестве моделей с помощью способа, напоминающего эволюционное развитие живых организмов.
В основе системы управления беспилотным автомобилем лежат нейросетевые алгоритмы, эффективность работы которых напрямую зависит от количества и качества обучающих данных. Именно из-за этого ведущие разработчики, такие как Waymo, расширяют парк автомобилей и тестируют их, проезжая миллионы километров на реальных дорогах и миллиарды километров в симуляции. Однако сами по себе данные — лишь часть условий, необходимых для создания автомобиля, ездящего по дорогам безопаснее, чем люди. Не менее важно устройство тех или иных нейросетевых моделей, а также то, каким именно образом они обучаются.
В нейросетевых алгоритмах есть два вида параметров. Один вид — это непосредственные параметры нейросети, меняющиеся во время обучения, например, веса нейронов. Другой вид — это гиперпарметры. Они отвечают за то, как именно происходит обучение. Например, один из ключевых гиперпараметров — это скорость обучения, то есть то, как быстро нейросеть подстраивает свои параметры во время обучения. При этом скорость обучения необходимо держать на сбалансированном уровне, потому что при слишком низкой скорости на обучение уйдет много времени и вычислительных ресурсов, а при слишком высокой параметры могут резко меняться и в итоге так и не прийти к оптимальному значению.
Обычно процесс подбора гиперпараметров происходит полуавтоматически. Во время него множество нейросетевых моделей обучаются параллельно и гиперпараметры для каждой из них выбираются случайным образом, после чего «побеждают» лучше всего обучившиеся модели. В 2017 году специалисты из компании DeepMind, которая, как и Waymo, а также Google, входит в холдинг Alphabet, предложили значительно улучшенный метод обучения, который теперь используется для обучения алгоритмов беспилотников.
Метод можно представить как эволюцию. Изначально модели начинают параллельное обучение со случайным набором гиперпараметров. Через небольшое время худшие модели из «популяции» заменяются на новое поколение — копии лучших моделей с немного измененными гиперпараметрами обучения. При этом копии полностью наследуют состояние модели-родителя, поэтому их не приходится переобучать «с нуля» и тратить на это ресурсы. Поскольку некоторые гиперпараметры могут не обеспечивать итоговый хороший результат быстро, исследователи реализовали разбиение всей «популяции» на изолированные «субпопуляции», соревнующиеся только между собой подобно тому, как происходит настоящая эволюция на островах. Кроме того, во время каждого отрезка обучения модели обучаются не в полной изоляции, а могут «подсматривать» гиперпараметры у более успешных моделей.
Waymo протестировала метод обучения на алгоритме, который выделяет на изображении с камер области с пешеходами, велосипедистами и мотоциклистами. Обученный таким методом алгоритм в итоге обладал на 24 процента более низким уровнем ложноположительных срабатываний, при которых он распознает целевой объект там, где его на самом деле нет. При этом на обучение ушло вдвое меньше вычислительных ресурсов.
В начале года Департамент транспортных средств штата Калифорния опубликовал ежегодную статистику по частоте вмешательств инженеров-испытателей в работу беспилотных автомобилей во время их тестирования на улицах. Лидером по этому показателю, как и в прошлом году, оказалась именно Waymo. Ее автомобили в среднем проезжают почти 18 тысяч километров без необходимости вмешательство. Однако эти данные необходимо воспринимать с долей скептицизма, потому что в официальную статистику попадают лишь случаи, которые в результате воспроизведения на симуляторе оказались способны привести к серьезной аварии в случае, если бы инженер не перехватил управление.
Григорий Копиев
На взлом одного смартфона ушло от 40 минут до 13 часов
Китайские ученые нашли в смартфонах шести крупных компаний (Samsung, Xiaomi, HUAWEI, Vivo, OnePlus, OPPO) уязвимости, которые позволяют взломать сканер отпечатков пальцев. Им удалось получить бесконечное количество попыток для разблокировки смартфонов, создать много искусственных отпечатков с помощью нейросетей и подобрать подходящий для разблокировки. Препринт доступен на arXiv.org. Аутентификация с помощью отпечатка пальца в смартфонах состоит из 4 этапов. Первый этап — это получение отпечатка. Когда палец касается сенсора, он делает несколько изображений отпечатка. Затем идет этап компенсации: чтобы улучшить качество изображений, с них удаляется шум. На следующем этапе алгоритмы проверяют текстуры, нажим и форму отпечатка. Их цель — отличить отпечаток настоящего человеческого пальца от, например, отпечатка пальца силиконовой руки. Хакеры могут использовать искусственные пальцы из разных материалов, чтобы взломать смартфон. На последнем этапе аутентификации полученный отпечаток сравнивается с правильным отпечатком из базы данных. В отличие от паролей, система не проверяет полное соответствие двух отпечатков. Вместо этого полученному отпечатку достаточно преодолеть заданный порог сходства с правильным. Если пробовать много разных отпечатков, один из них рано или поздно перейдет этот порог. Поэтому у сканеров отпечатков пальцев есть дополнительный метод усиления безопасности — это ограничение количества попыток. После нескольких безуспешных попыток зайти в смартфон система блокирует доступ. Китайские инженеры Чен Ю (Chen Yu) из компании Tensent и Хе Илинь (He Yiling) из Чжэцзянского университета придумали алгоритм BrutePrint, который может обмануть сканер отпечатков пальцев методом полного перебора. Они обнаружили две уязвимости Cancel-After-Match-Fail (CAMF) и Match-After-Lock (MAL), благодаря которым можно делать сколько угодно попыток аутентификации по отпечатку, а иногда и похитить отпечаток пальца пользователя, который хранится на смартфоне. Уязвимость CAMF основана на том, что за одну попытку аутентификации сканер обычно делает сразу несколько изображений отпечатков. Если убедить сканер, что множество разных изображений были сделаны за одну попытку, то можно пробовать бесконечно много отпечатков. Дело в том, что сканер может сделать три вывода по одному изображению: на нем правильный отпечаток, на нем неправильный отпечаток или в ходе сканирования случилась ошибка. Например, что-то произошло с оборудованием и вызвало сбой в программе. В случае такой ошибки попытка не заканчивается. Система BrutePrint нарушает контрольную сумму изображения отпечатка, которая как раз приводит к этой ошибке. Другая уязвимость MAL помогает обойти режим блокировки доступа после превышения числа неправильных попыток. В некоторых смартфонах во время выхода экрана из спящего режима режим блокировки доступа не работает. Этого хватает, чтобы внедриться в систему и запустить попытки доступа к сканеру отпечатков. Кроме того, в процессе сравнения отправленных отпечатков с правильными, которые хранятся в смартфоне, можно их похитить. Главный этап атаки — внедриться в систему сканирования и начать посылать ей изображения отпечатков, используя уязвимости CAMF и MAL. Для этого инженеры собрали систему, которая может перехватывать и менять сигнал между сканером отпечатков пальцев и процессором смартфона. В смартфоне сканер и процессор соединены интерфейсом, и атакующая система имитирует этот интерфейс: она тоже соединяется со сканером и процессором. В систему также входит карта памяти, на которой хранятся заранее подготовленные отпечатки пальцев для перебора. Авторы утверждают, что итоговая стоимость всех компонентов составила всего 15 долларов. Базу данных отпечатков для перебора можно собрать самостоятельно или найти в открытых источниках: научных исследованиях или утечках данных. Авторы сами сгенерировали данные для перебора. Важная часть атаки — это предобработка отпечатков, чтобы они выглядели реалистично и подходили для сенсора в конкретном смартфоне. Инженеры использовали нейросеть CycleGAN, которая умеет менять стиль изображения. Для эксперимента с каждым смартфоном авторы обучали нейросеть редактировать отпечатки, чтобы они были похожи на отпечатки с его сенсора. Инженеры провели десять экспериментов с разными смартфонами. Уязвимость CAMF сработала на всех моделях, но по-разному. Авторам удалось получить неограниченное количество попыток разблокировки на всех смартфонах с операционной системой Android и только 15 попыток на iOS. Кроме того, на айфонах ученым не удалось перехватить сигнал между процессором и сканером отпечатков пальцев. Дело в том, что iOS всегда шифрует этот сигнал, в отличие от Android. В итоге сканер не удалось взломать только на смартфонах компании Apple. На взлом остальных гаджетов ушло от 40 минут до 13 часов. Ученым также удалось похитить оригинальные отпечатки пальцев пользователей со всех смартфонов на платформе Android. Авторы предлагают несколько методов, которые помогут производителям смартфонов сделать сканеры отпечатков пальцев безопасней. Во-первых, избавиться от уязвимости CAMF: для этого нужно добавить проверку на количество ошибочных попыток, которые не дошли до этапа сравнения с правильным отпечатком. Чтобы устранить уязвимость MAL, нельзя отменять блокировку доступа. Наконец, нужно шифровать сигналы, которыми обмениваются сканер и процессор. Сканер отпечатков пальцев — не единственная система разблокировки, которую можно взломать. Вьетнамским инженерам удалось обмануть Face ID в iPhone X с помощью маски. Ее распечатали на 3D-принтере, налепили на нее нос и приклеили изображения губ и глаз. Сканер Face ID принял маску за настоящее лицо.