Примечания к изучению нейронной сети 6 — некоторые другие варианты

алгоритм

Это мой 11-й день ноябрьского испытания обновлений.

Усовершенствования стохастического градиентного спуска

Гессенская технология

Метод Гессе - это метод минимизации функции стоимости, дляC=C(w),w=w1,w2,...C=C(w),w=w_1,w_2,.... пройти черезРасширение Тейлора(Если функция удовлетворяет определенным условиям, формула Тейлора может использовать значения производной функции в определенной точке в качестве коэффициентов для построения многочлена для аппроксимации функции), а функция стоимости может быть выражена в точкеwwаппроксимируется как:

C(w+Δw)=C(w)+jCwjΔwj+12jkΔwj2CwjwkΔwk+...C(w+\Delta w)=C(w)+\sum_j\frac{\partial C}{\partial w_j}\Delta w_j+\frac{1}{2}\sum_{jk}\Delta w_j\frac{\partial^2 C}{\partial w_j\partial w_k}\Delta w_k+...

Это можно упростить до:

C(w+Δw)=C(w)+CΔw+12ΔwTHΔw+...C(w+\Delta w)=C(w)+\nabla C\Delta w+\frac{1}{2}\Delta w^TH\Delta w+...

C\nabla Cпредставляет вектор градиента,HH- матрица Гессе, первая в матрицеjkjkпредмет2Cwjwk\frac{\partial^2 C}{\partial w_j\partial w_k}.

Для упрощения вычислений члены более высокого порядка можно опустить, чтобы получить приблизительныеCCценность:

C(w+Δw)C(w)+CΔw+12ΔwTHΔwC(w+\Delta w) \approx C(w)+\nabla C\Delta w+\frac{1}{2}\Delta w^TH\Delta w

Докажите, что правое выражение можно минимизировать (т. е. график функции вогнут), метод: найтиC(w+Δw)'', и доказатьC(w+Δw)''>0C(w+\Delta w)'', и докажите, что C(w+\Delta w)''> 0, матрица Гессе обладает тем свойством, что, когда это положительно определенная матрица, частная производная второго порядка функции всегда> 0,Матрица Гессе и функция bump. сделать:

Δw=H1C\Delta w=-H^{-1}\nabla C

но:w+Δw=wH1Cw+\Delta w = w-H^{-1}\nabla C

В практических приложенияхΔw=нH1C\Delta w = -\eta H^{-1}\nabla Cн\etaДля обучения есть ставка. Метод Гессе сходится быстрее, чем стандартный метод градиентного спуска, и, вводя информацию о вариации второго порядка функции стоимости, метод Гессе может избежать проблемы множественных патологий, часто возникающей при градиентном спуске.

Однако вычисление матрицы Гессе в методе Гессе очень хлопотно.10710^7Для взвешенной сети соответствующая матрица Гессе будет иметь107×10710^7\times 10^7элементы, объем вычислений очень велик.

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

Градиентный спуск на основе импульса улучшает метод Гессе, чтобы избежать проблемы генерации слишком большой матрицы (т. е. избежать генерации матрицы производных второго порядка), и является методом оптимизации. Метод импульса вводит в физику понятие скорости и вводит параметр скоростиvvи член, представляющий силу трениямю\mu(коэффициент момента),CCМетод представления становится:

vv'=мюvнC ww'=w+v'v\rightarrow v'=\mu v-\eta \nabla C \\ \ \\ w\rightarrow w'=w+v'

Чтобы понять эту формулу, рассмотрим сначаламю=1\mu=1(т. е. без трения), что происходит, когдаv=vнC,w=w+vнCv=v-\eta\nabla C, w=w+v-\eta\nabla C, для каждого шага вы можете видеть, что скорость увеличивается с каждым шагом, поэтому он будет достигать дна все быстрее и быстрее, тем самым гарантируя, что метод импульса работает быстрее, чем стандартный градиентный спуск.

image.png

Однако, как упоминалось ранее, чрезмерно большой размер шага спуска (или скорость) вызовет колебания по дну впадины, когда спуск будет близок к дну, что повлияет на скорость обучения и создаст трение для решения этой проблемы.мю\muЭтот параметр управляет скоростью спуска, когдамю=1\mu = 1При отсутствии трения скорость полностью определяется градиентомC\nabla Cразмер определяет.мю=0\mu =0Когда скорость не имеет значения, вернемся к исходному методу градиентного спуска. На практике подходящий набор данных обычно выбирается путем предоставления проверочного набора данных.мю\mu, и выбранный ранеен\etaметод аналогичен.

Другие модели искусственных нейронов

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

Тан нейроны

Используйте гиперболический тангенс вместо сигмовидной функции:

tanh(wx+b) tanh(z)=ezezez+ez, z=wx+btanh(wx+b) \\ \ \\ tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}},\ z=wx+b

Напомним формулу для сигмиодной функциио(z)\sigma(z):

о(z)=11+ez\sigma(z)=\frac{1}{1+e^{-z}}

Упражнение:доказыватьо(z)=1+tanh(z/2)2\sigma(z)=\frac{1+tanh(z/2)}{2}

tanh(z/2)=ez/2ez/2ez/2+ez/2=ez/2ez/2ez/2+ez/2ez/2ez/2ez/2ez/2=e22e0+ezezez tanh(z/2)+1=ez2+ezezez+ezezezez=2(ez1)ezez=2(ez1)(ez1)(1+ez)=2о(z)tanh(z/2)=\frac{e^{z/2}-e^{-z/2}}{e^{z/2}+e^{-z/2}}=\frac{e^{z/2}-e^{-z/2}}{e^{z/2}+e^{-z/2}}\frac{e^{z/2}-e^{-z/2}}{e^{z/2}-e^{-z/2}}= \frac{e^2-2e^0+e^{-z}}{e^z-e^{-z}} \\ \ \\ tanh(z/2)+1=\frac{e^z-2+e^{-z}}{e^z-e^{-z}}+\frac{e^z-e^{-z}}{e^z-e^{-z}}=\frac{2(e^z-1)}{e^z-e^{-z}}=\frac{2(e^z-1)}{(e^z-1)(1+e^{-z})}=2\sigma(z)

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

Разница между этими двумя функциями заключается в том, что выходной сигнал тангенциального нейрона имеет диапазон (-1, 1) вместо (0, 1), поэтому при использовании тангенсового нейрона может потребоваться упорядочить окончательный выходной сигнал, чтобы ограничить активации между 0-1.

Различия в использовании tanh и сигмовидных нейронов

При использовании сигмовидных нейронов все активации положительны, а градиент обратного распространения равенaдельтаa\delta, значение активации должно быть положительным, тогда положительный и отрицательный градиенты представляют собой только суммудельта\deltaВ связи с этим все веса одного и того же нейрона будут либо увеличиваться, либо уменьшаться вместе. В некоторых случаях веса одного и того же нейрона должны иметь противоположные изменения. Использование нейронов tanh может быть лучшим выбором. Это всего лишь эвристическая идея, текущее исследованиеНе существует быстрого и точного правила, указывающего, какой тип нейрона быстрее обучается для конкретного приложения или обобщает больше всего..

нейрон ReLU

Нейрон ReLU, а именно выпрямленный линейный нейрон или выпрямленный линейный блок, его выход:

max(0,wx+b)max(0,wx+b)

Изображение выглядит так:image.png

Нейроны ReLU показали хорошие результаты в некоторых работах по распознаванию изображений.