Зачем искусственный интеллект учат переписывать свой код?
Недавно одна компания разработала технологию, позволяющую машине эффективно обучаться на примерах в небольшом количестве и оттачивать свои знания по мере поступления новых примеров. Ее можно применить везде, например, научить смартфон распознавать предпочтения пользователя или помочь автономных двигательным системам быстро определять препятствия.
Старая поговорка «повторение — мать учения» отлично применима и к машинам. Многие современные системы искусственного интеллекта, работающие в устройствах, полагаются на повторение в процессе обучения. Алгоритмы глубокого обучения позволяют устройствам ИИ извлекать знания из наборов данных и затем применять то, чему они научились в конкретных ситуациях. К примеру, если скормить системе ИИ данные о том, что небо обычно голубое, позднее она начнет узнавать небо среди изображений.
С использованием этого метода можно проводить комплексную работу, но она, конечно, оставляет желать лучшего. Но можно было бы получить такие же результаты, если пропустить систему глубокого обучения ИИ через меньшее число примеров? Бостонский стартап Gamalon разработал новую технологию, чтобы попытаться дать ответ на этот вопрос, и на этой неделе представил два продукта, использующих новый подход.
Gamalon использует технику байесовского программирования, программного синтеза. В ее основе лежит математика 18 века, разработанная математиком Томасом Байесом. Байесовская вероятность используется для уточненных прогнозов о мире с использованием опыта. Эта форма вероятностного программирования — когда код использует вероятные, а не конкретные величины — требует меньшего числа примеров, чтобы сделать вывод, например, что небо голубое с пятнами белых облаков. Программа также уточняет свои знания по мере дальнейшего изучения примеров, а ее код можно переписать, чтобы подправить вероятности.
Вероятностное программирование
В то время как этот новый подход к программированию по-прежнему имеет свои проблемы, которые нужно решить, у него есть значительный потенциал для автоматизации разработки алгоритмов машинного обучения. «Вероятностное программирование упростит машинное обучения для исследователей и практиков», объясняет Брендан Лейк, научный сотрудник Нью-Йоркского университета, работавший над вероятностными методами программирования в 2015 году. «У него есть возможность самостоятельно заботиться о сложных частях программирования».
Генеральный директор CEO и соучредитель Бен Вигода показал MIT Technology Review демонстрационное приложение для рисования, которое использует их новый метод. Оно похоже на то, что выпустил Google в прошлом году, тем, что предсказывает, что человек пытается нарисовать. Подробнее о нем мы писали. Но в отличие от версии Google, которая полагается на эскизы, уже виденные ранее, приложение Gamalon полагается на вероятностное программирование в попытке определить ключевые черты объекта. Таким образом, даже если вы нарисуете фигуру, которая отличается от тех, что имеются в базе данных приложения, пока оно сможет определить конкретные черты — например, квадрат с треугольником наверху (домик) — оно будет делать правильные прогнозы.
Два представленных Gamalon продукта показывают, что их методы могут найти коммерческое применение уже в ближайшем времени. Продукт Gamalon Structure использует байесовский программный синтез для распознавания концептов из обычного текста и уже обходит по эффективности другие программы. Например, получив описание телевизора от производителя, она может определить его бренд, название продукта, разрешение экрана, размер и другие особенности. Другое приложение — Gamalon Match — распределяет продукты и цены в инвентаре магазина. В обоих случаях система быстро учится распознавать вариации акронимов или сокращений.
Вигода отмечает, что имеются и другие возможные применения. Например, если оснастить байесовской моделью машинного обучения смартфоны или ноутбуки, им не придется делиться личными данными с крупными компаниями, чтобы определять интересы пользователей; расчеты можно будет эффективно проводить внутри устройства. Автономные машины тоже могут научиться адаптироваться к окружающей среде намного быстрее, используя этот метод обучения.
Если научить искусственный интеллект учиться самостоятельно, ему не придется быть на поводке.