Термин «машинное обучение», скорее всего, встречался вам не раз. Хотя его нередко используют как синоним искусственного интеллекта, на самом деле машинное обучение – это один из его элементов. При этом оба понятия родились в Массачусетском технологическом институте в конце 1950-х годов.
Сегодня вы сталкиваетесь с машинным обучением каждый день, хотя, возможно, и не знаете этого. Голосовые помощники Siri и Google, распознавание лиц в Facebook и Windows 10, рекомендации в Amazon, технологии, не позволяющие автомобилям-роботам натыкаться на препятствия, созданы благодаря прогрессу машинного обучения.
До человеческого мозга системам машинного обучения еще очень далеко, но они уже имеют в активе впечатляющие достижения – например, победу над людьми в шахматах, настольной игре го и покере.
В последние несколько лет развитие машинного обучения получило резкий толчок благодаря ряду технологических прорывов, росту доступной вычислительной мощности и изобилию учебных данных.
Самообучающееся программное обеспечение
Так что же такое машинное обучение? Начнем с того, чем оно не является. Это не обычные компьютерные программы, написанные вручную.
В отличие от традиционного ПО, которое прекрасно справляется с выполнением инструкций, но не способно к импровизации, системы машинного обучения по сути программируют сами себя, самостоятельно разрабатывая инструкции путем обобщения известных сведений.
Классический пример – распознавание образов. Покажите системе машинного обучения достаточное количество снимков собак с пометкой «собака», а также кошек, деревьев и других объектов, помеченных «не собака», и она со временем начнет хорошо отличать собак. И для этого ей не нужно будет объяснять, как именно те выглядят.
Спам-фильтр в вашей почтовой программе – хороший пример машинного обучения в действии. После обработки сотен миллионов образцов нежелательных и нужных сообщений система обучается выделять типичные признаки спамерских писем. Она справляется с этим не идеально, но довольно эффективно.
Обучение с учителем и без
Упомянутый вид машинного обучения называется обучением с учителем. Это значит, что кто-то познакомил алгоритм с огромным объемом учебных данных, просматривая результаты и корректируя настройки до тех пор, пока не была достигнута нужная точность классификации данных, которые система еще не «видела». Это то же самое, что нажимать кнопку «не спам» в почтовой программе, когда фильтр случайно перехватывает нужное вам сообщение. Чем чаще вы это делаете, тем точнее становится фильтр.
Типичные задачи обучения с учителем – классификация и прогнозирование (или регрессионный анализ). Распознавание спама и образов – задачи классификации, а прогнозирование котировок акций – классический пример регрессии.
При обучении без учителя система просматривает гигантские объемы данных, запоминая, как выглядят «нормальные» данные, чтобы получить возможность распознавать аномалии и скрытые закономерности. Обучение без учителя полезно, когда вы точно не знаете, что именно ищете, – в этом случае систему можно заставить вам помочь.
Системы обучения без учителя могут обнаруживать закономерности в огромных объемах данных гораздо быстрее, чем люди. Именно поэтому банки используют их для выявления мошеннических операций, маркетологи – для идентификации клиентов со схожими атрибутами, а ПО безопасности – для распознавания вредоносной активности в сети.
Примеры задач обучения без учителя – кластеризация и поиск правил ассоциации. Первая применяется, в частности, для сегментации клиентов, а на поиске правил ассоциации основаны механизмы выдачи рекомендаций.
Ограничения машинного обучения
Каждая система машинного обучения создает собственную схему связей, представляя собой нечто вроде «черного ящика». Вы не сможете путем инженерного анализа выяснить, как именно выполняется классификация, но это и не имеет значения, главное, чтобы работало.
Однако система машинного обучения хороша лишь настолько, насколько точны учебные данные: если подать ей на вход «мусор», то и результат будет соответствующим. При неправильном обучении или слишком малом размере обучающей выборки алгоритм может выдавать неверные результаты.
HP попала в неприятную ситуацию в 2009 году, когда система идентификации лиц для веб-камеры на ноутбуке HP MediaSmart оказалась неспособной распознавать лица афроамериканцев. А в июне 2015 года некачественный алгоритм сервиса Google Photos назвал двух черных американцев «гориллами».
Еще один пример – печально знаменитый Twitter-бот Microsoft Tay, с которым в 2016 году поставили эксперимент: тогда попытались выяснить, сможет ли искусственный интеллект «притвориться» человеком, обучившись на реальных сообщениях от людей. Меньше чем за день тролли в Twitter превратили Tay в отъявленного ксенофоба – вот вам типичный пример испорченных учебных данных.
Словарь терминов
Машинное обучение – лишь верхушка айсберга искусственного интеллекта. Среди других терминов, тесно связанных с ним, – нейронные сети, глубокое обучение и когнитивные вычисления.
Нейронная сеть. Это компьютерная архитектура, имитирующая структуру нейронов головного мозга; каждый искусственный нейрон соединяется с другими. Нейронные сети выстроены слоями; нейроны на одном слое передают данные множеству нейронов на следующем и т. д., пока не будет достигнут выходной слой. Именно на последнем слое сеть выдает свои догадки – скажем, на что похож тот объект в форме собаки, – сопровождая ответ рейтингом уверенности.
Существуют разные типы нейронных сетей для решения разных видов задач. Сети с большим числом слоев называются глубокими. Нейросети – один из самых важных инструментов машинного обучения, но не единственный.
Глубокое обучение. Это, по сути, машинное обучение «на стероидах» – использование многослойных (глубоких) сетей для принятия решений на основе неточной или неполной информации. Система глубокого обучения DeepStack в декабре прошлого года обыграла 11 профессиональных игроков в покер путем перерасчета стратегии после каждого раунда ставок.
Когнитивные вычисления. Это термин, придуманный в IBM создателями суперкомпьютера Watson. Разницу между когнитивными вычислениями и искусственным интеллектом в IBM видят в том, что первые не заменяют человеческий разум, а дополняют его, например, помогают врачам ставить более точные диагнозы, финансовым консультантам – выдавать более обоснованные рекомендации, юристам – быстрее находить подходящие прецеденты и т. п.
Итак, несмотря на весь шум вокруг искусственного интеллекта, не будет преувеличением сказать, что машинное обучение и связанные технологии действительно меняют мир вокруг нас, причем настолько быстро, что, того и гляди, машины обретут полное самосознание.
– Dan Tynan. What is machine learning? Software derived from data. InfoWorld. August 9, 2017
В Москве создают нейросеть, распознающую показания счетчиков на воду по фотографиям
В Москве проходит эксперимент по созданию электронного сервиса на основе нейронных сетей. Департамент информационных технологий столицы работает над алгоритмом, который упростит передачу показаний приборов учета воды. Разработчики намерены научить сервис автоматически определять по фотографии, что показывает счетчик.
Обучить быстрому и точному распознаванию показаний нейросеть планируют до конца текущего года. Для этого она должна обработать несколько тысяч фотографий счетчиков горячей и холодной воды, которые пришлют сами горожане, согласившиеся принять участие в эксперименте.
После завершения обучения нейросеть будет уметь распознавать цифры на любых снимках, которые способен различить человеческий глаз. Если процент ошибок останется высоким, системе покажут дополнительные фотографии.
На базе этой нейросети может появиться сервис, который позволит не вводить данные счетчиков вручную. Система будет автоматически распознавать показания и передавать их в Единый информационно-расчетный центр для формирования платежных документов.
MoneyСare использует машинное обучение для прогнозирования одобрения кредитов
Независимый кредитный брокер MoneyCare создал модель прогнозирования на основе облачного сервиса Microsoft Azure Machine Learning. Решение позволяет оценить вероятность положительного ответа банка на запрос кредита.
Для лучшей конверсии кредитных заявок компания решила сократить количество анкетных данных до минимально необходимых, а также создать модель, прогнозирующую вероятность положительного ответа банка. Определение минимального набора данных и построение прототипа компания MoneyCare доверила экспертам Columbus.
Выбирая платформу машинного обучения, специалисты MoneyCare остановились на облачном сервисе Azure Machine Learning, который позволяет оперативно создавать и развертывать полнофункциональные прогнозные модели в качестве решений аналитики.
На первом этапе проекта был создан прототип классификатора в Azure Machine Learning, задача которого – отбор более 60% заявок на кредит с вероятностью одобрения свыше 80%. При этом были использованы такие методы, как дискриминантный анализ, регрессионный анализ, кластеризация, классификация на основе разделимости, а также алгоритмы сокращения размерности.
Вторым этапом проекта стали обучение сотрудников MoneyCare принципам работы и совместный воркшоп по совершенствованию прототипа. Проводилось консультирование по настройке моделей, типовым задачам машинного обучения, а также определялись следующие шаги по улучшению прототипа.
Правительство Мурманской области применит машинное обучение в документообороте
Кафедра технологии программирования СПбГУ совместно с компанией «Диджитал Дизайн» исследовала возможность применения в системах электронного документооборота алгоритмов машинного обучения. Объектом исследования стала СЭД Правительства Мурманской области. В качестве базы данных были использованы более 250 тыс. обезличенных документов служебной переписки.
Проверялась возможность использования в СЭД интеллектуальных алгоритмов, повторяющих принципы нейронной сети. Основные задачи такой сети – определение категории документа, автоматическое заполнение его основных атрибутов, определение на основании анализа текста прикрепленного файла наиболее вероятных исполнителей и создание для них проектов текстов поручений.
Было определено, что, используя интеллектуальные алгоритмы, можно автоматизировать сортировку документов по содержимому прикрепленных файлов и составить семантическое ядро для каждой категории, искать схожие или идентичные документы, определять зависимости одних атрибутов документа от других и даже автоматизировать построение вероятностной модели предсказания значений атрибутов. В ходе исследования удалось достигнуть 95-процентной точности при определении категории документа по содержанию текста. На следующем этапе будет проведено тестирование на узкой группе ключевых пользователей СЭД Правительства Мурманской области, обрабатывающих большие объемы документов.
«Хлынов» оптимизировал обслуживание банкоматов
Банк «Хлынов» изменил обслуживание банкоматов, задействуя сервисы машинного обучения из облака Microsoft Azure. В результате банк получил возможность использовать ранее «замороженные» 250 млн руб.
Поскольку клиентская сеть банка постоянно развивается, требуются новые подходы к хранению денежных средств клиентов и работе с ними. На старте проекта среднемесячный остаток на картах «Хлынов» составлял порядка 800 млн руб. Треть этих денег резервировалась в банкоматах для снятия держателями карт.
Применение сервисов машинного обучения из облака Microsoft Azure позволило банку снизить объем резервируемых денежных средств в банкоматах до 16-20% от среднемесячного остатка на картах: он возрос до 1,2 млрд руб., а резервируемая сумма составила 200-230 млн руб. Освободившиеся средства банк смог направить на другие операционные задачи, в частности на кредитование своих клиентов.
Созданный совместно с интегратором «Рубикон» алгоритм, задействующий методы машинного обучения, позволил банку сократить число ежемесячных инкассаторских выездов более чем в 1,5 раза. Каждый из таких выездов обходится в 3 тыс. руб., а каждая перевозимая тысяча рублей облагается комиссией 0,026%.
В ближайшем будущем банк «Хлынов» планирует внедрить дополнительные инструменты прогнозной аналитики из облака Microsoft Azure для продуктивного использования информации, накопленной за более чем 25 лет работы с клиентами.
«Газпром нефть» будет пользоваться искусственным интеллектом «Яндекса»
«Газпром нефть» и «Яндекс» заключили соглашение о сотрудничестве при реализации перспективных проектов в нефтегазовой сфере. Используя технологии Больших Данных, машинного обучения и искусственного интеллекта, компании планируют вести бурение скважин, осуществлять моделирование технологических процессов нефтепереработки, оптимизировать другие производственные процессы.
Соглашение предполагает проведение специалистами Yandex Data Factory независимой экспертизы существующих технологических решений, совместную разработку и реализацию научно-исследовательских и технологических проектов, а также обмен научно-технической информацией, знаниями и обучение сотрудников.
Нефтегазовая отрасль – одна из наиболее перспективных с точки зрения использования новых технологий, поскольку в ней накоплены большие объемы данных, а простые решения по оптимизации производства и бизнеса давно применены. Тем самым созданы хорошие возможности для получения ощутимого эффекта от внедрения решений на основе машинного обучения и искусственного интеллекта.