Как научить машину

В машинном обучении традиционные негибкие компьютерные модели заменяются алгоритмами, способными эволюционировать на основе переработанной информации. Поэтому большие данные так важны для машинного обучения: тем четче компьютер «понимает» правила, чем больше информации он переработает. Фото: Pixel.com (CC0).
В машинном обучении традиционные негибкие компьютерные модели заменяются алгоритмами, способными эволюционировать на основе переработанной информации. Поэтому большие данные так важны для машинного обучения: тем четче компьютер «понимает» правила, чем больше информации он переработает. Фото: Pixel.com (CC0).

Машинное обучение – это способ программирования, цель которого – на примерах научить компьютер отыскивать связи и закономерности в океане информации, чтобы впоследствии он мог делать это самостоятельно. Этот технотренд и подраздел науки о создании искусственного интеллекта – триумфатор последних нескольких лет и причина большого шума в мире технологий.

Мы знаем лично голосовых ассистентов Siri и Кортану. Недавно на рынок зашли «умные колонки» Amazon Echo и Google Home, контролируемые голосом. Появились первые прототипы автомобилей с беспилотным управлением – своеобразные флагманы машинного обучения. В прошлом году AlphaGo компании Deep Mind, специализирующейся на исследованиях в области искусственного интеллекта и принадлежащей Google, одержал победу над чемпионом мира по стратегической настольной игре го, считающейся одной из сложнейших. Другой «умный компьютер» DeepStack все увереннее обыгрывает профессионалов в покер.

Последствия машинного обучения – это и менее «громкие» трансформации в ноосфере: поумневшие электронные переводчики, эффективная фильтрация спама в почте, более надежные антивирусные программы, автоматически подписываемые фотографии и видео, способность онлайн-сервисов персонифицировать рекомендуемые услуги и товары, трансформация сканированных документов в электронные, перевод текстов на фотографиях, улучшенная коррекция ошибок при печати, распознавание компьютером лиц и фильтрация мошеннических транзакций.

Еще меньше в поле зрения обывателя попадают узкоспециализированные проекты: в области генной инженерии, в оборонной отрасли, торговле, финансовом прогнозировании. Zebra Medical Vision использует машинное обучение для повышения эффективности ранней диагностики в радиологии. Descartes Labs довольно успешно предсказывает урожайность, анализируя спутниковые снимки полей. Стартап Connecterra собрал 1,8 миллиона долларов для дальнейшего развития проекта по наблюдению за здоровьем коров в режиме реального времени. Он сочетает технологию подкожных сенсоров и машинное обучение.

Что такое машинное обучение

Sideways Dictionary тех-инкубатора Jigsaw, принадлежащего Google, называет машинное обучение гаданием на кофейной гуще, которое работает. Это полушутливое определение довольно точно передает суть. Алгоритмы машинного обучения позволяют компьютерам обнаруживать неочевидные для человека тенденции и связи в гуще разрозненных данных, создавать из них правила и на их основе делать прогнозы и трактовать новую информацию.

Машинное обучение полагается на достаточно стандартные статистические и математические методы, которые в своей теоретической форме существуют не один десяток лет. Его перерождению как практическому инструменту способствовали несколько важных условий: удешевление стоимости хранения информации и компьютерных расчетов, повышение скорости вычислений и появление больших данных – огромных пулов информации.

С «переездом» человечества в Сеть конгломерация данных стала регулярной: сотни миллионов людей ежесекундно генерируют миллиарды транзакций, фотографий, текстов, видео, которые формируют беспрерывно расширяющиеся громадные реестры. С появлением больших данных стало возможным отказаться от пошагового инструктажа машин в программировании, который раньше был необходим для выполнения самых простых задач.

Еще по теме: Андрей Себрант: Не нужно бояться, что машины умнее нас, нужно научиться работать с ними

В машинном обучении традиционные негибкие компьютерные модели заменяются алгоритмами, способными эволюционировать на основе переработанной информации. Поэтому большие данные так важны для машинного обучения: тем четче компьютер «понимает» правила, чем больше информации он переработает. Соответственно низкое качество и ограниченность данных делают их бесполезными и ведут к слишком высокой погрешности при анализе.

Одновременно выяснилось, что если поручить анализ больших объемов данных машине, она может увидеть в них то, что не по силам мозгу: скрытые паттерны, для вычленения которых нужны вычислительная мощь, скорость и память, во многом превышающие человеческие возможности. Натренированный компьютер уже демонстрирует многообещающие результаты в области превентивной медицины, обнаруживая признаки серьезных заболеваний на ранних стадиях. Ведется работа и в области врачебного прогнозирования с целью научить компьютер предсказывать риски для здоровья, например, склонность к суициду, с учетом медицинской истории пациента и других факторов.

Методы машинного обучения

Когда речь заходит о машинном обучении, часто упоминаются эти общие методы: обучение с учителем, обучение без учителя и обучение с подкреплением. Первый из них – на сегодня один из самых распространенных приемов и самый рабочий.

