Обучение известных операторов — часть 4

Шаблоны глубокого проектирования

Навигация

Это конспект лекций FAU YouTube Lecture Deep Learning. Это полная стенограмма видео лекции и соответствующие слайды. Мы надеемся, вам понравится это так же, как видео. Конечно, эта стенограмма была создана с использованием методов глубокого обучения в основном автоматически, и вручную были внесены лишь незначительные изменения. "Попробуй сам!" Если вы заметили ошибки, сообщите нам об этом!

Спасибо

Предыдущая лекция / Посмотреть это видео / Верхний уровень

Добро пожаловать обратно в глубокое обучение! Это оно. Это заключительная лекция. Итак, сегодня я хочу показать вам еще пару приложений этой известной операторной парадигмы, а также некоторые идеи, к которым, как я полагаю, могут привести будущие исследования. Итак, давайте посмотрим, что у меня есть для вас. Ну, одна вещь, которую я хотел бы продемонстрировать, это упрощенный конвейер современных слуховых аппаратов. Это сотрудничество с компанией, производящей слуховые аппараты, и у них обычно есть конвейер обработки сигналов, в котором у вас есть два микрофона. Они собирают некоторые речевые сигналы. Затем это прогоняется через банк фильтров анализа. Таким образом, это, по сути, краткосрочное преобразование Фурье. Затем это передается через направленный микрофон, чтобы сосредоточиться на вещах, которые находятся перед вами. Затем вы используете шумоподавление, чтобы улучшить разборчивость для человека, который носит слуховой аппарат. За этим следует автоматическая регулировка усиления, и, используя регулировку усиления, вы выполняете синтез частотного анализа обратно в речевой сигнал, который затем воспроизводится через громкоговоритель в слуховом аппарате. Итак, есть также повторяющееся соединение, потому что вы хотите подавить петли обратной связи. Такой пайплайн можно найти в современных слуховых аппаратах разных производителей. Здесь вы видите несколько примеров, и ключевой проблемой всей этой обработки является уменьшение шума. Это трудная часть. Все остальное мы умеем решать с помощью традиционной обработки сигналов. А вот с шумоподавлением большая проблема.

Так что мы можем сделать? Ну, мы можем сопоставить весь этот конвейер слуховых аппаратов с глубокой сетью. В глубокой рекуррентной сети все эти шаги могут быть выражены в терминах дифференцируемых операций.

Если мы это сделаем, мы создадим следующую схему. На самом деле наша сеть здесь не такая глубокая, потому что у нас всего три скрытых слоя, но с 2024 скрытыми узлами и ReLU. Затем это используется для прогнозирования коэффициентов усиления фильтра Винера для подавления каналов с определенными шумами. Итак, это установка. У нас есть ввод семи тысяч семисот четырнадцати узлов из нашего нормализованного спектра. Затем это прогоняется через три скрытых слоя. Они полностью связаны с ReLU, и, в конце концов, у нас есть некоторый результат, который составляет 48 каналов, созданных сигмоидой, производящей наше усиление Винера.

Мы оценили это на некотором наборе данных, и здесь у нас было 259 чистых речевых сигналов. Затем у нас было 48 нестационарных шумовых сигналов, и мы их микшировали. Таким образом, вы можете возразить, что то, что мы, по сути, тренируем здесь, является своего рода рекуррентным автоэнкодером. На самом деле, шумоподавляющий автоэнкодер, потому что на вход мы берем чистый речевой сигнал плюс шум, а на выходе хотим получить чистый речевой сигнал. Теперь это пример.

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

Давайте рассмотрим еще одну идею. Можем ли мы вывести сети? Итак, допустим, у вас есть сценарий, в котором вы собираете данные в формате, который вам не нравится, но вы знаете формальное уравнение между данными и прогнозом.

