Искусственный нейрон — это математическая функция, задуманная как модель биологических нейронов в нейронной сети . Искусственные нейроны — это элементарные единицы искусственных нейронных сетей . [1] Искусственный нейрон — это функция, которая получает один или несколько входов, применяет веса к этим входам и суммирует их для получения выходных данных.
Дизайн искусственного нейрона был вдохновлен нейронной схемой . Его входы аналогичны возбуждающим постсинаптическим потенциалам и тормозным постсинаптическим потенциалам на нейронных дендритах , илиактивация , ее вес аналогичен синаптическому весу , а ее выход аналогичен потенциалу действия нейрона, который передается по его аксону .
Обычно каждый вход взвешивается отдельно , и сумма часто добавляется к термину, известному как смещение (приблизительно соответствующему пороговому потенциалу ), перед тем, как пройти через нелинейную функцию, известную как функция активации или передаточная функция [ необходимо разъяснение ] . Передаточные функции обычно имеют сигмоидальную форму , но они также могут принимать форму других нелинейных функций, кусочно -линейных функций или ступенчатых функций. Они также часто монотонно возрастают , непрерывны , дифференцируемы и ограничены . Также недавно были исследованы немонотонные, неограниченные и осциллирующие функции активации с несколькими нулями, которые превосходят сигмоидальные и ReLU-подобные функции активации во многих задачах. Пороговая функция вдохновила на создание логических вентилей, называемых пороговой логикой; применима для создания логических схем, напоминающих обработку мозгом. Например, новые устройства, такие как мемристоры, широко использовались для разработки такой логики в последнее время. [2]
Передаточную функцию искусственного нейрона не следует путать с передаточной функцией линейной системы .
Искусственный нейрон может называться полулинейным блоком , Nv-нейроном , бинарным нейроном , линейной пороговой функцией или нейроном Маккалока–Питтса ( MCP ) , в зависимости от используемой структуры.
Простые искусственные нейроны, такие как модель Маккалока–Питтса, иногда описываются как «карикатурные модели», поскольку они призваны отражать одно или несколько нейрофизиологических наблюдений, но без учета реализма. [3] Искусственные нейроны могут также относиться к искусственным клеткам в нейроморфной инженерии ( ), которые похожи на естественные физические нейроны.
Для данного искусственного нейрона k пусть будет m + 1 входов с сигналами x 0 через x m и весами w k 0 через w k m . Обычно входу x 0 присваивается значение +1, что делает его смещенным входом с w k 0 = b k . Это оставляет только m фактических входов для нейрона: от x 1 до x m .
Выход k -го нейрона:
Где (фи) — передаточная функция (обычно пороговая функция).
Выход аналогичен аксону биологического нейрона, и его значение распространяется на вход следующего слоя через синапс. Он также может выйти из системы, возможно, как часть выходного вектора .
Он не имеет процесса обучения как такового. Его передаточные функции весов вычисляются, а пороговое значение предопределено.
Нейрон MCP — это своего рода ограниченный искусственный нейрон, который работает дискретными временными шагами. Каждый имеет ноль или более входов и записывается как . Он имеет один выход, записывается как . Каждый вход может быть возбуждающим или тормозным . Выход может быть либо тихим , либо активирующим . Нейрон MCP также имеет порог .
В нейронной сети MCP все нейроны работают в синхронных дискретных временных шагах . В момент времени выход нейрона равен , если число активирующих возбуждающих входов по крайней мере равно пороговому значению, и не активируются никакие тормозящие входы; в противном случае.
Каждый выход может быть входом для произвольного числа нейронов, включая себя самого (то есть возможны самопетли). Однако выход не может соединяться с одним нейроном более одного раза. Самопетли не вызывают противоречий, поскольку сеть работает в синхронных дискретных временных шагах.
В качестве простого примера рассмотрим один нейрон с порогом 0 и один ингибирующий самоцикл. Его выход будет колебаться между 0 и 1 на каждом шаге, действуя как «часы».
Любой конечный автомат может быть смоделирован нейронной сетью MCP. [4] При наличии бесконечной ленты нейронные сети MCP могут смоделировать любую машину Тьюринга . [5]
Искусственные нейроны разработаны для имитации аспектов их биологических аналогов. Однако существует значительный разрыв в производительности между биологическими и искусственными нейронными сетями. В частности, были обнаружены отдельные биологические нейроны в человеческом мозге с осциллирующей функцией активации, способные обучаться функции XOR . [6]
Однако, в отличие от большинства искусственных нейронов, биологические нейроны срабатывают дискретными импульсами. Каждый раз, когда электрический потенциал внутри сомы достигает определенного порога, по аксону передается импульс. Эту пульсацию можно перевести в непрерывные значения. Скорость (активаций в секунду и т. д.), с которой срабатывает аксон, напрямую преобразуется в скорость, с которой соседние клетки получают сигнальные ионы, вводимые в них. Чем быстрее срабатывает биологический нейрон, тем быстрее соседние нейроны накапливают электрический потенциал (или теряют электрический потенциал, в зависимости от «веса» дендрита, который соединяется с сработавшим нейроном). Именно это преобразование позволяет компьютерным ученым и математикам моделировать биологические нейронные сети с использованием искусственных нейронов, которые могут выводить различные значения (часто от −1 до 1).
Исследования показали, что унарное кодирование используется в нейронных цепях, ответственных за производство птичьего пения . [7] [8] Использование унарного кодирования в биологических сетях, предположительно, обусловлено присущей ему простотой кодирования. Другим способствующим фактором может быть то, что унарное кодирование обеспечивает определенную степень исправления ошибок. [9]
Ведутся исследования и разработки физических искусственных нейронов — органических и неорганических.
Например, некоторые искусственные нейроны могут получать [10] [11] и высвобождать дофамин ( химические сигналы, а не электрические сигналы) и взаимодействовать с естественными мышечными и мозговыми клетками крысы , что может быть использовано в нейрокомпьютерных интерфейсах / протезировании . [12] [13]
Маломощные биосовместимые мемристоры могут позволить создавать искусственные нейроны, которые функционируют при напряжениях биологических потенциалов действия и могут использоваться для прямой обработки биосенсорных сигналов , для нейроморфных вычислений и/или прямой связи с биологическими нейронами . [14] [15] [16]
Органические нейроморфные схемы, изготовленные из полимеров , покрытых гелем, богатым ионами, чтобы материал мог переносить электрический заряд, как настоящие нейроны , были встроены в робота, что позволяет ему обучаться сенсомоторно в реальном мире, а не посредством моделирования или виртуально. [17] [18] Более того, искусственные спайковые нейроны, изготовленные из мягкой материи (полимеров), могут работать в биологически релевантных средах и обеспечивать синергетическую связь между искусственными и биологическими доменами. [19] [20]
Первым искусственным нейроном была пороговая логическая единица (TLU) или линейная пороговая единица [21] , впервые предложенная Уорреном Маккалоком и Уолтером Питтсом в 1943 году в работе «Логическое исчисление идей, имманентных нервной деятельности ». Модель была специально разработана как вычислительная модель «нервной сети» в мозге. [22] В качестве передаточной функции она использовала порог, эквивалентный использованию ступенчатой функции Хевисайда . Первоначально рассматривалась только простая модель с бинарными входами и выходами, некоторыми ограничениями на возможные веса и более гибким пороговым значением. С самого начала было замечено, что любая булева функция может быть реализована сетями таких устройств, что легко увидеть из того факта, что можно реализовать функции И и ИЛИ и использовать их в дизъюнктивной или конъюнктивной нормальной форме . Исследователи также вскоре поняли, что циклические сети с обратными связями через нейроны могут определять динамические системы с памятью, но большая часть исследований была сосредоточена (и до сих пор сосредоточена) на строго прямых сетях из- за меньшей сложности, которую они представляют.
Одной из важных и новаторских искусственных нейронных сетей, которая использовала линейную пороговую функцию, был персептрон , разработанный Фрэнком Розенблаттом . Эта модель уже рассматривала более гибкие значения веса в нейронах и использовалась в машинах с адаптивными возможностями. Представление пороговых значений как смещающего термина было введено Бернардом Видроу в 1960 году – см. ADALINE .
В конце 1980-х годов, когда исследования нейронных сетей вновь набрали силу, начали рассматривать нейроны с более непрерывными формами. Возможность дифференциации функции активации позволяет напрямую использовать градиентный спуск и другие алгоритмы оптимизации для корректировки весов. Нейронные сети также начали использоваться в качестве общей модели аппроксимации функций . Самый известный алгоритм обучения, называемый обратным распространением, был переоткрыт несколько раз, но его первая разработка восходит к работе Пола Вербоса . [23] [24]
Функция передачи ( функция активации ) нейрона выбирается так, чтобы иметь ряд свойств, которые либо улучшают, либо упрощают сеть, содержащую нейрон. Важно, например, что любой многослойный персептрон, использующий линейную функцию передачи, имеет эквивалентную однослойную сеть; поэтому для получения преимуществ многослойной сети необходима нелинейная функция. [ необходима цитата ]
Ниже во всех случаях u относится к взвешенной сумме всех входов нейрона, т.е. для n входов,
где w — вектор синаптических весов , а x — вектор входов.
Выход y этой передаточной функции является двоичным, в зависимости от того, соответствует ли вход заданному порогу θ . «Сигнал» отправляется, т. е. выход устанавливается в единицу, если активация соответствует порогу.
Эта функция используется в персептронах и часто появляется во многих других моделях. Она выполняет разделение пространства входов гиперплоскостью . Она особенно полезна в последнем слое сети, предназначенной для выполнения бинарной классификации входов. Ее можно аппроксимировать из других сигмоидальных функций, присваивая большие значения весам.
В этом случае выходной блок — это просто взвешенная сумма его входов плюс смещение . Ряд таких линейных нейронов выполняют линейное преобразование входного вектора. Обычно это более полезно в первых слоях сети. Существует ряд инструментов анализа, основанных на линейных моделях, таких как гармонический анализ , и все они могут использоваться в нейронных сетях с этим линейным нейроном. Смещение позволяет нам выполнять аффинные преобразования данных.
См.: Линейное преобразование , Гармонический анализ , Линейный фильтр , Вейвлет , Анализ главных компонент , Анализ независимых компонент , Деконволюция .
Довольно простая нелинейная функция, сигмоидальная функция , такая как логистическая функция, также имеет легко вычисляемую производную, которая может быть важна при расчете обновлений веса в сети. Таким образом, она делает сеть более управляемой математически и была привлекательна для ранних компьютерных ученых, которым нужно было минимизировать вычислительную нагрузку своих симуляций. Ранее она часто встречалась в многослойных персептронах . Однако недавние исследования показали, что сигмоидальные нейроны менее эффективны, чем выпрямленные линейные нейроны. Причина в том, что градиенты, вычисляемые алгоритмом обратного распространения, имеют тенденцию уменьшаться до нуля по мере распространения активаций через слои сигмоидальных нейронов, что затрудняет оптимизацию нейронных сетей с использованием нескольких слоев сигмоидальных нейронов.
В контексте искусственных нейронных сетей выпрямитель или ReLU (Rectified Linear Unit) представляет собой функцию активации, определяемую как положительная часть ее аргумента:
где x — вход нейрона. Это также известно как функция рампы и аналогично полуволновому выпрямлению в электротехнике. Эта функция активации была впервые введена в динамическую сеть Ханлозером и др. в статье 2000 года в Nature [25] с сильными биологическими мотивами и математическими обоснованиями. [26] Впервые было продемонстрировано в 2011 году, что она позволяет лучше обучать более глубокие сети, [27] по сравнению с широко используемыми функциями активации до 2011 года, т. е. логистической сигмоидой (которая вдохновлена теорией вероятностей ; см. логистическая регрессия ) и ее более практичным [28] аналогом, гиперболическим тангенсом .
Распространенным вариантом функции активации ReLU является Leaky ReLU, которая допускает небольшой положительный градиент, когда блок неактивен:
где x — входной сигнал нейрона, а a — небольшая положительная константа (в оригинальной статье для a использовалось значение 0,01 ). [29]
Ниже приведена простая реализация псевдокода [ требуется ссылка ] одного TLU, который принимает логические входные данные (истина или ложь) и возвращает один логический выходной сигнал при активации. Используется объектно-ориентированная модель. Метод обучения не определен, поскольку существует несколько. Если бы использовалась чисто функциональная модель, класс TLU ниже был бы заменен функцией TLU с входными параметрами threshold, weights и inputs, которая возвращала бы логическое значение.
класс TLU определяется как: порог элемента данных : число весов элементов данных : список чисел размера X функциональный член fire(входные данные : список логических значений размера X) : логическое значение, определенное как: переменная T : число T ← 0 для каждого i от 1 до X do if inputs(i) is true then T ← T + weights(i) end if end for each if T > threshold then return true else: return false end if end function end class