Искусственный нейрон - это математическая функция задумана как модель биологических нейронов, нейронная сеть. Искусственные нейроны - это элементарные единицы в искусственной нейронной сети. Искусственный нейрон получает один или несколько входных сигналов (представляющих возбуждающие постсинаптические потенциалы и тормозные постсинаптические потенциалы на нейронных дендритах ) и суммирует их для получения выходного сигнала (или активации, представляющий потенциал действия нейрона, который передается вдоль его аксона ). Обычно каждый вход отдельно взвешивается, и сумма передается через нелинейную функцию, известную как функция активации или передаточная функция.. Передаточные функции обычно имеют сигмовидную форму, но они также могут принимать форму других нелинейных функций, кусочно линейных функций или ступенчатых функций. Они также часто бывают монотонно возрастающими, непрерывными, дифференцируемыми и ограниченными. Функция пороговой обработки вдохновила на создание логических вентилей, называемых пороговой логикой; применимо для построения логических схем, напоминающих обработку мозга. Например, в последнее время для разработки такой логики широко используются новые устройства, такие как мемристоры.
Передаточную функцию искусственного нейрона не следует путать с передаточной функцией линейной системы..
Для данного искусственного нейрона k, пусть имеется m + 1 входов с сигналами от x 0 до x m и весами от w k0до w km. Обычно входу x 0 присваивается значение +1, что делает его входом смещения с w k0 = b k. Это оставляет только m фактических входов для нейрона: от x 1 до x m.
. Выходной сигнал k-го нейрона:
где (phi) - передаточная функция (обычно пороговая функция).
Выходные данные аналогичны аксону биологического нейрона, и его значение распространяется на вход следующего слоя через синапс. Он также может выйти из системы, возможно, как часть выходного вектора.
. Он не имеет процесса обучения как такового. Рассчитываются его веса передаточной функции и предопределяется пороговое значение.
В зависимости от конкретной используемой модели их можно назвать полулинейным блоком, Nv нейроном, бинарным нейроном, линейная пороговая функция или Маккаллоха – Питтса (MCP ) нейрон .
Простые искусственные нейроны, такие как модель МакКаллока – Питтса, иногда описываются как «карикатурные модели», поскольку они предназначены для отражения одного или нескольких нейрофизиологических наблюдений, но без учета реализма.
Искусственные нейроны созданы для имитации аспектов своих биологических аналогов.
Однако, в отличие от большинства искусственных нейронов, биологические нейроны срабатывают дискретными импульсами. Каждый раз, когда электрический потенциал внутри сомы достигает определенного порога, по аксону передается импульс. Эта пульсация может быть преобразована в непрерывные значения. Скорость (активаций в секунду и т. Д.), С которой активируется аксон, напрямую преобразуется в скорость, с которой соседние клетки получают вводимые в них сигнальные ионы. Чем быстрее срабатывает биологический нейрон, тем быстрее соседние нейроны накапливают электрический потенциал (или теряют электрический потенциал, в зависимости от «веса» дендрита, который соединяется с активированным нейроном). Именно это преобразование позволяет ученым-информатикам и математикам моделировать биологические нейронные сети с использованием искусственных нейронов, которые могут выводить различные значения (часто от -1 до 1).
Исследования показали, что унарное кодирование используется в нейронных цепях, ответственных за воспроизведение пения птиц. Использование унарных в биологических сетях предположительно связано с присущей простотой кодирования. Еще одним фактором может быть то, что унарное кодирование обеспечивает определенную степень исправления ошибок.
Первым искусственным нейроном был пороговый логический блок (ВПУ) или линейный пороговый блок, впервые предложенный Уоррен Маккалок и Уолтер Питтс в 1943 году. Модель была специально предназначена как вычислительная модель «нервной сети» в мозге. В качестве передаточной функции использовался порог, эквивалентный использованию ступенчатой функции Хевисайда. Первоначально рассматривалась только простая модель с двоичными входами и выходами, некоторыми ограничениями на возможные веса и более гибким пороговым значением. С самого начала было замечено, что любая логическая функция может быть реализована сетями таких устройств, что легко увидеть из того факта, что можно реализовать функции И и ИЛИ и использовать их в дизъюнктивная или конъюнктивная нормальная форма. Исследователи также вскоре поняли, что циклические сети с обратными связями через нейроны могут определять динамические системы с памятью, но большая часть исследований сконцентрирована (и до сих пор проводится) строго на сетях с прямой связью, поскольку меньшей сложности, которую они представляют.
Одной из важных и новаторских искусственных нейронных сетей, в которой использовалась линейная пороговая функция, был перцептрон, разработанный Фрэнком Розенблаттом. Эта модель уже учитывала более гибкие значения веса в нейронах и использовалась в машинах с адаптивными возможностями. Представление пороговых значений в виде смещения было введено Бернардом Уидроу в 1960 году - см. ADALINE.
В конце 1980-х, когда исследования нейронных сетей набрали силу, нейроны с более непрерывной формой начали рассматриваться. Возможность дифференцирования функции активации позволяет напрямую использовать градиентный спуск и другие алгоритмы оптимизации для настройки весов. Нейронные сети также начали использоваться в качестве общей модели аппроксимации функции. Самый известный алгоритм обучения под названием backpropagation был переоткрыт несколько раз, но его первая разработка восходит к работе Пола Вербоса.
Передаточная функция ( функция активации ) нейрона выбирается так, чтобы иметь ряд свойств, которые либо улучшают, либо упрощают сеть, содержащую нейрон. Крайне важно, например, что любой многослойный персептрон, использующий линейную передаточную функцию, имеет эквивалентную однослойную сеть; поэтому для получения преимуществ многослойной сети необходима нелинейная функция.
Ниже u во всех случаях относится к взвешенной сумме всех входов в нейрон, то есть для n входов
где w - вектор синаптические веса, а x - вектор входных данных.
Выход y этой передаточной функции является двоичным, в зависимости от того, соответствует ли вход заданному порогу θ. «Сигнал» отправляется, т.е. выход устанавливается в единицу, если активация соответствует порогу.
Эта функция используется в перцептронах и часто встречается во многих других моделях. Он выполняет разделение пространства входных данных на гиперплоскость. Это особенно полезно на последнем уровне сети, предназначенном для двоичной классификации входов. Его можно аппроксимировать из других сигмоидальных функций, присвоив весам большие значения.
В этом случае единица вывода - это просто взвешенная сумма его входов плюс член смещения. Ряд таких линейных нейронов выполняет линейное преобразование входного вектора. Обычно это более полезно на первых уровнях сети. Существует ряд инструментов анализа, основанных на линейных моделях, таких как гармонический анализ, и все они могут использоваться в нейронных сетях с этим линейным нейроном. Член смещения позволяет нам выполнять аффинные преобразования данных.
См.: Линейное преобразование, Гармонический анализ, Линейный фильтр, Вейвлет, Анализ главных компонентов, Анализ независимых компонентов, Деконволюция.
Достаточно простая нелинейная функция, сигмоидальная функция, такая как логистическая функция, также имеет легко вычисляемую производную, что может быть важно при вычислении обновлений веса в сети. Таким образом, это упрощает математическое манипулирование сетью и было привлекательно для первых компьютерных ученых, которым нужно было минимизировать вычислительную нагрузку при моделировании. Ранее это обычно наблюдалось в многослойных перцептронах. Однако недавняя работа показала, что сигмовидные нейроны менее эффективны, чем выпрямленные линейные нейроны. Причина в том, что градиенты, вычисляемые алгоритмом обратного распространения, имеют тенденцию уменьшаться до нуля по мере того, как активации распространяются через слои сигмоидальных нейронов, что затрудняет оптимизацию нейронных сетей с использованием нескольких слоев сигмоидальных нейронов.
В контексте искусственных нейронных сетей, выпрямитель - это функция активации, определяемая как положительная часть аргумента:
где x является входом в нейрон. Это также известно как функция линейного изменения и аналогично полуволновому выпрямлению в электротехнике. Эта функция активации была впервые введена в динамическую сеть Hahnloser et al. в статье 2000 года в журнале Nature с сильными биологическими мотивами и математическим обоснованием. Впервые в 2011 году было продемонстрировано, что это позволяет лучше обучать более глубокие сети по сравнению с широко используемыми функциями активации до 2011 года, т. Е. логистической сигмоидой (которая основана на теории вероятностей ; см. логистическая регрессия ) и его более практичный аналог, гиперболический тангенс.
Ниже приводится простая реализация псевдокода одного TLU, который принимает логические входные данные (истина или ложь) и возвращает единственный логический выход при активации. Используется объектно-ориентированная модель. Метод обучения не определен, поскольку существует несколько. Если бы использовалась чисто функциональная модель, приведенный ниже класс TLU был бы заменен функциональным TLU с порогом входных параметров, весами и входными данными, возвращающими логическое значение.
класс TLU определяется как: элемент данных порог : число элемент данных веса : список числа размера X функциональный член fire (входы : список логических значений размера X) : логическое определяется как: переменная T :число T ←0 для каждого i in1 toX doifвходов (i) равно true затем T ←T + веса ( i) конец, если конец для каждого ifT>порога, затемreturn true else:return false end if end function end class