Мы не знаем, что происходит "внутри" самообучающихся нейросетей, то есть, каким именно образом нейросеть принимает именно то "решение", которое она принимает.
Я бы уточнил вопрос: почему обученная нейросеть практически всегда принимает
успешные (правильные) решения?
Ну а ответ на этот вопрос в принципе существует:
Рассмотрим стандартную полносвязную многослойную нейронную сеть. Первый слой сети - особенный, он предназначен для построения всевозможных разделяющих гиперплоскостей в пространстве признаков. Фактически в первом слое производится операция
![$sign(w \cdot x)$ $sign(w \cdot x)$](https://dxdy-02.korotkov.co.uk/f/d/1/4/d14bb1ac7b04b7b759439e345bf6f76982.png)
, которая по своей сути определяет, с какой стороны плоскости находится объект. Логика сигмоидальной функции активации:
![$1$ $1$](https://dxdy-01.korotkov.co.uk/f/0/3/4/034d0a6be0424bffe9a6e7ac9236c0f582.png)
- с положительной стороны,
![$0$ $0$](https://dxdy-03.korotkov.co.uk/f/2/9/6/29632a9bf827ce0200454dd32fc3be8282.png)
- с отрицательной стороны. Логика гиперболического тангенса:
![$+1$ $+1$](https://dxdy-01.korotkov.co.uk/f/c/1/1/c11fe0cea175e1b787b3403c763dc9b082.png)
- с положительной стороны,
![$-1$ $-1$](https://dxdy-03.korotkov.co.uk/f/e/1/1/e11a8cfcf953c683196d7a48677b227782.png)
- с отрицательной стороны,
![$0$ $0$](https://dxdy-03.korotkov.co.uk/f/2/9/6/29632a9bf827ce0200454dd32fc3be8282.png)
- находится на самой плоскости. В последующих слоях происходят немного другие процессы с точки зрения смысла: здесь организована взвешенная логика. Так как первый слой выдал логические значения, с ними по сути и далее производятся логические операции, при чем логика взвешенная. За счет подбора весов могут быть организованы любые логические операции, отрицательные веса соответствуют операции инверсии "НЕ" (NOT), нулевые веса (или близкие к нулевым) - это по сути прерывание ("отмирание") нейронной связи. Операция сложения в линейной комбинации - это же по сути логическая операция "И", но если все веса нейрона увеличить, усилить сигналы, то получится логическая операция "ИЛИ". Вот и все, что нужно для понимания.
По сути, объекты каким-либо особым образом группируются в пространстве признаков и по этим особенностям можно классифицировать объекты. Нейронная сеть как раз-таки "изучает" любые сложные логические особенности этих группировок и в этом причина успешности такой структуры. Ведь реальные объекты всегда как-то по-особому группируются, не правда ли?
Вот пример как объекты группируются:
![Изображение](https://plot.ly/~IPython.Demo/173/iris-flower-data-set.png)
Если обучить небольшой трехслойный персептрон на выполнение операции
![$XOR$ $XOR$](https://dxdy-04.korotkov.co.uk/f/3/4/f/34f5e72a72a78127edd9e3b4fc4d192182.png)
, то можно буквально вручную с карандашом на бумаге исследовать первый слой (построение разделяющих плоскостей), а затем изучить логическую операцию скрытого слоя.