Шрифт:
Интервал:
Закладка:
* * *
В 1987 году, как и в любой другой год, жители Буффало, штат Нью-Йорк, отправляли через местное почтовое отделение бесчисленные счета, поздравительные открытки и письма. Жители города не знали, что, когда они вписывали в конверт пятизначный почтовый индекс получателя, этот почерк будет увековечен - оцифрован и сохранен на компьютерах по всей стране на долгие годы. Он станет частью базы данных для исследователей, пытающихся научить компьютеры читать человеческий почерк и, в свою очередь, произвести революцию в искусственном зрении.
Некоторые из исследователей, работавших над этим проектом, находились в Bell Labs, исследовательской компании, принадлежащей телекоммуникационной компании AT&T, расположенной в пригороде Нью-Джерси. Среди группы, состоящей в основном из физиков, был 28-летний французский компьютерщик по имени Янн ЛеКун. ЛеКун читал о Фукусиме и его Neocognitron и понял, что простая повторяющаяся архитектура этой модели может решить многие сложные проблемы зрения.
Однако ЛеКун также понимал, что необходимо изменить способ обучения модели связям. В частности, он хотел вернуться к подходу Селфриджа и предоставить модели доступ к изображениям, сопряженным с правильными метками о том, какая цифра на них изображена. Поэтому он изменил некоторые математические детали модели, чтобы сделать ее пригодной для другого типа обучения. При таком типе обучения, если модель неправильно классифицирует изображение (например, обозначает двойку как шестерку), все связи в модели - эти сетки чисел, определяющие, какие паттерны ищутся, - обновляются таким образом, чтобы снизить вероятность неправильной классификации этого изображения в будущем. Таким образом, модель учится тому, какие паттерны важны для идентификации цифр. Это может показаться знакомым, потому что ЛеКун использовал алгоритм обратного распространения, описанный в главе 3. Проделайте это с большим количеством изображений, и модель в целом станет довольно хорошо классифицировать изображения рукописных цифр, даже те, которые она никогда раньше не видела.
ЛеКун и его коллеги-исследователи представили впечатляющие результаты работы своей модели, обученной на тысячах цифр Буффало, в 1989 году. Так родилась "конволюционная нейронная сеть" - название, данное этому стилю модели.
Как и подходы, основанные на подборе шаблонов, которые появились до них, конволюционные нейронные сети нашли применение в реальном мире. В 1997 году эти сети стали основной частью программного обеспечения, разработанного компанией AT&T для автоматизации обработки чеков в банках Америки. К 2000 году, по оценкам, от 10 до 20 процентов чеков в Америке обрабатывались с помощью этого программного обеспечения. Очаровательный пример того, как наука исполняет свое предназначение, - мечта Голдберга об оснащении банков синтетическими визуальными системами сбылась спустя 70 лет после изобретения микрофильмирующей машины
Метод обучения сверточных нейронных сетей требователен к данным, и модель может быть настолько хороша, насколько хороша та информация, которая в нее поступает. Поэтому не менее важно получить правильную модель, чем правильные данные. Именно поэтому так важно было собрать реальные образцы реальных цифр, написанных реальными людьми. Исследователи Bell Lab могли бы поступить так же, как Фукусима, и создать компьютерные изображения цифр. Но они вряд ли смогли бы передать все разнообразие, нюансы и небрежность написания цифр в реальной жизни. Письма, прошедшие через почтовое отделение в Буффало, содержали около 10 000 примеров настоящего, человеческого почерка, что дало модели все необходимое для настоящего обучения. Убедившись в важности реальных данных, компьютерщики стали собирать их еще больше. Вскоре после набора Buffalo был собран набор данных, содержащий в шесть раз больше цифр и названный MNIST. Удивительно, но этот набор данных по-прежнему остается одним из наиболее часто используемых для быстрого тестирования новых моделей и алгоритмов искусственного зрения. Цифры для MNIST были написаны школьниками из Мэриленда и участниками переписи населения США. И хотя авторам было сказано, для чего используются их цифры в данном случае, они почти наверняка не ожидали, что их почерк будет использоваться компьютерными учеными спустя 30 лет.
Испытания конволюционных нейронных сетей не остановились на цифрах, но при переходе к более сложным изображениям они столкнулись с трудностями. В начале 2000-х годов сети, подобные сетям ЛеКуна, были обучены на другом наборе данных из 60 000 изображений, на этот раз состоящих из объектов. Изображения были маленькими и зернистыми - всего 32x32 пикселя - и могли представлять собой самолеты, автомобили, птиц, кошек, оленей, собак, лягушек, лошадей, корабли или грузовики. Хотя для нас эта задача оставалась простой, для сетей она серьезно усложнилась. Вся неоднозначность, присущая распознаванию трехмерного мира на основе двухмерных данных, проявляется, когда используются реальные изображения реальных объектов. Те же модели, которые научились распознавать цифры, с трудом справлялись с этими более реалистичными изображениями. Этот подход к искусственному зрению, похожий на мозговой, не справлялся с базовой визуальной обработкой, которую мозг выполняет каждый день.
Однако в 2012 году ситуация изменилась, когда Алекс Крижевский, Илья Суцкевер и Джеффри Хинтон из Университета Торонто с помощью конволюционной нейронной сети победили в крупном конкурсе по распознаванию изображений ImageNet Large Scale Visual Recognition Challenge. Конкурс заключался в маркировке изображений - больших (224x224 пикселя), реальных фотографий, сделанных людьми по всему миру и взятых с таких сайтов, как Flickr, - на предмет их принадлежности к одной из тысячи возможных категорий объектов. В этом очень убедительном тесте на визуальные способности конволюционная нейронная сеть дала 62 процента правильных ответов, опередив алгоритм, занявший второе место, на 10 процентных пунктов.
Как команда из Торонто добилась таких успехов? Они открыли новые вычисления, необходимые для зрения? Нашли ли они волшебную технику, помогающую модели лучше изучать свои связи? Правда в данном случае гораздо банальнее. Разница между этой конволюционной нейронной сетью и теми, что были до нее, заключалась в основном в размере. Сеть команды из Торонто насчитывала в общей сложности более 650 000 искусственных нейронов - примерно в 80 раз больше, чем сеть ЛеКуна, распознающая цифры. Эта сеть была настолько велика, что потребовались некоторые хитроумные инженерные решения, чтобы поместить модель в память компьютерных чипов, которые использовались для ее работы. Модель была велика и в другом отношении. Все эти нейроны означали, что для обучения связей между ними требовалось гораздо больше данных. Модель обучалась на 1,2 миллионах помеченных изображений, собранных профессором информатики Фей-Фей Ли в рамках базы данных ImageNet.
В 2012 году наступил переломный год для конволюционных нейронных сетей. Хотя технически достижения команды из