Я ищу способ построить глубокую нейронную сеть, которая производит выходные данные, которые распределяются как многомерное стандартное нормальное распределение ~ N (0,1).
Я могу использовать Pytorch или TensorFlow, в зависимости от того, что проще для этой задачи.
На самом деле у меня есть некоторый вход X, который с точки зрения этого вопроса можно считать просто матрицей значений из равномерного распределения. Я помещаю вход в сеть, архитектура которой в настоящее время может измениться.
И я хочу получить результат, поэтому помимо других требований у меня будет от него. Я хочу, чтобы, если мы представим значения, полученные всеми возможными x, мы получили, что это похоже на многомерное стандартное нормальное распределение ~ N (0,1).
Я думаю, что для этого нужно выбрать правильную функцию потерь. Для этого я придумал два способа:
- Использование статистических тестов.
- Потеря, которая проверяет большое количество свойств (среднее значение, стандартное отклонение и т. д.).
Понимание 2 звучит сложно, поэтому я начал с 1.
Я искал статистические тесты, уже реализованные в одном из пакетов в качестве функции потерь, и ничего подобного не нашел. Я самостоятельно реализовал статистические тесты, чтобы получить результат, являющийся одномерным стандартным нормальным распределением, и, похоже, он работал относительно хорошо. С реализацией многомерных тестов я еще больше запутался.
Знаете ли вы какие-либо понятные функции tensorflow\pythorch, которые делают что-то похожее на то, что я пытаюсь сделать? У вас есть другая идея для операции? Есть ли у вас какие-либо комментарии относительно методов, с которыми я пытаюсь работать?
Спасибо