) которого его он ему его него он ему представляет.
Эта статья опубликована в сообществе HUAWEI CLOUD.«[Совместное создание облачной резиденции] Совместное использование алгоритмов семантической сегментации на основе трансферного обучения», оригинальный автор: Цимин.
В этой статье мы поделимся двумя статьями об алгоритмах семантической сегментации, основанных на трансферном обучении. Первая статья: «Учимся адаптировать структурированное выходное пространство для семантической сегментации», вторая статья «ADVENT: минимизация состязательной энтропии для адаптации предметной области в семантической сегментации».
Часть 1. Введение в миграционную сегментацию
Семантическая сегментация, наряду с обнаружением и классификацией, являются тремя основными направлениями в области машинного зрения. Но семантическая сегментация сталкивается с двумя очень сложными проблемами по сравнению с обнаружением и классификацией:
Во-первых, в нем отсутствует набор данных. Набор данных классификации относится к категории, а набор данных обнаружения относится к кадру обнаружения.В случае сегментации его цель состоит в том, чтобы делать прогнозы на семантическом уровне. Это означает, что его аннотации также должны быть аннотациями на уровне пикселей. Мы знаем, что маркировка набора данных на уровне пикселей требует очень много времени и усилий.В качестве примера для Cityspaces в автономном вождении требуется 1,5 часа для маркировки изображения для этого набора данных. В этом случае, если мы хотим сами построить набор данных для семантической сегментации, затраты времени и энергии очень велики.
Другая проблема заключается в том, что семантическая сегментация также должна охватывать наборы данных реального мира. Но реальность такова, что трудно охватить все ситуации, такие как разная погода, разные места и разные стили зданий, которые являются проблемами, с которыми сталкивается семантическая сегментация.
Как исследователи решают эти две проблемы семантической сегментации перед лицом двух вышеупомянутых ситуаций?
Помимо решения на основе набора данных, они обнаружили, что стоимость маркировки может быть снижена за счет синтеза смоделированных наборов данных для замены этих реальных наборов данных с помощью таких методов, как компьютерная графика.
В качестве примера возьмем знакомую и распространенную игру GTA5: в GTA5 одна из задач — собрать данные симуляции в игре GTA5, а затем снизить стоимость маркировки за счет естественной маркировки движка данных. Но здесь есть проблема: модели, обученные на этих смоделированных данных, будут страдать от снижения производительности в реальном реальном мире. Поскольку традиционное машинное обучение требует предварительного условия, чтобы ваш тестовый набор и ваш обучающий набор имели одинаковое распределение, а ваш смоделированный набор данных и реальный набор данных должны иметь различия в распределении.
Поэтому наша текущая цель — решить проблему снижения производительности модели, обученной в исходном домене, на целевом домене с помощью исследуемого алгоритма миграции.
Представление основных вкладов двух документов и связанной с ними работы
основной вклад
Первая статья: «Учимся адаптировать структурированное пространство вывода для семантической сегментации»:
1. Предложен алгоритм сегментации передачи, основанный на оппортунистическом состязательном обучении;
2. Проверяется, что конфронтация в выходном пространстве эффективна для макета сцены и контекстной информации двух ее доменов;
3. Передаточная производительность модели дополнительно улучшается за счет сопоставления выходных данных нескольких уровней.
Вторая статья "ADVENT: Minimization Adversarial EntropyMinimization for Domain Adaptation in Semantic Segmentation":
1. Используйте функцию потерь на основе энтропии, чтобы сеть не делала прогнозы с низкой достоверностью в целевом домене;
2. Предлагается состязательный метод обучения, основанный на оппортунистической энтропии, с учетом как снижения энтропии, так и структурного выравнивания двух доменов;
3. Предложен метод ограничения, основанный на априорном распределении классов.
Связанных с работой
Прежде чем объяснять две статьи, давайте кратко представим еще одну статью: «FCNs in the wild». Эта статья является первой статьей, использующей трансферное обучение для семантической сегментации. Предлагается, чтобы признаки, извлеченные экстрактором признаков семантической сегментации, отправлялись в дискриминатор, а затем завершалась миграция задачи сегментации путем выравнивания глобальной информации.
Прежде всего, давайте сначала представим, что такое обычно используемая сеть семантической сегментации. Обычно используемая семантическая сегментация, как правило, состоит из двух частей: одна — это экстрактор признаков, например серия Resnet или серия VGG может использоваться для извлечения признаков изображения; другая — классификатор, который отправляет ранее извлеченные признаки в классификатор (классификация).Наиболее распространенным является PSP, или наиболее часто используемый ASPP в DeepLab V2 при сегментации DA). Подача признаков, упомянутых в извлечении признаков, в дискриминатор, завершает весь DA.
Почему отправка признаков в дискриминатор завершает DA? Из роли дискриминатора мы можем понять эту проблему.
Обучите дискриминатор, чтобы он мог различать, является ли входное изображение реальным или поддельным. В этом процессе необходимо использовать дискриминатор, чтобы различать, являются ли входные объекты исходным доменом или целевым доменом. После получения дискриминатора, способного различать исходный домен и целевой домен, параметры фиксированного дискриминанта остаются неизменными для обучения экстрактора признаков сети сегментации. Как тренироваться:Пусть этот экстрактор признаков запутает этот дискриминатор.
Так как же экстрактор признаков сбивает с толку дискриминатор? Независимо от того, извлекаются ли признаки исходного домена или целевого домена, необходимо выровнять распределения этих двух признаков В этом случае это эквивалентно выравниванию признаков этих двух доменов так, чтобы дискриминатор не мог их различить, тогда «Путаница» выполнена. Как только задача «обфускации» завершена, это означает, что экстрактор признаков извлек эту «инвариантную для предметной области» информацию.
Извлечение информации о «неизмененном домене» фактически выполняет процесс миграции. Поскольку сеть имеет функцию извлечения информации, «не зависящей от домена», как исходный домен, так и целевой домен могут извлекать очень хорошую функцию.
Следующие две статьи руководствуются идеей «использования конфронтации и дискриминатора», но разница в том, что ввод информации в дискриминатор в последних двух статьях отличается, и мы подробно представим его позже.
Анализ модели первого бумажного алгоритма
Название статьи: «Учимся адаптировать структурированное пространство вывода для семантической сегментации»
Этот документ, как и первая работа в предыдущем связанном рабочем документе, состоит из сети сегментации и дискриминатора. Как видно из приведенного выше рисунка или просто из названия, это выходное пространство адаптировано. Так что же такое выходное пространство?
Выходное пространство здесь состоит в том, что выходной результат сети сегментации речи становится вероятностной вещью после softmax, мы называем это вероятностным выходным пространством
Автор статьи считает, что использовать признаки непосредственно для сопоставления нехорошо, для сопоставления лучше использовать выходную пространственную вероятность.Почему? Потому что автор считает, что в оригинале, например классификации, все используют для этого признаки, а сегментация другая. Поскольку многомерный признак сегментации, представляющий собой часть признака перед вами, представляет собой очень длинный вектор, такой как последний слой Resnet101, его длина признака равна 2048. С такими многомерными признаками закодированная информация, конечно, более сложная. Но для семантической сегментации эта сложная информация может оказаться бесполезной. Это точка зрения автора.
Другой момент автора заключается в том, что, хотя выход семантической сегментации является низкоразмерным, то есть вероятностью выходного пространства, на самом деле существует только одно измерение количества категорий, то есть, если количество категорий равно c, его вероятность для каждого пикселя.Точка-это вектор c*1. Хотя это низкоразмерное пространство, вывод всего изображения фактически содержит богатую информацию, такую как сцена, макет и контекст. Автор этой статьи считает, что независимо от того, исходит ли изображение из исходного или целевого домена, результат сегментации должен иметь очень сильное сходство в пространстве. Потому что, будь то смоделированные данные или смоделированные данные, это одна и та же задача сегментации. Как показано на рисунке выше, исходный и целевой домены предназначены для автономного вождения. Очевидная точка зрения состоит в том, что большая часть середины может быть дорогой, небо наверху обычно является небом, а затем слева и справа могут быть здания. Распределение на этой сцене очень похожее, поэтому автор считает, что напрямую используя низкоразмерную вероятность, то есть вывод softmax для конфронтации, можно добиться очень хорошего эффекта.
Основываясь на двух вышеупомянутых выводах, автор решил поместить вероятность непосредственно в дискриминатор.Процесс обучения фактически такой же, как и GAN, за исключением того, что вместо передачи признаков в дискриминатор в дискриминатор передается вероятность конечного вывода.
Вернувшись к изображению выше, вы можете видеть, что два DA слева являются мультимасштабными. Возвращаясь к сети семантической сегментации, о которой мы упоминали в начале, она делится на экстрактор признаков и классификатор, Входными данными классификатора на самом деле являются признаки, извлеченные экстрактором признаков.
Как мы все знаем, Resnet на самом деле имеет несколько слоев. Исходя из этого, автор предлагает, чтобы выходное пространство противопоставлялось в последнем слое и предпоследнем слое соответственно. То есть две части признаков отправляются в классификатор, а затем результаты классификатора выносятся и вводятся в дискриминатор (дискриминатор) для сопоставления.
Подводя итог, инновация алгоритма этой статьи:
1. Противостояние в выходном пространстве с использованием структурной информации результатов предсказания сети.;
2. Модель дополнительно улучшается за счет сопоставления выходных данных нескольких уровней..
Итак, давайте посмотрим, каков будет результат, не так ли?
На картинке выше экспериментальный результат задания из GTA5 в Cityspaces. Мы видим, что первая базовая линия данных (Resnet) обучает модель в исходном домене, а затем переносит ее в целевой домен для тестирования. Второй фрагмент данных является результатом измерения функции 39.3. Хотя она улучшена по сравнению с исходной моделью, конфронтация со следующими двумя в выходном пространстве относительно низкая. Первый одиночный уровень предназначен для непосредственного извлечения функций из последнего слоя Resnet, а затем ввода их в классификатор для получения результата; второй многоуровневый — для борьбы с последними одним и двумя слоями Resnet, результат может видно , было бы лучше.
Анализ второй бумажной модели алгоритма
Название статьи: «ADVENT: минимизация состязательной энтропии для адаптации предметной области в семантической сегментации»
Далее поговорим о второй части: методе миграционной сегментации, основанном на снижении энтропии и противостоянии энтропии.
Чтобы понять эту статью, мы должны сначала понять понятие «энтропия». В качестве энтропии в статье автор использует информационную энтропию, которая равна P и logP в формуле, которая является логарифмом вероятности.
Семантическая сегментация — это когда сеть предсказывает каждый пиксель изображения. Затем для каждого пикселя окончательный результат представляет собой вектор c * 1, c — количество категорий, которые могут существовать, поэтому это должна быть вероятность каждой категории, умноженная на логарифмическую вероятность этой категории. Тогда для пикселя суммирование энтропии этой категории представляет собой энтропию этого пикселя. Поэтому для картинки необходимо суммировать длину и ширину картинки, то есть энтропию каждого пикселя.
Наблюдая за приведенным выше рисунком, автор обнаружил явление: распределение значений энтропии получается в карте сегментации исходного домена, и можно обнаружить, что в краевых частях этих категорий значение энтропии очень велико. (чем темнее цвет, тем ниже значение энтропии; чем светлее цвет, тем выше значение энтропии). Затем для изображения в целевом домене мы видим, что прогнозируемый результат имеет много светлых частей всего изображения. Поэтому автор считает, что из-за того, что на исходном домене слишком много бесполезных значений энтропии (из-за определенного шума), разрыв между исходным доменом и целевым доменом можно сократить, уменьшив значение энтропии целевой скорости. .
Итак, как уменьшить значение энтропии целевого домена? Автор предлагает два метода, которые являются алгоритмическими новшествами данной статьи:
1. Используйте функцию потерь на основе энтропии, чтобы сеть не делала прогнозы с низкой достоверностью в целевом домене.;
2. Мы предлагаем подход к состязательному обучению, основанный на энтропии, который учитывает как снижение энтропии, так и структурное выравнивание двух доменов..
Состязательное обучение используется для минимизации ценности энтропии, то есть для получения общей энтропии изображения и непосредственно оптимизировать общую энтропию с помощью градиента обратной обработки. Тем не менее, автор считает, что если снижение энтропии выполняется напрямую, будет проигнорирована большая информация, такая как система семантической структуры самого изображения самого изображения. Следовательно, автор опирается на метод первой статьи о выходных пространствах конфронтации и предлагает способ снижения энтропии с использованием обучения конфронтации.
Можно видеть, что энтропия исходного домена на предыдущем изображении очень низкая, поэтому он считает, что если можно использовать дискриминатор, чтобы отличить исходный домен от целевого домена, так что окончательные выходные карты энтропии исходного домена и целевой домен очень похожи, то можно уменьшить энтропию целевого домена. Конкретный метод аналогичен предыдущему, за исключением того, что первый заключается в непосредственном вводе вероятности в дискриминатор, а второй — в отправке энтропии в дискриминатор для различения, тем самым завершая весь процесс.
В этой статье рассматривается процесс уменьшения энтропии, с одной стороны, и используется структурная информация, с другой стороны, поэтому результаты эксперимента ясно показывают, что от GTA5 до Cityspace прямая минимизация энтропии по сравнению с FCN и использование выходного пространства для конфронтации Там должно быть большое улучшение, и энтропийное противостояние даже лучше, чем исходный метод.
Кроме того, автор также обнаружил, что если вероятности, предсказанные прямым уменьшением энтропии и конфронтацией энтропии, сложить вместе, а затем вычислить максимальное значение, то результат улучшится на несколько пунктов. В задаче семантической сегментации это улучшение очень значительное.
воспроизведение кода
Далее мы вступаем в процесс воспроизведения кода.
Принцип воспроизведения документа должен соответствовать конкретным методам, параметрам, дополнению данных и т. д., описанным в документе.
Чтобы воспроизвести этот раз, мы сначала искали открытый исходный код на GitHub, На основе открытого исходного кода две вышеупомянутые статьи были реализованы с помощью одного и того же фреймворка на основе фреймворка PyTorch. Если вы понимаете код одной бумаги, то очень легко понять код другой.
Ниже приведены два QR-кода, которые являются кодами двух документов, вы можете отсканировать коды для просмотра.
Введение в ModelArts
Оба документа основаны на ModelArts HUAWEI CLOUD. Сначала мы кратко представим ModelArts.
ModelArts — это универсальная платформа для разработки ИИ для разработчиков, обеспечивающая предварительную обработку массивных данных и полуавтоматическую маркировку, крупномасштабное распределенное обучение, автоматическое создание моделей и развертывание по требованию облачных моделей для машинного и глубокого обучения. , который помогает пользователям быстро создавать и развертывать модели и управлять рабочими процессами искусственного интеллекта полного цикла. В частности, он имеет следующие основные функции:
Управление данными, экономия до 80% затрат на ручную обработку данных: 9 инструментов аннотирования, охватывающих 4 основных формата данных изображения, звука, текста и видео, а также предоставление интеллектуальных аннотаций и групповых аннотаций для значительного повышения эффективности аннотаций; поддержка очистки данных, улучшение данных, проверка данных и другие общие возможности обработки данных; множество данных наборы Гибкое и наглядное управление версиями, поддержка импорта и экспорта наборов данных, простота использования для разработки и обучения моделей в ModelArts.
Управление разработкой, вы можете использовать локальную среду разработки (IDE) для подключения к облачному сервису: ModelArts можно не только разрабатывать в облаке через интерфейс (консоли управления), но также предоставляет функцию Python SDK.Вы можете использовать Python для доступа к ModelArts в любой локальной среде IDE через SDK, включая создание, обучение моделей, развертывание сервисов, и приближение к себе развития привычек.
Управление обучением, более быстрое обучение высокоточных моделей: 3 основных преимущества повсеместного рабочего процесса моделирования ИИ, сосредоточенного на больших моделях (EI-Backbone):
1. Обучайте высокоточные модели на основе данных небольшой выборки, экономя много затрат на маркировку данных;
2. Полномасштабный поиск архитектуры сети и технология автоматической оптимизации гиперпараметров могут автоматически и быстро повысить точность модели;
3. После загрузки предварительно обученной модели, интегрированной в EI-Backbone, процесс от обучения модели до развертывания может быть сокращен с недель до минут, что значительно снижает затраты на обучение.
Управление моделями, поддерживающее унифицированное управление всеми итеративными и отлаженными моделями.: разработка и настройка моделей ИИ часто требуют большого количества итераций и отладки. Изменения в наборах данных, обучающих кодах или параметрах могут повлиять на качество модели. Если метаданные процесса разработки не могут управляться единообразно, он может не можно воспроизвести оптимальное модельное явление. ModelArts поддерживает импорт моделей в 4 сценариях: выбрать из обучения, выбрать из шаблона, выбрать из образа контейнера, выбрать из OBS.
Управление развертыванием, развертывание одним щелчком мыши на устройствах, периферийных устройствах и облаках: ModelArts поддерживает несколько форм онлайн-рассуждений, пакетных рассуждений и рассуждений по краям. В то же время онлайн-рассуждения с высокой степенью параллелизма соответствуют требованиям большого объема онлайн-бизнеса, высокопроизводительные пакетные рассуждения могут быстро решить требования к рассуждениям данных о депонировании, а высокогибкое периферийное развертывание позволяет выполнять действия по рассуждениям в локальной среде. .
Управление изображениями, функция настраиваемого изображения поддерживает настраиваемый механизм выполнения: Нижний слой ModelArts использует технологию контейнеров.Вы можете создавать свои собственные образы контейнеров и запускать их в ModelArts. Настраиваемая функция зеркального отображения поддерживает параметры командной строки и переменные среды в текстовой форме, что очень гибко и может легко поддерживать требования запуска любого вычислительного механизма.
объяснение кода
Далее мы даем конкретное объяснение кода.
Это первая статья: противостояние многоуровневого вывода пространства в AdaptSegNet, код выглядит следующим образом:
Как упоминалось ранее, вероятность, полученная softmax, отправляется на дискриминатор, который показан красным прямоугольником на картинке выше.
Почему существуют D1 и D2? Как упоминалось ранее, функции могут использовать предпоследний уровень и предпоследний уровень Resnet101 для формирования многоуровневого состязательного процесса. Затем в конкретном проигрыше вы можете использовать bce_loss, чтобы справиться с конфронтацией.
Часть 2: Минимизация энтропии с помощью состязательного обучения в ADVENT
В этой статье необходимо вычислить энтропию. Как рассчитывается энтропия?
Сначала получите вероятность. Вероятность получается путем пропускания вывода сети через softmax, затем P*logP используется для получения значения энтропии, и энтропия отправляется в Дискриминатор.
В обеих статьях используются состязательные методы, единственное отличие состоит в том, что в одном из них используется вывод softmax, а в другом выходная вероятность softmax преобразуется в энтропию и отправляется. Код также внес это изменение. Поэтому, если вы можете понять процесс первого кода, легко начать работу со вторым кодом.
Эпилог
Набор данных семантической сегментации относительно велик, поэтому при обучении требуется очень мощная аппаратная поддержка. Вообще говоря, в лаборатории могут быть только графические процессоры 10/11/12g, и если вы используете Huawei Cloud ModelArts (ранее синтезируя введение функции в ModelArts), вы можете получить лучший выходной результат.
Если вы заинтересованы, вы можете нажать >>>Платформа для разработки ИИ ModelArts, перейдите в Опыт.
Если вас интересуют две статьи «Учимся адаптировать структурированное пространство вывода для семантической сегментации» и «ADVENT: Минимизация состязательной энтропии для адаптации предметной области в семантической сегментации», вы можете получить полный текст оригинальной статьи с помощью следующего QR-кода.
Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~