Системе скармливается тренировочный набор данных – «обучающая выборка», в которой информация разбита на пары: данные ввода и данные вывода. Задача компьютера – понять логику, связывающую пары, создать алгоритм и с его помощью объединять в пары новые данные. Система постоянно совершенствуется, проанализированные данные становятся ее «опытом», она учитывает ошибки и стремится минимизировать их допущение в будущем. Так происходит обучение.

Обучение без учителя – тренировка без подсказок. Обучающая выборка состоит только из данных ввода. Задача системы – выявить возможные зависимости и связи между заданными стимулами. Поскольку данные не парны, у системы нет «шпаргалки» с правильными ответами. Выводы о наличии связей она должна делать самостоятельно. Среди ожидаемых результатов – разделение информации на кластеры или обнаружение аномалий. С каждым новым процессом система будет учиться все точнее группировать данные.

Еще один метод – обучение с подкреплением. Оно подразумевает взаимодействие системы со средой, которая выдает отклик, положительный или отрицательный. Это позволяет компьютеру постепенно обнаружить оптимальные пути для стабилизации отклика.

Наиболее комплексным и продвинутым на сегодня методом машинного обучения считаются нейронные сети. Как концепция они были описаны еще в 1930-х годах, но лишь недавно компьютеры обрели необходимую мощность, чтобы продуктивно работать с подобными сложными математическими структурами. Они основаны на принципе многослойной обработки информации в узлах-нейронах и эмулируют работу головного мозга.

После тысяч часов вычислений и операций, повторенных миллионы раз, обучаемая любым из методов система готова к неизвестности. Ее натренированные алгоритмы способны на прогнозирование, классификацию, кластеризацию принципиально новых данных. В процессе обработки модель продолжит учиться и совершенствоваться. Процесс обучения идет до тех пор, пока пополняется база.

Кому это надо?

Машинное обучение стремительно выходит за пределы глубоко научных кругов. Ажиотаж вокруг него привел к коммерциализации как программного обеспечения, так и оборудования, а также доступа к большим данным. Потенциальными выгодами заинтересовались многие структуры, работающие в сферах, в которых возможность прогнозирования и глубина анализа означают увеличение прибылей: банки, инвестиционные фонды, агенты торговли.

Методы машинного обучения позволяют лучше понять клиента, облегчить поиск товаров, повысить конверсию, оценить риски, связанные с теми или иными инвестициями. Согласно опросу, проведенному MIT Review Custom и Google Cloud, 60 процентов респондентов, представляющих самые разнообразные компании, индустрии и страны, заявили, что уже внедрили элементы машинного обучения. Среди основных мотивов участники опроса называли стремление извлечь новые знания из своих данных, приобрести конкурентное преимущество, ускорить анализ информации и выпуск продукции нового поколения.

Еще по теме: Как НКО спрогнозировать объем пожертвований и успешность кампаний с помощью машинного обучения

Пока, правда, эти технологии, изначально ориентированные на докторов наук, нельзя назвать общедоступными и дружелюбными. Для подбора подходящих алгоритмов, обучения машин, наблюдения за ними и трактовки их работы все еще необходимы серьезные эксперты – аналитики баз данных и специалисты по машинному обучению. Они, в свою очередь, должны быть на «ты» с математическими моделями и языками программирования. Но машинное обучение постепенно выплескивается в массы, во многом благодаря «доброй воле» техно-монстров.

Два года назад Facebook, алгоритмы которого широко полагаются на машинное обучение, открыл код используемого им программного обеспечения. В прошлом году открытой стала библиотека программного обеспечения для машинного обучения Google’а TensorFlow, которая позволяет разработчикам глубже понять, как работают модели машинного обучения, и встраивать их в свои продукты. За год к ее поддержке подключились почти 500 человек.

В списке пользователей плодами TensorFlow – множество знакомых сервисов: Dropbox, Ebay, Airbnb, Twitter, Uber. Среди наиболее захватывающих проектов упомянуты проект по усилиям по сохранению морских коров с использованием фотографий водной поверхности и диагностирование болезни Паркинсона по рентгеновским снимкам.

В апреле 2016 года OpenAI, поддерживаемая Элоном Маском, сделала общедоступной платформу машинного обучения Universe, в декабре этого же года Google поступил так же с платформой DeepMind Lab.

Amazon Web

Эти платформы значительно снизили важность понимания алгоритмов, на которых «стоит» машинное обучение, для их успешного применения к своим базам данных. Благодаря открытым инструментам и коммерческим облачным решениям использование машинного обучения стало более доступно. Например, разработчикам, получившим возможность встраивать в свои проекты интересные функции: технологию распознавания голоса, оптимизацию загрузки контента и множество других, не вникая в тонкости математических структур, питающих способность систем к обучению.

Эксперты прогнозируют, что очень скоро любой пользователь в обход нагромождений кода и алгебраических выкладок сможет применять механизмы машинного обучения, и рекомендуют просто набраться терпения. Пока этот момент не настал, обыватель может наблюдать за очередными достижениями через лавину развлекательных приложений и сервисов или создавать произведения искусства в стиле инцепционизма. Так называется новое направление в искусстве, начало которому положил Deep Dream, очередное детище DeepMind, имитирующее полотна известных художников с помощью нейронных сетей.