Давайте посмотрим на пример здесь. В этом случае мы делаем ребиннинг проекций MR. Мы будем делать сбор данных в k-пространстве, и обычно это просто параллельные проекции. Теперь мы заинтересованы в создании наложения для рентгеновских лучей, а для рентгеновских лучей нам нужна геометрия приходящего луча. Итак, мы берем пару наших проекций, а затем ребинируем их, чтобы они точно соответствовали геометрии встречного луча. Самое классное здесь то, что мы сможем объединить контрасты МРТ и рентгена в одном изображении. Это непросто. Если вы инициализируете только фильтр Ram-Lak, вы получите следующее. Итак, на этом графике вы можете увидеть разницу между прогнозом и истинной истиной зеленым цветом, истинность или метка основания показаны синим цветом, а наш прогноз показан оранжевым цветом. Здесь мы тренировались только на геометрических примитивах. Итак, мы тренируемся с суперпозицией цилиндров и некоторым гауссовым шумом и так далее. В обучающем наборе данных никогда нет ничего, что хотя бы отдаленно напоминало человека, но мы берем это и сразу же применяем к антропоморфному фантому. Это сделано для того, чтобы показать вам универсальность метода. Здесь мы оцениваем очень мало коэффициентов. Это дает нам очень хорошие свойства обобщения на вещи, которые никогда не встречались в обучающем наборе данных. Итак, давайте посмотрим, что происходит на итерациях. Вы можете видеть, как фильтр деформируется, и мы приближаемся, конечно же, к правильному изображению этикетки. Еще одна вещь, которую вы видите, это то, что это изображение справа стало значительно лучше. Если я сделаю еще пару итераций, вы увидите, что мы действительно можем получить четкое и резкое изображение. Очевидно, что мы также можем рассматривать не только один фильтр, но и отдельные фильтры для разных параллельных проекций.

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

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

Это довольно интересно, но вы очень быстро понимаете, что одна из причин, по которой фильтр Frangi не работает, заключается в неадекватной предварительной обработке. Таким образом, мы также можем объединить это с своего рода сетью предварительной обработки. Здесь идея заключается в том, что вы берете, скажем, U-net или управляемую фильтрующую сеть. Кроме того, управляемый фильтр или, кстати, совместный билатеральный фильтр можно отображать на слои нейронной сети. Вы можете включить их здесь, и вы разрабатываете специальный проигрыш. Эта особая потеря не просто оптимизирует вывод сегментации, но здесь вы комбинируете ее с какой-то потерей автоэнкодера. Таким образом, в этом слое вы хотите иметь предварительно обработанное изображение, которое все еще похоже на вход, но с такими свойствами, чтобы сегментация сосудов с использованием 8-масштабного фильтра Фрэнки была намного лучше. Итак, мы можем поместить это в нашу сеть и обучить ее. В результате мы получаем обнаружение сосудов, и это обнаружение сосудов находится на одном уровне с U-net. Теперь U-Net — это, по сути, метод черного ящика, но здесь мы можем сказать: «Хорошо, у нас есть своего рода сеть предварительной обработки». Кстати, с управляемым фильтром это работает очень хорошо. Таким образом, это не обязательно должна быть U-net. Это своего рода подход к отладке нейронной сети. Вы можете показать, что теперь мы можем модуль за модулем заменять части нашей U-сети. В последней версии у нас вообще больше нет U-сетей, но здесь есть управляемая фильтрующая сеть и фильтр Frangi. По сути, это такая же производительность, как и у U-net. Таким образом, мы можем модульно разделить наши сети. Зачем вам создавать модули? Причина в том, что модули можно использовать повторно. Итак, здесь вы видите вывод данных визуализации глаз офтальмологических данных. Это типичное изображение глазного дна. Итак, это RGB-изображение фона глаза. Он показывает слепое пятно, где все сосуды проникают в сетчатку. Фовеа — это место, где у вас самое лучшее разрешение на сетчатке. Теперь, как правило, если вы хотите проанализировать эти изображения, вы просто берете канал зеленого цвета, потому что это канал с самой высокой контрастностью. Результат нашей сети предварительной обработки можно показать здесь. Итак, мы получаем существенное снижение шума, но в то же время мы получаем и этот акцент на суда. Таким образом, улучшается отображение сосудов, а также сохраняются мелкие сосуды.

