machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Нейрон Маккаллока-Питтса - первая математическая модель биологического нейрона человечества

Дата публикации Jul 24, 2018

Хорошо известно, что наиболее фундаментальная единица глубоких нейронных сетей называетсяискусственный нейрон / персептрон, Но самый первый шаг кперсептронмы используем сегодня был взят в 1943 году McCulloch и Pitts, имитируя функциональность биологического нейрона.

Примечание: концепция, содержание и структура этой статьи были в значительной степени основаны на удивительных лекциях и материалах, предложенных проф.Митеш М. ХапранаNPTEL«sГлубокое обучениекурс. Проверьте это!

Биологические нейроны: чрезмерно упрощенная иллюстрация

Биологический Нейрон-Википедия

дендрит: Получает сигналы от других нейронов

сома: Обрабатывает информацию

аксон: Передает вывод этого нейрона

синапс: Точка подключения к другим нейронам

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

Наши органы чувств взаимодействуют с внешним миром и посылают визуальную и звуковую информацию в нейроны. Допустим, вы смотрите Друзья. Теперь информация, которую получает ваш мозг, воспринимается набором нейронов «смеяться или нет», которые помогут вам принять решение о том, смеяться или нет. Каждый нейрон срабатывает / активируется только тогда, когда его соответствующие критерии (подробнее об этом позже) будут выполнены, как показано ниже.

Не реальный.

Конечно, это не совсем так. В действительности, это не просто пара нейронов, которые будут принимать решения. В нашем мозгу имеется массивно параллельная взаимосвязанная сеть из 10¹¹ нейронов (100 миллиардов), и их связи не так просты, как я показал вам выше. Это может выглядеть примерно так:

Все еще не реально, но ближе.

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

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

Разделение труда

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

Пример иллюстрации иерархической обработки.Кредиты:Слайды лекций Митеша М. Хапры

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

Примечание: мое понимание того, как работает мозг, очень и очень ограничено. Приведенные выше иллюстрации чрезмерно упрощены.

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

Первая вычислительная модель нейрона была предложена Уорреном Му Каллохом (нейробиологом) и Уолтером Питтсом (логиком) в 1943 году.

Это где все это началось ..

Это может быть разделено на 2 части. Первая часть,гпринимает входные данные (ahem dendrite ahem), выполняет агрегирование и на основе агрегированного значения вторую часть,епринимает решение.

Предположим, я хочу предсказать свое собственное решение, смотреть ли случайную футбольную игру или нет по телевизору. Все входные данные являются логическими, то есть {0,1}, а моя выходная переменная также является логическим {0: будет смотреть его, 1: не будет смотреть его}.

  • Так,x_1может бытьisPremierLeagueOn(Мне больше нравится Премьер-лига)
  • x_2может бытьisItAFriendlyGame(Я склонен меньше заботиться о товарищеских играх)
  • x_3может бытьisNotHome(Не могу посмотреть, когда я бегу по делам. Могу ли я?)
  • X_4может бытьisManUnitedPlaying(Я большой фанат «МЮ». ГГМУ!) И так далее.

Эти входы могут бытьвозбуждающийилитормозящий, Запрещающие входные данные - это те, которые оказывают максимальное влияние на принятие решений независимо от других входных данных, т.е. еслиx_3равен 1 (не дома), тогда мой вывод всегда будет равен 0, т.е. нейрон никогда не сработает, поэтомуx_3является запрещающим входом. Возбуждающие входы - это НЕ те, которые заставляют нейрон зажигать сами по себе, но они могут запустить его, когда объединены вместе. Формально это то, что происходит:

Мы это видимг(Икс)просто делает сумму входов - простая агрегация А такжететаздесь называется пороговым параметром. Например, если я всегда смотрю игру, когда сумма оказывается равной 2 или более,тетаздесь 2 Это называется пороговой логикой.

Булевы функции с использованием M-P Neuron

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

M-P Neuron: краткое представление

Это представление просто означает, что для логических входовx_1,x_2а такжеx_3еслиг(Икс)т.е.сумматетаиначе нейрон сработает, он не сработает.

И функция

Нейрон функции AND будет срабатывать только тогда, когда ВСЕ входы включены, т.е.г(Икс)≥ 3 здесь.

ИЛИ Функция

Я считаю, что это говорит само за себя, так как мы знаем, что нейрон функции ИЛИ сработает, если ЛЮБОЙ из входов включен, т.е.г(Икс)≥ 1 здесь.

Функция с запрещающим входом

Теперь это может выглядеть сложно, но на самом деле это не так. Здесь мы имеем запрещающий ввод, т.е.x_2так всякий раз, когдаx_2равно 1, выход будет0. Имея это в виду, мы знаем, чтоx_1 AND! x_2будет выводить 1 только тогда, когдаx_1это 1 иx_20, поэтому очевидно, что пороговый параметр должен быть 1.

