1 Нейрон Маккаллока–Питтса
Контекст
1943 год, разгар становления кибернетики. Уоррен Маккаллок (нейрофизиолог) и Уолтер Питтс (логик-самоучка) задаются вопросом: можно ли описать работу нервной системы языком формальной логики? В воздухе — «Principia Mathematica» Рассела и Уайтхеда (всё сводимо к логике) и зарождающаяся теория вычислимости (Тьюринг, 1936). Их ход: абстрагировать биологический нейрон до предельно простого логического устройства и посмотреть, что из него можно собрать.
Идея и механизм
Нейрон получает бинарные входы xi ∈ {0, 1} двух типов: возбуждающие и тормозные. Ключевой момент (и вся суть модели): настраиваемых весов нет — все возбуждающие входы равноправны. Нейрон срабатывает по принципу «всё-или-ничего», если число активных возбуждающих входов достигает порога θ и не активен ни один тормозный (любой активный тормозный вход — абсолютное вето):
Никакого обучения здесь нет: «программируются» только порог θ и топология связей (какие входы возбуждающие, какие тормозные). Этого уже достаточно, чтобы один нейрон реализовал базовые логические вентили, а из них — что угодно:
- AND двух возбуждающих входов: θ = 2 — сработает, только если активны оба.
- OR: θ = 1 — достаточно одного активного возбуждающего.
- NOT: вход подаётся как тормозный при θ = 0 (нейрон возбуждён по умолчанию) — активность входа налагает вето и гасит выход.
Поскольку из {AND, OR, NOT} строится любая булева функция, сеть нейронов МП функционально полна. А если разрешить циклы (выход подаётся обратно на вход через задержку), сеть обретает память и становится эквивалентной конечному автомату. По сути это нейронная форма теории вычислимости.
Почему это важно
Это интеллектуальный исток всего коннекционизма. Работа показала, что сеть простых пороговых единиц обладает универсальной вычислительной мощью — мышление в принципе можно описать как вычисление в сети нейронов. Идея прямо повлияла на Джона фон Неймана (он ссылался на неё, проектируя архитектуру компьютера) и на всю кибернетику.
Но здесь же — и главное ограничение, которое определит следующие 15 лет: модель статична. Топологию связей и порог нужно задать вручную под каждую функцию. Вопрос «а как сеть может сама настроить веса из данных?» остаётся открытым — и его будут решать правило Хебба, перцептрон и, наконец, backpropagation.
Связи
Нейрон МП умеет вычислять, но его веса фиксированы — их задаёт человек. Правило Хебба (1949) добавляет ровно недостающее: механизм, по которому связи меняются сами, из совместной активности нейронов. Это первый шаг от статичной логической схемы к обучающейся системе — без него нейрон остаётся лишь хитрым логическим вентилем.
Перцептрон (1958) берёт тот же пороговый нейрон и снабжает его алгоритмом обучения с учителем: веса подстраиваются под размеченные примеры, и впервые появляется доказуемая сходимость. Прямая родословная 1943 → 1958 → современный искусственный нейрон (линейная сумма + нелинейность + обновление весов) тянется отсюда.
Здесь доказана универсальность для булевых функций: сеть пороговых нейронов вычислит любую логическую функцию. Спустя десятилетия теорема об универсальной аппроксимации повторит ту же мысль для непрерывных функций и сетей с гладкими активациями. Две грани одного фундаментального факта: нейросети выразительно богаты — вопрос лишь в том, как их обучить и сколько нейронов нужно.
Что читать в оригинале
Оригинал — плотная формальная логика в обозначениях 1940-х, читать его необязательно. Если любопытно, посмотрите ровно на то, как авторы конструируют логические функции из нейронов — остальное историкам. Для понимания канона достаточно этого конспекта.