Хорошо, это хорошо, но работает только с данными о глазном дне, верно? Нет, наша модульность показывает, что если мы возьмем такое моделирование, мы сможем перевести фильтр в совершенно другую модальность. Теперь это оптическая когерентная томографическая ангиография (ОКТА), специализированный метод для получения изображений сосудов без контраста на фоне глаза. Теперь вы можете продемонстрировать, что наш фильтр предварительной обработки может быть применен к этим данным без какой-либо дополнительной тонкой настройки, обучения или чего-то еще. Вы берете этот фильтр и применяете его к изображениям анфас, которые, конечно же, показывают похожую анатомию. Но вам вообще не нужно никакого обучения работе с данными OCTA. Это входное изображение OCTA слева. Это результат нашего фильтра в центре, а это 50% смесь двух фильтров справа. Здесь у нас есть увеличенные области, и вы можете очень хорошо видеть, что то, что выглядит как шум, на самом деле преобразуется в сосуды на выходе нашего фильтра. Теперь о качественных результатах. Кстати, до сих пор у нас, наконец, есть и количественные результаты, и мы на самом деле очень довольны тем, что наша сеть предварительной обработки действительно способна производить суда в нужных местах. Итак, это очень интересный результат, и он показывает нам, что мы можем как бы разбить сети на модули и сделать их пригодными для повторного использования без необходимости их обучения. Итак, теперь мы, вероятно, можем генерировать блоки, которые можно пересобирать в новые сети без дополнительной настройки и тонкой настройки. Это на самом деле довольно круто.

По сути, это возвращает нас к нашему классическому конвейеру распознавания образов. Помните, мы смотрели на это «в самом начале». У нас есть датчик, предварительная обработка, характеристики и классификация. Классическая роль нейронных сетей заключалась в том, чтобы просто классифицировать, и у вас на пути были все эти инженерные разработки. Мы сказали, что гораздо лучше использовать глубокое обучение, потому что тогда мы делаем все от начала до конца и можем оптимизировать все по пути. Теперь, если мы посмотрим на этот график, мы также можем подумать о том, действительно ли нам нужно что-то вроде шаблонов проектирования нейронных сетей. Одним из шаблонов проектирования, конечно же, является сквозное обучение, но вы также можете включить эти потери предварительной обработки автоэнкодера, чтобы получить максимум от ваших сигналов. С одной стороны, вы хотите убедиться, что у вас есть интерпретируемый модуль, который все еще остается в домене изображения. С другой стороны, вы хотите иметь хорошие функции, и еще одна вещь, о которой мы узнали в этом классе, — это многозадачное обучение. Итак, многозадачное обучение связывает одно и то же скрытое пространство с разными проблемами с разными результатами классификации. Таким образом, реализуя многозадачную потерю, мы гарантируем, что получим очень общие функции и функции, которые будут применимы к широкому кругу различных задач. Итак, по сути, мы можем видеть, что при соответствующем построении наших функций потерь мы фактически вернулись к нашему классическому конвейеру распознавания образов. Это не тот конвейер распознавания образов, который был у нас в классическом смысле, потому что все сквозное и дифференцируемое. Итак, вы можете возразить, что прямо сейчас мы идем к CNN, ResNets, глобальному пулу, дифференцируемому рендерингу и даже к известным операциям, которые встроены в эти сети. Затем мы, по сути, получаем модули, которые можно рекомбинировать, и, вероятно, мы придем к дифференцируемым алгоритмам. Это путь, по которому мы идем: дифференцируемые, настраиваемые алгоритмы, которые можно точно настроить, используя лишь небольшое количество данных.

