Из предыдущего раздела (Что такое нейронная сеть) мы узнали, что нейронная сеть - это функция, состоящая из нейронов, и нейрон также является функцией.
Нейрон можно разделить на 2 подфункции:
линейная функция элемента n: g(x1,...,xn)
унарная нелинейная функция: h(x)
Функция, представленная нейроном:
f(x1,...,xn)=h(g(x1,...,xn))
Линейная функция g(x1,...,xn)
Линейная функция имеет следующий вид:
g(x1,...,xn)=w1x1+...,wnxn+b
Среди них w1,...,wn,b - все параметры, а разные линейные функции имеют разные параметры.
Унарная линейная функция
Когда n=1, g(x1)=w1x1+b, изображение функции представляет собой прямую линию:
w11
b0
Двоичная линейная функция
Когда n=2, g(x1,x2)=w1x1+w2x2+b, изображение функции является плоскостью:
w10
w21
b0
Линейная функция элемента n
Когда n>2, изображение функции является гиперплоскостью. За пределами 3D визуализация неудобна. Но вы можете себе представить, что характеристика у него прямая.
Нелинейная функция h(x)
Из названия легко понять, что нелинейная функция - это функция, отличная от линейной функции. Линейная функция - прямая, а нелинейная - кривая. Например, наиболее распространенная функция sigmoid:
Функция активации
В нейронных сетях мы называем эту унарную нелинейную функцию функцией активации. Чтобы узнать о некоторых распространенных функциях активации, обратитесь к функция активации в базе знаний, где:
Linear: f(x)=x является линейной функцией, что означает, что нелинейная функция не используется
Softmax - особый случай. Строго говоря, это не функция активации
Необходимость
Почему за нелинейной функцией активации следует линейная функция?
Это потому что:
Если все нейроны являются линейными функциями, то нейронная сеть, состоящая из нейронов, также является линейной функцией.
Например, в следующем примере:
f1(x,y)=w1x+w2y+b1
f2(x,y)=w3x+w4y+b2
f3(x,y)=w5x+w6y+b3
Тогда функция, представленная всей нейронной сетью, будет следующей:
Целевая функция, которую нам нужно построить, содержит различные функции, и линейная функция - лишь одна из них.
Мы надеемся, что нейронные сети могут моделировать произвольные функции, а не только линейные функции. Поэтому мы добавили нелинейную функцию активации и «согнули» линейную функцию.
Полный нейрон
Полный нейрон сочетает в себе линейную функцию и нелинейную функцию активации, что делает его более интересным и мощным.
Унарная функция
Когда n=1, g(x1)=w1x1+b, используя функцию активации sigmoid, соответствующая функция нейрона будет:
h(g(x))=sigmoid(wx+b)
Функциональное изображение:
w1
b0
Двоичная функция
Когда n=2, g(x1,x2)=w1x1+w2x2+b, используя функцию активации sigmoid, соответствующая функция нейрона будет:
h(g(x))=sigmoid(w1x1+w2x2+b)
Функциональное изображение:
w10
w21
b0
n-элементная функция
Из-за проблемы с визуализацией это полностью зависит от моего воображения! 😥
Вопрос
Почему нейронная сеть может моделировать сложные функции из комбинации нейронов?
Вы можете интуитивно представить себе, как с помощью простых нейронов смоделировать несколько более сложную функцию.