Код креативности. Как искусственный интеллект учится писать, рисовать и думать - Маркус Дю Сотой Страница 20
Код креативности. Как искусственный интеллект учится писать, рисовать и думать - Маркус Дю Сотой читать онлайн бесплатно
Давайте создадим перцептрон, позволяющий решить, пойдете ли вы куда-нибудь сегодня вечером. Его решение будет зависеть от трех факторов: 1) показывают ли что-нибудь хорошее по телевизору; 2) идут ли куда-нибудь ваши друзья; 3) какой сегодня день недели. Каждая из этих переменных может принимать значения от 0 до 10, соответствующие вашим предпочтениям. Например, понедельнику присваивается значение 1, а пятнице – 10. В зависимости от ваших личных склонностей некоторые из переменных могут быть весомее, чем другие. Может быть, вы больше всего на свете любите валяться на диване: тогда вы останетесь дома, если по телевизору будет хоть что-то достойное. Значит, переменная x1 будет иметь большой вес. Тонкость этой формулы сводится к нахождению такой настройки весов и порогов, при которой формула хорошо отражала бы ваше поведение.
Подобно мозгу, состоящему из целой цепи нейронов, перцептроны могут быть устроены послойно, так, чтобы срабатывание отдельных узлов постепенно вызывало каскадную реакцию, распространяющуюся по сети. Это и называется нейронной сетью. Собственно говоря, существует чуть более замысловатый вариант перцептрона – так называемый сигмоидальный нейрон, который сглаживает поведение этих нейронов, в результате чего они уже не работают просто как двухпозиционные – включенные или выключенные – выключатели.
Но если ученые, работающие в области информатики, уже научились создавать искусственные нейроны, почему же потребовалось столько времени, чтобы добиться их эффективной работы? Этот вопрос заставляет нас вернуться к данным. Перцептронам нужны данные, на которых они обучаются и развиваются; для создания действенного алгоритма необходимо сочетание этих двух составляющих. Мы можем попытаться запрограммировать наш перцептрон на выработку решения о том, следует ли нам куда-нибудь идти, определяя весовые коэффициенты и пороговые значения, но добиться от него правильной работы невозможно без обучения его нашему реальному поведению. Даже неудачные попытки предсказать наше поведение позволяют ему учиться и переоценивать свои критерии.
Видеть или не видеть?
Одной из самых трудных проблем в развитии искусственного интеллекта всегда было компьютерное зрение. Еще пять лет назад компьютеры ужасно плохо понимали, на что они смотрят. В этой области человеческий мозг работает несравнимо лучше, чем его кремниевые соперники. Мы способны бросить один быстрый взгляд на картинку и сразу сказать, что на ней изображено, или классифицировать разные участки изображения. Компьютер может проанализировать миллионы пикселей, но программистам оказалось очень трудно написать алгоритм, который смог бы обработать все эти данные и разобраться в них. Как создать нисходящий алгоритм, способный узнать кошку? Каждое изображение состоит из пикселей, расположенных абсолютно уникальным образом, и тем не менее человеческий мозг обладает поразительной способностью синтезировать эти данные и объединять входящие сигналы в один выходящий, дающий ответ «кошка».
Способность человеческого мозга распознавать визуальные образы используется для создания дополнительного уровня защиты в банках, а также помогает установить, что вы – не робот, прочесывающий интернет в поисках билетов. По сути дела, вам приходится проходить обратный тест Тьюринга.
Когда человеку показывают изображение или надпись, сделанную причудливым почерком, человек очень хорошо определяет, что там изображено или написано. Компьютеры не могли справиться со всем многообразием таких изображений. Но машинное обучение изменило это положение вещей.
Теперь, тренируясь на данных, состоящих из изображений кошек, алгоритм постепенно выстраивает иерархическую систему вопросов, которые он может задать относительно изображения и с высокой вероятностью установить, что это изображение кошки. Такие алгоритмы несколько отличаются от тех, о которых мы говорили в предыдущей главе: они не соответствуют одному из наших четырех критериев хорошего алгоритма. Они срабатывают не в 100 % случаев. Но в большинстве случаев они срабатывают. Задача заключается в том, чтобы сделать это «большинство» как можно больше. Переход от детерминистических алгоритмов, безошибочно работающих всегда, к алгоритмам вероятностным был для работающих в этой области большим психологическим скачком. В чем-то он был похож на переход от математического мышления к инженерному.
Можно спросить, почему же, если это так, нас по-прежнему просят распознавать фрагменты изображений, чтобы доказать, что мы люди, когда мы хотим купить билеты на популярный концерт. Но этим мы на самом деле помогаем в подготовке тренировочных данных, которые потом будут вводить в алгоритмы, чтобы научить их без лишних усилий делать то же, что делаем мы. Алгоритмам нужны данные, на которых они могли бы учиться. То есть на самом деле мы обучаем алгоритмы распознаванию визуальных образов.
Эти тренировочные данные используются, чтобы выучить, какие вопросы лучше всего задавать, чтобы отличать кошек от некошек. Каждый раз, когда алгоритм ошибается, он изменяется так, чтобы в следующий раз не допустить той же ошибки. Речь может идти об изменении параметров существующего алгоритма или внедрении в него новой функции для более точного различения изображений. Эти изменения не спускаются по нисходящему каналу программистом, заранее продумывающим все вопросы. Алгоритм создает сам себя снизу вверх в процессе взаимодействия со все новыми и новыми данными.
Я видел могущество такого восходящего процесса обучения своими глазами, когда зашел в лаборатории Microsoft в Кембридже, чтобы понять, как игровая приставка Xbox, которую мои дети используют дома, может распознавать, что они делают, когда они движутся перед ее видеокамерой. Этот алгоритм был создан, чтобы система могла отличать руки от голов и ноги от локтей. У Xbox есть камера под названием Kinect с функцией измерения глубины: она использует инфракрасные датчики для определения удаления препятствий от камеры. Если вы встанете перед такой камерой в своей гостиной, она установит, что ваше тело находится ближе к ней, чем задняя стена комнаты, а также сможет определить контуры вашего тела.
Но размеры и очертания фигур людей могут быть разными. Люди могут принимать весьма странные позы, особенно когда играют в Xbox. Компьютер должен распознавать 31 разную часть тела, от левого колена до правого плеча. Алгоритм Microsoft может сделать это по одному неподвижному изображению. Он не использует ваших движений (их анализ потребовал бы больших вычислительных мощностей и замедлил бы игру).
Как же ему это удается? Алгоритм должен решить, к какой части тела из тридцати одной принадлежит каждый пиксель изображения. По сути дела, он играет в «20 вопросов». Собственно говоря, для этой игры действительно существует один хитрый алгоритм, который гарантирует получение правильного ответа. Сначала нужно спросить: «В какой половине словаря – первой или второй – находится это слово?» Следующим вопросом область поиска в словаре нужно сузить еще более, спросив: «В какой половине той половины, которую вы назвали, оно находится?» За 20 вопросов эта стратегия делит словарь на 220 участков, что иллюстрирует могущество удвоения. А это более миллиона частей – гораздо больше, чем число статей в «Оксфордском словаре английского языка»: их в нем около трехсот тысяч.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Comments