Нейросети отчасти будто подрывают традиционную теорию машинного обучения, которая сильно опирается на идеи теории вероятности и статистики. В чём же заключается загадка их успеха? Исследователи показывают, что сети с бесконечным числом нейронов математически эквивалентны более простым моделям машинного обучения — ядерным методам. Поразительные результаты можно объяснить, если эта эквивалентность простирается дальше «идеальных» нейронных сетей. Подробности рассказываем к старту нашего флагманского курса по Data Science. Обычно считается, что модели ML работают лучше, когда имеют подходящее число параметров. Если параметров слишком мало, модель может оказаться слишком простой и не улавливать все нюансы. Слишком много параметров — и модель усложняется, изучая настолько тонкие детали, что затем не может обобщать. Это и называется переобучением.  «Это баланс между тем, чтобы слишком хорошо обучиться на данных, и тем, чтобы не обучиться вообще. Хочется быть посередине», — рассказывает взволнованный новыми перспективами Михаил Белкин, исследователь машинного обучения из Калифорнийского университета в Сан-Диего. Глубокие нейронные сети, например VGG, по общему мнению, имеют слишком много параметров, а значит, их прогнозы должны страдать от переобучения. Но этого не происходит. Напротив,  такие сети обобщают новые данные с удивительным успехом. Почему? Ответа на этот вопрос не знал никто, хотя выяснить причину пытались.  Специалист в компьютерных науках и нейробиолог из Еврейского университета Иерусалима, Нафтали Тишби, утверждал, что глубокие нейронные сети сначала обучаются на данных, а затем проходят через информационное бутылочное горлышко, отбрасывая нерелевантную информацию. Это и помогает в обобщении. Другие учёные считают, что это происходит не во всех сетях. Математическая эквивалентность ядерных методов и идеализированных нейронных сетей даёт ключ к тому, почему и как сети с огромным числом параметров приходят к своим решениям. Ядерные методы — это алгоритмы, которые находят закономерности в данных через их проекцию на очень высокие измерения. Изучая более понятные эквиваленты ядер идеализированных нейронных сетей, исследователи могут узнать, почему сложные глубокие сети сходятся в процессе обучения к решениям, которые хорошо обобщаются на новые данные. «Нейронная сеть немного похожа на машину Руба Голдберга. Неизвестно, что в этой машине по-настоящему важно, — утверждает Белкин. — Ядерные методы не настолько сложны. Думаю, что упрощение нейронных сетей до ядерных методов позволяет выделить движущую силу происходящего». Ядерные методы полагаются на область математики с долгой историей. История эта восходит к немецкому математику XIX века Карлу Гауссу. Именно он придумал ядро, названное в его честь — гауссовым. Такое ядро отображает переменную X на знаменитую функцию распределения в форме колокола.  В начале XX века с помощью ядер английский математик Джеймс Мерсер решил интегральные уравнения, после этого работать с ядрами стали намного чаще, а к 1960 году их применили в машинном обучении, чтобы выполнять сложные классификации. Понимание методов ядра требуется уже в линейных классификаторах. Что такое линейный классификатор? Допустим, кошек и собак можно разделить на две группы при помощи только двух признаков, (иначе говоря — данных в двух измерениях).  Чтобы отличить животных друг от друга, вам нужны две функции (к примеру, размер морды, который мы можем откладывать на оси x, и размер ушей, — на оси y. Если отобразить эти данные на плоскость, XY, кошки должны оказаться в одном кластере, а собаки — в другом. Чтобы найти разделяющую кластеры прямую, то есть вычислить коэффициенты уравнения прямой [y = ax + b], можно обучить линейный классификатор на размеченных данных. После этого посмотрите, на какую сторону от линии попадают данные — это и будет прогнозом классификатора. Любители собак и кошек могут возмутиться: реальные данные о мордах и ушах многочисленных видов кошек и собак почти наверняка нельзя разделить линейно; но тогда их можно преобразовать или спроецировать в пространство более высокой размерности.  Простой способ этого добиться — умножить значение двух признаков, чтобы получить третий. Возможно, есть нечто, что отличает собак от кошек по соотношению размеров морды и ушей. Линейный разделитель (гиперплоскость) легче найти в обобщённом случае, когда пространство имеет более трёх измерений. Проецируясь обратно в нижние измерения, гиперплоскость принимает форму нелинейной функции с кривыми и волнистыми линиями. Эти линии разделяют исходные данные в нижних измерениях на два кластера.  Если вы работаете с реальными данными, поиск коэффициентов гиперплоскости в высоких измерениях часто оказывается вычислительно неэффективным, а иногда невозможным. Но это не касается ядерных методов. Мощь ядерных методов заключена в способности делать две вещи. Они:  Сопоставляют каждую точку в наборе данных низкой размерности с точкой из более высоких измерений. Размерность этого гиперпространства может быть бесконечной в зависимости от отображения.  Когда данные проецируются в бесконечное число измерений, нахождение коэффициентов разделяющей гиперплоскости предполагает вычисление внутреннего произведения для каждой пары признаков в высокой размерности становится сложным, когда данные проецируются в бесконечномерное пространство. Получив две точки данных низкой размерности, они используют функцию ядра, чтобы вывести внутреннее произведение соответствующих признаков высокой размерности.  Очень важно, что с помощью этого трюка алгоритм может найти коэффициенты гиперплоскости, не касаясь пространства высокой размерности. «Замечательная особенность трюка с ядром заключается в том, что все вычисления происходят в пространстве низкой размерности, а не в пространстве, где оно может иметь бесконечное число измерений», — рассказывает Бернхард Бозер, заслуженный профессор Калифорнийского университета в Беркли. В конце 1980-х — начале 1990-x Бозер с коллегами Изабель Гийон и Владимиром Вапником изобрёл класс ядерных методов — методы опорных векторов (SVM). Хотя ядерные методы различных типов появились в машинном обучении в 1960-х, именно с изобретением SVM они заняли центральное место.  SVM оказались невероятно мощными. В начале 2000-х они искали сходства различных белковых последовательностей и предсказывали функции белков, работали в машинном зрении и распознавании рукописного текста. Методы опорных векторов доминировали в ML, пока с появлением AlexNet не настало время глубоких нейронных сетей. Сообщество машинного обучения переключилось на ИНС и SVM оказались в затруднительном положении, однако ядерные методы остаются мощными моделями. Они способны на большее, чем трюк с ядром. «Если у вас есть мощное ядро, то вы отображаете данные в пространство этого ядра, как бы бесконечномерное и очень мощное, — рассказывает Чиюань Чжан, научный сотрудник группы по изучению мозга в Google Research. — Вы всегда можете найти линейный разделитель в этом мощном скрытом пространстве, разделяющем данные, а возможных решений бесконечно много».  Ограничивая пространство поиска решений, теория ядер позволяет выбрать не просто произвольный линейный разделитель, а в определённом смысле лучший из возможных. Это сродни регуляризации — уменьшению количества параметров в модели, чтобы предотвратить переобучение. Чжан задался вопросом, могут ли глубокие нейронные сети делать что-то подобное. Глубокие нейронные сети имеют входной слой, выходной слой и по крайней мере один скрытый слой между ними. Чем больше слоёв, тем глубже сеть. Параметры сети представляют собой силу связей между нейронами.  Обучение сети для распознавания изображений — это предъявление сети ранее классифицированных изображений и определение значений её параметров, которые помогают правильно характеризовать изображения. После обучения ИНС представляет собой модель преобразования поданного изображения в выходной сигнал, то есть в метку или категорию. Чтобы выяснить, уменьшают ли нейросети количество настраиваемых параметров, тем самым неявно выполняя регуляризацию, в 2017 году Чжан и его коллеги провели серию эмпирических тестов на AlexNet и VGG. Другими словами учёные выясняли, влияет ли режим обучения на саму возможность переобучения. Команда обнаружила, что этого не происходит.  Оказалось, что AlexNet и другие подобные ИНС действительно могут переобучиться и не обобщать данные. Но когда тем же сетям, обученным по тому же алгоритму, давали данные без изменений, они не переобучались. Напротив, они хорошо обобщали данные, когда им давали данные без изменений.  Такая неявная регуляризация не может быть ответом на загадку, а вывод требует «лучшего объяснения, чтобы характеризовать обобщение в глубоких нейронных сетях», — рассказывает Чжан. Исследования показывали, что нейронные сети с бо́льшим количеством нейронов в одном слое в прогнозах так же сильны или превосходят свои аналоги с меньшим числом нейронов на один слой.  Некоторые учёные восприняли это как намёк: возможно, ИНС можно понять при помощи стратегии из физики, где «изучение предельных случаев иногда может упростить проблему», — сказал Ясаман Бахри, учёный-исследователь из команды изучения мозга Google Research.  Физики часто упрощают задачу, рассматривая крайние случаи. Что происходит, когда, например, число частиц в системе стремится к бесконечности? «В таких границах статистические эффекты могут стать проще», — рассказывает Бахри.  Что произойдёт с нейронной сетью с математической точки зрения при бесконечном количестве слоёв? В 1994 году почётный профессор Университета Торонто Рэдфорд Нил показал, что если веса этой сети заданы (инициализированы) с определёнными статистическими свойствами, то до обучения сеть математически эквивалентна знаменитой ядерной функции, которая известна как гауссовский процесс. То же самое справедливо и для идеализированных глубоких нейронных сетей с бесконечным числом нейронов, где скрытых слоёв больше. Этот факт в 2017 году показали две группы учёных, включая группу Бахри. «Известно, что по крайне мере иногда нейронные сети могут вести себя как ядерные методы». Артур Жако, Швейцарский федеральный технологический институт Лозанны Последствия поражают. Обычно аналитическое математическое выражение для прогнозирования новых данных использовать нельзя даже после обучения глубокой сети.  Это что-то вроде чёрного ящика: чтобы увидеть его содержимое, вы должны просто запустить сеть; но в идеализированном сценарии при инициализации сеть эквивалентна гауссовскому процессу. Иными словами, можно обучить ядерный метод, для которого существуют математические выражения, а нейронную сеть просто отбросить. «Как только вы сопоставите сеть с гауссовским процессом <…> сможете аналитически рассчитать, каким должно быть предсказание», — рассказывает Бахри. Это уже знаковый результат, но он математически не описывал то, что происходит во время самой распространённой формы обучения: было неясно, как решение может обобщаться настолько хорошо. Часть загадки связана с процессом обучения глубоких нейросетей, где работает алгоритм градиентного спуска. Сеть проходит по полному холмов и долин ландшафту высокой размерности, всё ниже спускаясь по ландшафту собственных ошибок, которые модель допустила на предоставленном наборе значений параметров.  После настройки параметров сеть достигает глобального минимума, то есть максимально приближается к точной классификации обучающих данных. Обучение сети — это, по сути, задача оптимизации, поиска глобального минимума. Обученная сеть — это почти оптимальная функция, которая отображает входные значения на выходные. Процесс обучения тяжело поддаётся анализу. Симон Ду, эксперт по машинному обучению из Университета Вашингтона в Сиэтле, рассказывает: «Ни одна существующая теория не может гарантировать, что если вы примените какой-либо широко используемый алгоритм, например градиентный спуск, то [ИНС] сможет сойтись к глобальному минимуму».  Понимать причину мы начали к концу 2018 года, когда к возможному ответу пришли несколько групп учёных одновременно. Это было сделано на основании математического анализа бесконечных сетей и анализа их связи с более понятными ядерными методами.  Примерно в то же время, когда свои работы опубликовала группа Ду, на главной в этой области конференции NeurIPS 2018 представил работу своей группы молодой швейцарский аспирант — Артур Жако. Статьи отличались в деталях, но суть заключалась в следующем:  Бесконечные глубокие нейронные сети, веса которых инициализируются с учётом определённых статистических свойств, в точности эквивалентны ядрам не только при инициализации, но и на протяжении всего обучения.  Ключевое предположение о весах состоит в том, что они очень мало изменяются по отдельности в процессе обучения, хотя чистый эффект от бесконечного числа малых изменений оказывается значительным.  С учётом таких предположений, Жако и его коллеги показали, что бесконечная глубокая нейронная сеть всегда эквивалентна ядру, которое в процессе обучения никогда не меняется и даже не зависит от обучающих данных.  Функция ядра зависит только от архитектуры нейронной сети, такой как её глубина и тип связности. Собственное ядро на основании некоторых геометрических свойств команда назвала нейронным касательным ядром. «Мы знаем, что по крайней мере иногда нейронные сети могут вести себя как ядерные методы, — говорит Жако. — Это первый шаг к тому, чтобы попытаться сравнить методы <...>». Вот самое важное в этом результате: он объясняет, почему глубокие нейронные сети сходятся к решению, по крайней мере в идеализированном сценарии.  Если рассматривать ИНС с точки зрения параметров и сложного ландшафта потерь, то эту сходимость трудно доказать математически.  Идеализированная глубокая сеть эквивалентна ядерному методу, поэтому мы можем использовать обучающие данные для обучения либо глубокой сети, либо ядерного метода. Оба решения найдут почти оптимальную функцию отображения входных данных на выходные. «Если понять, что происходит с ядерными методами, я думаю, это даст ключ к открытию волшебной шкатулки [нейронных сетей]». Михаил Белкин, Калифорнийский университет, Сан-Диего. Во время обучения эволюция функции, представленной бесконечной нейронной сетью, совпадает с эволюцией функции, представленной ядерным методом. Если смотреть на это в пространстве функций, то нейронная сеть и эквивалентный ей ядерный метод катятся по простому, чашеобразному ландшафту в некотором сверх размерном пространстве.  Легко доказать, что градиентный спуск приведёт к глобальному минимуму, на дно чаши. По крайней мере в случае этого идеализированного сценария «можно доказать глобальную конвергенцию, — рассказал Ду. — Вот почему люди из сообщества теории обучения очень взволнованы». Не все убеждены, что эквивалентность ядер и нейросетей будет справедлива для применяемых на практике сете с конечным числом нейронов, параметры которых в процессе обучения могут резко меняться.  «Я думаю, что есть ещё части головоломки, которые предстоит соединить», — сказал Чжан.  Есть и психологический аспект: нейронные сети обладают некой таинственностью, и сведение их к ядерным методам вызывает у Чжана разочарование.  «Отчасти я надеюсь, что эквивалентность — не ответ на загадку [успеха нейросетей], потому что тогда работает старая теория, а значит, загадка не так интересна». Но другие учёные взволнованы. Белкин считает, что, даже если ядерные методы — это старая теория, они до сих пор не понятны до конца. Его команда эмпирически продемонстрировала, что ядерные методы не переобучаются и хорошо обобщают данные тестового набора без необходимости регуляризации, подобно нейронным сетям и вопреки тому, чего мы ожидаем от традиционной теории обучения.  «Если мы поймём, что происходит с ядерными методами, я думаю, это действительно даст нам ключ к волшебной шкатулке [нейронных сетей]», — сказал Белкин. Дело не только в том, что исследователи лучше понимают математику ядер и это облегчает работу с ними в изучении нейронных сетей. С ядрами легче работать эмпирически. Они намного проще, не требуют случайной инициализации параметров, а их производительность более воспроизводима.  Исследователи начали выяснять связи между реальными работающими сетями и ядрами. Учёные рады видеть, насколько далеко может зайти это новое видение. «Если мы устанавливаем абсолютную, полную эквивалентность, я думаю, это может изменить всё», — утверждает Белкин. Пока учёные упрощают работу с нейросетями, вы можете обратить внимание на наши курсы, чтобы научиться с их помощью решать проблемы бизнеса и изменить карьеру: Профессия Data Scientist (24 месяца) Курс «Machine Learning и Deep Learning» (6 месяцев) Также вы можете перейти на страницы из каталога, чтобы узнать, как мы готовим специалистов в других направлениях. Data Science и Machine Learning Профессия Data Scientist Профессия Data Analyst Курс «Математика для Data Science» Курс «Математика и Machine Learning для Data Science» Курс по Data Engineering Курс «Machine Learning и Deep Learning» Курс по Machine Learning Python, веб-разработка Профессия Fullstack-разработчик на Python Курс «Python для веб-разработки» Профессия Frontend-разработчик Профессия Веб-разработчик Мобильная разработка Профессия iOS-разработчик Профессия Android-разработчик Java и C# Профессия Java-разработчик Профессия QA-инженер на JAVA Профессия C#-разработчик Профессия Разработчик игр на Unity От основ — в глубину Курс «Алгоритмы и структуры данных» Профессия C++ разработчик Профессия Этичный хакер А также: Курс по DevOps