Выбрать главу

Представим себе, что нам нужно распознать ряд цифр, написанный максимально корявым почерком. Для простоты допустим, что каждая цифра написана отдельно от других. Мы пропускаем изображение через сверточный слой, где стоит четыре фильтра. Один фильтр распознает черные верхние и белые нижние края, другой —черные края слева и белые края справа и так далее. Пропустив изображение через эти фильтры на первом сверточном слое, мы определяем паттерны верхних и нижних краев изображения. На выходе получаем некий набор черточек. Следующий фильтр сможет различить, в какую цифру складываются эти черточки. Даже если края на входе весьма неразборчивы, хорошо обученная сеть сумеет четко определить их, пропустив изображение через несколько фильтров.

Края — это те самые черточки, которые видит кошка. Видит — значит не просто регистрирует, а начинает за ними следить, складывать их в фигуры. Когда паттерн черточек движется в одном направлении, этот паттерн может в конечном итоге оказаться мышкой. И тогда кошка своего не упустит.

Интересно, что распознав, допустим, цифру 7 из накаляканных корявым почерком, нейросеть в принципе может нарисовать идеальную семерку. Таким образом, она научится порождать то, что никогда не видела. А это значит, что она способна к творчеству, к извлечению из хаоса жизни идеала. Это качество мы считаем человеческим, но не наступит ли в не очень далеком будущем момент, когда машина сможет делать это лучше нас?

Нейросети срабатывают лишь тогда, когда сигналы на входе превысили определенный уровень. В этом есть плюсы и минусы: минус в том, что они могут пропустить важное, но очень слабое изменение, а плюс в их нечувствительности к шуму. Это тоже вполне человеческое качество, ведь и мы не срабатываем на каждый чих. Это создает поле для ошибок, но вместе с тем позволяет нам не переполняться информацией и даже отвлекаться, уходить в себя. Нет никаких причин, по которым нейросети на каком-то этапе развития не смогут делать то же самое. Как и мы, они способны отсекать искажения и делать обобщения благодаря своей структуре, тому как они созданы, а не потому что их кто-то так специально запрограммировал.

У каждого свои недостатки, заметил герой фильма «В джазе только девушки». Есть они и у классических свёрточных нейросетей. Например, если на изображении в случайном порядке появятся грудь, нос, волосы и губы, то обученная на распознавание девушек свёрточная сеть распознает ее. Человек же легко обнаружит такую ошибку. Еще один минус — поворот объекта резко ухудшает качество распознавания, тогда как для человеческого мозга это не проблема. Конечно, исследователи придумывали способы обойти эти несовершенства — например, заводя в машину фотографии объектов, снятых с разных ракурсов. Но в таком случае сети требовались тысячи примеров и сложность задачи возрастала на порядки.

Проблема была решена совсем недавно, в 2017 году, когда тот самый канадец Джеффри Хинтон ввел в оборот капсульные нейронные сети. Один из основоположников подхода обратного распространения ошибки, о котором я уже рассказывал, Хинтон сейчас обеспечивает лидерство компании Google в ИИ-разработках. О том, как команда Google сумела обыграть чемпиона мира по го, речь пойдет ниже.

Google — скромная компания, которая активно работает над сбором и анализом всей возможной информации о мире, о человеке, о Вселенной. Прежде всего визуальной информации, но и любой другой. Они ищут, переснимают и оцифровывают все книги, изданные за всю историю от начала времен, все картины, все произведения искусства, пейзажи, фотографии, изображения и образы всего, что когда-либо жило, живет или будет жить. Перед дронами Google поставлена задача сфотографировать всю поверхность Земли со всем, что на ней находится. Google также составляет подробнейшие карты всего. Иными словами, они хотят быть способными распознать и интерпретировать всё, что движется и не движется, всё что слышится и не слышится в диапазоне от земной коры до стратосферы. Потом они пойдут выше и ниже.