Как работает мозг - Стивен Пинкер
Шрифт:
Интервал:
Закладка:
«То, что мне сказала Логика, следовало бы записать, – заметила Черепаха. – Внесите, пожалуйста, в свой блокнот условное суждение, которое мы обозначим Е:
Е. «Если А, В, С и D истинны, то Z должно быть истинным».
– Согласен, – ответил Ахилл с оттенком печали в голосе.
В этот момент неотложные дела в банке вынудили рассказчика оставить счастливую пару. Лишь через несколько месяцев ему довелось снова проходить мимо того места, где беседовали Ахилл и Черепаха. Ахилл по-прежнему сидел на спине у многотерпеливой Черепахи и что-то писал в почти заполненном блокноте. Приблизившись, рассказчик услышал, как Черепаха сказала:
– Записали последнее условное суждение? Если я не сбилась со счета, оно должно быть тысяча первым. Осталось еще несколько миллионов96[11].
Решение этого парадокса, конечно же, заключается в том, что ни одна система гипотетических умозаключений не может строго следовать явно выраженным правилам. В тот или иной момент она должна, как сказал Джерри Рубин (а чуть позже – и корпорация «Найк»), «просто делать это» (имеется в виду рекламный слоган фирмы «Найк» Just do it! – Прим. пер.). Подразумевается, что правило должно просто выполняться за счет рефлекторной, грубой силы системы, без лишних вопросов. В этот момент система, если она имеет форму машины, будет не следовать правилам, а просто подчиняться законам физики. Аналогичным образом, если демоны (правила замещения одних символов другими символами) считывают и записывают репрезентации, а внутри каждого демона есть демоны еще меньше (и еще глупее), то в какой-то момент нам все же придется отказаться от их услуг, позвать охотников за привидениями и заменить самых маленьких и самых глупых демонов машинами. В случае людей и животных это будут машины, построенные из нейронов: нейронные сети. Давайте посмотрим, каким образом наша картина того, как работает мышление, подкрепляется простыми идеями о том, как работает мозг.
Первые шаги в этом направлении сделали математики Уоррен Маккалок и Уолтер Питтс, которые писали о «нейрологических» свойствах связанных между собой нейронов97. Нейроны сложны и до сих пор не объяснены, однако Маккалок и Питтс (а вслед за ними – и многие другие разработчики моделей нейронных сетей) выделяют как наиболее значимую одну из их функций. Нейроны складывают совокупность атрибутов, сравнивают полученную сумму с порогом и сигнализируют о том, превышен ли порог. Это описание того, что они делают, с концептуальной точки зрения; с физической точки зрения то же самое можно описать следующим образом: возбужденный нейрон может быть активен в разной степени, и степень активности зависит от уровня активности входящих аксонов других нейронов, присоединенных в синапсах к дендритам нейрона (входящим структурам). Синапс имеет вес, варьирующийся от положительного (возбуждающий синапс) до нулевого (без воздействия) и далее до отрицательного (тормозящий синапс). Уровень возбуждения каждого входящего аксона умножается на вес синапса. Нейрон суммирует эти входящие уровни; если сумма превышает пороговый уровень, то нейрон возбуждается и поочередно посылает сигналы всем нейронам, соединенным с ним. Хотя нейроны всегда находятся в возбужденном состоянии, и входящие сигналы только заставляют их возбуждаться заметно быстрее или медленнее, иногда бывает удобно говорить о них как о неактивных (низкий уровень возбуждения) и активных (высокий уровень).
Маккаллок и Питтс показали, каким образом эти модельные нейроны, будучи связаны между собой, образуют логические вентили. Логические вентили реализуют отношения фундаментальных логических операций, лежащих в основе простых умозаключений: «и», «или», «не». Суждение «А и В» (на концептуальном уровне) истинно только тогда, когда истинно А и истинно В. Вентиль И (на механическом уровне) выдает единицу на выходе, только если есть сигнал на обоих входах. Чтобы сделать логический вентиль из модельных нейронов, нужно установить порог выходного узла на величину больше веса каждого из входов, но меньше их суммы, как показано на рисунке мини-сети слева внизу. «А или В» (на концептуальном уровне) истинно, если истинно А или истинно В. Логический вентиль ИЛИ (на механическом уровне) выдает сигнал на выходе, если есть сигнал хотя бы на одном из входов. Чтобы получить единицу на выходе, нужно установить порог на величину меньше веса каждого из входов, как показано на схеме мини-сети внизу посередине. Наконец, утверждение «не А» (на логическом уровне) истинно, если ложно А, и наоборот. Логический вентиль «НЕ» выдает единицу на выходе, когда на входе ноль, и наоборот. Чтобы получить единицу, нужно установить порог равным нулю, чтобы нейрон возбуждался, получая на входе ноль, а вес входа сделать отрицательным, чтобы входной сигнал выключал нейрон, как на схеме минисети внизу справа.
Предположим, что каждый из модельных нейронов отображает простое суждение. Мини-сети можно соединить между собой таким образом, чтобы выход одной сети поступал на вход другой, с целью оценить истинность сложного суждения. Например, нейронная сеть может оценивать суждение {[(X жует жвачку) и (у X раздвоенные копыта)] или [(у X есть плавники) и (у X есть чешуя)]}, суммирующее признаки, которыми должно обладать животное, чтобы оно считалось кошерным. Собственно, если сеть модельных нейронов соединить с любым видом расширяемой памяти (например, с рулоном бумаги, над которой размещены штамп и ластик), то получится машина Тьюринга, полноценный компьютер.
И все же абсолютно непрактичным было бы представлять суждения или даже составляющие их концепты в виде логических вентилей, независимо от того, из чего состоят эти логические вентили – из нейронов или из полупроводников. Проблема в том, что каждый концепт и каждое суждение в этом случае должно быть заранее встроенным в виде отдельного узла. На деле и компьютер и мозг представляют концепты в виде моделей действий, совершаемых над совокупностями единиц. Простой пример – скромный байт, который в каждом компьютере используется для репрезентации буквенноцифровых символов. Форма репрезентации буквы В – 01000010, где каждая цифра (бит) соответствует одному из крохотных кусочков кремния, выложенных в ряд. Второй и восьмой кусочек заряжены, что соответствует единицам, а остальные – не заряжены, что соответствует нулям. Построить байт можно и из модельных нейронов, при этом схема распознавания шаблона буквы В будет организована по принципу простой нейронной сети:
Несложно представить, что эта сеть – одна из составляющих частей демона. Если нижний ряд модельных нейронов присоединить к краткосрочной памяти, то верхний нейрон будет определять, содержатся ли в краткосрочной памяти экземпляры символа В. А на странице 118 изображена сеть той части демона, которая записывает в память символ В98.
Мы уже на пути к тому, чтобы создать из модельных нейронов условную цифровую вычислительную машину; но давайте немного отклонимся от курса и сделаем более биоморфный компьютер. Во-первых, мы можем сделать так, чтобы наши модельные нейроны следовали не классической логике, а нечеткой логике. Во многих сферах у людей нет однозначных убеждений касательно того, истинно данное суждение или ложно. Бывает так, что о предмете сложно сказать, принадлежит он к данной категории или нет, скорее можно говорить о том, что он более удачный или менее удачный пример данной категории. Возьмем категорию «овощи». Большинство людей согласятся с тем, что сельдерей – это полноценный овощ, а чеснок – не очень хороший пример.
А если верить администрации президента Рейгана, пытавшейся оправдать урезанное финансирование школьного питания, овощем можно считать даже кетчуп (хотя после обрушившейся на эту программу критики администрация была вынуждена признать, что кетчуп – не очень хороший пример). На концептуальном уровне мы воздерживаемся от однозначных заявлений о том, является ли данный предмет овощем или нет, и предпочитаем говорить, что этот предмет – более удачный или менее удачный пример овоща. На механическом уровне мы уже не утверждаем, что узел, представляющий «овощность», должен быть включен или выключен, а допускаем варьирование значения, которое может составлять от 0 (для камня) и 0,1 (для кетчупа) до 0,4 (для чеснока) и 1,0 (для сельдерея).
Мы можем также отказаться от произвольно выбранного кода, связывающего каждый концепт с бессмысленной последовательностью битов. Пусть каждый бит сам представляет какой-нибудь элемент концепта. Скажем, один будет представлять зеленый цвет, другой – наличие листьев, третий – хрусткость, и так далее. Каждый из этих узлов, представляющих свойства овощей, может быть присоединен с небольшим значением веса к самому узлу, представляющему овощ. Другие узлы, представляющие характеристики, которых у овощей нет (такие, как «магнитный» или «мобильный»), могут быть присоединены с отрицательными значениями веса. На концептуальном уровне чем больше качеств овоща есть у данного предмета, тем более удачным примером овоща является этот предмет. На механическом уровне чем больше узлов качеств овоща срабатывают, тем выше уровень активации узла, представляющего овощ.