Научно-технический вебинар «Нейросетевые методы вычислительного оптимального транспорта для построения генеративных моделей на непарных данных»

19 декабря 2023, 17:00 MCK

О вебинаре

  • Спикер

    Коротин Александр, Сколтех, AIRI, Москва, Россия

  • Тема

    Научно-технический вебинар «Нейросетевые методы вычислительного оптимального транспорта для построения генеративных моделей на непарных данных»

  • Подробнее про вебинар

    Спикер о вебинаре:
    В докладе будет рассказано о новых методах обучения глубоких генеративных моделей на основе математической теории оптимального транспорта (ОТ). Основное внимание будет уделено новым алгоритмам на основе нейронных сетей для вычисления ОТ и их применению для решения практических задач перевода домена (перенос стиля, сверх-разрешение изображений, и т.д.) с использованием лишь непарных обучающих выборок данных.

    Ссылка на регистрацию: https://ntrlab.zoom.us/webinar/register/2816215944077/WN_xrlj59cBRiCMM9HAM3ZJzA

    Презентация: https://drive.google.com/file/d/16tBu_BBYmOeyuw62TU0AqzZDjPYdHkHX

    Видеозапись: https://www.youtube.com/watch?v=RDylNfNofUo

    Расшифровка вебинара:
    Расшифровка выполнена с помощью системы автопрокотолирования Protocol.AI, разработанной НТР
    Да, всем добрый день еще раз. Я Александр Коротин, руководитель и сельской группы в Сколковском институте науки и технологии и научный сотрудник института искусственного интеллекта. И сегодня я расскажу как раз про те методы, которые непосредственно я и очень многие из моих коллег разрабатываем, а именно это методы на основе так называемой теории оптимального транспорта для генеративного моделирования и преимущество. В своем докладе я буду фокусироваться на применение этих методов к так называемым задачам непарного обучения. Понятно, что, возможно, многие слушателям не знакомы с оптимальным транспортом с непарным обучением а. Вот по по ходу презентации я вот все эти термины аккуратно в виду поясню, что это такое, для чего оно нужно и почему это логично, скажем так, использовать в транспорт для построения конкретных генеративных моделей. Ну а начну я с того, что напомню просто зрителем, что же такое вообще генеративное моделирование и на какие, можно сказать, подклассы, задачи в нем обычно подразделяются? Вот обычно под генетивным моделированием, под построение моделей для синтеза искусственных данных. То есть, например, у нас есть какая то уже известная выборка данных, ну, например, вот будь то выборка лица знаменит и так далее, и мы хотим генерировать какие то новые данные, которые были бы похожи на данные, которые у нас имеются в обучающей выборке, например, за тем, чтобы аргументировать датасеты, то есть увеличивать размер выборок для последующего обучения каких то моделей распознавания или чего угодно. а поверх этих вот классическая задача генеративного моделирования такая самая простая задача генеративного уделлирования. Это, собственно, оно и есть генерация данных, которые похожи на уже имеющиеся данные и обычно под словом генеративное моделирование особенно последние лет, наверное, десять даже в принципе вот подрывают следующий подход к решению задачи генеративного моделирования, а именно предполагается, что данные, которые у нас есть, ну, например, лица людей это какая то выборка из какого то сложного многомерного, вероятно, самого распределения данных. И чтобы генерировать вот эти вот данные сложные, обычно делается как генерируются какие то простые данные, которые элементарно генерирует случайный шум с помощью случайного генератора. У каждого компьютере он есть. а дальше к этому случайному шуму применяется какая то сложная последовательность преобразований, описываемой обычной нейронной сетью, которая из этих простых объектов делают сложные объекты, то есть она может принимать на вход а простые объекты случайный шум и путем преобразовании генерирует из них сложные объекты из того распределения данных, которые нам нужно. Ну и, естественно, вопросы, как такую не рассеть обучить, чтобы она с этой задачей справлялась. Ну, в общем, вот эта задача, которая здесь описана как первый случай, классически называется задачей безусловной генерации. И за время существования генеративного моделирования, конечно, претерпело очень много всяких изменений. Надстройкой и вот эти все современные модели для генерации изображений типа там далее кондинский и так далее, они, конечно, внутри себя решают вот такую задачу на самом деле, но с дополнительными наворотами, а именно об условной модели и так далее. Вот другой класс моделей генеративных, которые обычно называют не столько даже генеративными моделями, сколько моделями перевода домена, это модели, в которых по одним данным нужно сгнировать другие данные, например, где такие задачи возникают. Но это все возможные. например, задачи обработки изображений, например, кларизация переносили сверхразрешение и так далее, да? То есть в этих задачах на вход генеративной модели поддается какой то объект, уже довольно сложный какой то объект, и нужно изменить характеристики этого объекта так, чтобы объект сначала лежал в одном домене и приобрел трибуты какого то другого домена. Вот и в контексте данной презентации мы будем говорить в основном о задаче генеративном длине второго типа, да, То есть когда по одному одному объекту уже в самом себе сложному не случайному шуму нужно сгнировать какой то другой более еще обычно еще более сложный объект. и такие задачи называются с задачами обычного перевода домена вот то есть сказать что для всех решений вот этих всех задачей и первые задачи, безусловно, генерации и задачи генерации типа данные в данные люди уже за наверное примерно десять лет такого активного развития области генеративного моделирования на придумывали уже очень много подходов, как решать эти задачи. Один из самых известных подходов это подходы на основе генеративного соседательного обучения, то, что называют ганны. Там есть еще вационные автокадировщики, и на самом деле сейчас один из самых популярных таких стоитовзарта то, что называется подходов, это подходы на основе дифузионных моделей дифузии, и эти подходы активно сейчас развиваются. Вот то, что то, о чем мы с вами сегодня будем говорить, это подходы на основе теории оптимального транспорта, и это на самом деле нечто, что по духу наиболее близко, наверное, к состязательному обучению то есть вот генеративным создатель неродным сетям но. В то же время у методов в тального транспорта есть очень такая важная взаимосвязь и дикузионными моделями через так называемые мосты шреддингера это такие специальные дифузии. Но вот этот аспект в презентации сегодняшний мы не будем затрагивать, вот и будем фокусироваться в основном на связи с созрательным обучением. Ну и давайте начинать собственное изложение самой презентации. Значит, для начала я, перед тем как рассказывать непосредственно о методах, естественно, поговорю о том, какие задачи эти методы будут решать. И, как я уже сказал, фокусироваться мы будем на задачах перевода домена. А что же это за задача перевода домена такие? Ну, несколько пример я уже привел, сейчас я вот еще раз по ним пройдусь чуть более конкретным. Как формулируется обычная такая классическая задача перевода домена? У нас есть две выборки данных икс и игрек икс из одного домена, игрек это данные из другого домена, и требуется построить некоторое по этим данным некоторое отображения. но обычно это не ровно сети, которое могло бы принимать на вход новые объекты и входного домена и преобразовывать их так, чтобы они становились объектами из второго домена вот и вот как раз вот это свойство возможность модели принимать на охот новые данные и обычно называется обобщаемостью в машинном обучении. И вот здесь на слайде внизу два таких довольно общих широким, я бы сказал, класса таких задач перевода домена. Первый класс это улучшение изображений, когда у нас один домен входной, то есть изображение икс это изображение, ну, допустим, в плохом качестве, в плохом разрешении, а изображение игрек это, соответственно, изображение в лучшем качестве, в более высоком разрешении. И от нейронной сети что требуется? Требуется уметь по картинке маленького разрешения генерировать соответствующую ей картинку в высоком разрешении. Второй аналогичный пример это перенос стиля или модальности между доменами. Здесь обычно домен это какие то, ну, допустим, изображения с какими то своими атрибутами. Ну, вот как показано в данном примере, первый входной домен это реалистичные фотографии людей, второй домен это фотографии, стилизованная под аниме. И что здесь требуется по входной картинке человека показывать? А как бы этот человек выглядел, будь он, ну, допустим, не мы героем? Вот это как бы два таких общих класса задач. Перевод доменной. Давайте чуть больше пройдемся по уже более конкретным практическим примерам, где такие задачи вообще возникают. Ну, начну я с задачи сверх разрешения. И здесь мне хотелось бы на самом деле такой довольно общийтари дать, что на самом деле сверхразрешения эта задача одна очень много где везде вокруг нас. ну, например, во многих смартфонах, наверное, где, то активно с семнадцатого восемнадцатого года стали появляться вся всякие технологии сверхразрешения, а именно цифровой зум. То есть компании в какой то момент поняли, что дальше наращивать камеру в телефоне это довольно дорого. А зачем наращивать как бы ну, новая железа, если можно, скажем так, дешевле за счет программной компоненты с цифровой сверхтре внутри телефонов. И действительно, сегодня как бы прогресс в части желез. это, конечно, не остановило камеры телефона все лучше и лучше. но и именно такая программная часть, связанная с технологиями сверхзрешения, она тоже постоянно улучшается. и, наверное, первопроходцами в этой сфере были там Гугл хуаве. У них в телефонах одних из первых появились вот эти технологии сового сверхразрешения. Естественно, всем пользователям хочется, чтобы картинка, которую он фотографирует на телефон, была в отличном качестве. И это можно достичь не только за счет хорошей камеры, но и за счет пост обработки с помощью нейронных сетей и методов сверх разрешения. И вот по факту решения задачи сверху отношений это является решением задачи перевода домена поскольку мы из картины к хотим найти отображения из картинок каких то, возможно, не самого хорошего качества, в картинке качество еще лучше. то есть другой домен. А с другой стороны, если мы говорим о, например, технологиях, связанных с видеоартами, и Вид Амд уже давно давно несколько лет имеют у себя технологии такие как элис и, диплернинг суперсемплинг и унд по, моему она, фс что, называется фасуперсплинг, который как бы во время игры в ту или иную игру, во первых, обычно повышают частоту кадров, то есть с более плавную картинку, а с другой стороны, еще могут повышать сверх разрешения. То есть к чему я это говорю? К тому, что на самом деле задача сверх разрешения всегда вокруг нас, даже если мы этого не замечаем. Конечно, есть и более какие то специфические приложения задач улучшения изображений в части сверх разрешения. ну, например, при анализ спутниковых данных, поскольку на спутниках снимки защиту камеры зачастую не самые лучшие по разным причинам. для того чтобы анализировать эти снимки, возникает задачи, связанные с повышением разрешений на этих снимках. Другим интересным примером задачам улучшения изображений является задача колоризации. когда у нас по входной картинке в черно белой нужно посмотреть, а как бы эта картинка выглядела в цвете. И вот это как раз еще один пример задача перевода домены. Когда у нас первый домены это черно белые картинки, второй домена цветы картинки и нам нужно построить не рассеть, которая бы осуществляла перенос между этими доменами. Я думаю, зачем казация нужна, ни у кого вопрос не возгает. Ну, потому что, например, есть очень много старых фильмов, которые, конечно, интересно было бы посмотреть уже о Современник и посмотреть их более в цвете, а вот там, например, активно эти технологии и используются. Вот. Ну, это что касается задач улучшения изображений. И вот если мы посмотрим на задачу улучшения изображений, которые обсуждались на предыдущих лайдах, у них можно заметить одну особенность. Но на самом деле входное изображение, входное изображение они были очень сильно похожи, То есть фактически входное изображение было какое то чуть чуть ухудшенный, скажем так, версии целевого изображения, которые мы хотим получить, и модель должна была так нарисовать, доправить какие то небольшие детали, чтобы улучшить это самое изображение. Обычно, когда говорят про задачи перевода домена, имеют в виду даже не только суперразрешения, сколько более общей задачи, в которых нужно осуществлять перенос домена между довольно таки сильно отличными друг от друга доменами. Ну, например, вот самый первый пример здесь сверку слева здесь по сегментации изображения нужно построить некоторую реалистичную картинку дороги с машинами соответственно в святоформе и так далее, которая я бы соответствовала этой сегментации. То есть фактически это задача обратная к задаче сегментации, и она уже сильно отличается от задач сверх разрешений и так далее, потому что здесь при переходе из одного домена в другой нужно уже очень много деталей добавить на картинку. И плюс сами объекты по себе они на самом деле имеют немножко разную структуру. но то в том в том плане, что здесь разметка по классам, а здесь уже какое то реальное значение ргб пикселя. Зачем вот такие задачи перевода домена вообще решать, да? То есть, ну, если мы решаем задачу справа налево, то есть по картинке получить сегментацию, это понятно. Задача сегментации нужно для распознавания объектов, для того чтобы, ну, например, беспилотный автомобиль, чтобы понимал, что вокруг него происходит. Обратная задача нужна немножко с похожими целями, но немножко с другими. Дело в том, что вообще большинство задач перевода домена, который не относятся к задачам улучшения изображений, они по какому то очень простому объекту, который легко получить даже без генеративных моделей, генировали какой то более сложный объект, который уже получить довольно тяжелое или дорого. Да и смысл решения задач перевода домена заключается в том, чтобы уметь по входному простому объекту генерирует какой то более сложный объект А зачем вот этот сложный объект будет нужен ну, например, спом на генерировать вот таких вот сегментаций можно очень легко даже какое то ручное правило банально там на питание написать как какие то более менее вменяемые вот такие сегментации генерировать. А если у нас будет модель, которая умеет под каким сегментации гнили сложные объекты, то есть реальную картинку дороги то мы сможем получить с генерировать искусственную выборку для решения задачи сегментации непосредственно да? То есть имея такой парный датасет искусстве с генерированной, мы можем использовать его для обучения методов для решения задачи игниации, поскольку у нас есть правильная маска того, как должна сементироваться вот эта картинка. То есть, иными словами, смысл решение многих задач перевода домена заключается в том, чтобы из простого объекта с ген какой то сложный, чтобы сэкономить ресурсы на получение вот этого самого сложного объекта а именно, например, вот, здесь справа снизу такой простой пример когда по скичу нужно с генерировать сложные изображения, то, есть, например там раскрашную сумку, ну, понятно что скетчи нарисовать сло тому же художнику совсем просто там раз, два, услуга три минуты, чтобы нарисовать вот такую сумку, и нужно потратить какое то время. Конечно, если будет модель Эль, которая будет уметь преобразовывать простые объекты, сложные, это просто будет экономить время, ну, например, тем же людям пользователям вот и. Да вообще вся вот эта тема с задачами перевода домена началась активно, наверное, с две тысячи семнадцатого года, и началась она с довольно таких игрушечных относительно предложений, я бы сказал, может быть, даже модельных. В каком смысле? А именно переносы стиля. Да? То есть вот у нас есть, например, картинка фотография. мы бы хотели посмотреть а как бы эта фотография выглядела, будь она картиной Ван Гога или К Сзана, или Мане, или вот у нас есть картинка, где нарисована лошадь а что, если бы это была не ложь? Зебра. Вот это, конечно, во многом модельные примеры перевода домена, которые не всегда мотивированы какими то реальными практическими задачами. Но вот вот эта статья, которая здесь, на нее ссылка, она, собственно, и во многом дала старт развитию вообще в целом методов перевода домена. И следует сказать, что есть вполне себе такие очень даже мотивной практикой исследования в этой области, а именно связанные с медициной. Например, вот, Ну, например, первый пример, который здесь приведен, это эрт мозга. Дело в том, что эмерт мозга делается, скажем так, в разных модальностях. то есть сканер фактически Мтс запускается с разными характеристиками, и вот в зависимости от того, с какими характеристиками сканер запущен, будут получаться разные снимки. Но смысл этих разных снимков в том, что в зависимости от того, в какой модалисти полученный симок, можно разглядеть те или иные дефекты головного мозга, ну там болезни, например, да и врачу, например, или даже банальный комната алгоритм машину обучения, который работает поверх вот соответственно этих снимков. Конечно, хотелось бы увидеть как мозг полу с главного мозга, полученный сразу во всех модальностях, чтобы была полная картина там у врача. Но очевидно, что во многих такого рода предложениях, чтобы получить все три скан во всех трех модельностях, но, условно говоря, нужно запускать сканер в три раза больше, что как бы банально, в три раза дороже, да и просто банально даже не всегда у всех пациентов есть снимки, во всех модальность, и здесь возникают естественные такие задачи перевода домена. А что, если бы у нас были только снимки в одной модальности, ну, например, ты один могли бы мы их нейроны сетью перенести в другую модальность, чтобы показать врачу как, головной мозг как с головного мозга выглядел бы в другой модели, чтобы соответственно врач мог определить какие то там другие дефекты, которые можно определить только по этой модальностям. Вот и такие медицинские приложения тоже отчасти очень сильно мотивируют развитие в области вот эти все переводы домены с помощью генети из моделей. И здесь нужно сказать, что на самом деле исследователи в этой области телесы на два типа это те, кто верит, что модели действительно могут как бы справляться с такими задачами, и те, кто скептики, те, кто считают, что, ну, как вот, условно говоря, вот у нас есть с ними в одной модальности, ну как мы можем из него извлечь то, что находится в другой маданности? Это тоже в принципе логично как бы аргумент вот. Но так или иначе исследования в области идут, и по крайней мере научной статьи в этой области, их все больше и больше появляется. Вот и, наверное, еще такой приведу выключение такой еще интересный пример, связанный с гестохимическим окрашиванием. Это тоже пример из медицины. Смысл здесь в том, что пациенту вводят некоторое вещество краситель в ткани, и как бы в зависимости от того, какое вещество ткань окрашивается, и соответственно дальше по этой ткани и покраски можно опять же судить о болезних, дефектах каней. И, естественно, здесь бывают разные красители, которые предназначены для того, чтобы отлавливать разные дефекты, а также бывают разные некрасители с точки зрения стоимости, дешевые, дорогие. И вот здесь возникают вполне естественные задачи а что, если бы мы использовали дешевые красители, получали бы как бы результаты? дальше этот результат с помощью технологии нейронных сетей глубинного обучения преобразовывали бы так, как будто этот результат получен более дорогим красителям. Вот то есть, подытоживая задача перевода домена, во многом все мотивированы либо тем, что мы по какому то простому объекту хотим получить какой то более сложный, который сложнее просто получить, либо у нас объекты просто из соответственно разных модальностей, и мы хотим один тот объект посмотреть в разных модальностях вот И да еще момент на самом деле вот сколтехе в центре прикладного и у нас сейчас также разрабатывается там библиотека так, называемая сай Мель ежи для прогнозирования всяких климатических рисков, связанных с лесными пожарами, загрязнения воздуха и так далее. вот и там одним из модули вот этой библиотеки как раз является и модуль повышения сверх разрешения вот этих самых климатических моделей. Дело в том, что есть такой физический симулятор Сип шесть, который позволяет им делать как бы прогноз погода, то есть он прогнозирует такую карту погоды на некоторый регион, ну, можно сказать, участок, к России и эту карту на самом деле трехмерный тензор, ее в принципе можно просто вализировать. Вот здесь, собственно, так и сделано как картинку. Это просто для понимания вот но у этого, во первых, это физический симулятор и его результаты. И вот результаты этого физического симулятора поддаются как входной признак на соответственно дальше моделям, которые осуществляют эти прогнозы лесных пожаров и так далее. Но у этого симулятора есть проблема Во первых, он физический симулятор, то есть он не в точности соответствует реальности, а во вторых, он делает прогноз на достаточно неплотные пространственные решетки. Поэтому вот одним из напрямодуле вот этой библиотеке является модуль, который использует некоторый реальный датасет реальных исторических данных о погоде, о климате для того чтобы сверх разрешать вот эти вот соответственно данные, получаемые с физического симулятора. Вот и это как раз задача перевода домена, которая в себя включает два компонента. С одной стороны, она сверх разрешает, с другой стороны, она уточняет данные в том плане, что статистики данных, которые получит физическим сенатором, они приводятся к статистикам реальных данных из реального мира. Вот. Ну и на этом я закончу водную часть, которая связана с предложением всех этих задач перевода домена. И давайте поговорим о том, какие задачи бывают с математической точки зрения. Обычно рассматривают две постановки этих задач задача парная и задача не парная. Значит, что такое парная задача перевода домена. Но это когда у нас есть выборка данных из одного домена, выборка данных из другого домена, и на самом деле у нас есть пары, то есть у нас есть пара объекта и ходовым доменом, и соответствующему объекты из выходного домена. Ну, это классическая задача обучения с учителем, когда у нас для каждого примера просто есть другой примеры, мы знаем, что мы из него хотим получить, что, конечно, значительно упрощает обучение моделей. С другой стороны, парные собирать обычно долго и дорого, и поэтому часто возникает непарная знать. То есть когда у нас просто две независимые выборки объектов из одного домена, из другого домена. И тем не менее нам нужно умудриться построить какое то осмысленное отображение между этими доменами. Ну, вот если мы говорим про парную задачу, тут тут на самом деле все просто. Поскольку у нас есть пары, это, как я уже сказал, обычно задача обучения с учителем, и ее можно буквально вот решать тем же способом, что и решается обычная задача регрессии. Мы берем там, не знаем, в какую то нейронную сеть и хотим сделать так, чтобы по объекту и центра изучающей выборки она генерировала соответствующему объекта. Игорь Кент Но это такой самый простой подход. Сейчас, конечно, над этим подходом миллион миллиона круток. Есть, в частности, и генеративной модели обусловленные, и дефузионные модели в частности, и так далее. Вот. То есть в принципе парная задача, она во многом довольно простая, и уже огромный чло способов и понимание, как ее решать, в области уже давно имеется. Но проблема в том, что парный датасет собирать, как я уже сказал, долго, дорого, а я засует просто нереально. Бывает такое даже да? Ну потому что даже если мы посмотрим вот этот модельный пример с преобразованием фотографии людей выниме, как нам собрать парный датасет. Но, видимо, логичный способ это просить художника стилизовать каждую фотографию руками, то есть как то перерисовывать это фотографию в аниме, что, понятно, долго, дорого и, в общем, очень непрактично, что и ограничивает прими всех вот этих парных методов. Поэтому часто на практике приходится рассматривать непарный сатап. это когда у нас есть две независимые выборки, то есть выборка реальная фотографии людей и выборка фотографии анимали. Но этот цветап очень сложный и довольно проблематичные. Почему? Потому что у нас мы не знаем для объекта входного как должен выглядеть объект и второй домен, куда мы его должны отобразить, что, вообще то говоря, доставляет на некоторые сложности. Ну, например, вот здесь вот справа на слайде что показано? Показ два возможных решения таких задачи непарного перевода домена, задача непарного обучения и, естественно, вот первое решение то здесь показано как который вот эту красную шапку переводят в зеленую не девушку, оно как бы бессмысленно, да, согласитесь, потому что оно не сохраняет как бы содержание входного изображения, и, естественно, на практике нужно искать какие то отображения, которые были бы осмысленны с точки зрения задач с точки зрения зада то есть это в основном за отображение отображений, которые сохраняют контент изображения, например, цвет форму волос и зависит от задачи. Вот поэтому, значит, что мы с вами сегодня будем делать вс оставшееся время я расскажу о том, как задачи непарный перевод домена решать с помощью так называемая теория оптимального транспорта, медального транспорта, но и тем, как это делать. Естественно, оптимальный транспорт это не естественный способ, не единственное, прошу прощения, способ прошить задачи. Люди уже придумывали огромное число методов для решения задач непарный перевод домена. Большинство из них базируются на генеративных издательных сетях. Сейчас в эту область начинают, скажем так, может быть, в последний год вникать проникать идифудионные модели потихонечку вот. Но у большинства методов есть большие проблемы, а именно что они во многом вс хорошо работают на практике. но их обучение обычно это некоторая сложная задача. И почему? Ну, потому что вот здесь приведен примерно слайде пример. Пример функции потерь одного из довольно известных методов юнит, который с помощью инкодеров декодеров осуществляет период обмена. И видно, что функция потерь, то есть целевой критерий, который оптимизируется на этапе обучения, он очень сложный, он состоит из огромного числа членов оптимизируется по шесть иных сетей и при этом здесь очень много гипер параметров вот эти лямда которые очень тяжело настраивает. То есть в принципе здесь, к сожалению, логика того, что мы выбрали какой то оптимальный наборгепер параметров и везде их пример не всегда работает, к сожалению. приходится при работе с новым доцтом опять тратить какое то время учительные ресурсы на то, чтобы найти вот эти параметры какие то. Вот это первое. А второе то, что вот эти методы, хотя они в принципе на практики и работают, они обычно не имеют никакого теоретического обоснования, да? То есть в принципе вот у нас, вот когда вот мы такую модель обучили, почему мы можем быть уверены, что у нас выручится именно вот такое осмысленное отображение, которое сохранит контент, а не вот такое отображение? К сожалению, гарантии, в общем случае, нет. Вот поэтому мы сейчас поговорим с вами как раз о том, что же такое оптимальный транспорт, какие гарантии дает он и как с помощью него учить вот эти вот модели для непарного переноса домена. Ну, для начала давайте я в виду формальную математическую постановку задачи оптимальной транспорте. что это такое? Представить, что у нас есть два вероятно, расплений по ику. можно считать, что это просто какие то две горы массы суммарной массы один ка. вот и мы хотим перенести вот эту массу одного распени в другой, вероятно, вспени. То есть, условно говоря, мы хотим взять лопату и начать переносить массу из одной горы в другую. Вопрос как это сделать? Понятно что и давайте скажем, что мы хотим найти некоторое отображение те которое, переносит массу пф масуку. Но очевидно, что таких тобжений может существовать много, да, То есть мы можем переносить массу как то попрямы, можем там как то крест накрест словно говоря и так далее и вот и вгете естестве, вопрос о том, а как сделать так, чтобы оптимально перенести эту массу, то есть чтобы на перенос этой массы затратить в некотором смысле наименьшую энергию при переносе массы? Ну, потому что понятно, что как бы напрягаться никто не хочет, а хочется быстрее закончить работу. в слов говоря может так это мотивировать вот и с математической точки зрения. Поэтому обычно ставится так называемая задача оптимального транспорта. То есть мы говорим, что для того, чтобы перенести точку икс из одного распределения в точку игрик, ну ты икс как там в другом распении, мы будем платить некоторую цену, транспортную цену. то есть мы сколько нам будет стоить перенести массу из этой точки в эту точку? Ну, например, эта цена может быть просто расстояние между этими точками. Или вот обычно берут квадрат расстояние и мотивируют тем, что как бы не знаю, чем дальше нести, тем больше ты устаешь и тем как бы затрать мне это все.
    Вот вот тут Александр нас спрашивает этот перенос массы чем то похож на метрик вассерштайна В.
    Язык да это в точности метрика Штайна, это частный случай метрики вообще метрики оптимально транспорт. Сейчас я расскажу об этом. Смотрите, задача оптимального транспорта стоит из двух вещей. Первое. Мы хотим найти оптимальное отображение, которое переносит одну гору мас в другую, то есть те тесс и звездой что это что такое это оптимальное отображение Это оптимальное отображение должно минимизировать некоторые критерий критерии работы по переносу из массы из в другое. Как эта работа определяется? Ну, мы говорим, что мы платим закажет перенос каждой точки икс точку ты от икс, ну какую то сумму и берем просто средние по всей нашей массе, по распредеию, которую мы должны перенести. Вот и мы ищем минимум вот этого критерия по всем отображениям, которые переносят массу из пвку, и соответственно оптимальное отображение, которое доставляет здесь минимум. Оно называется оптимальным транспортом от вооружения и обозначается через тесса звездой. А вот эта самая цена, которую нам нужно затратить, чтобы перенести массу одного в другое, называется оптимальной транспортной ценой. И метрика Вассерштейна это частный случай. Вот это общие функции стоимости оптимального транспорта. а именно, ну, например, классически метрика, что и на один, например, которая, наверное, то же самое популярная в области генеративное моделирование тоже встречается в модели как вы все штанган и так далее. Это значит, когда у нас цена это просто расстояние между двумя точками. Ну, собственно, все, да? вот то есть это меткоеш это просто частный случай оптимальной транспортной сцены, вот и все. Да, и нужно сказать, что вот это самое оптимальное транспортное отображение, которое приносит массу из распения в другое, оно, обще говоря, сильно зависит от функции цены. В каких то случаях оптимальным будет ну, вот, наверное, то, которое показано здесь слева, такое интуитивное оптимальное, как, как и надо переносить, чтобы не затрачивать энергии много, а в каких то случаях при каких то функциях стоимости вот и это может оказаться оптимальным. То есть вот это оптимальная транспортная стоимость естественным образом зависит от функции цены здесь расследует.
    Да, еще здесь подразумевается, что оба распределении они в одном.
    Пространстве они на самом деле нет, формулировка общая. то есть они могут быть и в разных пространствах. А просто в чем сложность с разными пространствами? В том, чтобы определить функцию стоимости, если мы на одном пространстве. Ну, понятно, но это какое то расстояние там, да? А если у нас разные пространства, как мы сравниваем, условно говоря, одномерный объекты, двумерный объект это не тривиально, но это можно определить. То есть в принципе задача оптимальный транспорт может рассматриваться между любыми размерностями. Сложность именно в том, как ее поставить, как определить функцию, стоимость. Спасибо. Вот здесь что мне следует сказать пару слов таких, что на самом деле задача оптимального транспорта она называется задача монжа потому что французский математик там по, моему то ли семнадцатый то ли на стыки по моему семнадцатого и восемнадцатого века ее предложил и вот он как раз интересовался перенос перенос массы, например, оптимальном. а потом в двадцатом веке Леонид Конторович это наш советский ученый, математики экономист, он, вообще говоря, эту задачу в некотором смысле переоткрыл. То есть вот есть такая задача Конторовича, это некоторое такое математически осмысленное расширение задача Монжа. И вот дело в том, что вот оптимальный перенос массы, он очень связан с, как сказать, с оптимальным распределением ресурсов, да? То есть, например, у вас есть, например, заводы, условно говоря, вот есть потребители, вам нужно как то оптимально распределить товар с заводов к потребителям, и это как раз частный случай задачи оптимального транспорта. И вот как раз наш советский математик Литта еще активно занимался проработкой этой задачи. И фактически огромная часть современной теори оптимального транспорта, которая вот сейчас люди используют в геративных моделях, в других приложениях и так далее, это все базируется на результатах, во многом который получил, значит, Кович там, в середине двадцатого века.
    Вот тут Павел как раз про перенос масса нам пишет в чате. На днях как раз перекидывал гору снега на пять метров. Проще всего было бросать, не задумываясь о точности. То есть прощего было делать перенос рандомизированным обратно разобрать бы не получилось. Бывает ли такое свойство в функциях потери?
    Обратно разобрать бы не получилось, нося в виду. Не совсем понимаю, что имеется в виду под обратно разобрать то есть в обратную сторону за.
    В том же порядке. Сложить снег обратно.
    Но, по моему, в принципе получилось бы, если мы берем каждую частичку масса снега как маленькую маленькую читичку, да, то, предполагаем что они не сливаются ничего, то, наверное, можно в принципе, но это потребует очень больших усилий вот и это немножко тяжело. Вот. А касательно того, что вот оптимально перенести, оптимально и не оптимально надо переносить там тот же снег, словно говоря да, ну, конечно, когда мы работаем в контексте во дворе снег раскидывать, то здесь, наверное, действительно проще, не думая, это сделать. Но если мы говорим о каких то больших масштабах не представляете потребители там пятьсот потребителей, двадцать заводов, да и вам нужно товар распределить, то, естественно, здесь очевидная экономическая выгода сделать это эффективнее, да? То есть здесь уже как бы люди задумаются о том, как это сделать правильно, как сделать эффективнее. Но вот мы с вами говорим это в контексте оптима генеративных моделей и перенос домена. Давайте посмотрим, зачем здесь нужна это оптимальность. Вот что. Вот мы иначе чего задача перевода домена, непарного перевода домена. То есть у нас есть объекты, мы хотим преобразовать объекты сводами на другой. Но при этом важное свойство, что мы хотели? Мы хотели бы, чтобы входной объект не сильно изменился при переносе его второй домен, то есть чтобы контент этого объекта сохранился. А вот с другой стороны. То есть мы хотим две вещи. Первое чтобы мы объекты из одного домена в другой переехал. второй чтобы объект сохранился контент. то есть минимальным образом изменился объект, скажем так. А вот теперь давайте посмотрим на задачу оптимального транспорта и заметим, что, вообще то это примерно о том же, только у нас здесь как бы не домены, а распределение вероятностные. Мы хотим перенести массу каждую точку из одного вероятно стараний в другой вероятно распление таким образом, чтобы минимизировать изменение вот этого объекта, да? То есть транспортная цена должна быть наименьшей, то есть икс должен быть наиболее похож на те с точки зрения функций цены, которую мы выберем для конкретная задача вот. Ну и на этой почве, вообще говоря, задачи перевода домена люди и стали рассматривать как задача оптимального транспорта во многом и применять эти методы оптимального транспорта для того, чтобы решать задачу переноса домена. А вот здесь возник естественный вопрос а как вообще то есть вот здесь у нас какие то распределения озе выборки, как эти вообще? Ну, это немножко разные постановки. Как вообще вот эти задачи связаны друг с другом на таком формальном математическом уровне? На самом деле связать их можно следующим образом. Появляется так называемая задача непрерывного оптимального транспорта. Что мы делаем? У нас иде выборки икс игрек, а мы предполагаем, что эти выборки задача перевода домена это какие то случайные независимые выборки из двухраспределения поку, то есть распределение данных распределения вторых. И мы хотим, имея лишь в выборе дан, построить оптимальное отображение транспортное, но не между выборами, которые у нас есть, не между данными данными, а между распределениями, из которых приходят эти данные. И вот эта задача и называется непрерывная задача оптимального транспорта. Ее на самом деле ни в коем случае не надо путать дискретной задачи оптимального транспорт, когда мы просто выборки хотим поставить. И вот именно эта задача в контексте перевода домена в последнее время очень активно используется, и по крайней мере исследования в этой области идут довольно активно. И мы сегодня с вами и восставшееся время и договорим о том, как же решать эту задачу помощью оптимального транспорта. Ну и вот что нужно сказать. А ну, на самом деле скажу я одну вещь, что в принципе вот задать постановки задачи оптимального транспорта, а именно вот формулировке монж, который я привел, она очень плохая с математической точки зрения, потому что мы что здесь мы ищем транспортное отображение это какая то детерминирована функция, но оно, вообще говоря, не всегда даже существует. Почему? Ну, потому что пристав, что у нас входное распреде дельта распределение, а значит, выходное распределение, какое то там неправное распределение. Ну, такой просто частный случай детерминированное преобразование. Если мы применяем к дельта распределения, мы все равно одну точку получаем как мы не хотим, как бы мы не хотели. Поэтому здесь вообще не существует транспортах отображений между такими двумя распределениями. Вот поэтому задача Монжа, она сама по себе очень такая теоретически плохая. И именно поэтому вот как раз Леонид Конторович, наш советский математик, он как раз предложил как все эти проблемы и справились. И вот возникла так называем формулировка задача оптимального транспорта. По Конторовичу. Вот в контексте данной презентации я не буду ее рассказывать, что вы не перегружать деталями. Вот кому интересно пожалуйста, посчитайте статью, я дальше буду показывать конкретные ссылки, где это можно посмотреть вот. Но нужно иметь в виду, что в принципе задача он же у нее есть теоретические проблемы, но это как бы на практике это не проблема, скажем так. Вот и зачем суть? Суть в том, что решать задачу оптимального транспорта довольно сложно. Ну давайте мы посмотрим на эту задачу монджа еще раз. что это такое? это поиск транспортного отображения между двумя распределениями п ику и мелизация функции транспортной стоимости этого самого отображения. И здесь как бы две проблемы возникают у нас вот эти сами распределения данных пэйку они неизвестны у нас есть только выборки из них дата с собственно на. Это первое. А второе то, что эта задача в ограничениях, да, то есть мы должны оптимизировать по множеству отображений из одного распределения в другое, кто тоже, вообще говоря, очень нет и реально. Вот поэтому во многом современные впечатлительный метод оптимального транспорта на основе нерона сетей, они построены на решении так называемой двойственной задачи оптимального транспорта. И вот эту самую двойственность как раз и предложил Леонид Конторович. Собственно, как бы результаты там, условно говоря, в шестидесят семьдесят летней давности математические, которые были вообще в контексте других вещей получены сегодня заиграли немножко новыми красками и применяются для решения задач генерации. А именно что доказал Леонид Конторович в одной из постановок, здесь уже такая немножко модифицирована современная версия что для того чтобы найти оптимальную транспортную стоимость между двумя распределениями можно, решить вот так на дости на задачу а двойственная задача это сум максимизация суммы двух интегралов двух функций они называются потенциалами контора и интеграл уберутся по входному расплению и по выходному распределению. И эти две функции они связаны некоторым граничным условием которого здесь написано через о плюс так называемый который говорит не что иное как, вот вот этот вот условий то есть для всех точки и игрек должно было быть выполнены вот это условия вот и как бы в чем плюс на самом деле двости на задачу оказывается, решать проще. но на первый взгляд это не очевидно. Почему? Потому что вот здесь есть какое то нереальное ограничение, да и здесь оно есть, да как бы от него тоже ничего не избавились. Да еще и объект, который интересует нас, то есть оптимально трация это отображение, ну, он исчез отсюда. Так вот, оказывается, что есть так называемая полудвойственная постановка задачи, которая выводится из вот этой самой двойственном постановка задачи, которая более удобно осущестлитной точки зрения для вот этих вот для решения задачи перевод домена. И что это такое? Ну, я буквально в двух словах объясню, что вот у нас есть двойственная задача, которая максимизация суммы двух отыграла в ограничениях. А давайте мы что сделаем? Давайте мы зафиксируем одну из этих функций из потенциалов в контореща и проведем оптимизацию по другой функции же вот у нас максимизация вот этого функционала. Как его максимизировать? Ну, условно говоря, у нас максимально в ограничениях ограничение сверху. Ну, естественный способ это упереть максимально в эти ограничения сверху, да, потому что мы таким образом будем только увеличивать вот этот целевое значение нашего критерия. Ну вот оказывается, что это наивысшее допустимое значение. оно легко оценивася, ну не легко оцениваться, оно может быть явно математически выписано как так называемая трансформация вот этой второй функции цнсформации есть не что иное, как вот это максимальное упирание в ограничения. И на этой почве вот двойственную задачу можно переписать как задачу максимизации по одному потенциалу конторовича при условии, что другой потенциал выражается через него. явно просто, как некоторые записана вот здесь функция. Вот и окей. Теперь что нам отдает? как мы теперь наконец найдем оптимальный транспорт отображения между распределениями? Ну вот сразу что идея, которую я сейчас дальше расскажу вс оставшееся время, это идея, которая появилась в принципе во многих статьях довольно таки параллельно. Вот первое, вот идея, где я ее встречал, это вообще статья девятнадцатого года от человека, который там экономика занимается, которая вообще парнеронной сети не знает, но у него там эта идея, скажем так, не завелась ни в каком виде, там ни масштабирована ничего. И вот статья, насколько я знаю, так до сих пор живт на архиве нигде не опубликовано. вот плюс там похоже идеи на то что я расскажу что сегодня они возникали где то еще вот тоже в девятнадцатом году вот в немножко в других контекстах. а вот первое реально масштабный алгоритма удалось получить параллельно вот, с одной стороны, мне и моим коллегам из Сколтеха из Аири, с другой стороны, была там еще группа, по моему, из университета Джорджии, что я ошибалась которая тоже примерно в то же время удалось получить похожие результаты. Вот и собственно. Ну, давайте обсудим, что же за результаты. Ну вот мы хотим что решить? Мы хотим решить задачу оптимальная транспорта имея лишь выборки из этих рассмотрений пойку. Как я уже сказал, в прямой постановке задача решать сложно, поскольку у нас есть только выборки и у нас есть какое то не тривиальное ограничение. а с другой стороны, в двойственной форме, во второй форме, которую мы получили, этого ограничения уже нету. То есть это задача оптимизации без ограничений, что как бы заведомо подсказывает нам, что мы можем вставить сюда там не рассетку и спокойно оптимизировать это вот этот функционал по параметрам не расседки. Но есть две сложности. Первое то, что вот этот член, который с цнсформацией, сам по себе представляет некоторую задачу оптимизации и вычислить его не так то просто. Это первая проблема. Вторая проблема то, что мы чтоотим найти мы хотим найти транспортное отображение то оно синим обозначено по ходу презентации, а вот в этом функционале его нигде нет, здесь только красная. Вот эта двойственная перемена потенциал кровича. Что делать? Ну, вот можно доказать такой факт? Я вот здесь это, ну, не стал оформлять как теорему просто для простоты, что на самом деле задачу оптимального транспорта можно переформулировать как задачу поиска седловой точки некоторого функционала который написано что это за функционалы откуда он берется давайте? Сначала посмотрим, кто, здесь по оптимизируется. Это функционал оптимизируется по двум параметрам по потенциалу конторовича вот та самая двойственная переменная и транспортом отображения, то есть та самая прямая перемена то, что нас не интересует вот что что это функционал. На самом деле этот функционал есть не что иное, как некоторая третья двойственная форма, она называется полудвойственной формой, поскольку она содержит как бы и прямую переменную, и двойную перемену т и выводится из двойственной задачи той самой второй, который я показывал, а именно вот этот. Внутренняя задача минимизации есть ничто иное, как просто расписывание вот этой самой цнсформации более менее по определению и цнсформации, и амортизация операции, так называемые амортизация. То есть когда мы хотим найти минимум задача, но мы хотим этот минимум предсказывать нейронной сеткой, то есть это как бы по факту некоторые функции. Но на практике рон сеть которая пытается найти минимум в задачи о поиске цнсформации, то есть вот вот вот этой задачи, то есть найти тот самый игре, который достигает минимум вот эта цнсформация. Если мы его нашли, то мы можем и посчитать вот это все слагаемое тенсформацией функции. Вот и теоретически доказуемо, что значение этого функционала оптимальное, минимаксное, точнее, максиминное. Оно соответствует транспортной цене между двумя веротельствами распределениями п ику, то есть тем, откуда мы хотим отобразить и куда мы хотим отобразить. Но у этого функционала есть и другой полезной свойства, а именно можно доказать при некоторых дополнительных предположениях. Обращаю внимание, что если мы нашли какую то оптимальную пару со звездой тесса звездой то тесса звездой это оптимальное транспортное отображение между по игу. Иными словами, мы должны решить вот этот функционал каким то образом проптимизировать, и тогда мы найдем оптимальное транспортное отображение. Вот детальный математические подробности можно как раз посмотреть в статьях, на которые я ссылался. Еще раз я презентацию расшарю. Вот и вопрос, как это на практике решать? Ну, на практике это решается, естественно, точно также, как это решается во многих подходах глубинного обучения. У нас оптимизация по двум функциям Фт потенциал контор и транспортное отображение. Ну, по функциям мы оптимизировать не умеем, зато умеем оптимизировать по нейронным сетям. Давайте мы подставим нейронные сети в качестве этих функций и будем вести оптимизацию по их параметрам по параметрам это и огненных сетей, ну как это обычно, чтобы оценить эти интегралы. Как мы это можем сделать? Ну, у нас есть выборки из распределения поеку из входного и выходного, но это значит, что мы можем просто оценить заменить интеграл на его оценку мэта монтекала по всему до сту или повыборкин из этого дацита. Вот. Ну и как это оптимизировать оптимизирует это такие вещи обычно стохастическими гентными методами. То есть вот у нас здесь максимизация по одной группе переменных, минимизация по другой группе переменах. Ну, мы вот эту вот функцию потерь делаем гредетный шаг подъема по одной переменной и несколько кредитных шагов спуска по другой переменной. Это очень похоже на методы генеративно состязательного обучения генеративные то что ганны да, Но, значит, здесь, есть такое довольно забавное и отличие, которое еще и в наухе даже на самом деле люди до конца не осознали. Заключается она в том, что как бы роли от нейронных сетей генератора и дискриминатора они как бы местами сменены. То есть по факту генератор т который наш транспортом, он как бы является состязательным к дискриминатору, поскольку он является решением внутренняя задача, а не наоборот, как это обычно бывает в геративном срательном обучении вот. Ну и алгорит написа здесь на слайде. Это, собственно, просто бальмен, то, что я говорил уже. Мы просто берем семплируем выборки из распни с другого несмещенно оцениваем функцию потерь для потенциала делом кредитный подъем по функции потерь поминус функции потерь да, и соответственно делаем гетный спуск по другой группе переменных. И вот здесь забавное такое отличие от тех же генотинцы с Пион сей еще есть в том, что обычно там делается один гарный шаг обновление генератора, и там много дискриминатора, а здесь вот получается наоборот делать как один греетный шаг обновление вот этого потенциала и конторовича, который играет некоторую роль криминатора, а и много грязных шагов по генератору, что в принципе соответствует как бы самой постановке задачи что у нас генератор транспортное отображение является решение внутренней задать вот ну и заключение презентации я покажу несколько картин как это работает все вот и в основном это будут непосредственные же и статей. и это обычная задача какие то типа перевода домена между изображениями, то есть стилизации изображения и так далее. Вот и в качестве транспортной цены я всегда буду использовать крачичную функцию стоимости, которая просто попик сравнивает входное и выходное изображение. Здесь сразу такой комментарий, что, да, это не всегда самая оптимальная транспортная стоимость, и более того, из компьютерное зрениеизвестно, что защиту использования такой функции стоимости ведет к, скажем так, плохим результатом генерации и так далее. но вот внезапно не в методах оптимального транспорта. то есть метода оптимального транспорта скточисной функции стоимости попих на картинках работают вполне себе осознанно вот. Ну и здесь я сильно не буду останавливаться просто скажу что, естественно, в задачах непарного обучения обучения производится на обучающие выборки не парные, и тестирование проводится на отложенных выборах. То есть в принципе так правильно дела с точки зрения всех канонов машину обучения, но, к сожалению, не всегда так люди делают даже в научных статьях. И тестирование обычно проводится с помощью опять же непарных метрик, которые сравнивают с генерированным множество с действительно множеством. И вот одна из таких метрик это общеизвестный фреш инсепшн дистанс здесь в виду того, что. Ну, это общеизвестный метрика. Вот здесь и ссылки есть. Я, наверное, останавливаться на этом не буду, и поскольку у нас время.
    У нас еще есть несколько вопросов. Вот вопрос в чате. Я вижу здесь не маленькую проблему то, что цена функция, которая является гипер параметром. Да, это правда. Если это правда, то как подбирать это гипер параметр?
    Ну, смотрите, здесь это очень хороший, очень сложный вопрос, потому что в принципе это должно зависеть от задачи. То есть что что такое ц Цэ как я здесь показывал уже это некоторые некоторые как бы наше априорное знание о задаче, то есть которое нам говорит примерно какая точка какой ближе, и как бы некоторые наши априорное знание, что куда отображать вот во всех задачах, которые я буду показывать там. Вот эта функция простая Льва, потому что в задачах переноса стиля зачастую она вполне себе является осмысленной и подходящей, как мы сейчас увидим, с другой стороны, для каких то более общих задач. Как выбираете эту функцию, это. ну, я просто не смогу даже ответить, потому что это сложный вопрос, сильно зависит от пятки задачи. Возможно, в каких то случаях эту функцию можно обучать специально, зная какие то предварительные знания, задачи, ну, например, используя какие то методы контраст флернинга или еще что то, а потом запускать с этой функции стоимости оптимальный транспорт.
    А Арсений Бож спрашивает какие архитектуры не расти берутся для оптимизации По.
    Параметрам при арсении это самое используется стандартной артетуры из области то есть в качестве генератора как бы транспортное отображение используется юнэ ну одна из его модификации более менее не самые свежие словно говоря мы когда делали, по моему условно говоряского три позитории семнадцатого года, у которого там десять тысяч звездочек на гитхабе и в общем он юнет он изначально это для сегментации какой то использовался, а в качестве эльф то есть потенциал конторовича или же дискриминаторы используется просто какой то резнет это, условно говоря, какой то резнет из какого то ганна взятый просто и все как дискриминатор вот. Но в принципе да, можно использовать что то более эдванст, но вот лично на этапе публикации статьи и так далее до этого руки просто не дошли у нас.
    Да и Россия уже спрашивает, какие масштабы не расти и по сравнению с Масштабами дотс это сколько параметров сети отвечает скольким элементом выборки с достаточно сложной структурой каждого элемента.
    Ну, вот это, конечно, такой сложный вопрос, я сходу не могу сказать. Я могу только вот что сделать могу на самом деле на статью по моей статью потому что у нас в статье там не улпт транспорт вот в этой статье которая здесь зеле вылин там есть прямо апендикса, в котором указанное количество параметров нейронных сетей и там же размеры да сетов есть, и там есть сравнение вот этих количества параметров по сравнению с другими стандартными методами из области этого непарного перевода домена. Я сходу, к сожалению, не помню, сколько там, но могу сказать еще один такой момент, что что мы заметили вот и экспериментируя этим, что в случае оптимального транспорта архитектура дискриминатора должна быть значительно мощнее, чем вот это в ганнах обычно есть.
    Тут кто то неуловимо знакомый мне пишет, были картинки результатов или нет. Я чего то пропустил? И Егор Гребков. Привет, Егор. Если способ решать транспортную задачу не полностью анп стиля, а имея примеры, подсказки, что то вроде пошли сдавать.
    Ленин Да, да, вот есть сейчас у нас есть такая работа, она припринта вот сейчас на рецензии жид называется Нюрал Оптим транспорт Ус Дженерл Кост Фанкшенс. Там вот как раз мы показываем, как можно как бы дополнительную априорную информацию о задаче добавлять в, ну, влос для обучения, скажем так.
    Аше Александр. Спасибо. Вроде бы пока кончились вопросы.
    Угу. Да ну вот, собственно, я уже так на самом деле у нас, по моему, нача планировался. Все, я вот так затянул вот. ну долго, давайте я еще минут десять тогда уже картинки покажу им картинки, коли спрашивали. Вот это все в основном изначально тестировалось на задачи перевода домена и стилизации. Вот и что здесь показано на всех картин, которые я показывать буду, это элементы тесовые выборки, то есть на первой строчке, которую модель на этапе обучения не видела, да, и это как бы тесты элементы, а вторая строчка это то, что модель с генерировала по входному элементу из тестовой выборки, которые подаются на ход. И вот здесь, вот как раз в этих примерах, очень хорошо видны свойства оптимальности отображения с точки зрения попиксель два, стоимость, которая здесь использовалась, а именно что отображения старается наемшим образом сохранить контент изображения, наилучшим образом, прошу прощения, контента изображения. И вот здесь, например, переносит домену, он сохраняет какую то атрибутику, ну, вот прям бабочка, которая заколка здесь, она здесь осталась, и у нее девушки там, да, рука вот это и так далее, здесь какая то заколка, яичница осталась здесь, там цвета сохранились, здесь вот по датасетту сумок генерируются новые доцтый ботинок как бы объекты ботинок и переносится текстура и это как раз и есть а трибутика оптимальности. Ну, вот здесь больше всяких разных примеров есть и что нужно учитывать, что, конечно, оптимальное отображение они во многих случаях хорошо работают, но не всегда. Во первых, это прям, ну, как у любой модели, есть какие то огрехи там, артефакты. вот здесь, например, артефакт как будто здесь как бы тектура вообще буквально банально плохо наложилось, назовем это так. Вот здесь, например, стура не перенеслась, но это связано с тем, что дисбалансные дата сты. То есть, ну, грубо говоря, если у вас там в одном доц все сини сумки, а в другом синий и красный, и вы отображаете там синий, синий, красный, то, конечно, у нас часть объектов станет красными, в общем.
    Голубой. Обуви.
    Не было? ну да, там, ну, то есть был какой дисбаланс и в принципе если интересный дисбаланс можно лечить есть всякие там методы не сбалансированного оптимального транспорта и так далее то есть есть расширение, ну это уже как бы за рамками текущей презентации вот внизу в пример как по доцу природа генерируются церкви до церкви то есть задача в принципе нарисовать как бы церковь в поверх картинки природы, которая дана. И вот есть всякие забавные примеры, когда, например, сноубордист лежит, и вот тут на фоне рисуется какая то церковь, а он остается на переднем плане, или вот как здесь слева машина не с машиной попыткой съединяет какую то церковь и так далее. То есть вот за счет вот этой попих сильной близости льва, которая с помощью оптимальной транспорта и достигается входное изображение, оно похоже на входе. и на самом деле вот есть какие то такие экстремальные, ну, вообще совсем, наверное, части бестолковые но забавные примеры когда, по дот с этого анималист можно генерировать ботинки, ботинки, которые еще и зачастую похожи там, ну, подсвет и так далее насколько можно сходить о схожести там, значит, они мои лица и ботинка. Да, это так просто для проверки, что такого рода методы в принципе и в экстремальных случаях работ. Ну и в заключение сказать, что, конечно, транспорт не единственный способ решения задач перевод домены. и здесь такое много такое маленькое сравнение в статье там гораздо больше с таким классическим методом называется циклизский гн. И вот в отличие от сиклического гана оптимальный транспорт защиту позволяет сохранить схожестью входного и входного объекта дефолтный как ванильный, как это обычно называется, циклический ган зачастую этого не делает, ну, то есть примерно на защиту бывает вообще как бы случайный выход по ходу генерируют. Да, в принципе в моделях типа Сайган можно стимулировать вот эту похожесть, но там возникают дополнительные гипер параметры, которые надо настраивать и так далее, и так далее. А вот с другой стороны оптимальной транспорте вот эта простая функция потерь, стоящий из трех слагаемых, и там как бы нету гипер параметров, кроме, возможно, как было замечено, функции транспортной стоимости. Ну вот давайте уже заключение, собственно, с чего мы сегодня поговорили о методах понимального транспорта для решения задач генеративного моделирования, а именно мы говорили о их применении для задач непарного обучения. И в принципе методы они довольны такие теоретические, обоснованные с точки точки зрения, что сейчас все больше и больше статей начинает выходить, которые какие то теоретические свойства этих методов исследуют. И это гораздо проще, чем у тех же генеративных издательных мирных сетей. Потому что вот как бы задача, она основана на такой богатый математической теории оптимального трансферт. да, ее проще анализировать. есть куча приемов трюков о том, как теоретически он всего этого дела приводить вот и вообще говоря, эти методы, они сейчас очень активно расширяются. С помощью оптимального транспорта можно делать генерацию по одному объекту сразу нескольких объектов из тагетных из таргетного домена. и это как вот кому интересно в той же стате, которую зелено было выдленно можете посчитать оптимальный транспорт также при ним и к парным задачам. на самом деле вот это результаты, которые у нас, по моему, даже не опубликованы еще нигде на картинке на большом разрешении то есть когда у нас есть пол полные пары целые экс игрикой нужно обучить модель перевода домена на парных данных в принципе это с помощь оптимального транспорта путем некоторых таких модификаций тоже достигается и сто и сказать, что оптимальный транспорт можно применять и для задач, безусловно, г, то есть генерации. Ну вот той самой первой задачей которую я начал президацию, когда мы по случайному шуму хотим генерировать какой то сложный объект, картинку. И вот недавняя статья по моему, она сейчас на нее на конференции не у рыб какие то вот, собственно, корейские ученые показали, что в принципе за счет оптимального транспорта можно достигать качество сравнимого с обычными генеративными созидательными сети сетями и в каких то моментах сравним из дефузми. но Почему я вот всю эту свой презентацию устроил вокруг и настоящий перевода домена? Да потому что в задачах перевода домена в принципе дифузии те же самые которые как бы стоит узарт задача обычной генерации они еще мало добрались да, Вот, и именно в задачах непарного перевода домена зачастую нужна какая то осмысленность в генерации, да, то есть объект выходной должен быть похожных в одной и так далее. а в задачах безусловной генераций, когда мы шума где данные этого не нужно там вот применим весь этот арсенал дефузионных моделей а вот задачах непарного обучения к, сожалению пока, с этим все сложно вот. Но есть уже ряд работы который такое мне делать. собственно, если, кому интересно весь кот он вот на гитхабе есть в разных репозиториях, можете заходить. там на самом деле есть даже как бы семинары, то есть вот такие джу петра на буки, которым можно прорешать все вот эти вот методы, закодить, посмотреть, как оно работает, на каких то игрушеных примерах, в том числе чтобы просто проще было, быстрее. Спасибо за внимание.