Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Термины / Нейросеть

Нейросеть

Искусственная нейросеть (neuronet) — математическая модель, а также программная или аппаратная реализация, построенная по принципу функционирования нервных клеток. Нейросеть состоит из нейронов.

Искусственный нейрон (neuron) — математическая модель или программная реализация нервной клетки.

Нейрон | Нейросеть

Искусственный нейрон состоит из:
1) Входной вектор I = (i1, ... , in) — фактически являются «рецепторами» нейрона,
2) Вектор весов W = (w1, ... ,wn) — веса «рецепторов»,
3) Вектор выходов O = (o1, ... , 0k) — каждый нейрон имеет свою собственную вычислительную способность, в этом векторе хранится результат его вычисления,
4) Порог c — эмуляция биологического порога активации нейрона.

Выходы искуственного нейрона считаются следующим образом:

  oj = Fa(i1*w1+ ... +in*wn - c), 1<j<k , где Fa(x) — сигмоидальная функция.

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

  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.

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

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

Ссылки:
http://neuropro.ru/neu1.shtml
http://ru.wikipedia.org/wiki/Искусственная_нейронная_сеть
http://www.ai-junkie.com/ann/evolved/nnt1.html

Что такое Нейросеть?

27 апреля 2010

#ИИ, #нейросети


Обновление: 15 мая 2010

2001—2017 © GameDev.ru — Разработка игр