Шрифт:
Это лишь простейшие примеры. Используя такие же или схожие статистические методы в разных частях и масштабах системы, компьютеры могут научиться распознаванию лиц, транскрибированию речи и переводу текста с одного языка на другой. Если верить некоторым компаниям, специализирующимся на онлайн-знакомствах, то и здесь можно задействовать агентов по подбору потенциальных партнеров. Иными словами, агенты способны подражать сложному человеческому поведению, которое мы не можем полностью смоделировать, и делают они это совершенно не так, как мы.
Машинное обучение – это не только анализ поведения в уже произошедших событиях. Иногда ИИ приходится сталкиваться с новыми ситуациями. Как помочь новому клиенту? Кому порекомендовать новую книгу? В данном случае вся хитрость в том, чтобы научить машины обобщению на основании данных от схожих клиентов или товаров.
Даже новый клиент, который никогда не пользовался данным сервисом, оставляет небольшой информационный след (например, свое местоположение или адрес электронной почты). Способность к обнаружению и использованию сходств иногда называют «распознаванием образом», причем такая способность важна не только на этапе «холодного» старта. На самом деле обобщение (то есть обнаружение закономерностей и сходств) является основой разумного поведения.
Что мы имеем в виду, говоря, что два элемента похожи? Книгу можно описать по количеству страниц, языку, тематике, цене, дате выхода, автору и даже индексу ее читабельности. Если говорить о покупателях, то нужными характеристиками могут считаться возраст, пол или местоположение клиента. В машинном обучении такие характеристики иногда называют «признаками» или «сигналами». При достаточности данных ими можно пользоваться для поиска похожих объектов. Таким образом, машина может делать общие выводы об одной ситуации и применять их к другой, благодаря чему совершенствуется ее опыт.
Одна из ключевых проблем машинного обучения – отбор правильных признаков. Цена книги, к примеру, может быть важнее использованного шрифта. А по мере обработки более сложных элементов, таких как изображения, данная проблема становится еще более актуальной. Если сравнить две фотографии на паспорт, снятые с разницей в одну минуту, то на уровне необработанных (сырых) пикселей данные изображения не будут идентичными. Этого достаточно, чтобы компьютер рассматривал их как два совершенно разных изображения. Нам бы хотелось, чтобы компьютер оценивал такие изображения по более подходящим критериям, нежели пиксели. Тогда компьютер не будет сбит с толку небольшими и незначительными изменениями в изображении. Так какими же признаками изображения необходимо руководствоваться для распознавания одного и того же лица на разных фотографиях?
Это оказалось невероятно сложной задачей, усугублявшейся при изменении освещения, положения объекта и фона, сопутствующих натурным съемкам.
Запрограммировать все варианты напрямую в компьютер чрезвычайно трудно, поэтому инженеры снова обратились к машинному обучению. Один из таких методов, называемый глубоким обучением, продемонстрировал в ряде областей наилучшие результаты. Как и в предыдущих примерах, глубокое обучение сводится к использованию больших данных для оценки миллионов параметров.
Слои обучения
Одной из самых нашумевших фраз в исследованиях ИИ является, пожалуй, «глубокое обучение». Несмотря на непривычное название, это всего лишь еще один подход, основанный на больших данных. Именно он помог достичь столь впечатляющих результатов в исследованиях ИИ за последние годы. Глубокое обучение использует технологию под названием «нейронная сеть». Это программный модуль, разработанный для имитации мириад нейронов человеческого мозга, соединенных синапсами, которые и реализуют его беспрецедентную вычислительную мощность. Многие простые процессоры нейронной сети соединены так, что значения на выходе одного процессора могут выступать в роли входных значений для других. Такие входные значения ранжируются по степени своего влияния. Суть в том, что сеть «говорит» сама с собой, используя выходные значения для изменения «входных весов» – то есть обучается, как и мозг.
За несколько коротких лет нейронные сети обогнали устоявшиеся технологии в звании «лучшего способа решения сложных проблем восприятия»: от расшифровки медицинских снимков и распознавания лиц до управления автомобилями. Рассмотрим задачу: в наборе фотографий необходимо выбрать все изображения футбольного матча. Конечно же, программист может написать алгоритм для поиска типичных признаков (например, футбольные ворота), но это слишком большая работа. Нейронная сеть может выполнить работу за вас путем первоначального подбора нужных признаков, таких как границы объектов на изображениях, с последующим переходом к распознаванию самих объектов и даже действий. Например, мяч, поле и игроки с высокой долей вероятности указывают на футбольный матч. Каждый узел слоя ищет определенные признаки на разных уровнях абстракции.
Разница между выходным значением и правильным ответом будет подаваться обратно в сеть для соответствующей корректировки весовых коэффициентов до тех пор, пока не будет постоянно (или большую часть времени) выходить правильный ответ. Процесс, при котором система обучается, получая положительное или негативное подкрепление за свои действия, называется «обучение с подкреплением». Для оптимизации способа сбора подходящих признаков в данные программисту требуется только настроить количество узлов и слоев. Однако, поскольку довольно часто нельзя объяснить, как именно нейронная сеть делает то, что делает, такой «подбор» значений сводится к методу проб и ошибок.