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


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

До того, как были разработаны алгоритмы нейронных сетей, которые используются сегодня, была альтернатива. Он был изобретен в 1943 году нейрофизиологом Уорреном Маккалоком и логиком Уолтером Питтсом. Сейчас на сети типа Маккаллоха-Питтса, как правило, не обращают внимания в пользу нейронных сетей типа «градиентный спуск», и это досадно. Нейроны Маккаллоха-Питтса больше похожи на тот подход, который мы наблюдаем сегодня в нейроморфных чипах, где нейроны используются в качестве вычислительных единиц.

Уоррен МакКаллох

Уолтер Питтс

Что интересно в модели нейронной сети Маккалока-Питтса, так это то, что ее можно использовать в качестве компонентов компьютерных систем. Фактически, многие ранние компьютеры — например, дизайн Turings для ACE — были спроектированы с использованием логических компонентов в стиле McCulloch-Pitts.

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

Хорошо, я должен признать, что во многих случаях ту же работу можно выполнить с тем же успехом, используя традиционные логические компоненты, но интересно посмотреть, как все это работает, используя компоненты, которые ближе к «биологическим» компонентам. Это дает вам представление, хотя, вероятно, и не полное представление о том, как мозг может быть просто компьютером.

Биологический нейрон

Основная идея модели Маккаллоха-Питтса состоит в использовании компонентов, которые обладают некоторыми характеристиками реальных нейронов.

Кредит изображения: Квазар Ярош

Настоящий нейрон имеет несколько входов, дендритов, которые являются «возбуждающими», а некоторые — «тормозящими». Что делает нейрон, зависит от суммы входов. Возбуждающие входы имеют тенденцию вызывать срабатывание ячейки, а тормозящие входы не вызывают пожар, то есть передают сигнал.

Когда клетка срабатывает, сигнал распространяется вниз по аксону, который действует как выходной провод, а затем подается на входы других нейронов через терминалы аксона.

Вы можете думать об этом как о своего рода битве за управление нейроном: возбуждающие входы подталкивают его к срабатыванию, а тормозящие входы останавливают.

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

Как мы можем создать более простую в использовании модель нейрона?

Простая модель

Нам нужна модель нейрона, которая не фиксирует все его свойства и поведение, но достаточно, чтобы фиксировать способ, которым он выполняет вычисления. Итак, что нам нужно сделать, так это отбросить аспекты поведения клетки в попытке упростить, не разрушая ее действия.

Сначала давайте просто возьмем ячейку, которая выдает двоичное состояние — ноль или единица, включен или выключен.

Затем входы передают двоичный сигнал, и единственное, что имеет значение, — это количество «включенных» сигналов на возбуждающих входах по сравнению с тормозными.

По сути, у нас есть «пороговая» модель нейрона.

Это оказывается слишком сложным для анализа, поэтому мы делаем еще одно большое упрощение — тормозящее воздействие преобладает над возбуждающим.

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

  • ячейка, которая может выводить 0 или 1
  • ряд возбуждающих входов
  • единственный тормозящий вход
  • пороговое значение

Правило его работы состоит в том, что в момент t он смотрит на свои возбуждающие входы и подсчитывает количество присутствующих. Если счет равен или превышает порог, И запрещающий вход равен нулю, тогда в момент времени t + 1 ячейка выдает единицу, в противном случае она выдает ноль.

Обратите внимание, что это правило сложнее, чем вы думаете вначале, и оно действительно приводит к довольно сложному поведению.

Ключевой фактор, который вы могли бы просто упустить из виду, — это то, что мы используем последовательную логику, которая включает время. Часы используются для синхронизации всех ячеек в сети, и они изменяют состояние при каждом тактовом импульсе. Это необходимо, чтобы остановить колебания с бесконечным периодом в некоторых типах схем.

Стандартная логика

Я собираюсь использовать символы и обозначения, введенные Марвином Мински. Мински использует символ, который показывает ячейку в виде круга с написанным порогом.

Очень легко изобрести эквиваленты стандартных логических вентилей. Например, очень легко понять, как складывать ИЛИ, И и НЕ.

Основные ворота булевой логики в виде нейронов Мак-Каллока-Питтса

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

Например, для ячейки И один вход на один не запускает ячейку, а два и только два на одной ячейке запускают ячейку, то есть вентиль И, как и было обещано. Логический элемент ИЛИ срабатывает, если один или оба его входа равны единице, потому что его порог равен единице.

Единственная сложная задача — это вентиль НЕ, и здесь вы можете видеть, что один запрещающий вход (показан кружком в конце) в сочетании с нулевым порогом дает желаемый результат. Когда ингибитор выключен, порог выравнивается, т. Е. Ноль возбуждающих входов и ячейка выдает единицу. Если ингибитор включен, то ячейка, очевидно, выключена — ворота НЕ, как и было обещано.


Добавить комментарий