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

Один за другим ученые уходят, говоря фермеру, что им нужно время, чтобы проанализировать свои данные. Наконец-то остался один ученый, физик. Он подходит к фермеру: «У меня есть решение, - говорит он, - предположим, что это сферическая корова…»

Это плохая шутка, но в физическом сообществе это старый каштан.

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

Иногда мне кажется, что нам нужно больше сферических коров для глубокого обучения. Нейронные сети работают тем, что они дают точные прогнозы или полезные результаты, но мы не знаем, почему. VGG16, популярная сверточная нейронная сеть, используемая для распознавания изображений, имеет более 138 миллионов параметров, которые необходимо настраивать во время обучения. Стандартная модель в физике элементарных частиц - та, которая довольно хорошо описывает большую часть наблюдаемой Вселенной - имеет всего 32.

У физиков было фору в несколько тысяч лет, чтобы понять, как устроена Вселенная, но они только сейчас начинают добиваться прогресса в области нейронных сетей. В 2016 году (с изменениями в 2017 году) группа профессоров из Гарварда и Массачусетского технологического института выпустила статью, проливающую свет на необоснованную эффективность нейронных сетей. Их логика обладает той элегантностью, которая привлекла меня к физике, когда я был первокурсником колледжа. Это кажется слишком простым, слишком очевидным, но математика работает: сферическая корова.

Тайна нейронной сети

Одно мегапиксельное изображение в оттенках серого содержит 1 миллион пикселей, каждый из которых может иметь значение от 0 до 255. Это дает 25⁶¹⁰⁰⁰⁰⁰⁰ возможных способов построения изображения - больше, чем количество атомов во Вселенной. Тем не менее, мы просим нейронные сети посмотреть на изображение и определить вероятность того, что оно содержит кошку, человека или сферическую корову. Это кажется невозможным, но почему-то нейронные сети часто получают правильный ответ. В наши дни они правы чаще, чем люди.

Это странно. Необоснованно. Жутко. Как нейронные сети могут находить иголки в таком невероятно большом стоге сена?

Законы физики

Решение, предложенное Lin et al. концептуально прост. Хотя возможно создать почти бесконечное количество изображений, большинство из тех, что мы создаем, являются объектами, существующими в физическом мире. Мы фотографируем кошек, машины и людей. Эти вещи создаются и ограничиваются законами физики, а законы физики относительно просты. Помните, что всего 32 параметра описывают большую часть наблюдаемой Вселенной. В этом свете мы просим нейронные сети изучать не любую возможную картинку, а, скорее, чрезвычайно небольшое подмножество изображений, созданное по более простым правилам.

Формулы, которые вы должны были запоминать в школе, могли принимать бесконечное количество форм, но все они были простыми. Например, полная энергия отдельного тела зависит от квадрата его количества движения p². Большинство физических систем таковы. Их можно описать полиномами низкого порядка со степенями от 2 до 4. Таким образом, математически для того, чтобы нейронная сеть «изучила» физическую систему, она просто должна быть способна изучать полиномы низкого порядка.

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

Sigma здесь представляет собой нелинейное преобразование, такое как softmax, а A - это линейное преобразование, подобное A=Wx + b, то же самое вычисление, которое происходит внутри плотного слоя со смещением. На самом деле это так просто, просто серия связанных вместе матричных умножений.

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

Глубина и иерархия нейронной сети

Оказывается, нейронные сети настолько хороши в аппроксимации полиномов низкого порядка всего несколькими мелкими слоями, что Лин и др. Действительно должны искать причину, по которой более глубокие сети иногда работают лучше. Они полагают, что реальный мир также глубок. Отдельные атомы объединяются в молекулы, которые группируются в клетки, из которых состоят организмы, и так далее.

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

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

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

У нас есть еще один нерешенный вопрос, но для этого потребуется немного математики. Те читатели, которые не обращают внимания на уравнения, могут пропустить их до конца. В остальном вы, вероятно, задаетесь вопросом, почему мы не можем просто применить все эти композиции и прийти к окончательной упрощенной модели. Например, если мы допустим f(x) = x² и g(x) = x + 1, то композиция из двух:

(g ∘ f )(x) = g(x²) = x² + 1

Глубокая нейронная сеть могла бы изучать f и g независимо, но это кажется пустой тратой. Почему бы просто не выучить x² + 1 и покончить с этим? Если бы мир был детерминированным, мы могли бы. Но на каждом этапе появляются случайные шумы и ошибки, и мы пытаемся аппроксимировать функции, учитывая несовершенную информацию.

Лин и др. Показывают, что объединение уровней иерархии в одну функцию разрушает слишком много информации и дает худшие результаты. Нам лучше попытаться учесть каждый уровень в процессе. Это оставляет нам сети, которые являются глубокими, а не мелкими.

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

Сегодня построение нейронной сети - это больше искусство, чем наука. Поскольку мы недостаточно понимаем, почему они работают, нам остаются небольшие подсказки и уловки, которые кажутся произвольными, ошибки, которые трудно устранить, и множество экспериментов, которые тратятся впустую. Сферические коровы поначалу кажутся бесполезными, но, сопротивляясь побуждению возиться и взламывая свой путь к немного лучшим результатам, мы можем прийти к более продуктивному мышлению.

Нейронные сети работают, потому что работает физика. Их извилины и RELU эффективно изучают относительно простые физические правила, которые управляют кошками, собаками и даже сферическими коровами. Их слои отражают иерархию, которую мы находим в повседневной жизни, упорядочивая материю от атомов до галактик. Я очень рад видеть, как это обрамление может привести нас к прорывам в будущем.

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

Независимая редакция, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по обработке данных и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее и лучше строить модели машинного обучения.