Давайте проверим, чтог(Икс)т.е.x_1+x_2будет ≥ 1 только в 3 случаях:

Случай 1: когдаx_1это 1 иx_2это 0
Случай 2: когдаx_1это 1 иx_2это 1
Случай 3: когдаx_10 иx_2это 1

Но как в случае 2, так и в случае 3 мы знаем, что на выходе будет 0, потому чтоx_21 в обоих из них, благодаря ингибированию. И мы также знаем, чтоx_1 AND! x_2выдаст 1 для случая 1 (выше), так что наш параметр порога остается в силе для данной функции.

Функция NOR

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

НЕ функция

Для НЕЙРОНА 1 выводит 0, а 0 выводит 1. Таким образом, мы принимаем вход как запрещающий вход и устанавливаем для параметра порогового значения значение 0. Это работает!

Можно ли представить какую-либо булеву функцию с помощью нейрона M-P? Прежде чем ответить на этот вопрос, давайте разберемся, что делает нейрон M-P геометрически.

Геометрическая интерпретация M-P Neuron

Это лучшая часть поста по моему мнению. Давайте начнем с функции ИЛИ.

ИЛИ Функция

Мы уже обсуждали, что пороговый параметр функции ORтета1, по понятным причинам. Входные данные явно логические, поэтому возможны только 4 комбинации - (0,0), (0,1), (1,0) и (1,1). Теперь строим их на двухмерном графике и используем уравнение агрегации функции OR.
т.е.х_1 + х_21используя который мы можем нарисовать границу решения, как показано на графике ниже. Имейте в виду, это не график реальных чисел.

Мы просто использовали уравнение агрегации, т.е.x_1 + x_2 =1графически показать, что все те входы, выход которых при прохождении через нейрон функции M-P OR находится в положении ON или НАД этой строкой, и все входные точки, лежащие ниже этой линии, будут выводить 0.

Вуаля !! Нейрон M-P только что изучил линейную границу решения! Нейрон M-P разбивает входные наборы на два класса - положительный и отрицательный. Положительные (которые выводят 1) - это те, которые лежат ВКЛ или ВЫШЕ границу решения, а отрицательные (которые выводят 0) - те, которые находятся НИЖЕ за границей решения.

Давайте убедимся в том, что блок M-P делает то же самое для всех булевых функций, посмотрев на другие примеры (если это еще не ясно из математики).

И функция

В этом случае решение граничного уравненияx_1 + x_2 =2, Здесь все входные точки, которые находятся в положении ВКЛ или ВЫШЕ, просто (1,1), выводят 1 при прохождении через нейрон функции И-М. Это подходит! Граница решения работает!

тавтология

Слишком просто, правда?

Я думаю, вы уже поняли, но что, если у нас более 2 входов?

Функция ИЛИ с 3 входами

Давайте просто обобщим это, посмотрев на блок M-P с 3 входами ИЛИ функции. В этом случае возможными входными данными являются 8 баллов - (0,0,0), (0,0,1), (0,1,0), (1,0,0), (1,0,1) ... вы получили точку (ы). Мы можем отобразить их на трехмерном графике, и на этот раз мы рисуем границу решения в 3 измерениях.

"Это птица? Это самолет?

Да, это САМОЛЕТ!

Плоскость, удовлетворяющая решению граничного уравненияx_1 + x_2 + x_3 =1показано ниже:

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

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

Линейная отделимость (для булевых функций): существует линия (плоскость), такая, что все входы, которые производят 1, лежат на одной стороне линии (плоскости), и все входы, которые производят 0, лежат на другой стороне линии (плоскости) ,

Ограничения M-P Нейрон

  • А как насчет небулевых (скажем, реальных) входных данных?
  • Всегда ли нам нужно вручную кодировать порог?
  • Все ли входы равны? Что если мы хотим придать большее значение некоторым входам?
  • Как насчет функций, которые не являются линейно разделимыми? Скажи функцию XOR.

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

Ещеперсептрони как он узнает веса и пороги и т.д. в моих будущих постах.

Вывод

В этой статье мы кратко рассмотрели биологические нейроны. Затем мы создали концепцию нейрона MuCulloch-Pitts, первой в истории математической модели биологического нейрона. Мы представили несколько булевых функций, используя нейрон M-P. Мы также попытались получить геометрическое представление о том, что происходит с моделью, используя 3D-графики. В конце концов, мы также создали мотивацию для более обобщенной модели, единственной иискусственный нейрон / персептронмодель.

Спасибо за чтение статьи.
Живи и давай жить другим!

Оригинальная статья

Footer decor

© machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map