Теперь предположим, что А-распознающему перцептрону показывают букву Б. В этом случае среагирует детектор вертикальных линий и детектор горизонтальных линий. Но из них двоих для перцептрона имеет значение только сигнал детектора горизонтальных линий. Поскольку два других значимых детектора 2 и 5 молчат, центр решений получает слишком слабый суммарный сигнал и поэтому делает вывод: «Это не буква А».
Следующий важный тест, помогающий понять, как устроено восприятие у машин или мозга, – изменить размер изображения. Мы снова показываем перцептрону букву А, но на этот раз меньшего размера. Как вы помните, машина на основе шаблонов не смогла справиться с этим тестом, потому что маленькая буква А не соответствовала оригинальному шаблону. Но нашему перцептрону достаточно задать всего одно условие: чтобы его детекторы реагировали на линию определенной ориентации независимо от ее размера и местоположения внутри рецептивного поля. В этом случае наш перцептрон получит сигналы, что в этом маленьком символе есть две наклонные линии (слева направо и справа налево) и одна горизонтальная, – и распознает его как букву А.
Как вы обратили внимание, ключевое условие, заданное детекторам в этом примере, полностью соответствует тому, что делают «сложные» клетки зрительной коры. Как и детекторы в нашем гипотетическом перцептроне, эти сложные клетки чувствительны к линиям определенной ориентации независимо от их местоположения в рецептивном поле. Таким образом, эта модель показывает, как со сложной клетки визуальной коры V1 – довольно простого детектора признака, находящегося на относительно ранней стадии визуальной обработки, – начинает выстраиваться распознавание визуальных объектов. Недаром Ян Лекун, один из гигантов в области искусственного интеллекта, сказал, что для него сложные клетки – важный источник вдохновения.
Перцептроны были интересной новинкой, но затем произошло нечто странное: интерес к этому типу искусственного интеллекта почти умер – и возродился лишь четверть века спустя. Впоследствии этот период примерно с 1965 по 1985 г. назвали зимой искусственного интеллекта. В эти годы идею обучающейся машины вроде перцептрона фактически признали бесперспективной. Теперь мы знаем, что это было ошибкой. Сегодня основанный на этих принципах искусственный интеллект догоняет человека. Но почему машинное обучение вызвало такое разочарование?
Во-первых, ИИ в основном являлся плодом эмпирического предположения, не имевшего солидного теоретического фундамента (то есть фундамента, изложенного на языке чистой математики). Это было серьезным недостатком. В те времена в области вычислительной науки работали преимущественно люди с математическим образованием, которые считали недостойным внимания все то, что нельзя было описать математически. На самом деле один ведущий теоретик посвятил целую книгу математическому доказательству того, что простая нейронная сеть такого типа неспособна научиться ничему важному.
Сегодня мы знаем, что он был неправ. Но мы узнали это не с помощью математической теории, а эмпирическим путем – создавая компьютеризированные нейронные сети, которые на деле доказали свою работоспособность.
Вторая причина отсутствия интереса к машинному обучению была чисто практической: в те времена компьютеры были невероятно медленными по сегодняшним меркам и работать с ними было невероятно сложно. Математическая теория оставалась доминирующим инструментом просто потому, что других инструментов как таковых не существовало. Но с появлением все более мощных компьютеров и развитием компьютерных наук растущую роль стал играть элемент эмпиризма, простого метода проб и ошибок. Отныне доказательством могли служить не только математические теории, но и полученные результаты: если нейронные сети работают, значит, они работают, а теория подоспеет, как бы она ни была важна.
Сегодня быстрые и мощные компьютеры и огромные учебные базы данных вывели базовую идею перцептрона на потрясающий новый уровень. На рисунке на следующей странице показана классическая схема современной нейронной сети. Как видите, она состоит из все тех же простых перцептронов, только организованных в несколько взаимосвязанных слоев. Входной слой снабжает входными данными группу из семи перцептронов, а эти семь перцептронов передают обработанные данные на второй слой перцептронов и т. д., вплоть до выхода.