В этой статье организовано выступление Чжун Шэна, главного научного сотрудника SoundNet, на Интернет-конференции RTC 2018 в режиме реального времени. Ниже приводится речевое содержание.Если вам нужен PPT и речевое видео, пожалуйста, получите его в конце статьи.
Об авторе: Чжун Шэн, нынешний главный научный сотрудник Shengwang, окончил математический факультет Пекинского университета со степенью бакалавра и доктора, а также постдокторант Исследовательского центра автоматизации Университета Мэриленда. Около 100 патентов на изобретения. Он был одним из основных членов MPEG/JVT (H.264) и INCITS, членом IEEE и опубликовал более 30 научных статей, охватывающих такие технические области, как распознавание образов, видеокодек и компьютерное зрение. Он работал старшим научным сотрудником и техническим директором корпорации Broadcom, вице-президентом по технологиям корпорации Huaya Microelectronics и генеральным директором компании Hisense Group Chip Company.
Добро пожаловать в гостиСообщество разработчиков RTC, чтобы обменяться опытом с другими разработчиками RTC.
Как мы все знаем, глубокое обучение имеет множество применений в сквозных системах видеосвязи в реальном времени, например, мы можем использовать его для сверхвысокого разрешения и добиться лучших результатов, мы используем его для восстановления изображений и мы также можем добиться лучших результатов. Если говорить о проблемах, то в приложениях, поддерживающих мобильные терминалы, мы должны учитывать ограничения сложности.Мы должны использовать небольшую модель, которая может работать в режиме реального времени на мобильных платформах, а энергопотребление и соотношение ЦП должным образом ограничены. Кроме того, он должен обеспечить лучший эффект обучения на относительно разумном наборе данных, чтобы он обладал сильной способностью к обобщению.
Чтобы кратко показать результаты, результаты, которые мы получаем с помощью традиционных алгоритмов, обычно размыты, в то время как алгоритмы, основанные на глубоком обучении, могут восстанавливать больше деталей и даже генерировать некоторые детали.
С точки зрения вычислений, в настоящее время мы можем увеличить разрешение 480x360 до 960x720 и достичь 120 кадров в секунду на графическом процессоре iPhone6, что позволяет более эффективно контролировать сложность.
Мы используем генеративно-состязательные сети для получения супер-баллов Генеративно-состязательные сети были популярны в последние два или три года На научной конференции по алгоритмам обучения искусственного интеллекта более 2/3 статей за последние два года связаны к генеративно-состязательным сетям. Генеративно-состязательные сети обычно включают в себя генератор и дискриминатор.Генератор максимально имитирует реальные данные, и обманывает дискриминатор, как настоящие данные, так что дискриминатор думает, что сгенерированные данные являются реальными и соответствуют распределению реальных данных. Задача дискриминатора прямо противоположна: он пытается сделать так, чтобы сгенерированные данные не прошли тест, чем выше стандарт, тем выше вероятность провала. Следовательно, генератор и дискриминатор вместе продвигаются вперед в конфликте друг с другом, и в конце концов дискриминатор не может отличить, истинно это или ложно.
Генератор должен пропустить случайное распределение, шум Z, через генератор, чтобы сгенерировать изображение, очень похожее на реальную вещь. На рисунке ниже наглядно видно, что генератор аппроксимирует распределение реальных данных.Зеленым цветом показано распределение, сгенерированное этой моделью.В конфликте реальные данные постепенно достигают распределения черной пунктирной линии. Z - это то, что я только что сказал. Например, случайная величина может генерировать результаты, которые мы хотим. Из формулы генератор на самом деле делает одну вещь. Он максимизирует вероятность ошибок дискриминатора, то есть различать Устройство не может различать между истинным и ложным и не может различить, является ли созданная вещь ложной, это значит сделать ее неправильной.
Этот дискриминатор сначала максимизирует вероятность того, что реальные данные верны, и минимизирует вероятность того, что генератор верен — это противоречие, которое я только что сказал, и его можно выразить формулами. Оптимальное решение этого дискриминатора имеет математическое решение, заключающееся в достижении равновесия Нэша. Объединение этих двух генераторов и дискриминаторов вместе представляет собой минимальную оптимизацию функции ценности.
Что не так с этим? Для того, чтобы пройти тест дискриминатора, генератор находит какие-то закономерности, которые он может генерировать лучше генерировать, поэтому после обучения, например, он с высокой вероятностью генерирует 1, потому что 1 легко пройти, это вертикаль, поэтому генератор учится определенному В каком-то смысле он будет немного умнее, он попытается изучить самые простые для изучения образцы и сгенерировать больше образцов, о которых легко судить Это то, что делает генератор, но это не идеальная ситуация.
Глядя на другой график, например, если распределение представляет собой равномерную окружность, генератор может, наконец, сойтись в определенном месте, и он всегда будет проходить, если он сходится в определенном месте. Поскольку дискриминатор всегда проходит успешно, состояние сети в конце концов сходится к такому состоянию. Генератору сложнее генерировать такое мультимодальное распределение с несколькими кластерами, и мы называем это явление коллапсом моды.
Каковы конкретные проблемы, связанные с этим?Позвольте мне кратко рассказать о том, как мы можем облегчить этот коллапс моды, чтобы генератор не попадал в состояние обмана дискриминатора. Во-вторых, нам дается сверточная нейронная сеть, насколько хорошо она работает и насколько хорошо обучается. Другими словами, учитывая задачу глубокого обучения, насколько маленькой может быть глубокая сверточная нейронная сеть и как она может достичь лучших результатов.
Чтобы уменьшить вероятность коллапса моды, обычно требуется добавить локальный предел, требующий от генератора не только обмануть дискриминатор, но и сделать его зашумленный вход похожим на реальную выборку, чтобы сгенерированный выходной сигнал соответствовал настоящий.Образцы не так уж плохи. Это эквивалентно добавлению элемента в функцию потерь, и сгенерированная вещь должна быть похожа на цель, то есть обучение с учителем.
С другой точки зрения, нейронная сеть глубокого обучения фактически представляет собой многообразие, и это многообразие является топологическим пространством, которое может отображать гомеоморфизм многообразия в N-мерное пространство действительных чисел.Гомеоморфное отображение означает положительное отображение, а обратное отображение оба непрерывные. Позвольте мне кратко рассказать об этом понятии. Например, поверхность в трехмерном пространстве представляет собой двумерное многообразие. С точки зрения кодирования она может соответствовать скрытому пространству. Скрытое пространство является двумерным, а положительное отображение — это уменьшение размерности, это процесс кодирования, или в задачах классификации мы попытаемся лучше классифицировать в скрытом пространстве. И наоборот, из латентного пространства в многообразие должно стать генератором, что представляет собой процесс декодирования, и восстановление из уменьшенных данных до того, как они выглядят, — это то, что нам нужно.
Эта поверхность находится в трехмерном пространстве, которое мы называем пространством окружающей среды. Вассерштейн разработал генеративную состязательную сеть, которая на самом деле имеет много слоев, достигая десятислойной сети. Все, что ему нужно сделать, это взять два распределения Гаусса: одно при нуле и одно при 40×40, и изучить распределение. Оказалось, что эта сеть глубокого обучения с десятью слоями не могла его обучить, и когда она сходилась, она отображалась в виде оранжевых точек, что было конечным состоянием конвергенции. Такие многообразия сложны для генеративно-состязательных сетей, когда распределение данных имеет несколько кластеров или смесь пиков.
Что такое сверточная нейронная сеть? Давайте посмотрим на сверточную нейронную сеть на основе скорректированной линейной единицы (ReLU), которую можно рассматривать как кусочно-линейное отображение, Мы видим, что эти обычно используемые функции активации на самом деле являются кусочно-линейными, независимо от того, есть ли параметры или случайный , является кусочно-линейное отображение.
Следовательно, это многообразие разделено на множество подпространств этими кусочно-линейными отображениями, и разделено на множество маленьких кубов, так что это многообразие становится множеством малых пространств после прохождения кодирующего многогранника.
Как понять, откуда взялся этот коллапс модели? Когда кодировщик E отображает многообразие M в скрытое пространство E(M), его распределение часто бывает чрезвычайно неравномерным, и его трудно классифицировать или контролировать в этом неравномерном сингулярном распределении. Задайте вопрос, можем ли мы ввести другое скрытое пространство, которое может быть отображено на Z и в сочетании с генератором G на G*T, может преобразовать это распределение Z' в лучшее и более равномерное распределение обратно в форму, поэтому независимо от классификация, или сделать контроль точек отбора проб, это должно быть относительно легко. Профессор Chengtong Qiu и другие проделали некоторую аналитическую работу Используя наилучшее качество отображения, куб, о котором я только что упоминал, может быть хорошо переназначен.
Если вы не сделаете отображение лучшего качества и не примените декодер напрямую, возникнут проблемы. Выполните равномерную выборку в области кодирования (обычно регулярную, например, однородность — это лучшее, что мы можем контролировать, неоднородные вещи нам трудно контролировать), затем я накладываю ее на граф области кодирования и сэмплирую их. Если сгенерированный точки восстанавливаются непосредственно генератором (тоже декодером), эти точки восстанавливаются и размещаются на исходном изображении, видно, что голова очень разреженная, эту разреженность можно понимать как использование этих точек в скрытом пространстве после кодирования. Трудно решить эффект равномерного восстановления даже в голове, используя единые точки выборки для декодирования, что также является своего рода коллапсом режима.
Если вы добавите эту карту передачи наилучшего качества, сделайте равномерную выборку в этом скрытом пространстве Z, а затем восстановите. Просто сказано, что наилучшее качество отображения и генератор объединены вместе, и восстановленный эффект относительно равномерен. Видно, что качество будет лучше, поэтому карта оптимального качества может очень упростить управление в равномерно распределенном скрытом пространстве.
Профессор Цю Чэнтун и другие обнаружили, что декодер и кодер могут быть математически связаны замкнутой формулой, Проще говоря, пока есть один, можно вывести другой, что математически гарантировано. Таким образом, при использовании глубокого обучения, пока один из них обучен, другой может быть восстановлен с помощью геометрических вычислений, а другой не нужно обучать, что избавляет от беспокойства о данных. Но на самом деле получить отображение наилучшего качества в многомерном пространстве сложно, и это в принципе непросто сделать при ограниченных вычислительных ресурсах. Так что это не полностью разрушает наше понимание глубоких нейронных сетей.
Здесь есть проблема, эту карту оптимального качества можно изучить и с помощью глубоких нейронных сетей. Второй естественный вопрос, надо ли учиться дважды? Можем ли мы выучить эту составную карту за один раз? Очевидно, что это очень практическая задача: есть две модели, которые объединяют ее в одну модель.
Глядя на коллапс режима с другой точки зрения, эта точка зрения может быть лучше понята. Например, есть двумерная поверхность в трехмерном пространстве, и каждая точка имеет касательную плоскость.Для более стандартизированного многообразия эта касательная плоскость должна быть двумерной плоскостью.Когда двумерная плоскость вырождается в линия Даже нульмерная точка, в которой должен произойти коллапс временной моды. Потому что, когда он вырождается в линию в направлении своего вектора нормали, независимо от того, как изменяется другая ось координат, это не повлияет на результат, то есть на схлопывание режима. Это особенно верно, когда он вырождается до нулевой размерности.
Мы можем добавить еще один штрафной член к функции потерь, этот штрафной член представляет собой разницу с единичной матрицей, этот член добавляется к функции потерь. Он пытается сделать касательное пространство полным рангом и не будет вырождаться в одно измерение или нулевое измерение, что также может эффективно уменьшить возникновение коллапса мод.Это чтобы посмотреть на эту проблему с другой точки зрения.
Следующий вопрос: насколько сильной может быть задана способность к обучению сверточной нейронной сети на основе выпрямленной кусочно-линейной функции активации (ReLU)? Другими словами, учитывая задачу, насколько маленькую нейронную сеть мы можем разработать для ее выполнения? Мы надеемся по-прежнему ограничивать его сложность, а не полностью открывать бесконечное исследование. Это дает нам некоторые рекомендации по изучению алгоритмов глубокого обучения на мобильных устройствах.
Только что я упомянул, что и кодировщик, и декодер являются кусочно-линейными функциями. Декодер делит куб на более мелкие части. Чем больше кубов, тем больше пробелов можно заполнить. Качество этой аппроксимации определяет конечный эффект кодировщика и декодера. . Это легко понять.Если кривую аппроксимировать одной прямой и четырьмя прямыми, то четыре отрезка однозначно будут лучше, а для бесконечной аппроксимации будет использовано еще больше линий.Конечно, существуют определенные ограничения на исходную кривую, такие как выпуклая поверхность и так далее.
Сложность этой коррекции, сложность кусочного отображения, является мерой, характеризующей мощность аппроксимации. Он определяется как максимальное количество связанных подмножеств в N-мерном пространстве-времени, и кодировщик линейен на каждом связанном подмножестве, что, грубо говоря, является кусочно-линейным. Это характеризует возможности данного декодера. Глубокая сверточная нейронная сеть из K+2 слоев, представленная самой сложной кусочно-линейной картой, которую она может представить.
Каждое множество разных параметров определяет множество кусочно-линейных функций.Конечно, когда параметры разные, его возможности разные. Затем следует такой вывод, что сложность глубоких нейронных сетей имеет верхнюю границу, что является хорошим выводом. Если мы знаем задачу, которую хотим изучить, и ее сложность выше этого верхнего предела, наша глубокая нейронная сеть спроектирована слишком маленькой, и она точно не будет хорошо учиться. Есть много проявлений плохого обучения, например плохая способность к обобщению. Независимо от того, сколько образцов вы обучаете, распределение, которое вы можете изучить, не соответствует распределению фактических данных и является смещенным. Мы можем представить, что в практических приложениях должны быть некоторые данные, которые на практике не так хороши.
В то же время он также имеет нижнюю границу, понимание нижней границы относительно простое, определенный вес, вес, который минимизирует сложность сети.
Таким образом, репрезентативная способность глубокой сверточной нейронной сети имеет верхнюю и нижнюю границы, что в основном отвечает на вопрос, который я только что сказал. У меня есть несколько опытов. Во-первых, потому что топологическое пространство требуется для выполнения гомеоморфного отображения.Это ограничение на самом деле является сильным ограничением.На самом деле можно выучить только несколько относительно простых топологических структур, не слишком сложные вещи, или можно выучить только одну часть и одну часть Это очень хорошо, но сложно узнать всю картину. Карта наилучшего качества может быть полезной, но вычисление этой карты наилучшего качества в многомерном пространстве также является сложной задачей. Третий вывод, учитывая, что любая глубокая сверточная нейронная сеть должна быть в состоянии найти многообразие, встроенное в пространство среды ее ввода, и его распределение не может быть изучено этой нейронной сетью. У нас есть определенный способ смягчить коллапс режима, у нас может быть определенный способ усложнения алгоритма, чтобы можно было определить сложность нейронной сети.
Если вы хотите узнать больше деталей,Нажмите здесь, чтобы получить PPT конференции RTC. При этом конференция имеет два адреса живого воспроизведения:Адрес воспроизведения видео один,Адрес воспроизведения видео 2.