С времен начала индустриальной революции люди рассматривали мозг как некоторый тип машины. Они знали, что в голове нет шестерней и зубьев, но это было лучшей метафорой, которая у них была. Каким-то образом информация приходит в мозг и мозг-машина определяет, как должно реагировать тело. В компьютерную эру мозг стал рассматриваться как особый тип машины, программируемый компьютер. И как мы увидели в главе 1, исследователи ИИ уткнулись в эту точку зрения, аргументируя отсутствие прогресса тем, что компьютеры слишком слабы и медленны по сравнению с человеческим мозгом. Они говорят, что современный компьютер может быть эквивалентен только мозгу таракана, но когда мы сделаем компьютеры мощнее и быстрее, они станут такими же интеллектуальными, как люди.
С этой аналогией мозг — компьютер существует повсеместно игнорируемая проблема. Нейроны гораздо медленнее транзисторов в компьютере. Нейрон собирает информацию со своих синапсов и комбинирует эту информацию, чтоб решить, когда сгенерировать спайк для других нейронов. Обычный нейрон может сделать это и сбросить себя миллисекунд на пять, то есть примерно 200 раз в секунду. Это может показаться быстрым, но современные кремниевые компьютеры могут выполнять миллиард операций в секунду. Это означает, что базовая компьютерная операция в пять миллионов раз быстрее базовой операции вашего мозга. Это очень, очень большая разница. Так как же может быть, что мозг быстрее и мощнее, чем самые быстродействующие современные компьютеры? «Без проблем», говорят люди, поддерживающие аналогию «мозг это компьютер». «Мозг это параллельный компьютер. В нем миллиарды клеток, работающих одновременно. Этот параллелизм значительно увеличивает вычислительную мощь биологического мозга».
Я всегда чувствовал, что такой аргумент был хитростью, и простой мысленный эксперимент показывает почему. Это называется «правило в сто шагов». Человек может выполнять значительные задачи меньше чем за секунду. Например, я мог бы показать вам фотографию и попросить определить, изображена ли на ней кошка. Вашей задачей было бы нажать на кнопку, если там кошка, но не медведь или бородавочник или репа. Эта задача для компьютера сложная или невозможная на сегодняшний день, тогда как человек может решить ее достоверно за полсекунды или меньше. Но нейроны медленны, так что за полсекунды информация, поступающая в мозг, может пройтись только по цепочке длиной в сто нейронов. То есть, «компьютерное» решение подобной проблемы мозгом может быть в сто шагов или меньше, несмотря на то, сколько всего нейронов задействовано. С момента, когда свет попал в ваш глаз, до момента нажатия кнопки может быть задействована цепочка не длиннее ста нейронов. Цифровой компьютер, пытающийся решить ту же самую задачу, сделал бы миллиарды операций или шагов. Одной сотни компьютерных команд хватит только на то, чтоб переместить единичный символ на дисплей, не говоря о том, чтоб сделать что-то интересное.
Но если у меня есть миллионы нейронов, работающих совместно, не похоже ли это на параллельный компьютер? Конечно нет. И мозг и параллельный компьютер оперируют параллельно, но это все, что между ними общего. Параллельные компьютеры комбинируют множество скоростных компьютеров для работы над большой задачей, типа прогноза погоды на завтра. Чтоб предсказать погоду, вы должны вычислить физические условия во множестве точек планеты. Каждый компьютер может работать над отдельным местом в одно и то же время. Но даже если сотни или тысячи компьютеров будут работать параллельно, единичный компьютер все равно выполнит миллиарды или триллионы операций, прежде чем завершит задачу. Самый большой мыслимый параллельный компьютер не может сделать ничего полезного за сто шагов, не важно, насколько он большой или быстрый.
Вот аналогия. Предположим, я попрошу вас перенести одну сотню блоков через пустыню. Вы можете переносить только один камень одновременно, и пересечение пустыни потребует миллион шагов. Вы понимаете, что это займет у вас много времени, если действовать в одиночку, поэтому вы нанимаете сотню работников, которые будут работать параллельно. Теперь задача решается в сто раз быстрее, но она все также требует как минимум миллион шагов на пересечение пустыни. Наем еще большего количества рабочих — даже тысячи — не даст никакого выигрыша. Не важно, сколько рабочих вы наняли, задача не может быть решена за меньшее время, чем потребуется на миллион шагов. То же самое верно и для параллельных компьютеров. С некоторого момента, добавление новых компьютеров ничего не изменит. Компьютер, не важно, сколько в нем процессоров и как быстро они работают, не может «вычислить» ответ на сложную задачу за сотню операций.