Другие языки программирования и технологии

Какие преимущества имеет трёхслойная нейронная сеть над однослойной?

Какие преимущества имеет трёхслойная нейронная сеть над однослойной в практическом плане и какие недостатки, есть ли существенная разница между ними?
Многослойные нейросети могут классифицировать множества, которые не делятся линейным пространством.

Простейший пример.
Допустим у вас однослойная нейросеть имеет два входа и один выход. На входы вы можете посылать или 0 или 1. Получается, что в 2-мерном пространстве у вас 4 точки, которые лежат в вершинах единичного квадрата. Одной прямой вы можете всегда отделить две любые точки, которые лежат на любой одной стороне квадрата. Но вы никогда не сможете отделить от остальных точек любые две точки, которые лежать на кокой-нибудь диагонали квадрата.

Поэтому, если, например, вы на вход подаете 4 числа (0, 1, 2 и 3) в двоичной кодировке (00, 01, 10 и 11), то однослойная сеть может, например, отделить два больших числа от 2-х маленьких, так как 00 и 01 (0 и 1) лежат на одной стороне квадрата, а 10 и 11 (2 и 3) на другой стороне квадрата. Но эту однослойную сеть принципиально невозможно обучить так, чтобы она в один класс отнесла 0 и 3 (00 и 11), так как они лежать на концах диагонали квадрате. Не существует таких двух весов, чтобы сформировать прямую линию, которая отделяет эти 2 числа от других.

А уже в 2-слойной сети могут быть такие 2 пары весов, которые соответствуют двум прямым линиям, которые делят плоскость на 3 (или 4) части, в одну из которых попадут вместе друг с другом точки 00 и 11. То есть такая нейросеть может быть обучена так, что она будет отдельно распознавать класс, состоящий из двух чисел: 0 и 3.
Петров Петров
Петров Петров
10 956
Лучший ответ
Однослойная, это просто нелинейный фильтр входных данных. Трехслойную уже можно использовать для распознавания.
Вообще, есть понятие информационная емкость нейросети, и оно сильно кореллирует с количеством слоев