Введение
Математическая функция, задуманная как упрощенная модель.
Искусственный нейрон – это математическая функция, задуманная как модель биологических нейронов в нейронной сети. Искусственные нейроны являются элементарными единицами искусственных нейронных сетей. Искусственный нейрон – это функция, которая принимает один или несколько входных сигналов, применяет к ним веса и суммирует их для получения выходного сигнала. Конструкция искусственного нейрона была вдохновлена нейронными цепями. Его входы аналогичны возбуждающим и тормозным постсинаптическим потенциалам на дендритах нейрона, а его веса аналогичны синаптическому весу, а выход – потенциалу действия нейрона, передаваемому по его аксону. Обычно каждый вход взвешивается отдельно, и сумма часто добавляется к величине, известной как смещение (приблизительно соответствующей пороговому потенциалу), прежде чем пройти через нелинейную функцию, известную как функция активации или функция переноса. Функции переноса обычно имеют сигмоидальную форму, но могут также принимать вид других нелинейных функций, кусочно-линейных функций или пороговых функций. Они также часто монотонно возрастают, непрерывны, дифференцируемы и ограничены. Недавно также изучались немонотонные, неограниченные и колеблющиеся функции активации с несколькими нулями, которые превосходят сигмоидальные и ReLU-подобные функции активации во многих задачах. Функция порогового значения послужила основой для создания логических элементов, называемых пороговой логикой, применимой для построения логических схем, имитирующих обработку в мозге. Например, новые устройства, такие как мемристоры, в последнее время широко используются для разработки такой логики. Функцию переноса искусственного нейрона не следует путать с функцией передачи линейной системы. Искусственный нейрон может называться полулинейным элементом, Nv-нейроном, бинарным нейроном, линейной пороговой функцией или нейроном Маккалоха-Питтса (MCP), в зависимости от используемой структуры. Простые искусственные нейроны, такие как модель Маккалоха-Питтса, иногда описываются как «карикатурные модели», поскольку они предназначены для отражения одного или нескольких нейрофизиологических наблюдений, но без учета реалистичности. Искусственные нейроны также могут относиться к искусственным клеткам в нейроморфной инженерии, которые аналогичны естественным физическим нейронам.
An artificial neuron is a mathematical function conceived as a model of biological neurons in a neural network. Artificial neurons are the elementary units of artificial neural networks. The artificial neuron is a function that receives one or more inputs, applies weights to these inputs, and sums them to produce an output. The design of the artificial neuron was inspired by neural circuitry. Its inputs are analogous to excitatory postsynaptic potentials and inhibitory postsynaptic potentials at neural dendrites, or , its weights are analogous to synaptic weight, and its output is analogous to a neuron's action potential which is transmitted along its axon. Usually, each input is separately weighted, and the sum is often added to a term known as a bias (loosely corresponding to the threshold potential), before being passed through a non linear function known as an activation function or transfer function. The transfer functions usually have a sigmoid shape, but they may also take the form of other non linear functions, piecewise linear functions, or step functions. They are also often monotonically increasing, continuous, differentiable and bounded. Non monotonic, unbounded and oscillating activation functions with multiple zeros that outperform sigmoidal and ReLU like activation functions on many tasks have also been recently explored. The thresholding function has inspired building logic gates referred to as threshold logic; applicable to building logic circuits resembling brain processing. For example, new devices such as memristors have been extensively used to develop such logic in recent times. The artificial neuron transfer function should not be confused with a linear system's transfer function. An artificial neuron may be referred to as a semi linear unit, Nv neuron, binary neuron, linear threshold function, or McCulloch–Pitts (MCP) neuron, depending on the structure used. Simple artificial neurons, such as the McCulloch–Pitts model, are sometimes described as "caricature models", since they are intended to reflect one or more neurophysiological observations, but without regard to realism. Artificial neurons can also refer to artificial cells in neuromorphic engineering that are similar to natural physical neurons.
Нейрон Маккалоха-Питтса (МКП)
Нейрон MCP – это разновидность ограниченного искусственного нейрона, работающего в дискретные моменты времени. Каждый нейрон имеет ноль или более входов, обозначаемых как , и один выход, обозначаемый как . Каждый вход может быть возбуждающим или тормозящим. Выход нейрона может быть либо неактивным, либо активным. Нейрон MCP также имеет порог.
In a MCP neural network, all the neurons operate in synchronous discrete time steps of At time , the output of the neuron is if the number of firing excitatory inputs is at least equal to the threshold, and no inhibitory inputs are firing; otherwise. Each output can be the input to an arbitrary number of neurons, including itself (that is, self loops are possible). However, an output cannot connect more than once with a single neuron. Self loops do not cause contradictions, since the network operates in synchronous discrete time steps. As a simple example, consider a single neuron with threshold 0, and a single inhibitory self loop. Its output would oscillate between 0 and 1 at every step, acting as a "clock". Any finite state machine can be simulated by a MCP neural network. Furnished with an infinite tape, MCP neural networks can simulate any Turing machine.
В нейронной сети MCP все нейроны работают синхронно в дискретные моменты времени . В момент времени , выход нейрона равен , если число активных возбуждающих входов больше или равно порогу и ни один тормозящий вход не активен; в противном случае – . Каждый выход может быть подключен к произвольному числу нейронов, включая сам себя (то есть возможны самопетли). Однако один выход не может быть соединен с одним нейроном более одного раза. Самопетли не приводят к противоречиям, поскольку сеть работает в синхронные дискретные моменты времени. В качестве простого примера рассмотрим один нейрон с порогом 0 и одну тормозящую самопетлю. Его выход будет колебаться между 0 и 1 на каждом шаге, функционируя как "часы". Любой конечный автомат может быть смоделирован нейронной сетью MCP. Оснащенные бесконечной лентой, нейронные сети MCP могут имитировать любую машину Тьюринга.
In a MCP neural network, all the neurons operate in synchronous discrete time steps of At time , the output of the neuron is if the number of firing excitatory inputs is at least equal to the threshold, and no inhibitory inputs are firing; otherwise. Each output can be the input to an arbitrary number of neurons, including itself (that is, self loops are possible). However, an output cannot connect more than once with a single neuron. Self loops do not cause contradictions, since the network operates in synchronous discrete time steps. As a simple example, consider a single neuron with threshold 0, and a single inhibitory self loop. Its output would oscillate between 0 and 1 at every step, acting as a "clock". Any finite state machine can be simulated by a MCP neural network. Furnished with an infinite tape, MCP neural networks can simulate any Turing machine.
Биологические модели
Искусственные нейроны созданы для имитации аспектов их биологических аналогов. Однако существует значительный разрыв в производительности между биологическими и искусственными нейронными сетями. В частности, были обнаружены отдельные биологические нейроны в мозге человека с осциллирующей функцией активации, способные к обучению функции XOR. Дендриты – В биологическом нейроне дендриты выполняют роль входного вектора. Эти дендриты позволяют клетке принимать сигналы от большого (>1000) числа соседних нейронов. Как и в вышеприведенном математическом описании, каждый дендрит способен выполнять "умножение" на "весовое значение" этого дендрита. Умножение достигается за счет изменения соотношения синаптических нейротрансмиттеров к сигнальным химическим веществам, поступающим в дендрит в ответ на синаптический нейротрансмиттер. Отрицательный эффект умножения достигается путем передачи ингибиторов сигнала (то есть ионов с противоположным зарядом) вдоль дендрита в ответ на прием синаптических нейротрансмиттеров. Сома – В биологическом нейроне сома выполняет функцию суммирования, как видно из вышеприведенного математического описания. По мере поступления в сому положительных и отрицательных сигналов (возбуждающих и тормозных, соответственно), положительные и отрицательные ионы эффективно суммируются, просто в силу их смешивания в растворе внутри тела клетки. Аксон – Аксон получает сигнал от суммирующего процесса, происходящего внутри сомы. Отверстие аксона по сути отражает электрический потенциал раствора внутри сомы. Как только сома достигает определенного потенциала, аксон передает полный сигнал в виде импульса по всей своей длине. В этом отношении аксон обеспечивает возможность соединения нашего искусственного нейрона с другими искусственными нейронами. Однако, в отличие от большинства искусственных нейронов, биологические нейроны генерируют импульсы дискретно. Каждый раз, когда электрический потенциал внутри сомы достигает определенного порога, по аксону передается импульс. Этот импульс может быть преобразован в непрерывные значения. Частота (активаций в секунду и т. д.), с которой аксон генерирует импульсы, напрямую преобразуется в частоту, с которой соседние клетки получают сигнальные ионы. Чем быстрее генерирует импульсы биологический нейрон, тем быстрее соседние нейроны накапливают (или теряют) электрический потенциал, в зависимости от "веса" дендрита, соединяющего их с этим нейроном. Именно это преобразование позволяет ученым в области компьютерных наук и математикам моделировать биологические нейронные сети с использованием искусственных нейронов, способных выдавать различные значения (часто от -1 до 1).
Кодирование
Исследования показали, что униарное кодирование используется в нейронных схемах, ответственных за генерацию пения птиц. Использование униарного кодирования в биологических сетях, вероятно, обусловлено его внутренней простотой. Дополнительным фактором может быть то, что униарное кодирование обеспечивает некоторую степень исправления ошибок.
Физические искусственные клетки
Проводятся исследования и разработки в области физических искусственных нейронов – органических и неорганических. Например, некоторые искусственные нейроны способны принимать и высвобождать дофамин (химические, а не электрические сигналы) и взаимодействовать с естественными мышечными и мозговыми клетками крыс, что открывает возможности для использования в интерфейсах мозг-компьютер/протезах. Биосовместимые мемристоры с низким энергопотреблением могут позволить создать искусственные нейроны, функционирующие при напряжениях, близких к биологическим потенциалам действия, и использовать их для прямой обработки биосенсорных сигналов, нейроморфных вычислений и/или непосредственной коммуникации с биологическими нейронами. Органические нейроморфные схемы, изготовленные из полимеров и покрытые ион-содержащим гелем для обеспечения способности материала проводить электрический заряд подобно настоящим нейронам, были интегрированы в робота, что позволило ему обучаться посредством сенсомоторного взаимодействия в реальном мире, а не в симуляциях или виртуальной среде. Более того, искусственные спайковые нейроны, созданные из мягких материалов (полимеров), могут функционировать в биологически релевантных условиях и обеспечивать синергетическое взаимодействие между искусственной и биологической системами.
История
Первым искусственным нейроном была логическая единица порога (TLU) или линейная единица порога, впервые предложенная Уорреном Маккалохом и Уолтером Питсом в 1943 году. Модель была специально разработана как вычислительная модель "нервной сети" в мозге. В качестве функции активации использовался порог, эквивалентный функции Хевисайда. Изначально рассматривалась простая модель с бинарными входами и выходами, некоторыми ограничениями на возможные веса и более гибким значением порога. С самого начала было замечено, что любую булеву функцию можно реализовать сетями из таких устройств, что легко увидеть, поскольку можно реализовать функции AND и OR и использовать их в дизъюнктивной или конъюнктивной нормальной форме. Исследователи вскоре также поняли, что циклические сети с обратной связью могут определять динамические системы с памятью, но большая часть исследований сосредоточена (и продолжает сосредотачиваться) на строго прямосвязных сетях из-за их меньшей сложности. Важной и одной из первых искусственных нейронных сетей, использовавших линейную пороговую функцию, был перцептрон, разработанный Фрэнком Розенблатом. Эта модель уже учитывала более гибкие значения весов в нейронах и применялась в машинах с адаптивными возможностями. Представление пороговых значений в виде смещения было введено Бернардом Видроу в 1960 году – см. ADALINE. В конце 1980-х годов, когда исследования нейронных сетей вновь активизировались, стали рассматриваться нейроны с более гладкими функциями активации. Возможность дифференцирования функции активации позволила напрямую использовать метод градиентного спуска и другие алгоритмы оптимизации для настройки весов. Нейронные сети также начали использоваться как общая модель аппроксимации функций. Наиболее известный алгоритм обучения, известный как обратное распространение ошибки, был открыт заново несколько раз, но его первая разработка восходит к работам Пола Вербоса.
Типы передаточных функций
Функция передачи (функция активации) нейрона выбирается таким образом, чтобы обладать рядом свойств, которые либо усиливают, либо упрощают сеть, содержащую этот нейрон. Важно, например, то, что любой многослойный перцептрон, использующий линейную функцию передачи, эквивалентен однослойной сети; следовательно, для получения преимуществ многослойной сети необходима нелинейная функция. Далее, u во всех случаях обозначает взвешенную сумму всех входов нейрона, то есть для n входов,
где w — вектор синаптических весов, а x — вектор входов.
Шаговая функция
Выход y этой передаточной функции является бинарным, в зависимости от того, превышает ли вход заданный порог, θ. "Сигнал" передается, то есть выход устанавливается в 1, если активация превышает порог. Эта функция используется в перцептронах и часто встречается во многих других моделях. Она разделяет пространство входов гиперплоскостью. Она особенно полезна в последнем слое сети, предназначенной для бинарной классификации входных данных. Её можно приблизить с помощью других сигмоидальных функций, назначая весам большие значения.
Линейная комбинация
В этом случае, выходной блок является просто взвешенной суммой его входов плюс смещение. Ряд таких линейных нейронов выполняет линейное преобразование входного вектора. Это обычно более полезно в первых слоях сети. Существует ряд инструментов анализа, основанных на линейных моделях, таких как гармонический анализ, и все они могут быть использованы в нейронных сетях с этим линейным нейроном. Смещение позволяет нам выполнять аффинные преобразования данных. См.: Линейное преобразование, Гармонический анализ, Линейный фильтр, Вейвлет, Анализ главных компонент, Анализ независимых компонент, Деконволюция.
Сигмоидный
Довольно простая нелинейная функция, такая как сигмоидная функция (например, логистическая функция), также имеет легко вычисляемую производную, что может быть важно при вычислении обновлений весов в сети. Это делает сеть более удобной для математических манипуляций и привлекала ранних ученых в области компьютерных наук, которым необходимо было минимизировать вычислительную нагрузку их симуляций. Ранее она часто использовалась в многослойных перцептронах. Однако, недавние исследования показали, что сигмоидные нейроны менее эффективны, чем нейроны с функцией ReLU (ректифицированной линейной функцией). Причина в том, что градиенты, вычисляемые алгоритмом обратного распространения ошибки, имеют тенденцию затухать до нуля при распространении активаций через слои сигмоидных нейронов, что затрудняет оптимизацию нейронных сетей с использованием нескольких слоев сигмоидных нейронов.