Всем привет! На этот раз появилось желание еще раз пройтись по активационной функции нейрона. Возможно, помните, что до сих пор висит должок, не рассказал почему ее выбрали такой сложной на первый взгляд. Также был спойлер, что это чистой воды махинация математиков. Пришло время с этим разобраться.
Еще более эффективное обучение
Как и все адаптивные системы, нейросети адаптируют свои нейронные связи для решения конкретной задачи. Правда, адаптация эта происходит в момент обучения сети, а уже в момент ее работы никакой подстройки весовых коэффициентов не происходит.
Весовые коэффициенты w должны прийти в такое оптимальное состояние чтобы вероятность ошибки сети при принятии решения опустилась меньше какого-то заданного значения. Если подстройка весов ведется крупными шагами, то оптимальное состояние сети может стать недостижимым. В самый ответственный момент вблизи оптимального состояния подстройка весов должна идти небольшими шагами.
Сигнал ошибки
Первая оптимизация в процессе обучения сети это ввод в обиход сигнала ошибки, показывающего, что оптимальное состояние близко. Поскольку благодаря активационной функции реакция сети это теперь число из диапазона [0..1], то введем сигнал ошибки:
В этой формуле d это желаемая реакция на выходе сети, а S(x) это ее реакция при текущих весовых коэффициентах w. Приращение весового коэффициента теперь пропорционально сигналу ошибки:
Алгоритм Дельта-правило продолжает исправно работать, но уже с новым способом вычисления приращения весов:
Более подробно об алгоритме смотрите в этом выпуске.
Все что было раньше недостаточно эффективно
Мы постепенно пришли к градиентному методу обучения нейросети, а это довольно эффективный математический инструмент, подробно описанный во многих источниках. В его основе производная от сигнала ошибки по самому весовому коэффициенту.
Дабы не быть занудой, нужно сказать самую суть и коротко. Необходимо вычислить как приращение веса действует на приращение сигнала ошибки. Для этого находят отношение этих приращений и это будет следующим размером шага в приращении весов в следующей эпохе.
По сути, при малых приращениях это будет ни чем иным, как производной функции. Коэффициент пропорциональности -n теперь дополнительно настраивает ширину шага. Как мы помним, специалисты по машинному обучению это все еще шаманы нашего времени, а это один из их широко используемых ингредиентов.
Сигнал ошибки теперь будет охватывать все выходы сети одновременно и всякое отклонение от оптимального значения карается квадратом:
Теперь собираем все в одну кучу: активационная функция это сигмоид, сигнал ошибки это разность между желаемой и действительной реакцией сети, шаг подстройки весов пропорционален производной сигнала ошибки по весовому коэффициенту.
Благодаря экспоненте в формуле активационной функции и методу градиентного спуска для оптимизации систем получена очень простая, но при этом чрезвычайно эффективная формула вычисления приращения весового коэффициента нейросети:
В остальном, алгоритм Дельта-правило все еще продолжает действовать.
В следующий раз мы посмотрим почему однослойная конструкция нейросети пошатнула уверенность в блестящем будущем искусственного интеллекта. Сейчас это воспринимается странно, но когда-то однослойный мозг был единственной альтернативой.
Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.
Также не обойдите вниманием канал на YouTube. Подписки и лайки будут приятным ответом от аудитории.