Модель нейрона

Простой нейрон

Фундаментальным базовым блоком для нейронных сетей является нейрон с одним входом, такой как этот пример.

Существует три различные функциональные операции, которые происходят в этом примере нейрона. Во-первых, скалярный входной p умножается на скалярный весовой w, чтобы сформировать wp продукта, снова скаляр. Во-вторых, взвешенный входной wp добавляется к скалярному смещению b чтобы сформировать чистый входной n. (В этом случае можно просмотреть смещение как перемена функции f налево на величину b. Смещение во многом похоже на вес, за исключением того, что оно имеет постоянный вход 1.) Наконец, входной вход передается через f передаточной функции, который производит скалярный выходной a. Имена, данные этим трем процессам: весовая функция, функция чистого входа и передаточная функция.

Для многих типов нейронных сетей весовая функция является продуктом веса, умноженного на вход, но иногда используются другие весовые функции (например, расстояние между весом и входом, |<reservedrangesplaceholder2> − p |). (Для списка весовых функций введите help nnweight.) Наиболее распространенной функцией сетевого входа является суммирование взвешенных входов с смещением, но могут использоваться другие операции, такие как умножение. (Для списка входных функций нетто введите help nnnetinput.) Введение в Радиальный Базис Нейронные Сети обсуждает, как расстояние может использоваться в качестве функции веса, и умножение может использоваться в качестве функции сетевого входа. Существует также много типов передаточных функций. Примеры различных передаточных функций относятся к передаточным функциям. (Для списка передаточных функций введите help nntransfer.)

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

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

Передаточные функции

Многие передаточные функции включены в программное обеспечение Deep Learning Toolbox.

Две из наиболее часто используемых функций показаны ниже.

Следующий рисунок иллюстрирует линейную передаточную функцию.

Нейроны этого типа используются в конечном слое многослойных сетей, которые используются как функциональные аппроксимации. Это показано в Multilayer Shallow Neural Networks and Backpropagation Training.

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

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

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

Для получения полного списка передаточных функций введите help nntransfer. Вы также можете задать свои собственные передаточные функции.

Можно экспериментировать с простым нейроном и различными передаточными функциями, запустив пример программы nnd2n1.

Нейрон с векторным входом

Простой нейрон может быть расширен, чтобы обрабатывать входы, которые являются векторами. Нейрон с одним входным вектором R элемента показан ниже. Здесь индивидуум входа элементы

p1,p2,pR

умножаются на веса

w1,1,w1,2,w1,R

и взвешенные значения подаются в суммирующее соединение. Их сумма - просто Wp, скалярный продукт (одна строка) матрицы W и вектор p. (Существуют другие функции веса, в дополнение к скалярному продукту, такие как расстояние между строкой матрицы веса и входным вектором, как во Введении к Радиальному Базису Нейронных Сетей.)

Нейрон имеет b смещения, которая суммируется с взвешенными входами, чтобы сформировать чистую входную n. (В дополнение к суммированию могут использоваться другие входные функции сети, такие как умножение, которое используется во Введении к Радиальным Базисным Нейронным Сетям.) Сетевой вход n является аргументом передаточной функции f.

n=w1,1p1+w1,2p2++w1,RpR+b

Это выражение можно, конечно, записать в MATLAB® код как

n = W*p + b

Однако вы редко будете писать код на этом уровне, ибо такой код уже встроен в функции для определения и симуляции целых сетей.

Сокращенное обозначение

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

Здесь входной вектор p представлен сплошным темным вертикальным стержнем слева. Размерности p показаны ниже символа p на рисунке следующим R × 1. (Обратите внимание, что большая буква, такая как R в предыдущем предложении, используется при ссылке на размер вектора.) Таким образом, p является вектором R входных элементов. Эти входы постмультиплулируют одну строку, R - столбец матрицу W. Как и прежде, константа 1 входит нейрон как вход и умножается на скалярное смещение b. Чистый вход в f передаточной функции равен n, сумме b смещения и продукта Wp. Эта сумма передается в передаточную функцию f, чтобы получить выходную a нейрона, которая в этом случае является скаляром. Обратите внимание, что если бы было больше одного нейрона, выход сети был бы вектором.

Слой сети задан на предыдущем рисунке. Слой включает веса, операции умножения и суммирования (здесь реализованные как вектор продукта Wp), b смещения и f передаточной функции. Массив входов, вектор p, не включен или называется слоем.

Как и в случае с Простым Нейроном, в слое происходит три операции: весовая функция (матричное умножение, или точечный продукт, в данном случае), сетевая входная функция (суммирование, в данном случае) и передаточная функция.

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

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

Можно экспериментировать с двухэлементным нейроном, запустив пример программы nnd2n2.

Похожие темы