Знакомое название, не правда ли? В эпоху компьютерной эйфории прошлого века этот вопрос занимал всех. Со временем накал дискуссий ослаб: люди решили, что ЭВМ – нечто иное и чуждое и похожей на человека она не будет. А поэтому и неинтересно, может ли она мыслить. Вот например не вызывает же особо горячих дискуссий вопрос, мыслят ли животные. И не потому, что ответ очевиден, а потому, что очевидно совсем другое – они не мыслят, как человек. Угрозы конкуренции с человеком нет – и делается неинтересно. Задача этой статьи – показать
1) как сегодня мыслит машина,
2) как она будет мыслить завтра,
3) как сделать, чтобы это мышление было человекоподобным, и, наконец, дать ответ на вопрос, который некоторые считают главным – опасно ли это для человека.
Тест его имени
Жил да был в середине прошлого века в Англии Алан Тьюринг, человек непонятно какой специальности. Математики с присущим им снобизмом не сочли бы его математиком, слова «кибернетик» тогда не было (да и сейчас нет). Человек он был неординарный, увлекался и занимался множеством вещей, в том числе – компьютерами. И хоть это была заря компьютерной эпохи, но уже тогда стало ясно, что компьютер – это вам не арифмометр. И для того, чтобы понять, как он работает и может работать, к нему надо относиться как к обычному сложному объекту научного исследования – то есть строить его модели. Одна из таких теоретических моделей «компьютера вообще» была придумана Тьюрингом, ее позже и назвали «машина Тьюринга» Ничего удивительного в этом нет – вон, в химии сотни именных реакций и соединений. Но он придумал еще одну вещь, которую тоже назвали его именем. И которая, в отличие от именных реакций и теоретических моделей компьютера, известна и неспециалистам. Это способ выяснить мыслит ли машина, и называется он «тест Тьюринга». Состоит он в следующем: машину можно назвать мыслящей, если она способна разговаривать с человеком, и он не сможет отличить компьютер от собеседника-человека. По тогдашним временам под «разговаривать» понимался, естественно, не милый женский голосок из динамика, а телетайп.
Обоснование
Человек – самовлюбленное существо, и лучше всех это выразил тот древний грек, который изрек: «Человек – мера всех вещей». Ни одна кошка не ломает себе голову над вопросом: «Отчего собака – не кошка?» Человек же непрерывно ищет то самое, что отличает его от обезьян. На обсуждение теста Тьюринга потрачено времени и сил – немерено, но в итоге гора родила маленькое, серенькое, с хвостиком... Исследователи сошлись на том, что этот тест – на человекоподобное мышление, а не на мышление вообще. Как они решили, что этот зверь – кошка, а не собака, не видя ни одной собаки и даже не зная, существуют ли вообще собаки, – не постигаю. Однако они не только это решили, но и разделились на два лагеря.
Одни утверждают, что в человеческом мышлении есть нечто, чего в принципе не может быть в машине (как на Солнце – пятен...). Примеры: эмоции, целеполагание (желания), способность к телепатии, нечто, именуемое «душой». Другие стали придумывать, как реализовать в железке чисто человеческие черты. Позиция первых бездоказательна и, может, поэтому дискутироваться до бесконечности, второе интереснее как задача, позволяет проявить профессионализм и изобретательность, но попахивает жульничеством. Тьюринг не оговаривал, как именно должна быть построена программа, так что формально правила игры не нарушены и во втором случае. Однако мы подозреваем, что в человеке «это» устроено иначе, нежели Джон и Иван сделали в своей замечательной программе.
Гладко было на перфоленте
Когда А. Т. сформулировал свой тест, ситуация казалась простой. Отличит или нет? Но один отличит, а другой – нет. Один скажет – это человек, другой осторожнее – не могу определить, третий – что-то здесь не то, чую, но не могу уловить, четвертый, пятый и шестой скажут что-то еще. Кроме того, разные люди мыслят по-разному. Даже если не рассматривать клинические случаи, то все равно границу установить не удастся. IQ = 50 – это клиника, а IQ = 90? Просто немного туповат? А IQ = 70? Но и при сохранном интеллекте есть такое неформальное (популярное у наших учеников) понятие «тормоз». Есть «липкое внимание». Есть миллион вещей, которые накладывают отпечаток на психику и манеру разговора. И это только самый краешек болота.
Люди могут принадлежать к разным культурам. Сдержанному англичанину непросто понять вечно улыбающегося американца, а им обоим – японца, который с каменным лицом совершает самоубийство. Европеец считает, что свои проблемы можно вешать на других, американец полагает, что это неэтично, а японец должен сохранять лицо в любой ситуации.
Кроме европейца, американца и японца есть еще собиратель устриц с атолла, охотник на газелей из африканского буша, изготовитель кокаина из «золотого треугольника», добытчик нерпы с макушки земного шара. Теперь посмотрим на исторические часы. Пять тысяч лет назад уже были люди. И если вы не христианин или иудей, то согласитесь с тем, что десять тысяч лет назад – тоже. А пятнадцать? А тридцать? Где во времени пролегает эта граница? Проводить ли ее по способности разговаривать с вами? Если нет – то как квалифицировать в смысле теста Тьюринга ту даму, которую антропологи назвали Люси? Человек, который не мыслит как человек, – или не-человек, который мыслит как человек?
Сухой остаток невелик и печален: у нас нет никаких, даже примитивных, определений понятий «человек» и «человеческое мышление». За одно то, что он нам помог это понять, – земной поклон мистеру Тьюрингу. А еще за то, что он разгадал секрет германской шифровальной машины «Энигма», и трудно сосчитать, сколько спас жизней в армиях союзников во время Второй мировой войны.
Здесь и сейчас
Ограничимся ситуацией «здесь и сейчас», не будем апеллировать к создателю пяти (или семи – ученые спорят) псалмов Эйтану и к безымянному собирателю моллюсков с Рапа-Нуи. Может ли машина имитировать нормального среднего человека, если собеседник не пытается ее «подловить»? Ответ давно известен, и этот ответ положителен.
Почти 40 лет назад Джозеф Вейценбаум из Массачусетского технологического института создал программу «Элиза» (название – в честь Элизы Дулиттл), по нынешним понятиям, простенькую. И эта программа успешно поддерживала диалог с человеком, причем собеседник-человек втягивался в разговор так, что некоторые испытуемые просили экспериментатора выйти из комнаты, а потом – стереть запись разговора. Человек легко откровенничал с машиной. Она «просто» умело задавала вопросы о том, про что человек уже что-то рассказал. «Мне кажется, что моя мать меня не любит. – Расскажите мне о вашей матери». «Мои друзья не обращают на меня внимания. – Давно ли вы стали замечать это?»
Такое общение составляет заметную часть сетевого графика и бесед в кабинете врача. Может быть потому, что в этих двух ситуациях, как и при общении с программой, откровенность представляется неопасной? Научить программу делать такие вещи не просто, но факт налицо. Расположенный к диалогу (а не к конфронтации) человек втягивался. Это означает, что проблема не безнадежна, хотя «Элиза» не столько говорила сама, сколько «принимала мячик». И, кроме того, человек не пытается, как это предполагает тест Тьюринга, разобраться в ситуации.
Программа не смогла бы поддержать разговор на тему, требующую специальных знаний. Да и простой человеческий быт представлял для нее загадку. О телевидении высокой четкости (ТВЧ) с ней поговорить бы не удалось, и посоветоваться насчет выбора обоев для кухни – тоже. (Впрочем, как и со многими людьми.) Но сегодня подобную программу можно подключить к любым базам данных. Равно как и – хотя это и непросто – научить строить на основе этих данных гипотезы. Почему А. выиграл у Б. в пятом раунде? Побьет ли В. противника и изберут ли Г.? И так далее.
Заметим, что проблема внесения «осмысленности» в работу Сети вполне осмыслена наукой – у нее уже есть имя собственное «web intelligence». Хотя это имя дали не те, кто занимается искусственным интеллектом, а те, кто занимается Сетью, так сказать, роет тоннель с другой стороны. Вообще же под названием «искусственный интеллект» сегодня собирают работы трех типов. Исследования «вещей» – то есть программ, классов программ и устройств, например персептрона. Второй тип работ – решение прикладных задач, например распознавание объектов какого-либо класса (речи, аэрофотоснимков, фотографий человека, отпечатков пальцев...). Третий тип работ – изучение методов. Очевидно, что эти классы не изолированы.
Проверка с пристрастием
Экзаменатор в тесте Тьюринга – это не нервически ломающая руки мадемуазель с флаконом нюхательной соли и не обремененный семейными проблемами топ-менеджер, спешащий на кушетку психотерапевта. Это критически настроенный специалист, профи. Поэтому одно из направлений работ на этом участке фронта – обнаружение (путем наблюдения за людьми или самонаблюдения) каких-то черт, особенностей, механизмов человеческого мышления и попытки оснастить этими механизмами программу. Подвесить ей еще пару ракет на подкрыльевые пилоны.
Вот один пример – ассоциативное мышление. Структура ассоциаций индивидуальна: для одного «карабин» – это шкура на полу перед камином, для другого – снег и синее. Для общеизвестных связей – очередность и скорость. У одного на «писатель» раньше выскакивает «Пушкин», а у другого – «Булгаков». Один на «пиво» реагирует «воблой» за наносекунду, другой – лишь за микро. Надо ли пояснять, что структура ассоциаций у представителя другой культуры будет отличаться радикально?
И структуру ассоциативного поля, и скорость ассоциаций можно прописать в программе «руками», но это не совсем честно. Откуда берет свою структуру человек? Из жизни – из своей жизни и из книг. Кто нам мешает научить программу брать ассоциации из книг? В Сети нынче книг немало, да и не только книг. Можно послать запрос с любым словом, собрать пришедшие тексты и, анализируя окружение целевого слова, посмотреть, с чем оно ассоциировано.
При этом довольно легко создается – причем тем же способом, что и у человека, – смысловая связность ассоциативного поля. Действительно, если для данного человека «карабин» – это «шкура», то «кошка» для него «большая», а если для него «карабин» – это «снег и синее», то «кошка» – «двенадцатизубая».
Программа реализует такое легко – она запоминает тексты, из которых взяла ассоциацию, и впоследствии учитывает при пополнении ассоциативного поля именно эти тексты с большим весом, нежели другие. У человека это называется «любимая книга».
Некоторое отличие программы от человека состоит в том, что человек пользуется книгами, написанными людьми, то есть «собой же», а программа – нет. Для полной аналогии программа должна пользоваться «книгами, написанными программами». В узком смысле слова таких книг сегодня нет, но тексты, созданные программами, есть. Например, тот же результат поиска в Сети – это уже соавторство человека и машины. Известны программы для обработки текстов, например для выборки из новостной ленты сообщений о неком N или для анализа – кто упоминается рядом с N и выборки всех, кто упоминается рядом. Есть программы для придания окраски текстам – мрачной или, наоборот, веселенькой. Их авторы сообщают, что свои программы они продали политикам Х и Y для предвыборной агитации. Правда, не сообщают, победило ли это жулье.
Конечно, сама идея программы принадлежит человеку, но если мы, например, установим критерий качества работы такой программы и предоставим машине производить оптимизацию, то получится программа с обратной связью. Она будет извлекать информацию из жизни, оптимизируясь, подбирая свой алгоритм работы так, чтобы результат был наилучшим. Если вернуться к первому примеру – чтобы было выявлено, кому N загнал партию оружейного плутония, если обратиться ко второму примеру – чтобы был избран X, а не Y.
Еще одно важное отличие программы от человека всегда состояло в том, что у человека есть внешний мир, а у программы – нет. Это сильное утверждение, но оно неверно, причем дважды. Внешний мир у программы теперь имеется – это Сеть, и выше мы объяснили, как она может использоваться. Но – поскольку скептик продолжает кривиться (он до сих пор называет железную дорогу чугункой, а по электронной почте его письма отправляют друзья), мы укажем на «еще один» внешний мир программ. Это просто наш с ними общий мир, природа и общество, человек. Программа подключена к внешнему миру, разумеется, и через Сеть. В конце концов, о чем пишут в Сети? О природе, обществе и человеке. Но подключена она к миру и без Сети, напрямую – через экспериментальные установки, управляемые программами, же и, в перспективе, через механизм оптимизации программ по результатам их воздействия на мир
«Человеческое, слишком человеческое»
Другой способ подкопаться к программе – это поискать у нее фобии, комплексы, эмоции. Один человек боится мышей, другой может часами обсуждать комнатные цветы, у третьих любимая тема – что мало платят. У программы такого нет. Некоторые предлагают считать машинными фобиями глюки и баги, но это, наверное, шутки. На самом же деле создать ей фобии и комплексы можно «ручками» – указать, какие темы ассоциируются быстрее, а какие слова отторгаются. Правда, мы опять ощущаем некорректность нашего поведения. Во-первых, потому, что у человека это происходит не всегда по указке свыше, а иногда и само. Во-вторых, потому, что, создавая «психику» руками, я могу сделать нечто такое, чего «не бывает». И чуткий человек скажет – ну нет, господа, это программа! Не бывает таких фобий, чтобы он крыс любил, а мышей боялся! Поэтому структура фобий, комплексов, пристрастий и т.п. должна формироваться сама, и это можно сделать.
Если программа, работающая с Сетью или непосредственно с внешним миром, будет запоминать свою деятельность, писать лог-файл, то она может обнаружить, какие способы действий, какие ассоциации приводили ее к цели. Память об этих действиях – успешных и нет – и станет ее симпатиями и антипатиями. И никакой Броневой не поймает этого электронного Исаева.
Механизм действия «указки свыше» сложен; подсказка должна упасть на подготовленную почву, согласоваться с комплексами и мифами. Сколько повторяли, что «народ и партия едины», – как об стену горох. А достаточно было несколько раз произнести «олигархи», как все забыли и про павловскую реформу, устроенную государством, и про дефолт, устроенный им же. Так что с зомбированием не все так просто. На голом месте его не провести, но хороший политик, понимающий народные чаяния, может многого добиться. Такой же механизм действен и при «воспитании» программы. Управляя окружающим ее миром, подсовывая ей определенные тексты и объекты, можно ее формировать – даже не зная, как она устроена. Разумеется, могут устраивать такие штуки и программы – и с человеком, и друг с другом.
Маленькое отступление. Как изображают возникновение машинного разума – причем не в роботе, где это может быть предопределено сюжетом, а именно в программе, не предназначенной стать разумной, – писатели-фантасты? Это отдельная интересная тема, но относящаяся к филологии и психологии. Полноты ради упомянем, что это либо указание на появление свободы воли (знаменитая фраза Стругацких «она начала себя вести»), либо просто описание вполне человеческого поведения. Действительно, трудно человеку придумать что-то совсем уж не человеческое. Интуитивно ощущая это, писатели вкладывают возникновение человеческого в манекен, в игрушку, саму по себе предназначенную для изображения человека, – но без собственного разума. Классический пример – «Театр теней» Саймака (1950). Последний (на момент написания этого текста) – Ю. Манов («Я и прочие боги этого мира») изобразил возникновение разума в персонаже компьютерной игры.
Еще несколько возражений
В качестве свойств, которые есть у человека, но которых нет и не может быть у программы, называют способность к творчеству, к созданию нового, стремление к знанию. Это еще один сильный, но неверный тезис. Ничего абсолютно нового в мире нет и быть не может, хотя бы потому, что «новое» всегда изложено языком, красками и т.д., а язык и краски уже существовали до того. Поэтому речь может идти только о степени новизны, о том, на чем это «новое» базируется, какой опыт использует и как выглядит само. Сопоставляя использованное и полученное, мы и делаем вывод о степени новизны. При этом человек склонен преувеличивать степень новизны, если он не понимает, как именно это сделано.
Вот пример. Существует такая теория решения изобретательских задач («ТРИЗ»), облегчающая создание изобретений. Она действительно эффективна, и с ее помощью сделано множество изобретений. Но ошеломляющее ощущение новизны, которое регулярно возникает при чтении «Бюллетеня изобретений и открытий», после знакомства с ТРИЗом существенно ослабевает. Жалко, но дело важнее.
Возможны и специфические ситуации генерации нового, например, в персептороне. А именно, в сети Хопфилда при определенных условиях происходит релаксация к «ложному образу» – собирательному образу, возможно, наследующему черты идеальных. Причем человек не может, глядя на «машинный собирательный образ», эти черты выделить – образ выглядит случайным. Возможно, что при реализации этой ситуации в собственном мозге человек смущенно улыбается и говорит «кажется, я где-то это видел...»
Программа может строить гипотезы по поводу изучаемых ею явлений (в Сети или внешнем мире) и проверять их. Разумеется, она строит гипотезы не какие попало, а в некоем классе (например, аппроксимирует функцию многочленами или синусоидами), но список классов можно легко расширить так, что он превзойдет «человеческий». Треть века назад Михаил Бонгард показал, что человек, как правило, не строит гипотез с более чем тремя логическими операторами (если А и Б, но не В или Г), а программа уже тогда (и не сильно напрягаясь) строила выражения с семью. Если программа обнаружит – а она это обнаружит, – что информация увеличивает эффективность ее действий, то возникнет «стремление к знаниям».
Другое возражение – отсутствие у программы самосознания, автодескрипции, рефлексии. Это возражение, казалось бы, несерьезное – программа может запоминать свои действия и анализировать лог-файл. Однако у этого возражения есть второе дно. И старый Сильвер, сопя, сейчас его отдерет... Рефлексия не может быть полной – ибо тогда в лог-файл надо писать и то, что программа полезла в лог-файл, и... ну, вы поняли? Ctrl-Alt-Delete. Иногда в этом месте дискуссии начинают не к ночи поминать Геделя, но есть гораздо более простой и нефилософский ответ – у человека рефлексия также более чем неполная, так что не надо попусту возникать, царь природы. Ты вон как давно землю топчешь, а программам всего полвека.
Причем по мере развития компьютинга многие возражения и соображения отпали сами собой. Оказалось, что программы могут обучаться и самообучаться (в любом оговоренном заранее смысле), решать многие задачи эффективнее, чем человек, искать и обрабатывать информацию, вести эксперимент, извлекать новое научное знание из архивов... Очевидно, что одинаковые программы в процессе этой деятельности станут разными, приобретут индивидуальность – хотя бы потому, что они будут обращаться к Сети и миру в разные моменты, когда Сеть и мир различны. Но не только поэтому... Теперь мы перейдем к действительно серьезным возражениям. Их два.
Пятый элемент
Кто-то из древних сказал: «Три вещи невозможно понять, а некоторые говорят, что четыре: путь птицы в небе, путь змеи на скале, путь корабля в море и путь женщины к сердцу мужчины». Человек-творец, да святится имя его, создал пятую – компьютер. Мы, сами того не заметив, создали вещь, которую невозможно понять.
Начнем с простого примера. Я лично знаю компьютер, который примерно в 1...2% случаев виснет (да так, что три пальца не помогают, только reset) при разрыве соединения с Сетью. (Как шутит моя подруга – кому понравится, если из огромного интересного мира затаскивают обратно в четыре стены?) Не слишком важная проблема, да и сбой – не та непредсказуемость, о которой интересно говорить, но обидно: никто из гуру ничего внятного не сказал. Зато любой человек, активно работающий с компьютерами, приведет много подобных примеров. Эта техника научилась вести себя непредсказуемо. Каковы причины явления? Первая, самая простая – шум. Длина и амплитуда импульсов, время их начала и окончания – все имеет разброс. Казалось бы, «дискретность» компьютера уничтожает разброс: ключ либо открылся, либо нет. Но величины разброса имеют распределение, большие отклонения встречаются реже еще большие – еще реже, но... А нам часто и не надо! Импульсов в компе несчитано, если каждый миллиардный не будет срабатывать – все. Конец цифровой эре. Заметим, что «шум» – свойство любых цепей, биологических – тоже: это следствие самых основ физики, термодинамики, дискретности заряда. И это роднит меня с моим компьютером.
Любопытная ситуация возникает при перегреве процессора (попытка «разгона» или аварийное отключение кулера) – машина работает, но ведет себя, как говорят гуру, «как-то странно». Возможно, это связано именно с ростом уровня шума.
Далее – электромагнитные наводки. Одни цепи влияют на другие, есть целая наука под названием «электромагнитная совместимость». Нечто похожее на наводки есть и в мозгу, хотя там оно – не электромагнитной природы. Возбуждение может быть вызвано одним, а влияет на мысли о другом. Если вы работающий исследователь, загляните внутрь себя – в каких ситуациях вы «генерируете» идеи активнее? Часто это присутствие рядом симпатичного лица другого пола – ну уж никак не связанное с «механизмом электропроводности оксидного катода».
Следующая проблема – синхронизация. Два блока, две программы работают независимо. Сигналы от них приходят в одно место в схеме, хотя и вызывают разные последствия: ситуация – что в компьютере, что в человеке – обычная. Какая программа скажет свое «мяу» первой? Человек часто произносит фразу «но я сообразил» или «но тут я вспомнил». А если не вспомнил? А если вспомнил долю секунды спустя? В программных системах такого в принципе быть не должно, но то в принципе. Причем проблема синхронизации возникает на всех уровнях, например и внутри одного процессора, и в многопроцессорных комплексах.
При обычной работе компьютера мы редко видим «истинные непредсказуемости» (подавляющее большинство сбоев – следствие ошибок в программах и некомпетентности пользователя). Все программное обеспечение компьютера строится так, чтобы он делал, «что сказано». Из этого исходит и вся идеология программирования, из этого исходит тестирование программ. Но как только мы приступаем к проблеме моделирования мышления, искусственного интеллекта и т.п., контроль приходится отменять. Человек может сказать все, что угодно! Сказал же человек однажды, что если скорость V прибавить к скорости V, то получится скорость V? И программа, если мы имеем в виду моделировать человека – тоже. Отменяя цензуру, позволяя программе говорить, что взбредет в процессор, – мы неминуемо допускаем ту самую свободу воли, наличие и отсутствие которой любят обсуждать двуногие.
Но если мы не можем предсказать работу некоторых видов программ (например, персептрона – и это не слишком сложный пример), то, быть может, хоть postfactum, но удается разобраться, как программа пришла к выводу? Увы, и это возможно не всегда. К одному и тому же результату могут привести разные причины, поэтому восстановить, что именно делала программа, просто идя «назад», не удается. Невозможно и запротоколировать все ее существенные действия – потребуется слишком большой объем работы и памяти. На заре компьютерной техники дело обстояло иначе, и примерно до конца 60-х годов мы знали о наших железных слугах все.
И не только потому, что деревья были большими память маленькой а схемы простыми. Ситуация отчасти парадоксальна – тогда, чтобы сложить два и два, надо было выполнить две машинных команды. Сейчас – сотни миллионов! (Ей ведь надо обработать то, что вы кликнули мышкой на «2» в окне калькулятора, потом на «+» и так далее...) Мы научились делать сложнейшие вещи, какие тогда и присниться не могли, но зато простые вещи мы начали делать более сложными способами.
Продолжение статьи: http://www.n-t.org/tp/ts/mm.htm