V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
diyer22
V2EX  ›  分享创造

我发明的算法,登上了 Hacker News 日榜第二!

  •  7
     
  •   diyer22 · 3 天前 · 3576 次点击

    我在之前 ICLR 2025 的论文中提出了一种全新的生成模型——「离散分布网络」(Discrete Distribution Networks)

    前两天在 Hacker News 上宣传,反响热烈,竟然来到了日榜第二名,给项目的网页带来了近 1.5 万的访问量。

    所以,现在想在 V2EX 也宣传交流一下~

    一句话介绍:「离散分布网络」是一个原理简单、性质独特的全新生成模型,有着非常多有趣的性质。期待 DDN 能给更多人带来灵感~

    PS. GitHub 五万关注者的算法大 V lucidrains 也复现了 DDN 算法: https://github.com/lucidrains/discrete-distribution-network

    详情:

    英文介绍: https://x.com/diyerxx/status/1978531040068321766 ( twitter 冷启动实在太难啦,求互动一下鼓励鼓励🥺)

    中文介绍: https://zhuanlan.zhihu.com/p/1935903948990047972

    项目网页: https://discrete-distribution-networks.github.io/

    GitHub: https://github.com/DIYer22/discrete_distribution_networks

    37 条回复    2025-10-17 17:07:16 +08:00
    chen88ijn
        1
    chen88ijn  
       3 天前
    太强了,巨佬
    JoeJoeJoe
        2
    JoeJoeJoe  
    PRO
       3 天前
    K-means?
    Wcowin
        3
    Wcowin  
       3 天前
    先收藏慢慢看
    diyer22
        4
    diyer22  
    OP
       3 天前 via iPhone
    @JoeJoeJoe DDN 的形式上和 k-means 比较相似,且都支持无监督聚类。但他们不同点有:算法作用(生成建模 VS 聚类)、优化目标、优化方式、DDN 的层次结构、DDN 的样本点是神经网络的 outputs 等。 所以,属于独立的两个算法。
    molvqingtai
        5
    molvqingtai  
       3 天前   ❤️ 1
    虽然看不懂,但我大受震撼!
    JoeJoeJoe
        6
    JoeJoeJoe  
    PRO
       3 天前   ❤️ 1
    @diyer22 刚才只是大概看了下项目网页, 感觉很像, 收藏以后细读.

    ps: 想给你点个 V 币赞赏,看你没绑定钱包,直接给你来个铜币赞吧.
    monmon
        7
    monmon  
       3 天前
    知道我为什么喜欢来 V 站了吗,这里个个都是人才,说话又好听,超喜欢在里面
    pianjiao
        8
    pianjiao  
       3 天前
    虽然看不懂,但是佬就是牛逼
    spike0100
        9
    spike0100  
       3 天前 via iPhone
    虽然不知道你在说什么,但是感觉很厉害的样子!
    hikarumx
        10
    hikarumx  
       3 天前
    v 站就是大佬多。
    xion21
        11
    xion21  
       3 天前
    大佬
    tanglindan6
        12
    tanglindan6  
    PRO
       3 天前
    仰望一下大佬!
    irrigate2554
        13
    irrigate2554  
       3 天前
    是大佬
    Simon95
        14
    Simon95  
       3 天前   ❤️ 1
    支持,x 关注了,github 星星了。我简单看了下,感觉有点像 RVQ ?
    Simon95
        15
    Simon95  
       3 天前
    哇,大佬一个人创新算法,膜拜。还有请教下最近做的工作感觉,FSQ codebook usage 能到 1 ,大佬觉得 VQ-VAE codebook collapse 还是问题吗?
    halberd
        16
    halberd  
       3 天前
    非常有才华的想法啊,用一棵树撑起整个特征空间。
    从网络参数分配的角度讲,我感觉直观上存在这样一个问题:第 i 层网络负责的区域实际上会分散在特征空间的各处,它做的事是把负责的这一块空间再向下切分成 K 小块。也就是说每一层并不会去擅长某种类型的特征,而是专门做某一级的细分。给我一种缺乏“局部性”的感觉,好像这个专家分配并没有很优,会不会潜在地影响能力呢。
    当然这是用线性的参数量去拟合指数的空间肯定会遇到的问题。默认的多层实现相当于按照树深度、也即特征空间中的位置层级来分配参数,属于一种人为、简洁有效的策略;而共享参数实现和 diffusion 类似,是把全部任务交给整个模型,让模型自己学习不同位置的策略(以 v-pred diffusion 为例,使用全部参数去完成在任意位置 x_t 上的 v_t(x_t)预测)。
    cjh1095358798
        17
    cjh1095358798  
       2 天前
    牛批啊佬
    ik
        18
    ik  
       2 天前 via iPhone
    我什么身份和大佬在一个帖子
    diyer22
        19
    diyer22  
    OP
       2 天前
    @Simon95 DDN 和 VQ-VAE ( RVQ ) 明显不同。
    相似之处:
    - 两者都把数据映射到离散的潜空间。
    区别:
    - VQ-VAE 需要额外的先验模型(如 PixelCNN 或 transformer 先验)来建模码本的分布; DDN 自己就能构建层次离散分布,甚至可作为类似 VQ-VAE 系统的先验模型。
    - DDN 的 K 个输出是随输入变化的特征; VQ-VAE 的码本是一组与输入无关、固定不变的独立参数( embedding )。
    - VQ-VAE 输出二维 code index 网格 latent ; DDN 输出一维/树状结构的 latent 。
    - VQ-VAE 需要 Straight-Through 梯度估计器。
    - DDN 支持零样本条件生成。
    因此,我认为它们挺互补的。(参见论文中的“Connections to VQ-VAE”部分。)

    ---

    我对 VQ-VAE 不是很了解,在我看来 VQ-VAE codebook collapse 应该有很多方法能缓解,比如和 DDN 论文中 Split-and-Prune 类似的 reinitialization 的方案。(也在“Connections to VQ-VAE”部分。)
    itechify
        20
    itechify  
    PRO
       2 天前 via Android
    虽然看不懂,但我大受震撼!
    diyer22
        21
    diyer22  
    OP
       2 天前
    @halberd 感谢欣赏~
    别忘了,主干 feature 会贯穿 DDN 的每一层。也就是说,每一层的计算和特征还会为最后一层的 output 负责,而不仅仅是专门为了某一层切分成 K 小块而服务。
    supemaomao
        22
    supemaomao  
       2 天前
    虽然看不懂,但我大受震撼!
    djs
        23
    djs  
       2 天前 via iPhone
    大佬牛逼
    gmuubyssss
        24
    gmuubyssss  
       2 天前
    我是来为大神喝彩的。
    lzjunika
        25
    lzjunika  
       2 天前
    膜拜
    NeedforV2
        26
    NeedforV2  
       2 天前
    虽然看不懂,但我大受震撼!
    spacebound
        27
    spacebound  
       2 天前
    虽然看不懂,但我大受震撼!
    xinyu391
        28
    xinyu391  
       2 天前
    看不懂
    zhaosong
        29
    zhaosong  
       2 天前
    已经是另一个 level 呢吗,你这家伙
    wukaige
        30
    wukaige  
       2 天前
    巨佬合影
    TQQQ
        31
    TQQQ  
       2 天前
    能应用到 TTS(语音合成)吗
    diyer22
        32
    diyer22  
    OP
       2 天前
    @TQQQ 我觉得 DDN 是具备处理 TTS 任务的能力,因为在文字条件的约束下,生成空间被大幅缩小。
    建议再搭配一个自回归模型( GPT ),以获得更强的建模能力。比如把 GPT 的分类 head 换为 DDN ,应该能 work 。
    jy02534655
        33
    jy02534655  
       2 天前
    原来这就是大佬的世界,我只能说 6666
    Simon95
        34
    Simon95  
       2 天前
    @diyer22 DDN 和 RVQ ( Residual vector Quantization )我觉得结合 GPT 在训练时候可能都有一个问题,就是第一层的码本(对应着 DDN 第一个 level )的重建都相当好,但其余码本的效果就比较差。
    因为 DDN 好像不同 level 之间也类似于的“残差”?但是在样本空间,而不是在 latent space 。
    我就是做语音的,在图像领域最新的论文( Diffusion Transformers with Representation Autoencoders )好像也表示不压缩效果更好。但用 CFM 去做生成的话,好像利用样本空间的分布直接生成的效果不是很好,而用 latent space 的分布更好,我感觉 DDN 的分布更接近于样本空间?
    不知道训练的效率怎么样,我找个时间在更大的数据集上跑跑试试。
    lyxxxh2
        35
    lyxxxh2  
       2 天前
    hacker new?
    以前也听过别人贴子:"登上 Hacker News 榜第 x"
    好像很水吧,随便发帖就能上的。
    diyer22
        36
    diyer22  
    OP
       2 天前
    @Simon95
    - 我觉得 DDN 的情况可能是第一层重建效果会比较差(非常模糊),随着层数增加才会变得清晰。
    - 虽然 DDN 是在样本空间做的采样和 “残差”,但 DDN 也可以像 latent diffusion 一样在 latent 空间做生成。(这时候的生成样本就成了 AutoEncoder 的 latent )
    - 训练效率还可以,中文博客的 “附录的 Q1” 有论述。目前 DDN 的最大问题还是 latent 空间不够大,需要改进自身(方案见中文博客的“不足和改进”)或者和 GPT 结合来分段建模,缩小空间
    - 欢迎尝试,遇到问题了随时提 issue ,发邮件~
    evilcat
        37
    evilcat  
       2 天前
    算法大佬
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2799 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:34 · PVG 21:34 · LAX 06:34 · JFK 09:34
    ♥ Do have faith in what you're doing.