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

Нормализирането на потоци е техника, използвана в машинното обучение за изграждане на сложни дистрибуции от прости дистрибуции. Те са приложени в контекста на генеративното моделиране. Те станаха популярни напоследък и получиха доста голямо внимание - например Glow, от OpenAI - поради огромната им сила да моделират вероятностни разпределения. Потоците са широко използвани в обработката на реч, най-вече чрез WaveGlow (NVIDIA), Glow-TTS

Основна математическа рамка на нормализиращи потоци. Да предположим, че имаме непрекъсната случайна променлива z с някакво просто разпределение като изотропното разпределение на Гаус, което позволява лесно вземане на проби и оценка на плътността. Ключовата идея е да трансформираме това просто разпределение с някаква функция f в по-сложно, ние формулираме f като композиция от последователност от обратими трансформации, така че цялостната трансформация също да е обратима.

За всяко x имаме точно едно z, което би могло да бъде взето като проба, за да го произведем, за да намерим каква е плътността за даденото x, зависи от поведението на f.

Така че, за да разберем как работи, трябва да разгледаме как се променя формулата на променливите, когато имаме обратима и диференцируема функция, преобразуваща се от някакъв домейн Z към X с разпределението p(z), дефинирано върху z в Z

Една валидна функция на плътност на вероятността винаги трябва да се интегрира до 1 в своя домейн, величина на детерминанта на Якоби, която основно показва колко е необходима трансформация за локално разширяване или свиване на пространството, за да се гарантира, че новата функция на плътност удовлетворява p(x) това изискване

Точната оценка на вероятността се използва за оценка на модели, базирани на потока. Пътят, изминат от случайните променливи z, е поток, а пълната верига, образувана от последователните трансформации f, се нарича нормализиращ поток.

Генеративното моделиране е свързано с приближаване на някои наблюдавани разпределения на данни, естествени изображения или звук на говор, така че това може да се използва за проби от нови точки от данни с подобни характеристики или за извеждане на латентни променливи, което позволява да се намали размерността на данните. Един от начините за използване на нормализиращи потоци в латентна променлива в генеративен модел е да параметризираме вероятността като поток в нашата рамка.

Справка



https://lilianweng.github.io/lil-log/2018/10/13/flow-based-deep-generative-models.html