Размышления о думающих машинах. Тьюринг. Компьютерное исчисление - Rafael Lahoz-Beltra
Шрифт:
Интервал:
Закладка:
Благодаря работе Сантьяго Рамон-и-Кахаля (1852-1934) в середине XX века стало известно, что нейрон — функциональная единица мозга. С другой стороны, исследования, проведенные в течение второй половины XIX века Полем Брока (1824-1880), доказывали, что функции мозга соотносятся с его разными долями. Также было известно, что сигналы, передающиеся нейронами, соответствуют математической модели Ходжкина — Хаксли.
Компьютер можно назвать мыслящим, если ему удастся обмануть человека, заставив его поверить, что он не компьютер, а человек.
Алан Тьюринг
Эти находки привели Тьюринга к мысли, что мозг человека должен функционировать подобным образом — как компьютер, или, другими словами, как универсальная машина Тьюринга, при этом новорожденного ученый представлял как «дезорганизованную машину». Постепенно человек вырастает, и его мозг медленно организуется, учится, превращаясь ко взрослому возрасту в «универсальную машину». На основе этих догадок появилась искусственная модель нейрона, которой Тьюринг дал название дезорганизованная машина типа В. Этот класс нейронов можно тренировать, то есть цепь, составленную из нейронов такого типа, можно научить распознавать объекты, буквы, числа и так далее. С другой стороны, имелись и другие цепи искусственных нейронов, которые ученый называл дезорганизованной машиной типа А. Эти нейроны нельзя тренировать и невозможно научить, так как в соединениях между ними отсутствует модификатор связи.
Точка зрения Тьюринга на работу мозга в целом совпадала с идеями нейрофизиолога и кибернетика Уоррена Маккалока (1898-1969), а также логика и специалиста по когнитивной психологии Уолтера Питтса (1923-1969), которые в 1943 году представили модель искусственного нейрона, названную моделью Маккалока — Питтса. Она доказывала, что клетки, в особенности нейроны мозга, могут выполнять булевы операции, например вести себя как операторы И, ИЛИ и другие, — так же как и машины Тьюринга.
Описания настоящих моделей нейронов Тьюринга, Маккалока и Питтса стали предвестниками субсимвольного подхода к созданию ИИ. Согласно этой концепции, любой аспект ума или поведения человека и животных возникает, является следствием или объясняется взаимным соединением нейронов в нейронную сеть или цепь. Сегодня на основе субсимвольного подхода разрабатываются и программируются цепи искусственных нейронов — искусственные нейронные сети. В повседневной жизни эти сети широко используются, например при оптическом распознавании символов (OCR), номерных знаков автомобилей на парковках, сканировании, оптимизации расписаний, прогнозе изменения цен и кредитных рисков, распознавании данных на электроэнцефалограмме человека, классификации сигналов радара, разработке «умного» оружия и так далее.
ПОСТРОИТЬ КОМПЬЮТЕР ИЗ ИСКУССТВЕННЫХ НЕЙРОНОВОдин из интересных опытов, который мы можем проделать с нейронами Маккалока — Питтса, — это использование их в качестве компонентов компьютера. В таком компьютере арифметические и логические операции будут выполняться внутри микропроцессора в арифметико-логическом устройстве (АЛУ). Нейронные цепи могут выполнять операции, схожие с компьютерными, с помощью логических вентилей, например И, ИЛИ, а также другие операции, свойственные биологическим нейронам. Процедура построения логического вентиля, выполняющего операцию булевой алгебры, начинается с определения соответствующих величин для коэффициентов соединений (w± и w2) и порога активации (U), как показано на схеме.
Комбинируя несколько искусственных нейронов, пошагово соединяя выходы одних со входами других, мы можем получить цепи, эмулирующие операторы И и ИЛИ. Однако можно сделать это проще, с одним нейроном Маккалока — Питтса. Эти простые опыты доказывают, что, как и думали Тьюринг, Маккалок и Питтс, нейрон является автоматом с двумя состояниями: активным, или возбужденным (1), и состоянием покоя (0), а также что нейронная цепь может выполнять функции, схожие с функциями арифметико-логического устройства (АЛУ) компьютера. Используем следующую программу на языке BASIC-256, чтобы показать, что нейрон будет вести себя как вентиль И при следующих входящих (О и 1) и исходящих сигналах.
rem Оператор И
els
wl=0.5:w2=0.5:u=0.5
input "вход 1 = ",el
input "вход 2 = ",e2
total=wl*el+w2*e2
if total <=u then
print "выход = 0"
else
print "выход = 1"
end if
С другой программой нейрон будет вести себя как вентиль ИЛИ.
rem Оператор ИЛИ
els
wl=l:w2=l:u=0.5
input "вход 1 = ",el
input "вход 2 = ",e2
total=wl*el+w2*e2
if total <=u then
print "выход = 0"
else
print "выход = 1"
end if
Итак, какой же была модель искусственного нейрона Алана Тьюринга? Представим, что нейрон — это круг, соединенный с другими кругами, символизирующими соседние нейроны. Добавим в местах соединений прямоугольник, который будет обозначать модификатор связи Тьюринга, дающий дезорганизованной машине типа В способность обучаться. Каждый модификатор связи имеет две линии, или «волокна тренировки», которые мы обозначим как Р и I.
И-НЕ — ВАЖНЫЙ ВЕНТИЛЬ ДЛЯ РАЗРАБОТКИ НЕЙРОНОВОдним из практических аспектов цифровой электроники и следствием булевой алгебры является тот факт, что вентили И и ИЛИ могут получиться из вентиля И-НЕ (NAND), то есть вентиля И, выход которой трансформирован вентилем НЕ. Вентиль НЕ имеет единственный вход и единственный выход и изменяет величину одного бита: если на входе О, то на выходе 1, и наоборот. Для его обозначения используется следующий символ.
А НЕ А 0 1 1 0Поведение вентиля И-НЕ представлено в таблице. Рядом — символ, используемый для обозначения данного вентиля.
А НЕ А А И-НЕ В 0 0 1 0 1 1 1 0 1 1 1 0На следующей схеме показано, как соединить вентили И-НЕ между собой, чтобы получить вентили И и ИЛИ.
Взаимное соединение вентилей И-НЕ для получения вентиля И (слева) и вентиля ИЛИ (справа) со входами А, В и выходом Q.
В статье «Умные машины», одной из первых в мире работ по искусственному интеллекту, Алан Тьюринг использовал вентили И-НЕ для симуляции нейронных цепей, которые назвал нейронными цепями типа В.
Нейронная сеть, изображенная Сантьяго Рамон-и-Кахалем (слева), и искусственная нейронная сеть (справа).
Эти волокна определяют конфигурацию нейронов: возбужденное состояние или нейтральное. В возбужденном состоянии, когда волокно Р активно, если модификатор связи получает на входе input 0 или 1, на выходе output будет возвращен тот же результат, 0 или 1 соответственно. С другой стороны, в нейтральном состоянии, когда волокно I активно, модификатор соединения будет вести себя так, что при любой величине на входе input, на выходе output результат всегда будет 1.
Кроме этих модификаторов, модель искусственного нейрона предполагала, что каждый нейрон имел два входа: ВХОД 1 и ВХОД 2 — и один ВЫХОД. Если оба входа находились в возбужденном состоянии, величина на ВЫХОДЕ получалась с применением булева оператора И-НЕ (вентиль И, выход которого соединяется с вентилем НЕ).
ВХОД 1 ВХОД 2 выход 0 0 1 0 1 1 1 0 1 1 1 0Напротив, если ВХОД 1 находился в неактивном состоянии, величина на ВЫХОДЕ была равна обратной величине на ВХОДЕ 2, то есть 1, когда на ВХОДЕ 2 было 0 и наоборот.