Я хотел показать вам эту концепцию, потому что я думаю, что обучение известным операторам довольно круто. Это также означает, что вам не нужно отбрасывать всю классическую теорию, о которой вы уже узнали: преобразования Фурье и все хитроумные способы обработки сигнала. Они по-прежнему очень полезны, и их можно встроить в ваши сети, а не только с помощью регуляризации и потерь. Когда мы говорили об этом компромиссе между предвзятостью и дисперсией, мы уже видели, что это, по сути, один из способов одновременного уменьшения дисперсии и предвзятости: вы включаете предварительные знания о проблеме. Итак, это довольно круто. Затем вы можете создавать алгоритмы, изучать веса, вы уменьшаете количество параметров. Теперь у нас есть хорошая теория, которая также показывает нам, что то, что мы здесь делаем, правильно и практически все современные методы могут быть интегрированы. Существует очень мало операций, где вы не можете найти субградиентную аппроксимацию. Если вы не найдете субградиентного приближения, вероятно, есть и другие способы обойти его, чтобы вы все еще могли с ним работать. Это делает методы очень эффективными, интерпретируемыми, и вы также можете работать с модулями. Итак, это довольно круто, не так ли?

Что ж, это наше последнее видео. Итак, я также хочу поблагодарить вас за этот захватывающий семестр. Это первый раз, когда я полностью преподаю этот класс в видеоформате. Пока что, что я слышал, отзывы в целом были очень положительными. Так что, большое спасибо за обратную связь на пути. Это также очень важно, и вы можете видеть, что мы улучшали лекцию в различных случаях с точки зрения аппаратного обеспечения, а также того, что включать, и так далее. Большое спасибо за это. Мне было очень весело с этим, и я думаю, что я продолжу делать много вещей в будущем. Так что я думаю, что эти видеолекции — довольно крутой способ, особенно если вы учите большой класс. В случае без коронавируса у этого класса будет аудитория в 300 человек, и я думаю, что если мы будем использовать такие вещи, как эти записи, мы также сможем получить очень личный способ общения. Я также могу использовать время, которое не провожу в лекционном зале, для организации таких вещей, как сессии вопросов и ответов. Итак, это довольно круто. Еще одна крутая вещь: мы даже можем делать конспекты лекций. Многие из вас жаловались, что в классе нет конспектов лекций, и я сказал: «Послушайте, мы делаем этот класс современным. Мы включаем самые новые и самые крутые темы. Очень сложно делать конспекты лекций». Но на самом деле глубокое обучение помогает нам делать конспекты лекций, потому что у нас есть видеозаписи. Мы можем использовать распознавание речи на звуковой дорожке и создавать конспекты лекций. Итак, вы видите, что я уже начал это делать, и если вы вернетесь к старым записям, вы увидите, что я уже разместил ссылки на полную расшифровку. Они публикуются в виде сообщений в блогах, и вы также можете получить к ним доступ. Кстати, как и видео, это сообщения в блогах, и все, что вы видите здесь, лицензировано с использованием Creative Commons BY 4.0, что означает, что вы можете свободно использовать любую часть этого, распространять и делиться им. В общем, я думаю, что эта область машинного обучения и, в частности, методы глубокого обучения, сейчас развиваются быстрыми темпами. Мы все еще идем вперед. Так что я не думаю, что эти вещи и разработки прекратятся очень скоро, и в этой области все еще очень много волнений. Я также очень рад, что могу показать вам новейшие вещи на таких лекциях, как эта. Итак, я думаю, что впереди нас ждут новые захватывающие прорывы, и это означает, что мы будем корректировать эту лекцию и в будущем, выпускать новые лекционные видео, чтобы иметь возможность использовать новейшие новейшие и лучшие методы.

