• Оба входных сигнала не меньше 0,5. Тогда оба блока в левом столбце дают 1. При движении по стрелке вправо они превращаются в 1
/3 после умножения на вес, поэтому блок в правом столбце получает на входе 2/3 и выдает на выходе 1.• Один входной сигнал не меньше 0,5, а второй меньше. Тогда блоки слева выдают 1 и 0, блок справа получает 1
/3 на входе и выдает 0 на выходе.• Оба входных сигнала меньше 0,5. Тогда оба блока слева выдают 0, блок справа получает 0 и выдает его же.
Иными словами, эта нейронная сеть – машина, которая берет два числа и сообщает вам, меньше ли они 0,5 или нет.
Следующая нейронная сеть немного сложнее.
Теперь в левом столбце 51 блок, и все они соединены с единственным блоком в правом столбце с разными весами на стрелках. Некоторые веса маленькие – всего 3
/538, самый большой – 55/538. Что делает такая машина? Она получает на входе 51 разное число и активирует каждый блок слева, если входной сигнал больше 0,5. Затем она складывает все веса, подходящие к блоку справа, и проверяет, превышает ли сумма 0,5. Если да, то на выходе будет 1, если нет, то 0.Мы могли бы назвать эту конструкцию двухслойным перцептроном Розенблатта, но обычно ее называют Коллегией выборщиков в США: 51 блок – это 50 штатов и Вашингтон, округ Колумбия[309]
. Блок штата активируется, если в нем побеждает кандидат от республиканцев. Тогда вы суммируете голоса выборщиков со всех штатов, делите на 538, и если ответ будет больше 0,5, то побеждает кандидат от республиканцев[310].Вот более современный пример. Его не так просто описать словами, как Коллегию выборщиков, но он немного ближе к нейронным сетям, которые обеспечивают нынешний прогресс в машинном обучении.
Блоки здесь несколько сложнее, чем у Розенблатта: блок получает на входе некоторое число и выдает либо его, либо 0 в зависимости от того, какое из них больше. Иными словами, если блок на входе получает положительное число, он его пропускает дальше, а если отрицательное, то выдает 0.
Давайте посмотрим на работу такого устройства. Предположим, я начинаю слева с 1 и 1. Оба числа положительные, поэтому оба блока в левом столбце выдадут 1. Далее верхний блок второго столбца получает на входе 1 × 1 = 1, а второй блок сверху: 1 × (–1) = –1. Аналогично третий и четвертый блоки получают на входе 1 и –1. Поскольку 1 – положительное число, верхний блок выдает 1. Однако второй блок с отрицательным входом не станет активироваться и выдаст 0. Аналогично третий блок выдаст 1 и четвертый 0.
Теперь рассмотрим третий столбец. На входе верхнего блока
1 × 1 + 3 × 0 + 2 × 1 + 1 × 0 = 3,
а на входе нижнего
3 × 1–1 × 0–5 × 1–1 × 0 = –2.
Следовательно, первый блок выдает 3, а у второго на выходе 0. Наконец, единственный блок четвертого столбца получает сумму этих двух чисел и в итоге выводит 3.
Если вы не проследили описанное во всех деталях, ничего страшного. Важно то, что нейронная сеть – это
Описанная сеть с указанными весами присваивает значение 3 или меньше любой точке
(Обратите внимание, что точка (1, 1), для которой наша стратегия выдает ровно 3, находится на границе фигуры.) Различные значения весов дадут различные фигуры, но не любую фигуру. Природа перцептрона такова, что нарисованный объект всегда будет многоугольником – фигурой, ограниченной отрезками прямых[314]
.Предположим, у меня есть такая картинка: