Перцептрон — это нейронная сеть с одним нейроном, которая имеет входной слой и набор соединений, связывающих входные блоки с выходным блоком. Цель перцептрона — классифицировать образцы, поступающие в блок входа. Основная функция, выполняемая блоком вывода, — суммирование значений каждого входного сигнала, помноженного на вес его связи с блоком вывода. На диаграмме вес (
где вывод и учитель являются двоичными, так что δ равно нулю, если вывод правильный. Если выход неправильный, δ равно +1 или –1 в зависимости от разницы.
Если объяснение работы перцептрона не ясно, есть более четкий геометрический способ, помогающий понять, как перцептрон учится распознавать входящую информацию. Для частного случая двух типов входных данных можно нанести входные данные на двумерный график. Каждый вход представляет собой точку на графике, а два веса в сети определяют прямую линию. Цель обучения — провести линию таким образом, чтобы она четко разделяла положительные и отрицательные примеры (рис. 3.5). Для трех типов входных данных пространство входа трехмерное, и перцептрон задает плоскость, разделяющую положительные и отрицательные обучающие примеры. В общем случае размерность пространства входов может быть довольно высокой и ее будет невозможно визуализировать, но принцип остается тем же.
В конце концов, если появится решение, вес перестанет меняться, и значит, все примеры в обучающем наборе классифицированы правильно. Здесь нужно соблюдать осторожность, потому как в обучающем наборе, возможно, было недостаточно примеров, и сеть просто запомнила конкретные образцы, не имея шанса обобщить их в новой для нее ситуации. Это называется чрезмерным обучением, или переобучением. Важно иметь другой, контрольный набор примеров, который не был использован для обучения сети. В конце обучения результат классификации тестового набора является истинным показателем того, насколько хорошо перцептрон может обобщить новый пример, категория которого неизвестна. Обобщение здесь ключевое понятие. В реальной жизни мы никогда не видим тот же объект одинаково и не сталкиваемся с той же ситуацией, но если мы сможем обобщить предыдущий опыт и спроецировать его на новую ситуацию, нам удастся справиться с широким спектром реальных проблем.
Рис. 3.5. Геометрическое объяснение того, как перцептрон распознает две категории объектов. У объектов есть две характеристики — длина и яркость, — их значения (x, y) отображены на графике. На графике слева оба типа объектов (плюсы и квадраты) возможно разделить прямой линией, которая пройдет между ними. Это различие может быть изучено перцептроном. В двух других областях объекты нельзя разделить прямой линией, но на центральном графике их можно разделить кривой. С выборкой справа надо провести некие махинации, чтобы разделить объекты двух типов. Все три класса могут быть изучены глубокой сетью, если есть достаточно данных для обучения.
SEXNET
В качестве примера того, как перцептрон можно использовать для решения реальной задачи, попробуем отличить мужское лицо от женского, если убрать волосы, ювелирные изделия и вторичные половые признаки, такие как кадык, который у мужчин обычно крупнее. Беатрис Голомб, научный сотрудник моей лаборатории, в 1990 году получила базу данных с фотографиями студентов колледжа и использовала их как входные данные для перцептрона, который был обучен определять пол по лицу с точностью 81 процент[65]
. Лица, при распознавании которых перцептрон испытывал трудности, были трудны и для людей. Работники моей лаборатории справились с тем же заданием с результатом 88 процентов. Беатрис также обучила многослойный перцептрон, который достиг точности 92 процента[66], что лучше результата многих людей (речь о нем пойдет во второй части книги). Это позволило ей в 1991 году на Конференции NIPS объявить: «Поскольку опыт улучшает производительность, значит, сотрудники лаборатории должны тратить больше времени на определение пола». Она назвала нейросеть SEXNET. Во время, отведенное для вопросов, кто-то спросил, может ли SEXNET определить лицо трансгендера. «Да», — ответила Беатрис, на что Эд Познер, учредитель конференции, сказал: «Это будет „DRAGNET“[67]».