Искусственный нейрон - Artificial neuron

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

Функцию передачи искусственного нейрона не следует путать с линейной системой передаточной функцией .

Базовая структура

Для данного искусственного нейрона 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- го нейрона:

Где (phi) - передаточная функция (обычно пороговая функция).

Искусственный нейрон.png

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

У него нет процесса обучения как такового. Рассчитываются его веса передаточной функции и предопределяется пороговое значение.

Типы

В зависимости от конкретной используемой модели они могут называться полулинейной единицей , нейроном Nv , бинарным нейроном , линейной пороговой функцией или нейроном МакКуллоха – Питтса ( MCP ) .

Простые искусственные нейроны, такие как модель Маккаллоха – Питтса, иногда называют «карикатурными моделями», поскольку они предназначены для отражения одного или нескольких нейрофизиологических наблюдений, но без учета реализма.

Биологические модели

Нейрон и миелинизированный аксон с потоком сигнала от входов дендритов к выходам на терминалах аксонов

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

  • Дендриты - в биологическом нейроне дендриты действуют как входной вектор. Эти дендриты позволяют клетке получать сигналы от большого (> 1000) числа соседних нейронов. Как и в приведенной выше математической обработке, каждый дендрит может выполнять «умножение» на «значение веса» этого дендрита. Умножение достигается за счет увеличения или уменьшения отношения синаптических нейромедиаторов к сигнальным химическим веществам, введенным в дендрит в ответ на синаптический нейротрансмиттер. Отрицательный эффект умножения может быть достигнут путем передачи ингибиторов сигнала (т.е. противоположно заряженных ионов) по дендриту в ответ на прием синаптических нейротрансмиттеров.
  • Сома - В биологическом нейроне сома действует как функция суммирования, как видно из приведенного выше математического описания. Когда положительные и отрицательные сигналы (возбуждающие и подавляющие соответственно) поступают в сому от дендритов, положительные и отрицательные ионы эффективно суммируются, просто благодаря тому, что они смешиваются вместе в растворе внутри тела клетки.
  • Аксон - Аксон получает свой сигнал от поведения суммирования, которое происходит внутри сомы. Отверстие к аксону по существу измеряет электрический потенциал раствора внутри сомы. Как только сома достигает определенного потенциала, аксон будет передавать общий импульс сигнала по всей своей длине. В этом отношении аксон действует как способность соединять наш искусственный нейрон с другими искусственными нейронами.

Однако, в отличие от большинства искусственных нейронов, биологические нейроны срабатывают дискретными импульсами. Каждый раз, когда электрический потенциал внутри сомы достигает определенного порога, по аксону передается импульс. Эта пульсация может быть преобразована в непрерывные значения. Скорость (активаций в секунду и т. Д.), С которой запускается аксон, напрямую преобразуется в скорость, с которой соседние клетки получают вводимые в них сигнальные ионы. Чем быстрее срабатывает биологический нейрон, тем быстрее соседние нейроны накапливают электрический потенциал (или теряют электрический потенциал, в зависимости от «веса» дендрита, который соединяется с активированным нейроном). Именно это преобразование позволяет ученым-компьютерщикам и математикам моделировать биологические нейронные сети с использованием искусственных нейронов, которые могут выводить различные значения (часто от -1 до 1).

Кодирование

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

История

Первым искусственным нейроном был пороговый логический блок (ВПУ) или линейный пороговый блок, впервые предложенный Уорреном Маккалоком и Уолтером Питтсом в 1943 году. Модель была специально предназначена как вычислительная модель «нервной сети» в мозге. В качестве передаточной функции использовался порог, эквивалентный использованию ступенчатой ​​функции Хевисайда . Первоначально рассматривалась только простая модель с двоичными входами и выходами, некоторыми ограничениями на возможные веса и более гибким пороговым значением. С самого начала было замечено, что любая логическая функция может быть реализована сетями таких устройств, что легко увидеть из того факта, что можно реализовать функции И и ИЛИ и использовать их в дизъюнктивной или конъюнктивной нормальной форме . Вскоре исследователи также поняли, что циклические сети с обратной связью через нейроны могут определять динамические системы с памятью, но большая часть исследований сосредоточена (и до сих пор проводится) на сетях с прямой связью из-за меньшей сложности, которую они представляют.

Одной из важных и новаторских искусственных нейронных сетей, в которых использовалась линейная пороговая функция, был перцептрон , разработанный Фрэнком Розенблаттом . Эта модель уже учитывала более гибкие значения веса в нейронах и использовалась в машинах с адаптивными возможностями. Представление пороговых значений как члена смещения было введено Бернардом Видроу в 1960 году - см. ADALINE .

В конце 1980-х, когда исследования нейронных сетей набрали силу, стали рассматриваться нейроны с более непрерывной формой. Возможность дифференцирования функции активации позволяет напрямую использовать градиентный спуск и другие алгоритмы оптимизации для корректировки весов. Нейронные сети также начали использоваться в качестве общей модели аппроксимации функций . Самый известный алгоритм обучения, называемый обратным распространением ошибки , был переоткрыт несколько раз, но его первая разработка восходит к работе Пола Вербоса .

Типы передаточных функций

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

Ниже u во всех случаях относится к взвешенной сумме всех входов нейрона, то есть для n входов,

где w - вектор синаптических весов, а x - вектор входов.

Ступенчатая функция

Выход y этой передаточной функции является двоичным, в зависимости от того, соответствует ли вход заданному порогу θ . «Сигнал» отправляется, т.е. выход устанавливается в единицу, если активация соответствует пороговому значению.

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

Линейная комбинация

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

См: линейное преобразование , анализ гармоник , линейный фильтр , Wavelet , основным компонентом анализа , анализа независимых компонентов , Deconvolution .

Сигмовидная

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

Выпрямитель

В контексте искусственных нейронных сетей , то выпрямитель является функция активации определяется как положительная часть аргумента:

где x - вход нейрона. Это также известно как функция линейного нарастания и аналогично полуволновому выпрямлению в электротехнике. Эта функция активации была впервые введена в динамическую сеть Hahnloser et al. в статье 2000 года в журнале Nature с сильными биологическими мотивами и математическим обоснованием. Это было впервые продемонстрировано в 2011 году, чтобы обеспечить лучшее обучение более глубоких сетей по сравнению с широко используемыми функциями активации до 2011 года, т. Е. Логистической сигмоидой (которая вдохновлена теорией вероятности ; см. Логистическая регрессия ) и ее более практичной аналог, гиперболический тангенс .

Алгоритм псевдокода

Ниже приводится простая реализация псевдокода одного TLU, который принимает логические входные данные (истина или ложь) и возвращает единственный логический выход при активации. Объектно-ориентированная модель используется. Метод обучения не определен, так как существует несколько. Если бы использовалась чисто функциональная модель, приведенный ниже класс TLU был бы заменен функциональным TLU с порогом входных параметров, весами и входами, которые возвращали логическое значение.

class TLU defined as:
    data member threshold : number
    data member weights : list of numbers of size X

    function member fire(inputs : list of booleans of size X) : boolean defined as:
        variable T : number
        T  0
        for each i in 1 to 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

Смотрите также

использованная литература

дальнейшее чтение

внешние ссылки