2024-02-19

大力出奇迹

前几天Sora出来后才仔细看了下diffusion,发觉确实算挺取巧的.

按照naive的intuition或者说不那么现代的方式的话,可能需要segmentaion为基础的composite的方式去生成图片,即使扯点deep learning/network的,可能也是类似一些style transfer之类的加上去,从架构上看是比较可控/微调/可解释一些.

而diffusion的思路其实更类似gan那类.
并不寻求一个符合直觉的正向生成,而是采用了一个逆向的拟合方式.

既然经过network transform之后,天然地至少在某一层是一种没什么visual意义的雪花/噪声图片.
那么换个思路,如果可以拟合出一个反向的逆函数的话,就存在用一组看似噪声的高维数据来生成图片了.

也就是如果已知道一个视觉图像到噪声数据图片的变换
f(visual) -> embed(d) 

然后暴力拟合出一个逆函数.
visual <- f`(embed(d))  = g(embed(d))
的话,事情就简单了.

尤其如果training的时候把d拆成图像本身的一种变换加上prompt/llm space的embedded的两个线性变换去做的话,直觉上就容易出不可控/稳定的文字生成图片了.

因为形式上来说,llm本身有一定的描述能力.
毕竟只要文本源足够大,各种文字/词组之间的关联关系是可以以概率转移函数的形态体现的.

而image的某种transform再线性地见进去做training的话,本质上就是再给定一种新的语言预料去fine tune一种translation而已.
只不过这种新语言可能是一种像素分布的某类维度空间的re-projection.

当然,这只是一种直觉上的理解.

实际的结果可能也像stable diffusion这个ip所提示的那样,这种没有其他regularaion的生成图片可能很容易出现扭曲和错误.

所以基于这个大前提上的进一步的fine tune也可能有其他奇技淫巧.

像OpenAI的Sora白皮书里提到的SDEdit的思路.

它提供的是一种对于图片做一种指定区域re-paint/regenerate或者说patch/inpaint的算是工具网络思路.

大致的思路也是跟diffusion一样是拟合一个逆向函数.
对指定区域对应某个intermediate的高维或者结果的局部做replacement,然后再用拟合的函数正向生成回去.

这样一种局部diffusion的做法的可能的另外一个副产品就是对非patch区域的保真/稳定的一个网络.
毕竟,可能只要稍微调整下reward函数就可以distil出来了.

然后比如通过增减prompt的某些特定部分的差异生成加上这种preserve quality,就容易自身反馈地regularate出比较smooth的结果了吧.

而视频生成的话,看白皮书的意思是把帧间变换的patch当作某种形式的embed/prompt去做的.

所以思路上可能也没什么太大的新东西.

各家的差别可能也就在于training阶段堆叠的这些工具fine tune网络的多少和复杂度以及素材的多样性情况了.

当然,还有一个就是算力的能力/容量问题了.

基本上大力出奇迹这句话算是话糙理不糙.

形式上,这个行业可能更像材料/高分子化学这类略玄学的领域.
需要某种形式的天赋去炼丹碰运气.

你也不能说没有方法论指导.
但是正确的方法论/feature的选取并不能保证能出期望的结果.

毕竟产出的过程其实并不太可控,哪些因素影响结果的预期性其实也是个未知数.

所以某种程度上来说,DeepMind致力于医学和高分子领域这些,倒算是某种天命宿命的冥冥感.


爽文

去看了好东西. 坦白说,多少是带着点挑刺的味道去的. 毕竟打着爱情神话和女性题材的气质,多多少少是热度为先了. 看完之后倒是有些新的想法. 某种程度上来说,现在的年轻人或者说声音就像小叶. 只要说点贴心的话就能哄好. 也是那种可以不用很努力了. 留在自己的舒适区避难所小圈子抱团就...