Кстати, то, что я показывал вам в этой лекции, конечно же, не только нашей группы. Мы объединили множество различных результатов, полученных другими группами по всему миру, и, конечно же, с результатами, полученными в Эрлангене, мы работаем не в одиночку, а работаем в большой сети международных партнеров. Я думаю, что именно так нужно вести науку, как сейчас, так и в будущем. У меня есть дополнительные ссылки. Хорошо. Итак, в этом семестре все. Большое спасибо за то, что прослушали все эти видео. Надеюсь, вы хорошо повеселились с ними. Что ж, давайте посмотрим, я почти уверен, что снова буду преподавать в следующем семестре. Так что, если вам нравится этот, вы можете присоединиться к одному из наших других классов в будущем. Большое спасибо и до свидания!

Если вам понравился этот пост, вы можете найти «больше эссе здесь», больше учебных материалов по машинному обучению «здесь» или посмотреть нашу «Глубокое» «Обучение» «Лекцию». Я также был бы признателен за подписку на «YouTube», «Twitter», «Facebook» или «LinkedIn», если вы хотите получать информацию о новых эссе, видео и исследованиях в будущем. Эта статья выпущена на условиях «Creative Commons 4.0 Attribution License» и может быть перепечатана и изменена при ссылке. Если вы заинтересованы в создании расшифровок видеолекций, попробуйте «Автоблог».

Большое спасибо Weilin Fu, Florin Ghesu, Yixing Huang Christopher Syben, Marc Aubreville и Tobias Würfl за их поддержку в создании этих слайдов.

использованная литература

[1] Флорин Гесу и др. Надежное многомасштабное обнаружение анатомических ориентиров в неполных данных 3D-CT. Вычисление медицинских изображений и компьютерное вмешательство MICCAI 2017 (MICCAI), Квебек, Канада, стр. 194–202, 2017 г. — Премия MICCAI для молодых исследователей
[2] Florin Ghesu et al. Многомасштабное глубокое обучение с подкреплением для обнаружения трехмерных ориентиров в режиме реального времени при компьютерной томографии. IEEE Transactions по анализу образов и машинному интеллекту. ePub перед печатью. 2018
[3] Bastian Bier et al. Обнаружение инвариантных анатомических ориентиров с помощью рентгеновского преобразования для хирургии травмы таза. MICCAI 2018 — Премия MICCAI для молодых исследователей
[4] Yixing Huang et al. Некоторые исследования надежности глубокого обучения в томографии с ограниченным углом. MICCAI 2018.
[5] Андреас Майер и др. Точное обучение: к использованию известных операторов в нейронных сетях. ICPR 2018.
[6] Тобиас Вюрфль, Флорин Гесу, Винсент Кристляйн, Андреас Майер. Компьютерная томография с глубоким обучением. MICCAI 2016.
[7] Hammernik, Kerstin, et al. «Архитектура глубокого обучения для реконструкции компьютерной томографии с ограниченным углом». Bildverarbeitung für die Medizin 2017. Springer Vieweg, Berlin, Heidelberg, 2017. 92–97.
[8] Aubreville, Marc, et al. «Глубокое шумоподавление для слуховых аппаратов». 2018 16-й Международный семинар по усилению акустического сигнала (IWAENC). IEEE, 2018.
[9] Кристофер Сибен, Бернхард Штимпель, Джонатан Ломмен, Тобиас Вюрфль, Арнд Дёрфлер, Андреас Майер. Получение архитектур нейронных сетей с использованием точного обучения: преобразование параллельного луча в веерный. GCPR 2018. «https://arxiv.org/abs/1807.03057»
[10] Fu, Weilin, et al. «Франжинет». Bildverarbeitung für die Medizin 2018. Springer Vieweg, Berlin, Heidelberg, 2018. 341–346.
[11] Фу, Вейлин, Леннарт Хусвогт и Стефан Плонер, Джеймс Г. Майер. «Извлеченный урок: модульность глубоких сетей позволяет повторно использовать кросс-модальность». Препринт arXiv arXiv: 1911.02080 (2019).

