Искусственная нейросеть (neuronet) — математическая модель, а также программная или аппаратная реализация, построенная по принципу функционирования нервных клеток. Нейросеть состоит из нейронов.
Искусственный нейрон (neuron) — математическая модель или программная реализация нервной клетки.
Искусственный нейрон состоит из:
1) Входной вектор I = (i1, ... , in) — фактически являются «рецепторами» нейрона,
2) Вектор весов W = (w1, ... ,wn) — веса «рецепторов»,
3) Вектор выходов O = (o1, ... , 0k) — каждый нейрон имеет свою собственную вычислительную способность, в этом векторе хранится результат его вычисления,
4) Порог c — эмуляция биологического порога активации нейрона.
Выходы искуственного нейрона считаются следующим образом:
Сигмоидальная функция — тип передаточной функции, позволяющий расширить использование нейронных сетей.
В качестве сигмоидальной функции рекомендуется использовать функцию вида:
Fa(x) = 1/(1+exp(-c*x)) , где c - константа влияющая на кривизну функции.
Также стоит отметить, что приоритет выбора этой функции обусловлен простым нахождением ее производной
Fa`(x) = c*Fa(x)*(1-Fa(x)), что является очень полезным свойством при обучении нейросети.
Пример 1:
Простейшая и наглядная нейросеть состоит из одного нейрона, у которого два входа, один выход, и он способен вычислять простейшие бинарные функции, такие как коньюнкция, дизьюнкция, эквивалентность, и другие.
Пример 2:
S — это входной слой нейросети, на него подаются значения x и y.
A — скрытый слой.
R — выходной слой.
Эта нейросеть вычисляет XOR(x,y), у всех нейронов порог = 0. Следует также обратить внимание на то, что все нейроны из следующего слоя связаны со всеми нейронами предыдущего, и не стоит пренебрегать этим, при формировании своей сети, так как, если связь между двумя нейронами не важна в конечной нейросети, то в процессе обучение ее вес станет = 0.
Прямой проход нейросети — вычисление нейросетью выходного результата. Прямой проход происходит «сверху вниз, слева направо», то есть, сначала вычисляются все выходы всех нейронов в текущем слое, затем в следующем, и так далее. Стоит обратить внимание, что в нейросети выходы нейронов текущего слоя являются входами нейронов следующего.
Одним из важных особенностей нейросетей является быстрое вычисление результата (линейная сложность) и способность к переобучению.