Как выглядит граница принятия решения функции ReLU?

Вопрос или проблема

Один неактивированный нейрон представляет собой просто линейную комбинацию его входов.

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

Как будет выглядеть эта граница разделения (граница решения), если мы также применим ReLU к выходу, а затем только потом применим пороговую функцию?

Я всё время думаю, что она должна быть нелинейной, иначе нейронные сети не работали бы, но если что-то было положительным раньше, оно останется положительным, а если отрицательным или нулем, оно останется таким же, и, таким образом, ReLU на самом деле ничего не сделало для границы решения, что для меня не имеет смысла.

Если кто-то сможет объяснить это мне, я буду рад.


В продолжение, я хотел бы понять многослойные границы решений – скажем, на сети с 2 уровнями. Как будет выглядеть граница с 2 нейронами на слой в сети из 2 слоев, для, скажем, набора данных, подобного XOR?

Как будет выглядеть эта граница разделения (граница решения), если мы также применим ReLU к выходу, а затем только потом применим пороговую функцию?

Для одного нейрона граница решения действительно будет просто плоскостью.

Я всё время думаю, что она должна быть нелинейной, иначе нейронные сети не работали бы…

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

В продолжение, я хотел бы понять многослойные границы решений…

С несколькими слоями вы получаете возможность комбинировать границы плоскостей в полytопные области. Нейронная сеть только с ReLU представляет собой кусочно-линейную функцию с конечным числом полytопных (то есть плоско-кромочных) участков. Это очевидно для каждого нейрона в первом слое. На каждом последующем слое вы берете линейную комбинацию таких функций, которая снова является такой функцией; применение ReLU к этому затем может разделить каждую область на две, но результат по-прежнему остается такой функцией. (Вам также может быть интересно это исследование и этот популяризирующий блог.)

Вы можете увидеть часть этого в игровой площадке TensorFlow. В одной из версий этой ссылки я захватил веса и поместил полученную функцию в Wolfram|Alpha. Вы можете увидеть, как границы каждой первой нейронной плоскости выступают в виде зазубрины, и каждая из получившихся областей поддерживает линейную функцию. Затем срез на фиксированной высоте дает вам шестиугольную область, которая достаточно хорошо подходит для классификации набора данных для круга. Увеличение числа слоев или нейронов на слой позволяет вам разделить пространство на большее количество областей.

Затем, даже если выходной нейрон применяет сигмоиду, как в вашей игровой площадке TensorFlow, граница решения является просто уровневым набором кусочно-линейной функции со всеми линейными границами, которая сама по себе линейна.

Это очень интересный вопрос о границе решения нейрона с активацией ReLU.

ReLU – это нелинейная функция, потому что функция различается в зависимости от входа.

$ReLU(x) = \begin{cases}0 , x\leqslant0 \\ x, x > 0
\end{cases}$

Мы должны рассматривать линейный слой и слой ReLU как серию матричных умножений, которые применяются к пространству входов.

Линейный слой, как вы описали, представляет собой линейное преобразование над пространством входов, и поэтому граница решения должна быть линейной. ReLU является нелинейным преобразованием, и, следовательно, граница решения должна быть нелинейной.

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

Для простой визуализации в 2D пространстве это будет многогранник:
пример полиэтопа

Один нейрон с активацией ReLU создаст одну границу (линию), которая делит пространство на две области. Это практически вопрос да/нет.

Насколько я понимаю, комбинирование нескольких из этих областей затем приведет к появлению таких многоугольников (полytопов в пространствах большей размерности), которые позволяют создавать сложные границы решений.

Вот более конкретный пример: рассмотрим нейронную сеть из 3 слоев (2 скрытых + 1 выходной) с активациями ReLU (за исключением последнего слоя), которая принимает в качестве входа вектор $X \in R^2$, так что в основном:

Sequential(
  (fc1): Linear(in_features=2, out_features=4, bias=True)
  (activation1): ReLU()
  (fc2): Linear(in_features=4, out_features=4, bias=True)
  (activation2): ReLU()
  (fc_out): Linear(in_features=4, out_features=1, bias=True)
)

Тогда активации после первого линейного слоя будут гиперплоскостями (линиями в 2D пространстве), которые выглядят так:
активации после первого слоя

Если мы затем посмотрим на активации в более высоких слоях (втором слое в этом примере), мы начинаем видеть многоугольники, которые Бен упомянул в своем ответе. Вот активации после второго слоя:
активации после второго слоя

Я представляю, что с увеличением числа слоев мы получаем увеличенное количество линейных сегментов, которые по сути разделяют пространство.

Ответ или решение

Что такое граница принятия решений нейронной сети с активацией ReLU?

Граница принятия решений (decision boundary) является концепцией, используемой в машинном обучении для описания разделения пространства признаков на классы. В контексте нейронной сети с активацией ReLU (Rectified Linear Unit) важным аспектом является понимание того, как применяется активация и как она влияет на форму этой границы.

1. Один нейрон с активацией ReLU

Когда мы говорим о нейроне без активации, выход является линейной комбинацией входов. Если мы воспользуемся обычной формулой:
[
y = \mathbf{w}^T \mathbf{x} + b
]
где ( \mathbf{w} ) – вектор весов, ( \mathbf{x} ) – вектор входов, а ( b ) – смещение, решение о классе принимается на основе сравнения ( y ) с нулем. Это создает гиперплоскость, которая представляет собой границу принятия решений в пространстве.

Однако, если мы применяем функцию активации ReLU:
[
\text{ReLU}(x) = \begin{cases}
0 & x \leq 0 \
x & x > 0
\end{cases}
]
то выход нейрона будет равен 0 для всех отрицательных значений линейной комбинации и равен самой линейной комбинации для положительных значений. Таким образом, граница принятия решений остается линейной, но с учетом активации ReLU, все значения ниже нуля обрезаются, и это приводит к появлению "переключающего" эффекта.

2. Влияние многослойных нейронных сетей

С увеличением числа слоев в нейронной сети мы получаем более сложную структуру границы принятия решений. В случае сети с несколькими скрытыми слоями и несколькими нейронами в каждом слое, каждая активация с ReLU может быть представлена как плоскости, которые делят пространство на полигональные регионы (polytopal regions).

Когда у нас есть, например, сеть из двух скрытых слоев, каждый из которых имеет по два нейрона, действия нейронов в первом слое создают линейные границы между классами. Каждая следующая активация может либо "разделить" уже созданные плоскости, либо создавать новые, благодаря применению ReLU.

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

3. Примеры графического представления

Для лучшего понимания, рассмотрим пример. Если у нас имеется сеть с двумя входами, двумя нейронами в первом слое и двумя во втором, можно визуализировать активации на каждом уровне. Графики будут показывать, как ReLU создает "скученные" области в пространстве, создавая многослойные регионы. Каждый новый слой нейронов может добавлять новые границы, позволяя сети более точно находить разделяющие линии для классов данных.

Заключение

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

Таким образом, нейронные сети с активацией ReLU эффективно разрезают пространство входных признаков, образуя многоугольные регионы, что делает их мощными инструментами для решения различных задач в области машинного обучения.

Оцените материал
Добавить комментарий

Капча загружается...