Общие функции активации

машинное обучение глубокое обучение

Примите участие в 11-м дне ноябрьского испытания обновлений и узнайте подробности события:Вызов последнего обновления 2021 г.

Зачем нужна функция активации?

Давайте проанализируем это с помощью следующей нейронной сети:

image.png

Для изображения выше: мы знаем, какойX4×1H5×1O7×1X^{4 \times 1} \quad H^{5 \times 1} \quad O^{7 \times 1}

Расчет между слоями:

H=W1x+b1Его матрица[H]5×1=[w1]5×4[x]4×1+[b1]5×1O=W2H+b2Его матрица[O]3×1=[w2]3×5[H]5×1+[b2]3×1\begin{array}{ll} H=W_{1} x+b_{1} и его матрица {[H]_{5 \times 1}=\left[w_{1}\right]_{ 5 \ times 4}[x]_{4 \times 1}+\left[b_{1}\right]_{5 \times 1}} \\ O=W_{2} H+b_{2} и его матрица {[O]_{3 \times 1}=\left[w_{2}\right]_{3 \times 5}[H]_{5 \times 1}+\left[b_{2}\ справа] _{3 \times 1}} \end{массив}

Объедините приведенные выше две формулы расчета:

O=w2H+b2=w2(w1X+b1)+b2=w2w1X+w2b1+b2\begin{aligned} O &=w_{2} H+b_{2} \\ &=w_{2}\left(w_{1} X+b_{1}\right)+b_{2} \\ &=w_{2} w_{1} X+w_{2} b_{1}+b_{2} \\ \end{aligned}

Взгляните еще раз на его матричные операции:

[w2]3×5[w1]5×4=[w]3×4[w_{2}]_{3 \times 5} \cdot [w_{1}]_{5 \times 4} =[w]_{3 \times 4}

[w2]2×5[b1]5×1=[b1']3×1[w_{2}]_{2 \times 5} \cdot [b_{1}]_{5 \times 1} =[b_{1^{\prime}}]_{3 \times 1}

[b1']3×1+[b2]3×1=[b]3×1[b_{1^{\prime}}]_{3 \times 1}+[b_{2}]_{3 \times 1} =[b]_{3 \times 1}

Затем берём вычисленную матрицу в формулу комбинированного расчёта, и она снова становитсяO=wX+bO=wX+b. В данном случае эта многослойная нейросеть вообще не имеет смысла, раз ее можно объединить, не лучше ли написать ее сразу как один слой? вкусные! Но у многослойной модели есть некоторые вещи, которые не может сделать один слой, так как же сохранить многослойную модель, чтобы ее нельзя было просто объединить? Затем используется функция активации.

Функция ReLU (выпрямленная линейная единица)

формула:ReLU(x)=max(x,0)\operatorname{ReLU}(x) = \max(x, 0)

о(x)={x if x>00 otherwise \sigma(x)= \begin{cases}x & \text { if } x>0 \\ 0 & \text { otherwise }\end{cases}

Функция ReLU сохраняет только положительные элементы и отбрасывает все отрицательные элементы, устанавливая соответствующее значение активации на 0.

Функция, обрабатываемая ReLU, выглядит так:

image.png

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

Тогда это была первая функция активации, которую я изучил и с которой соприкоснулся. Я слушал в то время класс Ву Энда. Он подробно рассказывал о преимуществах использования сигмоиды. Я также делал заметки, которые можно увидеть здесь:Логистическая регрессия | Логистическая регрессия — самородки (juejin.cn)

формула:sigmoid(x)=11+exp(x)\operatorname{sigmoid}(x) = \frac{1}{1 + \exp(-x)}

о(x)={1 if x>00 otherwise \sigma(x)= \begin{cases}1 & \text { if } x>0 \\ 0 & \text { otherwise }\end{cases}

Для домена вR\mathbb{R}ввод в ,сигмовидная функцияПреобразуйте вход в выход на интервале (0, 1). Поэтому сигмовидную часто называют функцией сжатия: она сжимает любые входные данные в диапазоне (-inf, inf) до некоторого значения в интервале (0, 1).

image.png

тан функция

формула:tanh(x)=1exp(2x)1+exp(2x)\operatorname{tanh}(x) = \frac{1 - \exp(-2x)}{1 + \exp(-2x)}

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

image.png