超网络 (HyperNetworks) 是一种神经网络结构,其与传统的神经网络相比,在模型参数化方面有一些不同之处。 Google Brain 于 2016 年发表的论文「HyperNetworks」表示,在 HyperNetworks 中,一个神经网络被用来生成另一个神经网络的权重或其他参数。这个生成网络被称为超网络 (HyperNetwork),而被它生成的网络被称为目标网络 (Target network)。
通常情况下,HyperNetwork 会接收一些额外的输入,比如目标网络的输入,然后生成目标网络的参数。这种方法的一个关键优势是,它可以实现对目标网络参数的动态生成,从而使得模型能够更灵活地适应不同的任务或环境。
HyperNetworks 在诸如元学习 (meta-learning) 和结构搜索 (architecture search) 等领域中具有潜在的应用。通过使用 HyperNetworks,可以实现对于模型结构或参数的自动调整和优化,从而提高模型的泛化能力和适应性。
HyperNetworks 是由 Stable Diffusion 的早期采用者 Novel AI 开发的微调技术。它是一个附加到 Stable Diffusion 模型的小型神经网络,用于修改其风格。
HyperNetworks 通常是一个简单的神经网络:具有丢失和激活功能的完全连接的线性网络。就像神经网络入门课程中学习的内容一样。他们通过插入两个网络来转换键向量和查询向量来劫持交叉注意力模块。下面比较原始模型架构和被劫持的模型架构。
在训练期间,Stable Diffusion 模型被锁定,但附加的 HyperNetworks 允许更改。由于超网络很小,训练速度很快并且需要有限的资源。训练可以在普通计算机上完成。