Об интеллекте - Джеф Хокинс
Шрифт:
Интервал:
Закладка:
Давайте начнем с некоторых краткосрочных применений. Это вещи, кажущиеся очевидными, подобно замене радиоламп на транзисторы или построению калькуляторов на микропроцессорах. И мы сможем начать с обозрения некоторых областей, в которых пытались применить ИИ, но не смогли — распознавание речи, техническое зрение и умные автомобили.
* * *Если вы когда-нибудь пытались использовать программы для распознавания речи для ввода текста в персональный компьютер, вы знаете, насколько они могут быть неуклюжими. Подобно Китайской Комнате Серла, у компьютера нет понимания того, что ему сказали. За время использования таких продуктов я был разочарован. Если в комнате есть хоть какой-нибудь шум, от упавшего карандаша до чьего-нибудь разговора, на экране появляются лишние слова. Процент ошибок распознавания очень высок. Часто слова, которые послышались программе, не имели смысла. «Remember to fell Mary that the bog is ready to be piqued up». Ребенок знает, что это неправильно, но не компьютер. Аналогично, так называемые естественно-языковые интерфейсы были целью для компьютерщиков многие годы. Идея в том, чтоб вы могли сказать компьютеру или другим устройствам сказать, чего вы хотите — и пусть машина делает свою работу. Персональному цифровому помощнику, или PDA, вы могли бы сказать «Перенести занятия баскетболом для моей дочери на десять часов утра в воскресенье». Такое невозможно сделать на приемлемом уровне с помощью традиционного ИИ. Даже если компьютер смог бы распознать каждое слово, для того, чтоб выполнить задачу ему потребовалось бы знать, в какую школу ходит ваша дочь, что, возможно, вы имели в виду ближайшее воскресенье, и, может быть, что такое «занятия баскетболом» потому что назначение могло бы только говорить «Menlo vs. St. Joe». Или, вероятно, вы хотели бы, чтоб компьютер слушал радиопередачу на предмет упоминания определенного продукта, даже если диктор описывает этот продукт не используя его название. Вы и я знали бы, о чем он говорит, но компьютер — нет.
Эти и многие другие приложения требуют, чтоб машина могла слышать и понимать устный язык. Но компьютеры не могут выполнять такую задачу, потому что они не понимают, что было сказано. Они сопоставляют звуковые паттерны со словарными шаблонами механически, не зная, что обозначают слова. Представьте себе, если бы вы научились звучание отдельных слов иностранного языка, но не значение слов, и я попросил бы вас перевести разговор с другого языка. В процессе перевода вы бы не понимали, о чем речь, но пытались бы ухватить отдельные слова. Однако, слова перекрываются и взаимодействуют, и частично звуки подавляются шумами. Вам бы показалось черезвычайно сложно отделить слова и узнать их. Именно с этим препятствием борются современные распознающие программы. Инженеры обнаружили, что используя вероятности перехода слов они могут улучшить качество программ в чем-то. Например, они используют правила грамматики для того, чтоб выбрать один из омонимов. Это очень простая форма предсказания, но системы все еще остаются слабо интеллектуальными. Современные программы распознавания речи успешно работают только в очень ограниченных ситуациях, в которых количество слов, которые вы можете сказать в любой момент, ограничено. Но люди очень легко выполняют множество задач, связанных с языком, потому что наш кортекс понимает не только слова, но предложения и контекста, в котором они произнесены. Мы предчувствуем мысли, фразы и отдельные слова. Наша кортикальная модель мира делает это автоматически.
Так что мы можем ожидать, что системы памяти, подобные кортексу, трансформируют ошибочное распознавание речи в надежное понимание речи. Вместо программирования вероятностей переходов отдельных слов, иерархическая память будет отслеживать ударения, слова, фразы, смысл и использовать их для интерпретации того, что было сказано. Подобно человеку, такая интеллектуальная машина могла бы отличать различные случаи применения речи — например, разговор между вами и вашим другом в комнате, телефонный разговор, команды редактирования для текстового редактора. Такие машина построить нелегко. Для полного понимания человеческого языка, машина должна иметь опыт и изучать, что делает человек. Так что даже если пройдет много лет, прежде чем мы сможем построить интеллектуальные машины, мы будем способны в ближайшем будущем улучшить производительность существующих систем распознавания речи, используя память, подобную кортексу.
Зрение предлагает другой набор приложений, которые ИИ не может решить, но которые интеллектуальные системы должны уметь решать. Сегодня нет машин, которые могут смотреть на естественное изображение — мир перед вашими глазами, или картинка с камеры — и описывать, что она видит. Есть несколько успешных применений машинного зрения, которое работает в очень ограниченных областях, такие как визуальное выравнивание чипов на печатной плате или сопоставление лиц по базе данных, но в настоящее время для компьютера невозможно идентифицировать различные объекты или анализировать изображение более общо. Для вас не составляет труда осмотреть комнату и найти место, где можно присесть, но не просите компьютер сделать это. Представьте, что вы смотрите на экран с изображением с камеры безопасности. Можете вы отличить человека, стучащего в дверь с подарком в руке от человека с монтировкой? Конечно можете, но такое различение за пределами способностей современных программ. Следовательно мы нанимаем человека, который следит за экраном камеры безопасности все время в поисках подозрительного. Для такого человека сложно все время оставаться начеку, тогда как интеллектуальная машина могла бы выполнять такую задачу неустанно.
В конце концов, давайте взглянем на транспортировку. Машины становятся все более сложными. У них есть GPS для отображения маршрута от A к B, сенсоры для включения фар, когда становится темно, акселерометры для срабатывания подушки безопасности, сенсоры предупреждающие о том, что вы можете наехать задним ходом на какой то предмет. Есть даже автомобили, которые ездят автономно по специальным путям или в идеальных условиях, хотя они коммерчески недоступны. Но чтобы эффективно и безопасно вести машину по любым типам дорог или в любых дорожных условиях, требуется большее, чем набор сенсоров и обратные связи контуров управления. Чтоб быть хорошим водителем, вы должны понимать дорожную обстановку, других водителей, принцип работы автомобиля, сигнальные огни и массу прочих вещей. Вы должны быть способны понимать предупреждающие знаки или отмечать, когда другая машина движется слишком опасно. Вы должны видеть поворотники другой машины и предвидеть, что она вероятно сменит полосу, или, если сигнал включен уже несколько минут, предположить, что водитель вероятно забыл, что сигнал включен и не будет менять полосу. Вы должны понять, что клубы дыма далеко впереди могут обозначать, что произошла авария и следовательно вы должны замедлить движение. Водитель видит мячик, катящийся по дороге и автоматически понимает, что за ним может выбежать ребенок, чтоб догнать его, и интуитивно жмет на тормоз.
Скажем, мы хотим построить действительно умную машину. Первое, что мы должны сделать — это выбрать набор сенсоров, которые позволили бы машине ощущать мир. Мы могли бы начать с камеры для зрения, возможно несколько камер, спереди и сзади, и микрофоны для слуха, но мы могли бы также обеспечить ее радаром или ультразвуковыми сенсорами, которые могли бы точно определять расстояние до других объектов и скорость и в светлых и в темных условиях. Суть в том, что мы не должны полагаться или ограничивать себя только теми чувствами, которые использует человек. Кортикальный алгоритм гибок, и, пока мы корректно применяем систему иерархической памяти, для нее не должно иметь значения, какие типы сенсоров мы инсталлируем. Наша машина могла бы, теоретически, быть лучше в ощущении мира дорожного движения, чем мы, потому что ее набор сенсоров может быть выбран в соответствии с задачей. Затем сенсоры были бы приделаны к достаточно большой системе иерархической памяти. Разработчики машины натренировали бы память умной машины путем демонстрации ей условий из реального мира, так чтоб она обучалась строить модель ее мира точно также, как делают люди — только более ограниченной области. (Например, машине нужно знать о дорогах, но не о лифтах или самолетах). Память машины изучила бы иерархическую структуру дорожного движения и дорог, так что она смогла бы понимать и предвидеть, что скорее всего должно произойти в ее мире движущихся автомобилей, дорожных знаков, препятствий или пересечений. Разработчики машины могли бы разработать систему памяти такую, чтоб она действительно вела машину или просто наблюдала за тем, что происходит, когда вы ведете. Он мог бы давать советы или наоборот принимать советы в сложных ситуациях, подобно советчику, который бы вас не раздражал. Как только память один раз полностью натренирована и машина может понимать и разбираться во всем, что может произойти, инженеры имели бы возможность постоянной настройки памяти, так что все машины, сходящие со сборочного конвейера вели бы себя одинаково, или они могли бы разработать память для продолжения обучения после того, как машина продана. И с помощью компьютера, но не человеком, память могла бы быть перепрограммирована обновленной версией, которая работала бы и в каких то новых ситуациях.