глубоко в нейронах

Нейронные сети
глубоко в нейронах

Обзор

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

Нейроны можно по-прежнему разделить на 2 подфункции:

  • nnМеталинейная функция:g(x1,...,xn)g(x_1, ..., x_n)
  • 11Нелинейная функция элемента:h(x)h(x)

Функция, представленная нейроном:

f(x1,...,xn)=h(g(x1,...,xn))f(x_1, ..., x_n) = h(g(x_1, ..., x_n))

Линейная функцияg(x1,...,xn)g(x_1, ..., x_n)

Линейные функции имеют следующий вид:

g(x1,...,xn)=w1x1+...,wnxn+bg(x_1, ..., x_n) = w_1x_1 + ..., w_nx_n + b

вw1,...,wn,bw_1, ..., w_n, bвсе параметры, и разные линейные функции имеют разные параметры.

унарная линейная функция

когдаn=1n=1час,g(x1)=w1x1+bg(x_1)=w_1x_1 + b, Изображение является функцией прямой линии:

Двоичная линейная функция

когдаn=2n=2час,g(x1,x2)=w1x1+w2x2+bg(x_1, x_2)=w_1x_1 + w_2x_2+ b, график функции которого представляет собой плоскость:

nnМеталинейная функция

когдаn>2n>2, его функциональный образ — гиперплоскость. Помимо трехмерности, это неудобно визуализировать. Но, как вы понимаете, его характеристика прямая.

нелинейная функцияh(x)h(x)

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

функция активации

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

  • Linear: f(x)=xf(x)=x- линейная функция, представляющая случай, когда нелинейные функции не используются
  • Softmaxявляется частным случаем. Строго говоря, это не активационная функция.

необходимость

Зачем следовать линейной функции с нелинейной функцией активации?

Это потому что:

  1. Если все нейроны являются линейными функциями, то нейронная сеть, состоящая из нейронов, также является линейной функцией.

Например, следующий пример:

  • f1(x,y)=w1x+w2y+b1f_1(x, y) = w_1x + w_2y + b_1
  • f2(x,y)=w3x+w4y+b2f_2(x, y) = w_3x + w_4y + b_2
  • f3(x,y)=w5x+w6y+b3f_3(x, y) = w_5x + w_6y + b_3

Тогда функция, представленная всей нейронной сетью, имеет вид:

f3(f1(x1,x2,x3),f2(x1,x2,x3))f_3(f_1(x_1, x_2, x_3), f_2(x_1, x_2, x_3))

=w5(w1x1+w2x2+b1)+w6(w3x2+w4x3+b2)+b3= w_5(w_1x_1 + w_2x_2 + b_1) + w_6(w_3x_2 + w_4x_3 + b_2) + b_3

=(w1w5)x1+(w2w5+w3w6)x2+(w4w6)x3+(w5b1+w6b2+b3)= (w_1w_5)x_1 + (w_2w_5 + w_3w_6)x_2 + (w_4w_6)x_3 + (w_5b_1 + w_6b_2 + b_3)

Это линейная функция трех переменных.

  1. Целевая функция, которую нам нужно построить, включает множество функций, и линейные функции — лишь одна из них.

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

полный нейрон

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

унарная функция

когдаn=1n=1час,g(x1)=w1x1+bg(x_1)=w_1x_1 + b, используя сигмовидную функцию активации, функция, соответствующая нейрону:

h(g(x))=sigmoid(wx+b)h(g(x))=\text{sigmoid}(wx + b)

Его функциональное изображение:

бинарная функция

когдаn=2n=2час,g(x1,x2)=w1x1+w2x2+bg(x_1, x_2)=w_1x_1 + w_2x_2+ b, используя сигмовидную функцию активации, функция, соответствующая нейрону:

h(g(x))=sigmoid(w1x1+w2x2+b)h(g(x))=\text{sigmoid}(w_1x_1 + w_2x_2 + b)

Его функциональное изображение:

nnметафункция

Из-за проблем с визуализацией все зависит только от вас! ?

проблема

Почему комбинации нейронов могут имитировать сложные функции?

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

Справочное программное обеспечение

Интерактивная версия, пожалуйста, обратитесь к приложению:神经网络与深度学习Нейронные сети и глубокое обучение