5.2.4.3 Ян Лекун: внедрение метода обратного распространения ошибки для обучения свёрточных нейронных сетей
Первые применения метода обратного распространения ошибки для обучения свёрточных нейронных сетей относятся ко второй половине 1980-х. В области компьютерного зрения первым исследователем, которому удалось совместить две решающие новации в одной модели, стал франко-американский исследователь Ян Лекун, в ту пору являвшийся сотрудником Исследовательского подразделения адаптивных систем в AT&T Bell Laboratories в Холмделе (Нью-Джерси, США). Именно здесь Лекун разработал ряд новых моделей машинного обучения, созданных под влиянием данных об устройстве биологических систем. К числу этих моделей относились и свёрточные нейронные сети, постепенное совершенствование которых в последующем и привело к прорыву в области компьютерного зрения. В 2018 г. вклад Яна Лекуна в дело революции глубокого обучения был отмечен престижной премией Тьюринга, которую Лекун разделил с Джеффри Хинтоном и Йошуа Бенджио. Премия была вручена с формулировкой «За концептуальные и инженерные прорывы, которые сделали глубокие нейронные сети критически важным компонентом вычислений»[1].
Ян Лекун родился в коммуне Суази-су-Монморанси, в 15 км от Парижа. Его фамилия в прошлом писалась раздельно — Le Cun — и произошла от старой бретонской формы Le Cunff, что буквально означало «хороший парень»[2]. В англоязычных источниках фамилия Лекун обычно записывается с заглавной буквой C в середине — LeCun, но русский язык не любит таких вольностей, поэтому в русскоязычных источниках он стал просто Лекуном. Окончив Высшую инженерную школу (École Supérieure d’Ingénieurs en Électrotechnique et Électronique, ESIEE) в Париже, Лекун в 1983 г. поступил на программу углубленного обучения [d’etudes approfondies] в Университет Пьера и Марии Кюри (Université Pierre et Marie Curie), где в 1987 г. получил степень доктора философии по информатике. Его диссертация была посвящена разработке одной из ранних разновидностей метода обратного распространения ошибки. С 1987 по 1988 г. Лекун был постдокторантом в Университете Торонто, где работал под началом Джеффри Хинтона, после чего устроился на работу в AT&T Bell Laboratories[3]. Лекун так в шутку формулирует своё кредо: «Я воплощаю в себе всё, что так раздражает религиозных правых: учёный, атеист, левый (по американским меркам, по крайней мере), профессор университета и француз»[4].
Руководителем подразделения, в котором оказался Лекун, был Лоуренс Джекел — один из разработчиков системы для распознавания цифр в рукописных почтовых индексах. Основой этой системы, воплощённой в виде отдельной специализированной СБИС, был «экстрактор признаков», напоминавший неокогнитрон, свёрточные ядра которого (размером 7 × 7) подбирались создателями системы вручную. Выходы экстрактора признаков изначально анализировались при помощи классических алгоритмов кластеризации, таких как метод k‑ближайших соседей и метод окна Парзена — Розенблатта. Однако затем создатели системы заменили выход экстрактора признаков на небольшую полносвязную нейронную сеть, которая справлялась с задачей классификации цифр значительно лучше. Создателям системы удалось достичь уровня ошибки в 6% на тестовом наборе данных[5], что стало небольшим, но всё же улучшением предшествующего результата.
Лекун совершил ещё один шаг вперёд — он сделал все веса нейронной сети изменяемыми в процессе обучения, отказавшись от вручную подобранных свёрточных ядер, и применил для вычисления синаптических весов метод стохастического градиентного спуска, основанный на методе обратного распространения ошибки. В результате уровень ошибки на тестовой выборке снизился ещё на один процентный пункт — до 5%[6].
В 1998 г. в результате исследований Лекуна, Леона Ботту, Йошуа Бенджио и Патрика Хаффнера увидела свет архитектура свёрточной нейронной сети LeNet-5, ставшая классической. Эта сеть состоит из трёх свёрточных слоёв, перемежаемых слоями максимизирующего пулинга, и завершается на выходе двумя полносвязными слоями. Данная сеть оказалась способна распознавать рукописные цифры размером 32 × 32 пикселя, достигнув уровня ошибки в 0,8% на тестовой выборке при использовании датасета MNIST[7].
Основным «классическим» конкурентом LeNet-5 на тот момент был метод опорных векторов [support vector machines или support vector method, SVM], а точнее — его разновидность под названием V-SVM, разработанная Бернхардом Шёлькопфом и его коллегами. В основе SVM лежит идея построения оптимальной разделяющей гиперплоскости, предложенная в 1963 г. Владимиром Вапником и Алексеем Червоненкисом. В 1992 г. Бернхард Босер, Изабель Гийон и Вапник придумали способ создания нелинейного классификатора за счёт объединения этой идеи с идеей перехода от скалярных произведений к произвольным ядрам[8]. Последняя идея известна в наши дни под названием kernel trick, она была предложена впервые Марком Айзерманом, Эммануилом Браверманом и Львом Розоноэром для метода потенциальных функций[9]. Звезда SVM взошла в середине 1990-х гг. — новый метод обучения с учителем, благодаря своей математической изящности и впечатляющим результатам, пленил сердца многих специалистов в области машинного обучения. Вообще вклад Вапника и Червоненкиса в математический фундамент современной теории машинного обучения трудно переоценить. Например, ими был разработан способ оценки выразительной силы (иногда также употребляют термины: ёмкость, сложность, богатство, гибкость) моделей-классификаторов на основе так называемой комбинаторной размерности, более известной в наши дни под названием размерность Вапника — Червоненкиса или VC-размерность[10]. Лучший результат метода V-SVM (модификация SVM) на MNIST в 1998 г. совпадал с результатом Лекуна, обеспечивая те же 0,8% ошибки на тестовой выборке. Однако объём вычислений, необходимый V-SVM для достижения такой точности, многократно превышал[11] объём вычислений, необходимый LeNet-5. В очередной раз научное сообщество было поставлено перед фактом: нейронные сети, как ту стюардессу из анекдота, не стоило хоронить так быстро.
Свёрточные нейронные сети Лекуна не были первой моделью, воплощающей в себе принцип построения глубоких нейронных сетей на основе параметризованных слоёв с регулярной структурой и обучающейся с применением метода обратного распространения ошибки. Первой такой моделью стала нейронная сеть с временно́й задержкой (Time delay neural network, TDNN), впервые представленная научной общественности в 1987 г. Её создатели — Александр Вайбель, Тосиюки Ханазава, Киёхиро Сикано, Кевин Лэнг и вездесущий Джеффри Хинтон — использовали эту архитектуру в задачах распознавания речи. Входным представлением для TDNN является спектрограмма анализируемого звука, к которой последовательно применяются операции свёртки вдоль осей времени и частотных диапазонов. Именно для TDNN в 1990 г. Коуити Ямагути и его коллеги впервые предложили использовать максимизирующий пулинг. Целью этой работы было создание системы для качественного распознавания речи без привязки к конкретному голосу. TDNN-сети нередко применяются для решения задач в области обработки речи и в наши дни. По всей видимости, в силу того, что TDNN-сети использовались для обработки звука, а не изображений, про них иногда забывают, рассуждая об истории свёрточных нейронных сетей. По современной классификации TDNN-сети считаются свёрточными, что создаёт видимый парадокс: TDNN‑сети были свёрточными сетями ещё до того, как это стало мейнстримом появились свёрточные сети.
Конструктор, из которого современные разработчики собирают свёрточные нейронные сети, за последние два десятилетия обзавёлся множеством новых деталей. Различными могут быть размеры и формы (форма задаётся за счёт введения маски для ядра свёртки) свёрточных ядер, вертикальный и горизонтальный шаг [stride] между ними (а также шаги в других измерениях, если используется свёртка с большим числом измерений), поле свёртки может выходить за границы слоя с различным размером дополняющего [padding] поля. Сеть может включать в себя разное количество слоёв свёртки, пулинга (максимизирующего, усредняющего, пулинга с областью интереса и т. д.), полносвязных слоёв, слоёв нормализации и так далее. В особо глубоких нейронных сетях могут существовать синаптические связи, огибающие отдельные слои (их обычно называют skip connections — «перепрыгивающие связи»). В различных слоях могут использоваться различные функции активации, слои могут группироваться в более крупные блоки, а при обучении сетей могут применяться различные способы инициализации синаптических весов и другие трюки, направленные на улучшение сходимости и достижение лучших результатов. В 2010-е гг. глубокое обучение стало своеобразным экспериментальным разделом математики, где полученный результат в некоторой мере может зависеть от случая и от удачи исследователей и разработчиков в процессе применения метода проб и ошибок. Этот факт породил сравнение глубокого обучения со средневековой алхимией и множество остроумных мемов на эту тему. К счастью, в отличие от алхимиков, архитекторы нейронных сетей всё-таки неплохо справляются с достижением поставленных целей, а применение объективных метрик успеха при создании моделей исключает субъективизм в трактовке результатов.
- ↑ Yann LeCun (2018) / Heidelberg Laureate Forum // https://www.heidelberg-laureate-forum.org/laureate/yann-lecun.html
- ↑ Lecun Y. Fun stuff / Yann LeCun home page // http://yann.lecun.com/ex/fun/
- ↑ Lecun Y. (2014). Biographical Sketch / Yann LeCun home page // http://yann.lecun.com/ex/bio.html
- ↑ Lecun Y. Fun stuff / Yann LeCun home page // http://yann.lecun.com/ex/fun/
- ↑ Denker J. S., Gardner W. R., Graf H. P., Henderson D., Howard R. E., Hubbard W., Jackel L. D., Baird H. S., Guyon I. (1989). Neural network recognizer for hand-written zip code digits / Advances in neural information processing systems, 1-Dec-1989, pp. 323—331 // https://dl.acm.org/doi/10.5555/89851.89898
- ↑ LeCun Y., Boser B., Denker J. S., Henderson D., Howard R. E., Hubbard W., Jackel L. D. (1989). Backpropagation Applied to Handwritten Zip Code Recognition; AT&T Bell Laboratories // http://yann.lecun.com/exdb/publis/pdf/lecun-89e.pdf
- ↑ LeCun Y., Bottou L., Bengio Y., Haffner P. (1998). Gradient-based learning applied to document recognition / Proceedings of the IEEE. 86 (11): 2278–2324 // https://doi:10.1109/5.726791
- ↑ Guyon I., Boser B., Vapnik V. (1993). Automatic Capacity Tuning of Very Large VC-dimension Classifers / Advances in Neural Information Processing Systems // https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.7215
- ↑ Айзерман М. А., Браверман Э. М., Розоноэр Л. И. (1964). Теоретические основы метода потенциальных функций в задаче об обучении автоматов разделению входных ситуаций на классы // Автоматика и телемеханика. 1964. №6. с. 917-936.
- ↑ Вапник В. Н., Червоненкис А. Я. Теория распознавания образов (статистические проблемы обучения). Москва: Наука, 1974 // https://books.google.ru/books?id=LAGzAAAAIAAJ
- ↑ LeCun Y., Bottou L., Bengio Y., Haffner P. (1998). Gradient-based learning applied to document recognition / Proceedings of the IEEE. 86 (11): 2278–2324 // https://doi:10.1109/5.726791