Молодогвардейцев 454015 Россия, Челябинская область, город Челябинск 89085842764
MindHalls logo

Функции активации искусственной нейронной сети

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

Прежде чем перейти непосредственно к описанию самих функций, стоит вспомнить модель искусственного нейрона. Понять, где в этой модели есть место для функции активации и какая у нее роль во всем процессе.

Модель искусственного нейрона

Модель искусственного нейронаНачнем с картинки, на которой изображена математическая модель искусственного нейрона, и разберем ее на части.

Слева мы видим входы нейрона — имитация дендрита — входные значения x… xn и их веса w1 … wn. Вес отвечает за «важность» или «ценность» значения на входе.

Далее значения умножаются на свои веса и поступают в сумматор, где складываются. После чего полученная сумма поступает на вход функции активации — это и есть самое интересное место.

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

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

Основные функции активации

Пороговые функции

В теории выходные значения должны быть бинарными: 0 или 1, либо -1 и 1. Этого вполне достаточно для решения большинства задач машинного обучения, таких как классификация, кластеризация и прочие. Обеспечивающие это функции активации называются пороговыми.

Жесткая пороговая функция активации

Жесткая пороговая функция активации

Жесткая пороговая функция активации работает следующим образом: если значение превышает некий порог (на графике это значение 0), то возвращается одно значение, иначе другое.

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

Непрерывные функции

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

Сигмоид

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

Гиперболический тангенс

Гиперболический тангенс

Тангенс стоит использовать в случае, когда вам необходимы отрицательные выходные значения, потому что его область значений [-1,1].

Заключение

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