Найти тему
IT. Как это работает?

Нейросеть. Польза активационной функции

Оглавление

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

Еще более эффективное обучение

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

Адаптация весов это оптимизационная задача
Адаптация весов это оптимизационная задача

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

Сигнал ошибки

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

Вычисление сигнала ошибки на выходе нейросети
Вычисление сигнала ошибки на выходе нейросети

В этой формуле d это желаемая реакция на выходе сети, а S(x) это ее реакция при текущих весовых коэффициентах w. Приращение весового коэффициента теперь пропорционально сигналу ошибки:

Вычисление приращения весового коэффициента. x - воздействие раздражителя на вход сети
Вычисление приращения весового коэффициента. x - воздействие раздражителя на вход сети

Алгоритм Дельта-правило продолжает исправно работать, но уже с новым способом вычисления приращения весов:

-5

Более подробно об алгоритме смотрите в этом выпуске.

Все что было раньше недостаточно эффективно

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

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

Вычисление приращения веса через производную сигнала ошибки
Вычисление приращения веса через производную сигнала ошибки

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

Сигнал ошибки теперь будет охватывать все выходы сети одновременно и всякое отклонение от оптимального значения карается квадратом:

Вычисления квадратичной ошибки
Вычисления квадратичной ошибки

Теперь собираем все в одну кучу: активационная функция это сигмоид, сигнал ошибки это разность между желаемой и действительной реакцией сети, шаг подстройки весов пропорционален производной сигнала ошибки по весовому коэффициенту.

Сигмоидальная активационная функция
Сигмоидальная активационная функция

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

Вычисление приращения весового коэффициента нейросети
Вычисление приращения весового коэффициента нейросети

В остальном, алгоритм Дельта-правило все еще продолжает действовать.

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

Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.

Также не обойдите вниманием канал на YouTube. Подписки и лайки будут приятным ответом от аудитории.