Доброго дня! В этой статье разбираются функции активации нейрона.
Функция активации в нейроне – это такая функция, которая позволяет нормализовать выходные данные в более удобный и правильный формат, для дальнейшего использования.
В прошлой статье я уже рассказывал об одной из них.
1. Функция единого скачка. Когда заряд в нейроне, после суммирования достиг какого-то порога или привесил его – нейрон вместо суммированного заряда выдаст 1. Если же заряд не достиг порога – нейрон выдаст 0.
Так же, есть сигмоидальные функции активации. Их несколько. К типу сигмоидальных относится логистическая функция.

Вот она:
image

На Java это выглядело бы так: double out = 1/(1+Math.exp(-net); или
double out = 1/(1+Math.exp(-a * net);
За переменную 'a’ у нас отвечает степень крутизны наклона на графике. Обычно – 1, ?, или 2.
Net – результат суммирования входа на вес. В результате такой функции мы получим значение от 0.0 до 1.0.
Получив вещественное число в таком диапазоне, мы можем уже как-то определить ответ. Если результат больше 0.8 – хорошо. Если больше 0.5 и не равен 0.8 – средний результат. Ну а меньше 0.5 – все плохо.
Вы можете распределить не так как я, ведь наша сеть обучается, она подстроится под нужное нам значение.

Ещё к сигмоидальным функция относят гиперболический тангенс. Вот он:
image

Используется он уже не так часто. В данном случае на Java это выглядело бы так:
double out = Math.tanh(net/a); Net – результат суммирований, а ‘a’ – это степень крутизны кривой на графике. В данном случае мы так же получаем вещественное число от 0 до 1.

В следующей статье поговорим о типах сетей.
На этом всё. Спасибо за внимание.
Поделиться с друзьями
-->

Комментарии (1)


  1. lair
    22.01.2017 18:04

    Ну вот рассказали вы про функции активации — и что? Как конкретно они влияют на работу нейронной сети? Когда выбирать ту или другую?