Модель МакКаллока-Питтса

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
 
(25 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
'''Сравнение работы ЕМ-алгоритма и k-means для смесей с экспоненциальным распределением компонент.''' (будет в заголовке)
+
{{well|Статья написана с использованием LLM '''Gemini 3.1 Pro''' и проверена участником [[Участник:Osman_Osmanov|Osman Osmanov]] 14:42, 16 июля 2026 (MSD)
 +
Промпт приводится полностью в [[Обсуждение:Модель МакКаллока-Питтса]]
 +
Однако в статье нет изображений из-за существующего сбоя в системе.
 +
}}
 +
{{TOCright}}
-
В статье приведены примеры классификации ЕМ-алгоритмом и методом k ближайших соседей двумерной смеси, компоненты которой имеют экспоненциальное распределение.
+
== Нейрон Мак-Каллока—Питтса ==
 +
'''Нейрон Мак-Каллока—Питтса''' ''(англ. McCulloch-Pitts neuron)'' — это исторически первая математическая [[Искусственная нейронная сеть|модель искусственного нейрона]], предложенная [[Нейрофизиология|нейрофизиологом]] Уорреном Мак-Каллоком и математиком Уолтером Питтсом в статье ''A Logical Calculus of the Ideas Immanent in Nervous Activity''<ref name="mp">{{статья |автор=McCulloch W. S., Pitts W. |заглавие=A logical calculus of the ideas immanent in nervous activity |издание=The bulletin of mathematical biophysics |год=1943 |том=5 |номер=4 |страницы=115–133}}</ref> в 1943 году. Стремясь имитировать задержки, обусловленные временем на передачу импульса от нейрона к нейрону, в модели Мак-Каллока и Питтса все процессы рассматриваются в контексте дискретных моментов времени, где каждая передача импульса занимает один такт.
-
='''Краткое описание исследуемых алгоритмов'''=
+
Модель была мотивирована стремлением доказать, что биологическая нервная система и процессы мышления могут быть описаны в терминах ''[[Математическая логика|математической логики]]''. Оригинальная статья написана с использованием логического синтаксиса языка философа и логика Рудольфа Карнапа, а также опирается на строгую логическую систему математиков Альфреда Норта Уайтхеда и Бертрана Рассела из их фундаментального труда ''Principia Mathematica''. Таким образом, нейрон Мак-Каллока—Питтса является прямой ''[[Нейрон|формализацией биологического нейрона]] на строгом языке пропозициональной логики''.
-
==ЕМ алгоритм==
+
-
Основа EM-алгоритма - предположение, что исследуемое множество данных может быть представлено с помощью линейной комбинации распределений, а цель - оценка параметров распределения, которые максимизируют логарифмическую функцию правдоподобия, используемую в качестве меры качества модели.
+
-
Пусть рассматривается смесь из <tex>k</tex> распределений, каждое описывается функцией правдоподобия <tex>p_j(x)</tex>
+
-
<center><tex>p(x) = \sum_{i=1}^k w_jp_j(x)</tex></center>
+
== Содержание статьи ==
-
<tex>w_j</tex> - априорная вероятность <tex>j</tex>-й компоненты. Функции правдоподобия принадлежат параметрическому семейству распределений <tex>\varphi(x; \theta)</tex> и отличаются только значениями параметра <tex>p_j(x) = \varphi(x; \theta_j)</tex>
+
Идея Мак-Каллока и Питтса была представлена в статье ''A Logical Calculus of the Ideas Immanent in Nervous Activity''<ref name="mpRus" /> (русский перевод: ''Логическое исчисление идей, имманентных нервной деятельности'')<ref name="mpRus">{{статья |автор=Мак-Каллок У. С., Питтс В. |заглавие=Логическое исчисление идей, относящихся к нервной активности |издание=Автоматы / под ред. К. Э. Шеннона и Дж. Маккарти |место=М. |издательство=Изд-во иностр. лит. |год=1956 |страницы=363–384 |язык=ru}}</ref>
 +
. Статья начинается с описания работы биологического нейрона человека.
 +
Головной мозг человека является главным образом нейронной сетью. Утверждается, что нейроны – клетки (функциональные единицы) мозга – связываются между собой, передавая электрические импульсы. Нейроны передают импульсы через специальные отростки – [[Аксон|аксоны]]. Между двумя нейронами располагается [[Синапс|синапс]] – место контакта двух связанных нейронов. Он отвечает за преобразование (торможение или усиление) электрического импульса. В зависимости от типа преобразования импульса выделяют ''тормозящие [[Синапс|синапсы]]'' и ''возбуждающие [[Синапс|синапсы]]''.
 +
Авторы статьи выделили пять допущений для формализации устройства головного мозга (сохранены оригинальные формулировки перевода на русский язык<ref name="mpRus" />):
-
'''Вывод формул для алгоритма'''
+
# Активность нейрона удовлетворяет принципу ''"всё или ничего"''.
-
----
+
# Возбуждению нейрона в какой-либо момент времени должен предшествовать латентный период накопления возбуждений определенного фиксированного числа [[Синапс|синапсов]]. Это число не зависит от предыдущей активности и от расположения синапсов на нейроне.
-
'''Вход''':
+
# Единственным запаздыванием в нервной системе, имеющим значение, является синаптическая задержка (время, необходимое для передачи импульса).
 +
# Активность какого-либо тормозящего [[Синапс|синапса]] абсолютно исключает возбуждение данного нейрона в рассматриваемый момент времени.
 +
# С течением времени структура сети не изменяется.
-
<tex> R, M, Delta, L</tex> – общая длина выборки
+
Заметим, что часто фигурируют формулировки "в момент времени", "задержка". Все рассматриваемые предикаты в статье зависят от некоторого момента времени. Таким образом, <tex>Pr_1(t)</tex> — некоторое утверждение, зависящее от времени. В качестве примера может выступить утверждение «нейрон 1 активен в момент времени <tex>t</tex>».
-
'''Выход''':
+
Модель, построенная на времени, позволяет Мак-Каллоку и Питтсу рассматривать время как ''расстояние между нейронами''.
-
<tex>\theta = (\omega_1, \omega_2, ..., \omega_k, \theta_1, \theta_2, ..., \theta_k)</tex> параметры распределения и весы компонент.
+
=== Принцип "всё или ничего" ===
-
'''Оценка максимального правдоподобия (ОМП) θ'''
+
Мак-Каллок и Питтс выделили два типа связей между нейронами – '''''тормозящие''''' и '''''возбуждающие'''''. Если нейрон связан с другим нейроном тормозящей связью и по этой тормозящей связи второй нейрон подал импульс первому, то первый нейрон '''не подаёт импульса'''. Если же по тормозящим связям импульса нет, то рассматриваются возбуждающие связи. Если совокупность нейронов, передающих импульс по возбуждающим связям создаст достаточный импульс, превышающий некоторый порог, то '''нейрон подаст импульс'''. Такой принцип имеет название '''''"всё или ничего"'''''.
-
+
-
для одно- и двумерного случая экспоненциального распределения.
+
-
Необходимо максимизировать
+
=== Термины ===
-
<center><tex>Q(\Theta) = ln\prod_{i=1}^m p(x_i)=\sum_{i=1}^mln\sum_{j=1}^k\omega_jp_j(x_i) \rightarrow ma\limits_{\Theta}x</tex></center>
+
В начале статьи вводятся следующие термины для формального описания [[Нейрон|модели нейрона]].
-
Из Лагранжиана следует:
+
==== Оператор временного сдвига ====
 +
В отличие от современных [[Нейронная сеть|моделей нейронных сетей]], где сигнал проходит через слои мгновенно, в модели Мак-Каллока—Питтса, как уже говорилось ранее, каждая передача импульса занимает один такт. Авторы вводят '''''функтор <tex>S</tex>''''', устроенный так, что если есть логическое правило <tex>Pr(t)</tex>, описывающее состояние сети, то применение к нему оператора <tex>S</tex> принудительно сдвигает его временной аргумент на один шаг назад:
-
<tex>
+
::<tex>S(Pr(t)) \equiv Pr(t-1).</tex>
-
\omega_j=\frac{1}m \sum_{i=1}^mg_{ij} </tex> j=1,...,k
+
-
<tex>\frac{\partial L}{\partial\theta_j}=\frac{\partial}{\partial\theta_j}\sum_{i=1}^mg_{ij}lnp_j(x_i)=0,</tex> j=1,...,k.
+
В оригинальной статье<ref name="mp" /> приведена следующая формула:
-
С учетом <tex>p_j(x)\equiv \varphi(x, \theta_j) = \theta_j \cdot exp{-\theta_j \cdot x}</tex> получаем ОМП <tex>\theta </tex> для экспоненциального закона:
+
::<tex>S(P)(t) \equiv P(Kx)(t = x'),</tex>
 +
где <tex>x'</tex> – следующий за <tex>x</tex> такт (в нотации Пеано), а <tex>(Kx)(t = x')</tex> – обозначение наименьшего значения <tex>x</tex> такого, что <tex>t = x'</tex>.
-
<center><tex>\frac{\partial}{\partial \theta_j}\sum_{i=1}^mg_{ij}(ln \theta_j - \theta_jx_i)=0</tex></center>
+
Также применяется оператор <tex>S^n</tex>, что является <tex>n</tex>-кратной композицией <tex>S</tex>. Например, <tex>S^2(P) \equiv S(S(P))</tex>.
-
''В одномерном случае'':
+
==== Действие нейрона ====
 +
'''''Действием <tex>N_i(t)</tex> нейрона''''' <tex>c_i</tex> называется утверждение «<tex>c_i</tex> возбуждён в момент времени <tex>t</tex>».
-
<tex>\theta_j=\frac{\sum_{i=1}^mg_{ij}}{\sum_{i=1}^mx_ig_{ij}}</tex>
+
В статье<ref name="mp" /> часто применяется такая нотация, поскольку она характеризует значение нейрона.
-
''В двумерном случае'':
+
==== Рецепторы ====
 +
'''''Рецепторы''''' — это [[Нейрон|нейроны]], у которых ''нет входящих [[Синапс|синапсов]] от других клеток внутри системы''. Их состояние в каждый момент времени определяется ''исключительно внешними стимулами из окружающей среды''. В современных архитектурах это ''тождественно вектору признаков на входном слое''.
-
<tex>\theta_{jx}=\frac{\sum_{i=1}^mg_{ij}}{\sum_{i=1}^mx_ig_{ij}}\\\theta_{jy}=\frac{\sum_{i=1}^mg_{ij}}{\sum_{i=1}^my_ig_{ij}}</tex>
+
Вероятно, получили своё название от биологических рецепторов, которые отдают сигнал головному мозгу при появлении какого-то стимула и не получают никаких сигналов от других органов; только от внешней среды.
-
==k-means (k ближайших соседей)==
+
==== Решение сети ====
 +
'''''Решение сети''''' — это итоговое логическое уравнение (пропозициональная формула), которое полностью описывает условия, при которых главный выходной [[Нейрон|нейрон]] перейдет в состояние 1 в текущий момент времени.
-
Метод <tex>K</tex> ближайших соседей - это [[Метрический классификатор|метрический алгоритм классификации]], основанный на оценивании сходства объектов. Классифицируемый объект относится к тому классу, которому принадлежат ближайшие к нему объекты [[выборка|обучающей выборки]].
+
Главное требование к решению сети заключается в том, что ''оно должно зависеть исключительно от истории состояний рецепторов''. Получить решение сети — означает ''свернуть всю архитектуру сети в одну формулу''.
-
'''Постановка задачи'''
+
Проводя аналогию с современными персептронами, можно утверждать, что в персептронах выход некоторого [[Нейрон|нейрона]] из выходного слоя, очевидно, зависит от входа нейронной сети. Поскольку модель Мак-Каллока и Питтса построена на времени, нам необходимо знать значения рецепторов в каждый момент времени до достижения выхода, для того чтобы получить решение сети.
-
----
+
==== Циклические сети ====
 +
Сеть называется '''''циклической''''', если в ней можно выделить '''''петлю''''' – цепочку [[Нейрон|нейронов]], каждый член которой имеет [[Аксон|аксоны]] на следующем по порядку нейроне и начало которой совпадает с концом. Петля является аналогом цикла в теории графов, если построить сеть в виде графа.
-
Пусть <tex>X \in \mathbb{R}^n\</tex> - множество объектов; <tex>Y</tex> - множество допустимых ответов. Задана обучающая выборка <tex>\{(x_i,y_i)\}_{i=1}^\ell</tex>. Задано множество объектов <tex>\ X^m =\{x_i\}_{i=1}^m</tex>.
+
Стоит заметить, что в современных нейронных сетях никаких петель нет. Мак-Каллок и Питтс строили более общую модель, в которой [[Нейрон|нейроны]] могли соединяться произвольным образом.
-
Требуется найти множество ответов <tex>\{y_i\}_{i=1}^m</tex> для объектов <tex>\{x_i\}_{i=1}^m</tex>.
+
-
На множестве объектов задается некоторая функция расстояния, в данном случае <tex>\rho(x,x')</tex> - максимум модулей
+
Пусть существует минимальный набор [[Нейрон|нейронов]] такой, что если каждый [[Нейрон|нейрон]] из этого набора удалить из сети (вместе со связями с другими нейронами), то сеть останется без петель. Тогда количество [[Нейрон|нейронов]] в таком минимальном наборе называется '''''порядком сети'''''. Порядок сети характеризует её сложность. ''Если порядок сети положителен, то в этой сети есть хотя бы одна петля. Если же порядок равен 0, то в сети нет петель.''
-
<center><tex>\rho(x,x') = \max_{i} |x_i-x'_i|;</tex></center>
+
-
Для произвольного объекта <tex>x\in X</tex> расположим
+
Современные [[Многослойный персептрон|нейронные сети прямого распространения]] (FFNN) являются частным случаем сети порядка 0, а [[Рекуррентная нейронная сеть|рекуррентные нейронные сети]] (RNN) являются частным случаем сети положительного порядка.
-
объекты обучающей выборки <tex>x_i</tex> в порядке возрастания расстояний до <tex>x</tex>:
+
-
::<tex>\rho(x,x_{1; x}) \leq \rho(x,x_{2; x}) \leq \cdots \leq \rho(x,x_{m; x}),</tex>
+
-
где через <tex>x_{i; x}</tex> обозначается
+
-
тот объект обучающей выборки, который является <tex>i</tex>-м соседом объекта <tex>x</tex>.
+
-
Аналогично для ответа на <tex>i</tex>-м соседе:
+
-
<tex>y_{i; x}</tex>.
+
-
Таким образом, произвольный объект <tex>x</tex> порождает свою перенумерацию выборки.
+
==== Временное пропозициональное выражение ====
-
В наиболее общем виде [[алгоритм]] ближайших соседей есть
+
Поскольку Мак-Каллок и Питтс оперируют временными утверждениями (функциями), т.е. зависящими от времени, следует более формало определить эти утверждения как '''''временные пропозициональные выражения (ВПВ)'''''.
-
::<tex>a(x) = \mathrm{arg}\max_{y\in Y} \sum_{i=1}^m \bigl[ x_{i; x}=y \bigr] w(i,x),</tex>
+
-
где <tex>w(i,x)</tex> — заданная ''весовая функция'',
+
-
которая оценивает степень важности <tex>i</tex>-го соседа для классификации объекта <tex>u</tex>.
+
-
В рассматриваемом примере <tex>w(i,x) = [i\leq k] ,</tex> что соответствует методу <tex>k</tex> ближайших соседей.
+
ВПВ определяются рекурсивно:
-
=Примеры работы=
+
# <tex>p(z_1)</tex> есть ВПВ, где <tex>p</tex> – предикат.
-
На графиках, отображающих компоненты, показано по одной из-за большого разброса предельных значений классифицируемых объектов. Следует обратить внимание на интервал, содержащий всю выборку.
+
# Если <tex>S_1</tex> и <tex>S_2</tex> – ВПВ с общей временной шкалой, то каждое из выражений <tex>S(S_1)</tex> (применение функтора S), <tex>S_1 \vee S_2</tex> (<tex>S_1</tex> ИЛИ <tex>S_2</tex>), <tex>S_1 \wedge S_2</tex> (<tex>S_1</tex> И <tex>S_2</tex>), <tex>S_1 \wedge \neg S_2</tex> (<tex>S_1</tex> И (НЕ <tex>S_2</tex>)) – тоже ВПВ.
 +
# Никакое другое выражение не является ВПВ.
-
==Пример №1 (две компоненты)==
+
==== Реализуемость ====
-
Смесь из двух компонент по 500 элементов.
+
-
<tex>\theta_x=1, \theta_y=0,01</tex>
+
Вводится два понятия реализуемости некоторого утверждения: ''в узком смысле'' и общий случай – ''в широком'' (расширенном – дословный перевод с оригинала) смысле. Стоит рассматривать концепцию утверждения как бинарную функцию.
-
<tex>\theta_x=0,01, \theta_y=1</tex>
+
* '''''Реализуемость утверждения в узком смысле''''' — это идеализированная математическая ситуация, когда значение выходного нейрона в текущий момент <tex>z_1</tex> зависит от значений рецепторов в этот же самый момент <tex>z_1</tex>. В реальности (из-за задержки [[Синапс|синапсов]] в 1 такт) в узком смысле можно реализовать только тривиальные сети, где выход "припаян" к рецепторам напрямую, без скрытых слоев.
 +
* '''''Реализуемость утверждения в широком (расширенном) смысле''''' — это вычисление с задержкой во времени. Поведение называется реализуемым в широком смысле, если сеть выдает ответ спустя <tex>n</tex> тактов. Иначе говоря, как это приводится в оригинале, утверждение <tex>P</tex> реализуемо в общем смысле, если существует <tex>n</tex> такой, что утверждение <tex>S^n(P)</tex> реализуемо в узком смысле.
-
[[Изображение:1,_001.png|300px|Распределение theta_x=1 theta_y=0,01]]
+
Понятие реализуемости позволяет формализовать, возможна ли реализация какого-то утверждения (например, построения функции по таблице истинности) нейронной сетью такой, что за некоторое количество тактов вычисляет значение функции по входным значениям.
-
[[Изображение:Rev1,_001.png|300px|Распределение theta_x=0,01 theta_y=1]]
+
-
В результате работы ЕМ-алгоритма с последовательным добавлением компонент с параметрами R = 30, M = 20, Delta = 0,001 восстанавливается <tex>\theta_1 = (1.01831, 0.0101044)</tex>, <tex>\theta_2=(0.0104461, 0.917726)</tex>
+
В этой статье Мак-Каллок и Питтс доказали, что любое логическое утверждение является реализуемым нейронной сетью порядка 0 (то есть, не содержащая петель).
-
'''Количество ошибок при классификации:'''
+
Теорема 2.
 +
 +
Каждое временное пропозициональное выражение (ВПВ) реализуемо сетью порядка 0.
-
''ЕМ'' 1 из 500 (0.2%)
+
== Архитектура ==
 +
Одним из центральных результатов статьи<ref name="mp" /> является Теорема 1:
-
''k-means (k=1)'' 0 из 500
+
Теорема 1.
-
 
+
-
''k-means (k=5)'' 1 из 500 (0.2%)
+
Каждая сеть порядка 0 может быть решена в терминах временных пропозициональных выражений
-
 
+
-
==Пример №2 (три компоненты)==
+
-
Смесь из трех компонент по 500 элементов
+
-
 
+
-
[[Изображение:Image006.gif|550px|Распределение theta_x=0,03 theta_y=2]]
+
-
 
+
-
[[Изображение:Image007.gif|550px|Распределение theta_x=1 theta_y=0,04]]
+
-
 
+
-
[[Изображение:Image008.gif|550px|Распределение theta_x=7 theta_y=7]]
+
-
 
+
-
В результате работы ЕМ-алгоритма с последовательным добавлением компонент с параметрами R = 30, M = 40, Delta = 0,001 восстанавливается
+
-
 
+
-
<tex>\theta_1 = (0.0309435, 2.05189)</tex>,
+
-
 
+
-
<tex>\theta_2=(1.05747, 0.0394895)</tex>,
+
-
 
+
-
<tex>\theta_3=(6.56629, 6.79212)</tex>
+
-
 
+
-
'''Количество ошибок при классификации:'''
+
-
 
+
-
''ЕМ'' 6 из 500 (1.2%)
+
-
 
+
-
''k-means (k=1)'' 12 из 500 (2.2%)
+
-
 
+
-
''k-means (k=5)'' 18 из 500 (3.6%)
+
-
 
+
-
==Пример №3 (четыре компоненты)==
+
-
Смесь из четырех компонент по 500 элементов. Добавлена компонента с <tex>\theta_x=15,\theta_y=15</tex>
+
-
 
+
-
[[Изображение:Image012.gif|550px|Распределение theta_x=15 theta_y=15]]
+
-
 
+
-
В результате работы ЕМ-алгоритма с последовательным добавлением компонент с параметрами R = 15, M = 30, Delta = 0,001 восстанавливается
+
-
 
+
-
<tex>\theta_1 = (0.0300939, 1.96699)</tex>,
+
-
 
+
-
<tex>\theta_2=(1.02279, 0.041855)</tex>,
+
-
 
+
-
<tex>\theta_3=(6.1976, 6.23407)</tex>,
+
-
 
+
-
<tex>\theta_4=(14.8266, 12.9193)</tex>
+
-
 
+
-
'''Количество ошибок при классификации:'''
+
-
 
+
-
''ЕМ'' 37 из 500 (7.4%)
+
-
 
+
-
''k-means (k=1)'' 9 из 500 (1.8%)
+
-
 
+
-
''k-means (k=5)'' 26 из 500 (5.2%)
+
-
 
+
-
==Пример №4 (пять компонент)==
+
-
Смесь из пяти компонент по 500 элементов. Добавили компоненту с <tex>\theta_x=75,\theta_y=3</tex>
+
-
[[Изображение:Image026.gif|550px|Распределение theta_x=75 theta_y=3]]
+
Математически это выражается через конъюнкцию и дизъюнкцию предшествующих состояний. Нейрон <tex>i</tex> с порогом <tex>\theta</tex> активируется тогда и только тогда, когда в предыдущий момент нет ни одного активного тормозящего [[Синапс|синапса]], и количество активных возбуждающих [[Синапс|синапсов]] больше или равно порогу.
-
В результате работы ЕМ-алгоритма с последовательным добавлением компонент с параметрами R = 7, M = 20, Delta = 0,001 восстанавливается
+
=== Оригинальная формулировка ===
 +
В оригинальной нотации статьи принцип "всё или ничего" для одного изолированного нейрона записывается в виде следующего логико-темпорального уравнения:
-
<tex>\theta_1 = (0.0311774, 1.88446)</tex>,
+
<tex>N_i(z_1) \equiv S \left\{ \prod_{m=1}^{q} \sim N_{j_m}(z_1) \cdot \sum_{\alpha \in \kappa_i} \prod_{s \in \alpha} N_{i_s}(z_1) \right\},</tex>
-
<tex>\theta_2=(1.00218, 0.0372523)</tex>,
+
где:
 +
* <tex>\equiv</tex> — логическая эквивалентность (тождество).
 +
* <tex>z_1</tex> — свободная переменная, обозначающая текущий момент времени (такт вычисления).
 +
* <tex>S</tex> — темпоральный оператор сдвига (рассматриваемый ранее функтор <tex>S</tex>).
 +
* <tex>\prod_{m=1}^{q} \sim N_{j_m}(z_1)</tex> — конъюнкция (И) отрицаний состояний всех <tex>q</tex> тормозящих [[Синапс|синапсов]], подключенных к данному [[Нейрон|нейрону]]. Значок <tex>\sim</tex> обозначает логическое отрицание. Если хотя бы один тормозящий нейрон активен (<tex>N_{j_m} = 1</tex>), всё произведение зануляется, аппаратно реализуя абсолютное торможение.
 +
* <tex>\kappa_i</tex> — семейство подмножеств возбуждающих [[Синапс|синапсов]], мощность (количество элементов) каждого из которых строго больше или равна порогу активации <tex>\theta_i</tex>.
 +
* <tex>\sum</tex> и <tex>\prod</tex> во второй части формулы выполняют роль дизъюнкции (ИЛИ) и конъюнкции (И).
-
<tex>\theta_3=(5.9531, 6.10164)</tex>,
+
Данная формула описывает локальный шаг работы одного элемента сети. Теорема 1 использует это уравнение как базис для математической индукции; авторы доказывают, что путём последовательной послойной подстановки (суперпозиции) таких локальных уравнений друг в друга, любая ацикличная сеть (порядка 0) гарантированно сворачивается в одну монолитную формулу, выраженную исключительно через состояния входных рецепторов в прошлом.
-
<tex>\theta_4=(14.6564, 13.2964)</tex>,
+
=== Упрощённая форма ===
-
<tex>\theta_5 = (81.433, 3.10389)</tex>,
+
Для лучшего понимания логическую запись, в которой каждая переменная является булевой, можно перевести на язык чисел, представив её в виде пороговой функции активации (функции Хевисайда):
-
'''Количество ошибок при классификации:'''
+
::<tex>N_i(z_1) = \varphi \left( \sum_{s=1}^{p} N_{i_s}(z_1 - 1) - \theta_i \right) \cdot \prod_{m=1}^{q} \big(1 - N_{j_m}(z_1 - 1)\big),</tex>
-
''ЕМ'' 243 из 500 (48.6%)
+
где:
 +
* <tex>\varphi(x)</tex> — ''функция Хевисайда'' (равна <tex>1</tex>, если аргумент больше или равен нулю, и <tex>0</tex> в противном случае).
 +
* <tex>\sum_{s=1}^{p} N_{i_s}(z_1 - 1)</tex> — сумма всех возбуждающих сигналов, пришедших на предыдущем такте.
 +
* <tex>\theta_i</tex> — порог активации [[Нейрон|нейрона]].
 +
* <tex>\prod_{m=1}^{q} \big(1 - N_{j_m}(z_1 - 1)\big)</tex> — мультипликативный тормозной блок. Если хотя бы один тормозной [[Нейрон|нейрон]] активен (<tex>N_{j_m} = 1</tex>), выражение в скобках становится равным <tex>0</tex>, и всё произведение мгновенно зануляет выход [[Нейрон|нейрона]], независимо от суммы возбуждения.
-
''k-means (k=1)'' 35 из 500 (7%)
+
Таким образом, если по тормозящим [[Синапс|синапсам]] импульса нет, то рассматриваются возбуждающие [[Синапс|синапсы]]. Если их количество достигает или превышает установленный порог, то нейрон не подаёт импульс.
-
''k-means (k=5)'' 22 из 500 (4.2%)
+
== Влияние на архитектуру фон Неймана ==
 +
Идеи, заложенные в статье 1943 года, вышли далеко за пределы нейробиологии. ''Джон фон Нейман'', работая над проектом компьютера EDVAC (1945), использовал нотацию Мак-Каллока — Питтса для описания логической архитектуры вычислительной машины<ref>{{статья |автор=Von Neumann J. |заглавие=First Draft of a Report on the EDVAC |издание=Moore School of Electrical Engineering, University of Pennsylvania |год=1945}}</ref>
 +
. Вместо того чтобы чертить электрические схемы с лампами и реле, фон Нейман описывал АЛУ и память с помощью абстрактных сетей [[Нейрон|формальных нейронов]], что заложило основы для отделения архитектуры программного обеспечения от физического оборудования.
-
=Литература=
+
== Критика ==
-
*К. В. Воронцов, Лекции по статистическим (байесовским) алгоритмам классификации
+
Триумф первых искусственных нейронных сетей столкнулся с непреодолимым на тот момент барьером, который был фундаментально исследован Марвином Минским и Сеймуром Пейпертом в их книге ''«Перцептроны»'' (1969)<ref>{{книга |автор=Minsky M., Papert S. A. |заглавие=Perceptrons: An Introduction to Computational Geometry |место=Cambridge, MA |издательство=MIT Press |год=1969 |страниц=258}}</ref>.
-
*Королёв В.Ю. ЕМ-алгоритм, его модификации и их применение к задаче разделения смесей вероятностных распределений. Теоретический обзор. - М.: ИПИРАН, 2007
+
-
*http://en.wikipedia.org/wiki/Maximum_likelihood#Discrete_distribution.2C_finite_parameter_space
+
-
*http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html
+
-
*http://www.basegroup.ru/library/analysis/clusterization/em/
+
 +
Минский математически доказал, что однослойные сети принципиально ''не способны решать задачи, не являющиеся линейно разделимыми''. Классическим примером стала '''''проблема XOR''''' (исключающее ИЛИ). Несмотря на то, что Теорема I Мак-Каллока — Питтса постулировала возможность решения любой логической функции, для функции XOR требовалась сеть как минимум с одним скрытым слоем. Отсутствие в то время алгоритма обучения для [[Многослойная нейронная сеть|многослойных сетей]] привело к резкому сокращению финансирования исследований в области нейросетей, что ознаменовало начало первой так называемой [[Зима искусственного интеллекта|зимы искусственного интеллекта]].
-
{{Задание|Platonova.Elena|Константин Воронцов|6 января 2010}}
+
== См. также ==
 +
* [[Персептрон]]
 +
* [[Нейрон]]
 +
* [[Искусственная нейронная сеть]]
 +
* [[Перcептрон Розенблатта]]
 +
* [[Зима искусственного интеллекта]]
 +
== Ссылки ==
 +
<references/>
-
[[Категория:Непроверенные учебные задания]]
+
[[Категория:Машинное обучение]]
 +
[[Категория:Нейронные сети]]
 +
[[Категория:История машинного обучения]]

Текущая версия

Статья написана с использованием LLM Gemini 3.1 Pro и проверена участником Osman Osmanov 14:42, 16 июля 2026 (MSD)

Промпт приводится полностью в Обсуждение:Модель МакКаллока-Питтса Однако в статье нет изображений из-за существующего сбоя в системе.


Содержание

Нейрон Мак-Каллока—Питтса

Нейрон Мак-Каллока—Питтса (англ. McCulloch-Pitts neuron) — это исторически первая математическая модель искусственного нейрона, предложенная нейрофизиологом Уорреном Мак-Каллоком и математиком Уолтером Питтсом в статье A Logical Calculus of the Ideas Immanent in Nervous Activity[1] в 1943 году. Стремясь имитировать задержки, обусловленные временем на передачу импульса от нейрона к нейрону, в модели Мак-Каллока и Питтса все процессы рассматриваются в контексте дискретных моментов времени, где каждая передача импульса занимает один такт.

Модель была мотивирована стремлением доказать, что биологическая нервная система и процессы мышления могут быть описаны в терминах математической логики. Оригинальная статья написана с использованием логического синтаксиса языка философа и логика Рудольфа Карнапа, а также опирается на строгую логическую систему математиков Альфреда Норта Уайтхеда и Бертрана Рассела из их фундаментального труда Principia Mathematica. Таким образом, нейрон Мак-Каллока—Питтса является прямой формализацией биологического нейрона на строгом языке пропозициональной логики.

Содержание статьи

Идея Мак-Каллока и Питтса была представлена в статье A Logical Calculus of the Ideas Immanent in Nervous Activity[1] (русский перевод: Логическое исчисление идей, имманентных нервной деятельности)[1] . Статья начинается с описания работы биологического нейрона человека.

Головной мозг человека является главным образом нейронной сетью. Утверждается, что нейроны – клетки (функциональные единицы) мозга – связываются между собой, передавая электрические импульсы. Нейроны передают импульсы через специальные отростки – аксоны. Между двумя нейронами располагается синапс – место контакта двух связанных нейронов. Он отвечает за преобразование (торможение или усиление) электрического импульса. В зависимости от типа преобразования импульса выделяют тормозящие синапсы и возбуждающие синапсы.

Авторы статьи выделили пять допущений для формализации устройства головного мозга (сохранены оригинальные формулировки перевода на русский язык[1]):

  1. Активность нейрона удовлетворяет принципу "всё или ничего".
  2. Возбуждению нейрона в какой-либо момент времени должен предшествовать латентный период накопления возбуждений определенного фиксированного числа синапсов. Это число не зависит от предыдущей активности и от расположения синапсов на нейроне.
  3. Единственным запаздыванием в нервной системе, имеющим значение, является синаптическая задержка (время, необходимое для передачи импульса).
  4. Активность какого-либо тормозящего синапса абсолютно исключает возбуждение данного нейрона в рассматриваемый момент времени.
  5. С течением времени структура сети не изменяется.

Заметим, что часто фигурируют формулировки "в момент времени", "задержка". Все рассматриваемые предикаты в статье зависят от некоторого момента времени. Таким образом, Pr_1(t) — некоторое утверждение, зависящее от времени. В качестве примера может выступить утверждение «нейрон 1 активен в момент времени t».

Модель, построенная на времени, позволяет Мак-Каллоку и Питтсу рассматривать время как расстояние между нейронами.

Принцип "всё или ничего"

Мак-Каллок и Питтс выделили два типа связей между нейронами – тормозящие и возбуждающие. Если нейрон связан с другим нейроном тормозящей связью и по этой тормозящей связи второй нейрон подал импульс первому, то первый нейрон не подаёт импульса. Если же по тормозящим связям импульса нет, то рассматриваются возбуждающие связи. Если совокупность нейронов, передающих импульс по возбуждающим связям создаст достаточный импульс, превышающий некоторый порог, то нейрон подаст импульс. Такой принцип имеет название "всё или ничего".

Термины

В начале статьи вводятся следующие термины для формального описания модели нейрона.

Оператор временного сдвига

В отличие от современных моделей нейронных сетей, где сигнал проходит через слои мгновенно, в модели Мак-Каллока—Питтса, как уже говорилось ранее, каждая передача импульса занимает один такт. Авторы вводят функтор S, устроенный так, что если есть логическое правило Pr(t), описывающее состояние сети, то применение к нему оператора S принудительно сдвигает его временной аргумент на один шаг назад:

S(Pr(t)) \equiv Pr(t-1).

В оригинальной статье[1] приведена следующая формула:

S(P)(t) \equiv P(Kx)(t = x'),

где x' – следующий за x такт (в нотации Пеано), а (Kx)(t = x') – обозначение наименьшего значения x такого, что t = x'.

Также применяется оператор S^n, что является n-кратной композицией S. Например, S^2(P) \equiv S(S(P)).

Действие нейрона

Действием N_i(t) нейрона c_i называется утверждение «c_i возбуждён в момент времени t».

В статье[1] часто применяется такая нотация, поскольку она характеризует значение нейрона.

Рецепторы

Рецепторы — это нейроны, у которых нет входящих синапсов от других клеток внутри системы. Их состояние в каждый момент времени определяется исключительно внешними стимулами из окружающей среды. В современных архитектурах это тождественно вектору признаков на входном слое.

Вероятно, получили своё название от биологических рецепторов, которые отдают сигнал головному мозгу при появлении какого-то стимула и не получают никаких сигналов от других органов; только от внешней среды.

Решение сети

Решение сети — это итоговое логическое уравнение (пропозициональная формула), которое полностью описывает условия, при которых главный выходной нейрон перейдет в состояние 1 в текущий момент времени.

Главное требование к решению сети заключается в том, что оно должно зависеть исключительно от истории состояний рецепторов. Получить решение сети — означает свернуть всю архитектуру сети в одну формулу.

Проводя аналогию с современными персептронами, можно утверждать, что в персептронах выход некоторого нейрона из выходного слоя, очевидно, зависит от входа нейронной сети. Поскольку модель Мак-Каллока и Питтса построена на времени, нам необходимо знать значения рецепторов в каждый момент времени до достижения выхода, для того чтобы получить решение сети.

Циклические сети

Сеть называется циклической, если в ней можно выделить петлю – цепочку нейронов, каждый член которой имеет аксоны на следующем по порядку нейроне и начало которой совпадает с концом. Петля является аналогом цикла в теории графов, если построить сеть в виде графа.

Стоит заметить, что в современных нейронных сетях никаких петель нет. Мак-Каллок и Питтс строили более общую модель, в которой нейроны могли соединяться произвольным образом.

Пусть существует минимальный набор нейронов такой, что если каждый нейрон из этого набора удалить из сети (вместе со связями с другими нейронами), то сеть останется без петель. Тогда количество нейронов в таком минимальном наборе называется порядком сети. Порядок сети характеризует её сложность. Если порядок сети положителен, то в этой сети есть хотя бы одна петля. Если же порядок равен 0, то в сети нет петель.

Современные нейронные сети прямого распространения (FFNN) являются частным случаем сети порядка 0, а рекуррентные нейронные сети (RNN) являются частным случаем сети положительного порядка.

Временное пропозициональное выражение

Поскольку Мак-Каллок и Питтс оперируют временными утверждениями (функциями), т.е. зависящими от времени, следует более формало определить эти утверждения как временные пропозициональные выражения (ВПВ).

ВПВ определяются рекурсивно:

  1. p(z_1) есть ВПВ, где p – предикат.
  2. Если S_1 и S_2 – ВПВ с общей временной шкалой, то каждое из выражений S(S_1) (применение функтора S), S_1 \vee S_2 (S_1 ИЛИ S_2), S_1 \wedge S_2 (S_1 И S_2), S_1 \wedge \neg S_2 (S_1 И (НЕ S_2)) – тоже ВПВ.
  3. Никакое другое выражение не является ВПВ.

Реализуемость

Вводится два понятия реализуемости некоторого утверждения: в узком смысле и общий случай – в широком (расширенном – дословный перевод с оригинала) смысле. Стоит рассматривать концепцию утверждения как бинарную функцию.

  • Реализуемость утверждения в узком смысле — это идеализированная математическая ситуация, когда значение выходного нейрона в текущий момент z_1 зависит от значений рецепторов в этот же самый момент z_1. В реальности (из-за задержки синапсов в 1 такт) в узком смысле можно реализовать только тривиальные сети, где выход "припаян" к рецепторам напрямую, без скрытых слоев.
  • Реализуемость утверждения в широком (расширенном) смысле — это вычисление с задержкой во времени. Поведение называется реализуемым в широком смысле, если сеть выдает ответ спустя n тактов. Иначе говоря, как это приводится в оригинале, утверждение P реализуемо в общем смысле, если существует n такой, что утверждение S^n(P) реализуемо в узком смысле.

Понятие реализуемости позволяет формализовать, возможна ли реализация какого-то утверждения (например, построения функции по таблице истинности) нейронной сетью такой, что за некоторое количество тактов вычисляет значение функции по входным значениям.

В этой статье Мак-Каллок и Питтс доказали, что любое логическое утверждение является реализуемым нейронной сетью порядка 0 (то есть, не содержащая петель).

Теорема 2.

Каждое временное пропозициональное выражение (ВПВ) реализуемо сетью порядка 0.

Архитектура

Одним из центральных результатов статьи[1] является Теорема 1:

Теорема 1.

Каждая сеть порядка 0 может быть решена в терминах временных пропозициональных выражений

Математически это выражается через конъюнкцию и дизъюнкцию предшествующих состояний. Нейрон i с порогом \theta активируется тогда и только тогда, когда в предыдущий момент нет ни одного активного тормозящего синапса, и количество активных возбуждающих синапсов больше или равно порогу.

Оригинальная формулировка

В оригинальной нотации статьи принцип "всё или ничего" для одного изолированного нейрона записывается в виде следующего логико-темпорального уравнения:

N_i(z_1) \equiv S \left\{ \prod_{m=1}^{q} \sim N_{j_m}(z_1) \cdot \sum_{\alpha \in \kappa_i} \prod_{s \in \alpha} N_{i_s}(z_1) \right\},

где:

  • \equiv — логическая эквивалентность (тождество).
  • z_1 — свободная переменная, обозначающая текущий момент времени (такт вычисления).
  • S — темпоральный оператор сдвига (рассматриваемый ранее функтор S).
  • \prod_{m=1}^{q} \sim N_{j_m}(z_1) — конъюнкция (И) отрицаний состояний всех q тормозящих синапсов, подключенных к данному нейрону. Значок \sim обозначает логическое отрицание. Если хотя бы один тормозящий нейрон активен (N_{j_m} = 1), всё произведение зануляется, аппаратно реализуя абсолютное торможение.
  • \kappa_i — семейство подмножеств возбуждающих синапсов, мощность (количество элементов) каждого из которых строго больше или равна порогу активации \theta_i.
  • \sum и \prod во второй части формулы выполняют роль дизъюнкции (ИЛИ) и конъюнкции (И).

Данная формула описывает локальный шаг работы одного элемента сети. Теорема 1 использует это уравнение как базис для математической индукции; авторы доказывают, что путём последовательной послойной подстановки (суперпозиции) таких локальных уравнений друг в друга, любая ацикличная сеть (порядка 0) гарантированно сворачивается в одну монолитную формулу, выраженную исключительно через состояния входных рецепторов в прошлом.

Упрощённая форма

Для лучшего понимания логическую запись, в которой каждая переменная является булевой, можно перевести на язык чисел, представив её в виде пороговой функции активации (функции Хевисайда):

N_i(z_1) = \varphi \left( \sum_{s=1}^{p} N_{i_s}(z_1 - 1) - \theta_i \right) \cdot \prod_{m=1}^{q} \big(1 - N_{j_m}(z_1 - 1)\big),

где:

  • \varphi(x)функция Хевисайда (равна 1, если аргумент больше или равен нулю, и 0 в противном случае).
  • \sum_{s=1}^{p} N_{i_s}(z_1 - 1) — сумма всех возбуждающих сигналов, пришедших на предыдущем такте.
  • \theta_i — порог активации нейрона.
  • \prod_{m=1}^{q} \big(1 - N_{j_m}(z_1 - 1)\big) — мультипликативный тормозной блок. Если хотя бы один тормозной нейрон активен (N_{j_m} = 1), выражение в скобках становится равным 0, и всё произведение мгновенно зануляет выход нейрона, независимо от суммы возбуждения.

Таким образом, если по тормозящим синапсам импульса нет, то рассматриваются возбуждающие синапсы. Если их количество достигает или превышает установленный порог, то нейрон не подаёт импульс.

Влияние на архитектуру фон Неймана

Идеи, заложенные в статье 1943 года, вышли далеко за пределы нейробиологии. Джон фон Нейман, работая над проектом компьютера EDVAC (1945), использовал нотацию Мак-Каллока — Питтса для описания логической архитектуры вычислительной машины[1] . Вместо того чтобы чертить электрические схемы с лампами и реле, фон Нейман описывал АЛУ и память с помощью абстрактных сетей формальных нейронов, что заложило основы для отделения архитектуры программного обеспечения от физического оборудования.

Критика

Триумф первых искусственных нейронных сетей столкнулся с непреодолимым на тот момент барьером, который был фундаментально исследован Марвином Минским и Сеймуром Пейпертом в их книге «Перцептроны» (1969)[1].

Минский математически доказал, что однослойные сети принципиально не способны решать задачи, не являющиеся линейно разделимыми. Классическим примером стала проблема XOR (исключающее ИЛИ). Несмотря на то, что Теорема I Мак-Каллока — Питтса постулировала возможность решения любой логической функции, для функции XOR требовалась сеть как минимум с одним скрытым слоем. Отсутствие в то время алгоритма обучения для многослойных сетей привело к резкому сокращению финансирования исследований в области нейросетей, что ознаменовало начало первой так называемой зимы искусственного интеллекта.

См. также

Ссылки

Личные инструменты