svc-develop-team / so-vits-svc

SoftVC VITS Singing Voice Conversion
GNU Affero General Public License v3.0
25.26k stars 4.74k forks source link

[Bug]: KL散度为负数 #315

Closed mlbv closed 1 year ago

mlbv commented 1 year ago

系统平台版本号

Windows 11 专业工作站版 22H2 操作系统版本22631.1825

GPU 型号

NVIDIA GeForce RTX 3090

Python版本

Python 3.8.10

PyTorch版本

2.0.1+cu118

sovits分支

4.1-Stable

数据集来源(用于判断数据集质量)

游戏直接提取干声,有回音的音频使用UVR5处理

出现问题的环节或执行的命令

训练

情况描述

训练时kl loss震荡下降,且最终小于0 kl loss应为非负 参考1 参考2 参考3

日志

https://pastebin.com/jatrAaCQ

补充说明

No response

ylzz1997 commented 1 year ago

因为该项目计算kl散度loss时缺少一个高斯分布的标准差项,所以kl散度有时可能会小于0 这是原vits仓库带过来的,我们测试加上该项虽然能保证大于0,但是收敛效果并不好

mlbv commented 1 year ago

那看来没有修复必要

mlbv commented 1 year ago

我发起了一个pull request, 更正了losses.py中对KL loss的计算。