Вычислительное мышление: Метод решения сложных задач | страница 67



Давайте разберем, как именно наша нейронная сеть будет определять совпадение цветов. Пусть 1 означает карту красного цвета, а 0 — черного. Красный–красный (1, 1) или черный–черный (0, 0) — это «Снап!», красный–черный (1, 0) или черный–красный (0, 1) — нет. Процесс похож на проверку монет с помощью И, но не так прост в освоении.

Цветной «Снап!» — это пример использования функции . Она немного похоже на функцию И, но активизируется, только если на входе (1, 0) или (0, 1), — и ни в каких иных случаях. Функция активизируется, только если истине соответствует один сигнал (то есть один сигнал равен 1), но не оба, как на рис. 48.



На заре нейронных сетей такого рода логика представляла собой большую проблему. Нейронные контуры, которые тогда назывались отлично работали с И, ИЛИ и с другими простыми операциями в булевой логике, но не могли справиться с досадным моментом исключения. Причина состояла в их геометрии. Оказалось, что перцептрон работал, создавая границу решения — линию на графе. При достаточном сигнале на вводе перцептрон переходил через границу. Это зависело от весов и порогов восприятия в контуре (наши значения И1, И2 и Д в предыдущей игре). Пока явления, для которых мы хотели получить разный выход, были по разные стороны границы решения, все было хорошо — перцептрон работал.

Но в случае с функцией «исключающее ИЛИ», где нам нужна линия в соответствии с таблицей на рис. 48, ничего не получилось. Если изобразить это на графе с использованием данных координат (где красный — 1, а черный — 0), то окажется, что на выходе невозможно отделить ответы, равные 0, от ответов, равных 1. Нельзя создать систему, в которой, когда вас толкают через границу, одно состояние сменяется другим (см. рис. 49).



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

Можно ли его сделать?

Да, сделать его можно. Есть несколько способов создать нейронные контуры, которые могут работать с исключающим ИЛИ или играть в «Снап!», и на рис. 50 представлен один из таких способов. Заметим, что здесь мы используем в виде чтобы показать нейронный контур. В конечном итоге главное здесь — нейроны и их взаимосвязи. Еще мы