Итак, пример, который я показываю здесь, — это сбор данных конусным лучом. Это просто типичная рентгеновская геометрия. Итак, вы делаете рентгеновский снимок, и он обычно выполняется в геометрии конус-луч. Теперь, что касается геометрии конус-луч, мы можем полностью описать ее с помощью этого линейного оператора, как мы уже видели в предыдущем видео. Итак, мы можем выразить отношение между объектом x, нашей геометрией A, индекс CB, и нашей проекцией p, индекс CB. Получение конического луча не так уж и велико, потому что у вас есть увеличение. Поэтому, если у вас есть что-то близкое к источнику, оно будет увеличено больше, чем объект, расположенный ближе к детектору. Таким образом, это не так уж хорошо для диагностики. В ортопедии предпочитают параллельные проекции, потому что если у вас что-то есть, то оно будет проецироваться ортогонально и не увеличиваться. Это было бы очень полезно для диагностики. У вас будут метрические проекции, и вы можете просто измерить проекцию, и она будет иметь тот же размер, что и внутри тела. Так что это было бы очень хорошо для диагностики, но обычно мы не можем измерить это с помощью имеющихся у нас систем. Итак, чтобы создать это, вам пришлось бы создать полную реконструкцию объекта, сделав полную компьютерную томографию со всех сторон, а затем реконструировать объект и спроецировать его снова. Как правило, в ортопедии люди не любят объемные срезы, потому что их слишком сложно читать. Но проекционные изображения гораздо приятнее читать. Ну, что мы можем сделать? Мы знаем, что коэффициент, который соединяет два уравнения, равен x. Таким образом, мы можем просто решить это уравнение здесь и получить решение относительно x. Однажды у нас есть x и матрица, обратная здесь A индексу CB, умноженному на p индексу CB. Затем мы просто умножаем его на наш производственный образ. Но мы не заинтересованы в реконструкции. Нас интересует вот это проекционное изображение. Итак, давайте подставим его в наше уравнение, и тогда мы увидим, что, применяя эту серию матриц, мы можем преобразовать наши конусно-лучевые проекции в параллельные лучевые проекции p с индексом PB. Никакой реальной реконструкции не требуется. Требуется лишь своего рода промежуточная реконструкция. Конечно, здесь вы не просто получаете одну проекцию. Возможно, вы захотите приобрести пару таких проекций. Допустим, три или четыре проекции, но не тысячи, как при компьютерной томографии. Теперь, если вы посмотрите на этот набор уравнений, мы знаем все операции. Итак, это довольно круто. Но у нас есть эта обратная здесь, и обратите внимание, что это снова своего рода проблема реконструкции, обратная большая матрица, которая в значительной степени разрежена. Итак, у нас все еще есть проблема с оценкой этого парня. Это очень дорого сделать, но мы живем в мире глубокого обучения и можем просто постулировать вещи. Итак, давайте предположим, что эта инверсия — просто свертка. Таким образом, мы можем заменить его преобразованием Фурье, диагностической матрицей K и обратным преобразованием Фурье. Внезапно я оцениваю только параметры диагональной матрицы, что несколько упрощает задачу. Мы можем решить это в этой области, и снова мы можем использовать наш трюк, который мы по существу определили здесь известную топологию операторной сети. Мы можем просто использовать его с нашими методами нейронной сети. Мы используем алгоритм обратного распространения, чтобы оптимизировать этого парня. Мы просто используем другие слои как фиксированные слои. Кстати, это можно было реализовать и для нелинейных формул. Итак, помните, как только мы сможем вычислить субградиент, мы сможем подключить его к нашей сети. Таким образом, вы также можете делать очень сложные вещи, такие как, например, включение медианного фильтра.

Обучение известных операторов — Часть 4