Адил Хан — руководитель лаборатории машинного обучения и представления данных в Университете Иннополис. Он создает алгоритмы для человекоориентированных устройств и систем распознавания изображений. Получил степень кандидата наук по компьютерной инженерии в Kyung Hee University, Южная Корея. В своих исследованиях Адил Хан фокусируется на машинном обучении, анализе и моделировании данных, контекстно-зависимых вычислениях, контекстном распознавании посредством носимых датчиков и датчиков изображения и человекоориентированных мобильных приложениях.
Что такое контекст для мобильных устройств и как его определять
Контекстно-зависимые вычисления предполагают различные способы обработки вводных данных и генерации вывода. Эта система не статична и эксплицитно не определена. В ней свою роль играет контекст — ситуация, в которой в данный момент находится некий объект. Им может быть девайс или, например, мобильный телефон, который собирает со встроенных датчиков данные — местоположение, оставшийся заряд, — чтобы принять решение. Здесь речь идет, как о контексте пользователя и места, где он находится, так и о контексте самого устройства — заряда батареи. В зависимости от них смартфон примет то или иное решение.
Контекст гораздо шире, чем просто описание местоположения, и включает в себя: деятельность, которой вы занимаетесь, людей рядом с вами, время суток. Контекст может быть любым и всем из этого. Если телефон способен это определить — он называется контекстно-зависимой или человекоориентированной (human-aware — «Хайтек») мобильной системой. Представьте, что вы носите «умные» часы на запястье и поднимаете их, чтобы посмотреть время. Часы определят, что вы дома, отдыхаете и предоставят детализированную картину — время, температуру, освещение и другую информацию. Предположим, часы определили, что вы бежите на вокзал — в этой ситуации вас не беспокоят детали — только время — часы покажут лишь крупные цифры, чтобы вы с легкостью могли сверить их. Ваша деятельность и местоположение дают часам идею, как лучше всего показать время.
Для разработки человекоориентированного девайса необходимо наделить его возможностями определять контекст. Все начинается с местоположения — для этого нужен GPS-датчик, который установит, где вы находитесь. Когда дело дойдет до вашего занятия понадобится акселерометр, измеряющий движение. Эти сенсоры предоставляют часам данные, которые затем должны обработать алгоритмы, определяющие контекст. Большинство таких алгоритмов пришло из машинного обучения. Они помечают (labeled — маркируют, размечают — «Хайтек») данные с сенсоров и затем интерпретируют их. Только после этого приложению необходимо на основе этой интерпретации принять то или иное решение — в нашем примере — правильно настроить интерфейс часов.
Сейчас мы наблюдаем экспоненциальный рост количества, разнообразия и типов человекоориентированных устройств. Они продаются по всему миру. Когда я жил в Южной Корее, видел мобильное приложение со встроенным будильником. Если вы хотите встать в шесть утра — ставите будильник и ложитесь спать. Телефон отслеживает погоду и другие внешние обстоятельства — если ожидается снег, дождь или пробки на дорогах — он автоматически перенастроит будильник, чтобы разбудить вас пораньше. Другой пример — приложение для помощи пожилым людям — тоже из Южной Кореи. Умный браслет, который определяет, принял ли человек лекарства и степень риска для его здоровья. Если владелец забыл принять таблетки — браслет напоминает ему, а если это не изменит ситуацию — отправляет сообщения родственникам или врачам. Он может фиксировать и падения: если человек упадет, он отправит сообщение в скорую помощь.
Обучение с учителем и поиск аномалий
Десять лет назад я использовал нейросети и метод опорных векторов (support vector machine — набор линейных алгоритмов обучения с учителем, которые применяют для классификации и регрессионного анализа — «Хайтек»). Тогда нейросети не умели обрабатывать «сырые» данные. Сперва такие данные переводили в представление более низкой размерности и только затем использовали в моделях. Сейчас, однако, мы можем послать необработанные данные напрямую в нейросеть. Это называется глубоким обучением, благодаря которому нейросети и захватили рынок — теперь их используют и ученые и компании.
Основной прогресс в машинном обучении достигнут в области обучения с учителем. Поскольку, когда мы работаем с подобными алгоритмами, нам нужно знать, какую именно проблему необходимо решить. В области обучения с учителем уже известно, что нужно сделать. Это определяет описываемую функцию, вводные и результирующие данные. Знание упрощает контроль за разработкой и позволяет указать машине направление, в котором ей необходимо обучаться.
Обучение без учителя не привлекало много внимания, поскольку с ним труднее справиться. Во-первых, мы не можем точно определить, чему именно пытаемся обучить систему, во-вторых, указать каким должен быть вывод. 5–10, может 20 лет назад не было достаточно производительных машин для построения таких моделей, теперь они появились. За это время сгенерирован огромный объем данных практически из всех аспектов общества. Разработаны очень сложные и утонченные алгоритмы — все это привело к значительному прогрессу в обучении без учителя за последние 10 лет.
Нам до сих пор нужны люди, чтобы помечать данные, но им не обязательно быть специалистами в предметной области. Раньше были необходимы редкие и дорогостоящие специалисты — именно они преобразовывали «сырые» данные в репрезентацию, которую можно было использовать в моделях. Приведу пример: допустим нужно создать систему, которая определяет рак легких. Для этого необходим алгоритм, который получит данные рентгенографии на вводе, а затем обнаружит, классифицирует и определит конкретный вид рака. Раньше, чтобы узнать, чем рак отличается от здоровых тканей — структурой, размером или цветом, — нужно было спросить специалиста — доктора с достаточным опытом в этой сфере. Сейчас такие эксперты не нужны постоянно, что значительно упрощает процесс. Люди, которые помечают данные необходимы и сейчас, но теперь не требуется много таких данных — мы можем использовать обучение с частичным привлечением учителя. Так что, если у нас есть небольшой объем помеченных данных, мы можем продолжить обучение системы, используя сложные алгоритмы.
В прошлом алгоритмы машинного обучения были хороши в различении (discriminating — «Хайтек»), а не в генерации. Теперь у нас есть очень сложные генеративные модели (generative models — алгоритмы, способные создавать новые примеры, такие как изображение, текст или музыка — «Хайтек»), которые могут сгенерировать помеченные данные, если их не хватает.
Мы движемся в будущее, где рано или поздно машина не будет нуждаться в учителе. Причина этому — огромный объем данных, сложные алгоритмы и хорошие генеративные системы. Одна работа, которую мы недавно делали, касалась выявления аномалий (outlier detection или обнаружение выбросов — поиск данных, заметно отличающихся от общего набора — «Хайтек»). Для решения проблемы использовалось обучение полностью без учителя. Задача состояла в том, что нужно построить систему выявления аномалий, когда нет их образцов. Например, вы хотите определить мошенничество в банке, когда подавляющее большинство клиентов не обманывают. Чтобы решить задачу был построен фреймворк и применина генеративная модель для создания подобных аномалий — из воздуха — их на самом деле нет, но для этого фреймворка их можно сгенерировать. Затем был использован дополнительный классификатор, чтобы на примерах обучить модель, которая сможет выявлять аномалии в «реальной жизни». Делай мы это десятилетие назад — потребовались бы образцы таких аномалий и кому-то пришлось бы помечать их. Сейчас можно генерировать аномалии при помощи алгоритмов — нам не нужны примеры, не нужен человек, который их помечает.
Распознавание лиц и проблемы доверия
Есть большая проблема — как обеспечить конфиденциальность данных при внедрении технологии распознавания лиц. Сейчас она достаточно развита — возможно вы слышали о Китае, который применяет распознавание лиц повсеместно. Однако, до сих пор нет установленных правил, касательно технологии. Это заставляет некоторые компании, такие как Google, скрывать из публичного доступа свои разработки, пока они не поймут, как решить проблему конфиденциальности.
Нам потребуется время, чтобы понять, как использовать технологию распознавания на пользу человечества. В прошлом такое уже случалось — мы не были открыты ко многим изобретениям, но затем приняли их. Технология распознавания очень полезна, но есть люди, которые не готовы к таким переменам — они не хотят, чтобы установленные повсюду камеры собирали их данные. Дискуссия об этом уже началась, и я не знаю, как и когда она завершится, но основываясь на человеческой истории, я достаточно уверен, что в конечном итоге мы примем технологию.
Мы находимся в ситуации, когда любое визуальное доказательство можно подделать. Есть ролик с Бараком Обамой, на котором он говорит вещи, которые никогда не произносил. Чтобы решить эту проблему нам потребуются более совершенные дискриминативные модели (discriminative models — алгоритмы, которые обучаются на различении групп и классов — «Хайтек»). Сперва основной прогресс был именно в дискримантивных моделях, но затем исследователи обратили внимание на генеративные — и сейчас у нас есть такие методы, как GAN.
Generative adversarial network, генеративно-состязательная сеть — алгоритм машинного обучения без учителя, где одна модель создает примеры, а другая — старается отличить правильные от неправильных.
Если мне нужно будет выбрать одну разработку, которая на мой взгляд является самой важной в машинном обучении за последние десять лет — я скажу, что это генеративно-состязательные сети. Они полностью изменили взгляд на генеративные модели. Сперва их использовали для создания реалистичных изображений, но теперь применяют и к другим данным — тексту, аудио и видео.
Я думаю, что прогрессом в любой области движут проблемы — старые и возникшие впервые. Проблема, о которой мы говорим, появилась из-за огромных улучшений в генеративных моделях. Уверен, что в следующие пять-шесть лет мы добьемся значительного прогресса и в дискриминативных моделях, что позволит решить ее.