Stable Diffusion (2021 https://arxiv.org/abs/2112.10752) 带领了vision领域,具体是AI绘画领域达到了一个新高度。但是可控性成为使用的一个大瓶颈。Controlnet (2023 https://arxiv.org/abs/2302.05543) 提出一个深度学习模型框架,很好解决这个问题, 我们普通人使用复杂模型带来了希望。 其支持多种控制方式的输入,给创作带来了大大的便利。
有很多文章解释了controlNet的原理, 不在这里详细讨论。其文章主要发明创作是zero convolution。
Q: 为什么zero convolution可以用小数据来训练呢?
- 模型初始化的时候权重为训练好的权重,并且generation 部分的网络权重是固定的。右侧网络在没有学习的时候不影响最终输出,输出为0,最终效果只是微调。因此不需要大的数据量,收敛速度更快。
Q: 为什么zero convolution 可以提供如此强大的功能呢?
如果没有这一层,其实也可以训练的,但是训练难度增加,参见上一个问题。依然是因为只是微调。
Thoughts:
controlnet中蕴含了很多与resnet中skip connnection类似的思想,可以类比为将skip connection中直接连接神经网络的输入和输出,换成 在这个链接过程中也加入一个学习过程。
在进一步,我们可以看到 模型输入x 是直接作为一个数据直接连接到controlnet上。我们是否可以加一层网络进来呢? 答案应该是肯定,这就有点类似attention的思想了:只使用有用的信息来使用。只是现在还不知道什么样的任务需要这样的attention module。期待后续更多的工作。