Текст книги "Эволюция разума"
Автор книги: Рэймонд Курцвейл
Жанр:
Биология
сообщить о нарушении
Текущая страница: 14 (всего у книги 20 страниц)
Машина Тьюринга не была предназначена для практических целей. Теоремы Тьюринга не имели отношения к эффективности решения задач, а скорее описывали спектр задач, которые теоретически могут быть решены с помощью компьютера. Напротив, цель фон Неймана заключалась в создании концепции реального компьютера. Его модель заменила однобитную систему Тьюринга многобитной (обычно кратную восьми битам) системой. Машина Тьюринга имеет последовательную ленту памяти, так что программы затрачивают очень большое время на перемещение ленты вперед и назад для записи и извлечения промежуточных результатов. Напротив, в системе фон Неймана доступ к памяти осуществляется произвольным образом, что позволяет немедленно извлекать любые нужные данные.
Одной из ключевых идей фон Неймана является концепция хранимой программы, которую он развил за десять лет до создания компьютера. Суть концепции заключается в том, что программа хранится в том же модуле памяти с произвольным доступом, что и данные (а часто даже в том же блоке памяти). Это позволяет перепрограммировать компьютер для решения разных задач и создавать самомодифицирующийся код (в случае записывающих накопителей), что обеспечивает возможность рекурсии. До того времени практически все компьютеры, включая Colossus, создавались для решения конкретных задач. Концепция хранимой программы позволила компьютеру стать поистине универсальной машиной, соответствующей представлению Тьюринга об универсальности машинных вычислений.
Еще одно важное свойство машины фон Неймана заключается в том, что в каждой инструкции содержится операционный код, определяющий арифметическую или логическую операцию и адрес операнда в памяти компьютера.
Концепция фон Неймана об архитектуре компьютера отразилась в проекте EDVAC, над которым он работал совместно с Преспером Дж. Эккертом и Джоном Моучли. Компьютер EDVAC начал функционировать только в 1951 г., когда уже существовали другие компьютеры с хранимой программой, такие как Манчестерская малая экспериментальная машина, ENIAC, EDSAC и BINAC, причем все они были созданы под влиянием статьи фон Неймана и при участии Эккерта и Моучли. Фон Нейман также был причастен к появлению некоторых из этих машин, включая последнюю версию ENIAC, где использовался принцип хранимой программы.
У компьютера с архитектурой фон Неймана имелось несколько предшественников, но ни один из них – за одним неожиданным исключением – нельзя назвать истинной машиной фон Неймана. В 1944 г. Говард Эйкен выпустил Mark I, который можно было в какой-то степени перепрограммировать, но он не использовал хранимой программы. Машина считывала инструкции с перфокарты и немедленно их выполняла. В машине также не было предусмотрено условных переходов.
В 1941 г. немецкий ученый Конрад Цузе (1910–1995) создал компьютер Z-3. Он тоже считывал программу с ленты (в данном случае закодированную на пленке) и тоже не выполнял условных переходов. Интересно, что Цузе получил финансовую поддержку от Немецкого института самолетостроения, который использовал этот компьютер для изучения флаттера крыла самолета. Однако предложение Цузе о финансировании замены реле радиолампами не было поддержано нацистским правительством, которое считало развитие компьютерной технологии «не имеющим военного значения». Это, как мне кажется, в определенной степени повлияло на исход войны.
На самом деле у фон Неймана был один гениальный предшественник, причем жил он на сто лет раньше! Английский математик и изобретатель Чарльз Бэббидж (1791–1871) в 1837 г. описал свою аналитическую машину, основанную на тех же принципах[125]125
Jeremy Bernstein, The Analytical Engine: Computers – Past, Present, and Future, William Morrow & Co; Revised edition, 1981.
[Закрыть], что и компьютер фон Неймана, и использовавшую хранимую программу, нанесенную на перфокарты жаккардовых ткацких машин. Память машины с произвольным доступом содержала 1000 слов по 50 десятичных знаков в каждом (что эквивалентно примерно 21 килобайту). Каждая инструкция содержала код операции и номер операнда – точно так же, как в современных компьютерных языках. Система не использовала условных переходов и циклов, так что это была настоящая машина фон Неймана. Полностью механическая, она, по-видимому, превзошла и дизайнерские, и организаторские возможности самого Бэббиджа. Он создал части машины, но так и не запустил ее.
Точно не известно, знали ли пионеры компьютеростроения XX в., включая фон Неймана, о работах Бэббиджа[126]126
Судя по всему, идеи Бэббиджа легли в основу созданного Эйкеном компьютера Mark I.
[Закрыть].
Однако создание машины Бэббиджа положило начало развитию программирования. Английская писательница Ада Байрон (1815–1852), графиня Лавлейс, единственный законный ребенок поэта лорда Байрона, стала первым в мире программистом. Она писала программы для аналитической машины Бэббиджа и отлаживала их в уме (поскольку компьютер так никогда и не заработал). Теперь программисты называют эту практику table checking. Она перевела статью итальянского математика Луиджи Менабреа об аналитической машине, добавив от себя существенные замечания и заметив, что «аналитическая машина плетет алгебраические рисунки, как ткацкий жаккардовый станок плетет цветы и листья». Возможно, она первой упомянула о возможности создания искусственного интеллекта, но сделала вывод, что аналитическая машина «сама не способна что-либо придумать».
Идеи Бэббиджа кажутся поразительными, если учесть, в какую эпоху он жил и работал. Однако к середине XX в. эти идеи были практически забыты (и вновь открыты лишь позднее). Именно фон Нейман придумал и сформулировал ключевые принципы действия компьютера в его современном виде, и недаром машину фон Неймана продолжают считать основной моделью вычислительной машины. Однако не будем забывать, что машина фон Неймана постоянно осуществляет обмен данными между отдельными модулями и внутри этих модулей, так что она не могла быть создана без теорем Шеннона и тех методов, которые он предложил для надежной передачи и хранения цифровой информации.
Все сказанное подводит нас к четвертой важной идее, которая преодолевает выводы Ады Байрон о неспособности компьютера к творческому мышлению и позволяет найти ключевые алгоритмы, используемые мозгом, чтобы потом применить их для превращения компьютера в мозг. Алан Тьюринг сформулировал эту задачу в статье «Вычислительные машины и разум», опубликованную в 1950 г., в которой содержится описание теперь широко известного теста Тьюринга, позволяющего определить близость ИИ к человеческому интеллекту.
В 1956 г. фон Нейман начал готовить серию лекций для престижных Силлимановских чтений в Йельском университете. Ученый уже был болен раком и не смог ни прочесть свои лекции, ни даже закончить рукопись, на основе которой создавались лекции. Тем не менее этот незаконченный труд является блестящим предсказанием того, что лично я воспринимаю как самый трудный и важный проект в истории человечества. Уже после смерти ученого, в 1958 г., рукопись была опубликована под названием «Компьютер и мозг». Так вышло, что последний труд одного из самых блестящих математиков прошлого столетия и одного из основоположников компьютерной технологии оказался посвящен анализу мышления. Это было первое серьезное исследование человеческого мозга с точки зрения математика и специалиста в области компьютеров. До фон Неймана компьютерные технологии и нейробиология представляли собой два отдельных острова, между которыми не существовало никакого моста.
Фон Нейман начинает повествование, описывая сходство и различие между компьютером и человеческим мозгом. Учитывая, в какую эпоху создавался этот труд, он представляется удивительно точным. Ученый отмечает, что выходной сигнал нейрона цифровой – аксон либо возбуждается, либо остается в покое. В то время было далеко не очевидно, что обработка выходного сигнала может происходить аналоговым путем. Обработка сигнала в дендритах, ведущих к нейрону, и в теле нейрона аналоговая, и фон Нейман описал эту ситуацию с помощью взвешенной суммы входных сигналов с пороговым значением.
Эта модель функционирования нейронов привела к развитию коннекционизма и к использованию данного принципа для создания как аппаратурного оформления, так и компьютерных программ. (Как я рассказывал в предыдущей главе, первая такая система, а именно программа для IBM 704, была создана Фрэнком Розенблаттом из Корнельского университета в 1957 г., сразу после того, как стала доступна рукопись лекций фон Неймана.) Теперь у нас есть более сложные модели, описывающие сочетания входных сигналов нейронов, но общая идея об аналоговой обработке сигналов с помощью изменения концентрации нейромедиаторов по-прежнему верна.
На основе концепции универсальности компьютерных вычислений фон Нейман пришел к выводу, что даже при кажущемся радикальном различии архитектуры и структурных единиц головного мозга и компьютера с помощью машины фон Неймана мы можем симулировать происходящие в головном мозге процессы. Обратный постулат, однако, не является справедливым, поскольку головной мозг не является машиной фон Неймана и не имеет хранимой программы (хотя в голове мы можем симулировать действие очень простой машины Тьюринга). Алгоритмы или методы функционирования мозга определены его структурой. Фон Нейман пришел к справедливому заключению, что нейроны могут выучивать соответствующие образы на основании входных сигналов. Однако во времена фон Неймана не было известно, что обучение также происходит путем создания и разрушения контактов между нейронами.
Фон Нейман также указал, что скорость обработки информации нейронами очень низкая – порядка сотни вычислений в секунду, однако мозг компенсирует это тем, что одновременно осуществляет обработку информации во множестве нейронов. Это еще одно очевидное, но очень важное открытие. Фон Нейман утверждал, что все 1010 нейронов мозга (эта оценка также достаточно точна: по сегодняшним представлениям, в головном мозге содержится от 1010 до 1011 нейронов) обрабатывают сигналы в одно и то же время. Более того, все контакты (в среднем от 103 до 104 на каждый нейрон) обсчитываются одновременно.
Учитывая примитивный уровень развития нейробиологии того времени, оценки и описания функции нейронов, сделанные фон Нейманом, удивительно точны. Однако я не могу согласиться с одним аспектом его работы, а именно с представлением об объеме памяти мозга. Он считал, что мозг запоминает каждый сигнал на всю жизнь. Среднюю продолжительность жизни человека фон Нейман оценивал в 60 лет, что составляет примерно 2 х 109 секунды. Если каждый нейрон за одну секунду получает примерно 14 сигналов (что на самом деле на три порядка ниже истинной величины), а всего в головном мозге содержится 1010 нейронов, выходит, что объем памяти мозга составляет около 1020 бит. Как я писал выше, мы запоминаем лишь небольшую часть наших мыслей и опыта, но даже эти воспоминания хранятся не как побитовая информация низкого уровня сложности (как в видео), а скорее в виде последовательности образов более высокого порядка.
По мере того как фон Нейман описывает каждый механизм в функции головного мозга, он одновременно демонстрирует, как современный компьютер мог бы осуществить ту же самую функцию, несмотря на кажущееся различие между мозгом и компьютером. Аналоговые механизмы действия мозга можно моделировать с помощью цифровых механизмов, поскольку цифровые вычисления способны моделировать аналоговые значения с любой степенью точности (а точность передачи аналоговой информации в мозге достаточно низкая). Можно также имитировать массивный параллелизм функции мозга, учитывая значительное превосходство компьютеров по скорости серийных вычислений (со времен фон Неймана это превосходство еще более усилилось). Кроме того, мы можем осуществлять параллельную обработку сигналов в компьютерах с помощью параллельно функционирующих машин фон Неймана – именно так действуют современные суперкомпьютеры.
Учитывая способность людей быстро принимать решения при столь низкой скорости работы нейронов, фон Нейман пришел к выводу, что функции головного мозга не могут задействовать длинные последовательные алгоритмы. Когда третий бейс-мен получает мяч и решает бросить его на первую, а не на вторую базу, он принимает это решение за какую-то долю секунды – за это время каждый нейрон едва успевает осуществить несколько циклов возбуждения. Фон Нейман приходит к логичному выводу, что замечательная способность мозга связана с тем, что все 100 млрд нейронов могут обрабатывать информацию одновременно. Как я отмечал выше, зрительная кора делает сложные выводы всего за три или четыре цикла возбуждения нейронов.
Именно значительная пластичность мозга позволяет нам обучаться. Однако компьютер обладает гораздо большей пластичностью – его методы можно полностью изменить путем смены программного обеспечения. Таким образом, компьютер может имитировать мозг, а вот обратное утверждение неверно.
Когда фон Нейман сравнивал возможности массированной параллельной активности мозга с немногочисленными компьютерами того времени, казалось очевидным, что мозг отличается гораздо большей памятью и скоростью. Сегодня уже сконструирован первый суперкомпьютер, по самым консервативным оценкам, удовлетворяющий тем функциональным требованиям, которые нужны для моделирования функций человеческого головного мозга (около 1016 операций в секунду)[127]127
Japan's K Computer Tops 10 Petaflop/s to Stay Atop TOP500 List, Top 500, Nov. 11, 2011, http://top500.org/lists/2011/11/press-release.
[Закрыть]. (По моему мнению, компьютеры такой мощности в начале 2020-х гг. будут стоить около 1000 долларов.) Что касается объема памяти, мы продвинулись еще дальше. Труд фон Неймана появился в самом начале компьютерной эры, но ученый был уверен в том, что в какой-то момент мы сможем создавать компьютеры и компьютерные программы, способные имитировать человеческий мозг; именно поэтому он и готовил свои лекции.
Фон Нейман был глубоко убежден в ускорении прогресса и в его значительном влиянии на жизнь людей в будущем. Через год после смерти фон Неймана, в 1957 г., его коллега математик Стэн Юлам цитировал слова фон Неймана, сказавшего в начале 1950-х гг., что «любое ускорение технологического прогресса и изменения образа жизни людей создает впечатление приближения некой важнейшей сингулярности в истории человеческой расы, за пределами которой человеческая деятельность в том виде, какой мы знаем ее сегодня, больше не может продолжаться». Это первый известный случай использования слова «сингулярность» для описания технологического прогресса человечества.
Важнейшая догадка фон Неймана заключалась в обнаружении сходства между компьютером и мозгом. Заметим, что частью человеческого интеллекта является эмоциональный интеллект. Если догадка фон Неймана верна и если согласиться с моим утверждением, что небиологическая система, удовлетворительно воспроизводящая интеллект (эмоциональный и другой) живого человека, обладает сознанием (см. следующую главу), придется сделать вывод, что между компьютером (с правильным программным обеспечением) и сознательным мышлением имеется явное сходство. Итак, был ли прав фон Нейман?
Большинство современных компьютеров – полностью цифровые машины, тогда как человеческий мозг использует как цифровые, так и аналоговые методы. Однако аналоговые методы легко воспроизводятся в цифровом варианте с любой степенью точности. Американский специалист в области компьютерных технологий Карвер Мид (род. в 1934 г.) показал, что аналоговые методы мозга можно напрямую воспроизвести в кремниевом варианте, и реализовал это в виде так называемых нейроморфных чипов[128]128
Carver Mead, Analog VLSI and Neural Systems, Reading, Mass.: Addison-Wesley, 1986.
[Закрыть]. Мид продемонстрировал, что данный подход может быть в тысячи раз более эффективным, чем цифровая имитация аналоговых методов. Если речь идет о кодировании избыточных алгоритмов новой коры, возможно, имеет смысл воспользоваться идеей Мида. Исследовательская группа IBM под руководством Дхармендра Модхи применяет чипы, имитирующие нейроны и их контакты, в том числе их способность образовывать новые контакты[129]129
IBM Unveils Cognitive Computing Chips, IBM, Aug 18, 2011, http://www-03.ibm.com/press/us/en/pressrelease/35251.wss
[Закрыть]. Один из чипов, названный SyNAPSE, напрямую модулирует 256 нейронов и примерно четверть миллиона синаптических связей. Цель проекта заключается в симуляции новой коры, состоящей из 10 млрд нейронов и 100 трлн контактов (что эквивалентно человеческому мозгу), которая использует всего один киловатт энергии.
Более пятидесяти лет назад фон Нейман заметил, что процессы в головном мозге происходят чрезвычайно медленно, но отличаются массированной параллельностью. Современные цифровые схемы действуют как минимум в 10 млн раз быстрее, чем электрохимические переключатели мозга. Напротив, все 300 млн распознающих модулей коры мозга действуют одновременно, и квадрильон контактов между нейронами может активизироваться в одно и то же время. Следовательно, для создания компьютеров, которые могли бы адекватно имитировать человеческий мозг, необходимы соответствующий объем памяти и производительность вычислений. Нет нужды напрямую копировать архитектуру мозга – это очень неэффективный и негибкий метод.
Какими же должны быть соответствующие компьютеры? Многие исследовательские проекты направлены на моделирование иерархического обучения и распознавания образов, происходящих в новой коре. Я сам занимаюсь подобными исследованиями с привлечением иерархических скрытых моделей Маркова. По моим оценкам, для моделирования одного цикла распознавания в одном распознающем модуле биологической новой коры требуется около 3000 вычислений. Большинство симуляций построено на значительно меньшем числе вычислений. Если принять, что головной мозг осуществляет около 102 (100) циклов распознавания в секунду, получаем общее число 3 х 105 (300 тыс.) вычислений в секунду для одного распознающего модуля. Если же умножить это число на общее число распознающих модулей (3 х 108 (300 млн, по моим оценкам)), получаем 1014 (100 трлн) вычислений в секунду. Примерно такое же значение я привожу в книге «Сингулярность уже близка». По моим прогнозам, для функциональной симуляции головного мозга требуется скорость от 1014 до 1016 калькуляций в секунду. По оценкам Ганса Моравека, основанным на экстраполяции данных для начальной обработки зрительных сигналов во всем головном мозге, это значение составляет 1014 калькуляций в секунду, что совпадает с моими расчетами.
Стандартные современные машины могут работать со скоростью до 1010 калькуляций в секунду, однако с помощью ресурсов облака их производительность можно существенно увеличить. Самый быстрый суперкомпьютер, японский компьютер «К», уже достиг скорости 1016 калькуляций в секунду. Учитывая массированную избыточность алгоритмов новой коры, хороших результатов можно добиться с помощью нейроморфных чипов, как в технологии SvNAPSE.
Что касается требований к памяти, нам нужно около 30 бит (примерно 4 байта) для каждого контакта с одним из 300 млн распознающих модулей. Если к каждому распознающему модулю подходит в среднем восемь сигналов, получаем 32 байта на распознающий модуль. Если учесть, что вес каждого входного сигнала составляет один байт, получаем 40 байт. Добавим 32 байта для нисходящих контактов – и получим 72 байта. Замечу, что наличие восходящих и нисходящих разветвлений приводит к тому, что число сигналов намного больше восьми, даже если учесть, что многие распознающие модули пользуются общей сильно разветвленной системой связей. Например, в распознавании буквы «p» могут участвовать сотни распознающих модулей. Это означает, что тысячи распознающих модулей следующего уровня участвуют в распознавании слов и фраз, содержащих букву «p». Однако каждый модуль, ответственный за распознавание «p», не повторяет это древо связей, питающих все уровни распознавания слов и фраз с «p», у всех этих модулей древо связей общее.
Сказанное выше верно и для нисходящих сигналов: модуль, ответственный за распознавание слова apple, сообщит всей тысяче стоящих ниже модулей, ответственных за распознавание «e», что ожидается образ «e», если уже распознаны «a», «p», «p» и «l». Это древо связей не повторяется для каждого модуля, распознающего слово или фразу, который хочет информировать модули нижестоящего уровня, что ожидается образ «e». Это древо общее. По этой причине среднее оценочное значение в восемь восходящих и восемь нисходящих сигналов для каждого распознающего модуля является вполне разумным. Но даже если мы повысим это значение, это не сильно изменит конечный результат.
Итак, с учетом 3 х 108 (300 млн) распознающих модулей и 72 байт памяти для каждого, получаем, что общий объем памяти должен составлять около 2 х 1010 (20 млрд) байт. А это весьма скромное значение. Такой памятью обладают обычные современные компьютеры.
Все эти расчеты мы выполнили для приблизительной оценки параметров. Учитывая, что цифровые схемы примерно в 10 млн раз быстрее сетей нейронов в биологической коре, нам не нужно воспроизводить массированный параллелизм человеческого мозга – весьма умеренного параллельного процессинга (по сравнению с триллионным параллелизмом в головном мозге) будет вполне достаточно. Таким образом, необходимые вычислительные параметры вполне достижимы. Способность нейронов головного мозга к переподключению (помним, что дендриты постоянно создают новые синапсы) тоже можно имитировать с помощью соответствующего программного обеспечения, поскольку компьютерные программы гораздо пластичнее биологических систем, которые, как мы видели, впечатляют, но имеют пределы.
Избыточность мозга, необходимая для получения инвариантных результатов, безусловно, может быть воспроизведена в компьютерном варианте. Математические принципы оптимизации подобных самоорганизующихся иерархических систем обучения вполне понятны. Организация мозга далеко не оптимальна. Но она и не должна быть оптимальной – она должна быть достаточно хорошей, чтобы обеспечить возможность создавать инструменты, компенсирующие ее собственные ограничения.
Еще одно ограничение новой коры заключается в том, что в ней нет механизма, устраняющего или хотя бы оценивающего противоречащие друг другу данные; отчасти это объясняет весьма распространенную нелогичность человеческих рассуждений. Для решения данной проблемы у нас есть весьма слабая способность, называемая критическим мышлением, но люди ею пользуются гораздо реже, чем следовало бы. В компьютерной новой коре можно предусмотреть процесс, выявляющий противоречащие данные для их последующего пересмотра.
Важно отметить, что конструирование целого отдела мозга осуществить проще, чем конструирование одного нейрона. Как уже было сказано, на более высоком уровне иерархии модели часто упрощаются (тут просматривается аналогия с компьютером). Чтобы понять, как работает транзистор, нужно в деталях понимать физику полупроводниковых материалов, а функции одного реального транзистора описываются сложными уравнениями. Цифровая схема, осуществляющая перемножение двух чисел, содержит сотни транзисторов, но для создания модели такой схемы хватит одной или двух формул. Целый компьютер, состоящий из миллиардов транзисторов, можно смоделировать с помощью набора инструкций и описания регистра на нескольких страницах текста с привлечением нескольких формул. Программы для операционных систем, компиляторов языков или ассемблеров достаточно сложны, однако моделирование частной программы (например, программы распознавания языка на основе скрытых иерархических моделей Маркова) тоже сводится к нескольким страницам формул. И нигде в подобных программах вы не встретите детального описания физических свойств полупроводников или даже компьютерной архитектуры.
Аналогичный принцип верен и для моделирования мозга. Один конкретный распознающий модуль новой коры, который детектирует определенные инвариантные зрительные образы (например, лица), осуществляет фильтрацию звуковых частот (ограничивая входной сигнал определенным диапазоном частот) или оценивает временную близость двух событий, можно описать с помощью гораздо меньшего числа специфических деталей, чем реальные физические и химические взаимодействия, контролирующие функции нейромедиаторов, ионных каналов и других элементов нейронов, участвующих в передаче нервного импульса. Хотя все эти детали необходимо тщательно предусмотреть до перехода на следующий уровень сложности, при моделировании операционных принципов головного мозга многое можно упростить.