Шрифт:
Интервал:
Закладка:
САМООРГАНИЗУЮЩИЕСЯ КАРТЫ
Существует большое количество алгоритмов кластеризации. Например, самоорганизующиеся карты – одна из версий нейронных сетей Кохонена, названных в честь их изобретателя, финского ученого Теуво Кохонена. Принцип самоорганизующихся карт – размещение искусственных нейронов в сеткообразном пространстве карты – имеет отдаленное сходство с тем, как сенсорная информация обрабатывается в человеческом мозге. Когда в такие карты поступают новые данные, положение (или «вес») соседних нейронов смещается в сторону расположения каждой точки данных в сети. После итеративного, то есть предполагающего повторяющиеся действия, процесса подачи данных и подстройки нейронов самоорганизующиеся карты получают набор нейронов, который приблизительно соответствует распределению всех основных точек данных. Это может использоваться как для визуализации различных классов уже известных данных, так и для классификации новых точек данных.
Думайте о неконтролируемом обучении как о математической версии «рыбак рыбака видит издалека».
Существует множество видов обучения без учителя и даже комбинации контролируемого и неконтролируемого типов (скажем, с частичным обучением). Несмотря на то что они чрезвычайно важны в сфере бизнеса для анализа, классификации и прогнозирования, при управлении роботами все еще возникают проблемы. Например, из-за присваивания коэффициентов доверия. Если я робот и мне поручено проложить лучший маршрут по сложному ландшафту, избегая неизвестных препятствий, из-за которых я могу застрять, я должен составить последовательность решений. Успех более позднего решения будет зависеть от более ранних: если я повернул налево, чтобы обогнуть озеро, дальше мне следует найти путь через реку; если я повернул направо, чтобы обогнуть озеро, теперь я должен преодолеть груды камней. Контролируемое обучение не поможет мне научиться, поскольку в данном случае препятствия и их последовательность заранее неизвестны, а значит, мне не удастся понять, какие из моих решений, скорее всего, будут правильными, а какие приведут в ловушку.
Обучение без контроля, такое как кластеризация, может помочь мне классифицировать типы встречающихся мне препятствий, но, опять же, оно не позволит мне узнать, какой путь следует выбрать. У меня нет возможности определить правильность каждого отдельного решения (присвоить ему коэффициент) в цепочке выборов, которые я должен сделать. Не зная, насколько хорошо я справился, как я могу научиться?
Ответ дает другой вид обучения, известный как обучение с подкреплением, впервые разработанный в 1960-х годах Джоном Андреа и Дональдом Мичи. Такая форма ИИ подобна оптимизатору поведенческих линий: она оценивает вероятное качество каждого потенциального действия в данной ситуации и изучает правильную цепочку шагов для достижения желаемого результата. «Допустим, у вас появился щенок, – объясняет инженер-программист eBay Джибин Лю. – Когда он впервые услышит команду “Сидеть!”, то, вероятно, не поймет, что это значит. В конце концов же он сядет, а вы дадите ему лакомство. Чем лучше вознаграждение, тем точнее будет выполнение команд. Это именно то, что мы делаем в обучении с подкреплением».
Такой тип обучения должен уравновешивать исследование (выяснение того, что необходимо делать, и совершение множества ошибок в процессе) и эксплуатацию (выполнение большего количества действий, которые приводят к лучшим результатам). Также может потребоваться много вычислений, поскольку нужно учесть много разных потенциальных действий, прежде чем алгоритм определит, что следует делать. Тем не менее на сегодняшний день, благодаря доступности огромных вычислительных мощностей, обучение с подкреплением используется для все возрастающего числа приложений. Компания Salesforce применила этот метод для составления кратких выжимок из очень длинных текстовых документов. eBay – чтобы эффективнее сканировать веб-страницы и автоматически получать информацию. JPMorgan разработал собственного бота для более эффективной торговли. Кроме того, обучение с подкреплением часто используется в медицине и для управления роботами. В новостные заголовки попал ИИ, обученный таким образом, после того как он обыграл лучших игроков в го.
Что мне показалось удивительным, так это гибкость в обучении, которую демонстрируют дети: сталкиваясь практически с любой простой и конкретной проблемой, после нескольких попыток они решают ее лучше, чем в первый раз. Каким образом результаты детей улучшаются, а не ухудшаются?
Один из популярных типов обучения с подкреплением – Q-обучение. Его разработал в 1989 году Крис Уоткинс, которого вдохновило то, как животные и люди учатся на собственном опыте. Этот тип стимулирует предпочтительное поведение, используя положительное подкрепление. Он определяет наилучшие действия, которые можно предпринять в любой ситуации (речь идет о состоянии робота и окружения в конкретный момент).
ДЖЕФФРИ ХИНТОН (р. 1947)
Джеффри Хинтон считается крестным отцом глубокого обучения. В 1986 году он опубликовал статью, написанную в соавторстве с Дэвидом Румельхартом и Рональдом Уильямсом, об алгоритме обучения с обратным распространением для многослойных нейронных сетей, что помогло популяризировать эту технику и обусловило начало возрождения искусственных нейронных сетей. Хинтон также помог создать множество других сложнозвучащих изобретений, таких как машины Больцмана, распределенные представления, нейронные сети с временной задержкой, объединение экспертов, машины Гельмгольца, смеси экспертов и капсульные нейронные сети. Аспиранты Хинтона, Алекс Крижевский и Илья Суцкевер, стали одними из первых исследователей, добившихся невероятных успехов в распознавании изображений при помощи AlexNet – сверточной нейронной сети, в которой использовались графические процессоры (см. главу 5). Многие из его аспирантов и постдоков, например Ян Лекун, Ричард Земель и Брендан Фрей, также стали известными исследователями в области машинного обучения. Кроме того, Хинтон был директором-основателем Института вычислительной нейробиологии Гэтсби в Университетском колледже Лондона, где постдоки Демис Хассабис и Шейн Легг, объединив свои усилия, совершили прорыв в нейробиологии и машинном обучении, а именно глубоких Q-сетях, и вместе с Мустафой Сулейманом создали компанию по разработке ИИ DeepMind. В 2014 году Google купил ее за 400 миллионов долларов.
В случае управления роботом действия могут выглядеть так: «если путь вперед свободен, тогда двигаться вперед» или «если путь преграждает препятствие, тогда остановиться». Эта идея напоминает ту, что заложена в конечные автоматы (см. главу 3), однако здесь вместо программиста, разрабатывающего поведение, алгоритм обучения с подкреплением изучает все самостоятельно. Чтобы оптимизировать активность, последнему необходимо понимать ценность «награды», связанной с каждым действием в каждой ситуации. Это так называемая Q-функция, которая возвращает ожидаемое вознаграждение в определенном состоянии, так что стратегия выбора действий всегда может выбрать лучшее в цепочке, максимально увеличивая общее вознаграждение.