第五期——从生成对抗网络到全自动修图
从最近大火的chatGPT,到图片转动漫,从DALL.E文生图到一键写文案,这几年里很多“科技狠活”都出自一个叫做GAN的模型之手。今天要讲到的XMAGE影像引擎与小米影像大脑也是基于GAN制作的。那么,这个模型到底是什么?它是靠什么实现“自动修图”的?
Generative Adversarial Networks
GAN的中文翻译为:生成对抗网络(也有地方叫对抗生成网络),意如字现,无论是谁在前面,GAN都有一个特征:生成(G)、对抗(A)还有网络(N)。
举个例子的话,假设一个犯罪团伙,准备印假钞。首先肯定要找一个模子,就是真钞了。然后小G是造假钞的“工程师”,小A是监工,负责监督假钞的质量。当小A检测到造出来的产品质量不到真钞的水平,就让小G打回去重做,如果到了以假乱真的程度,那么恭喜,这笔生意就成了~!(只是现在都不用纸币了)
当然,实际情况会更复杂。首先,在举的例子里,真钞只有一种。但如果想要生成的物体不止一种呢?比如说像DALL.E一样凭空生成一张图片,一张照片包含的可能性可是无穷的,可以是一个明星,也可能是篮球,或者背带裤。为了为小G找到合适的学习对象,公司把整个百度图片里面的照片都交给了小G,让他学习造一张图片。这个时候,监工小A也可以拿着有着上亿数量级的照片库当范本,当小G造了一张图片后,小A就照着图库里面的照片,看看凭空造出来的图片和真实存在的图片有多少的相似度。
如果监工小A太严格,每次小G生成的图片都会被打回去,那小G自然就没有信心了,但如果太松的话,生成的什么照片都给通过,那客户肯定是不买账的。所以GAN模型的关键在于什么时候给小G一个糖果,什么时候拿着鞭子抽它。这个步骤称为下降梯度。
让小G生成更加可信的结果,还需要庞大的网络,比如百度图片里面上亿级别的图片(当然, 这样做是违法的,所以百度找了其他方法),只有足够多的数据网络,才可能创造出可信的结果。当然,为了提升效率,也可以对数据进行标注,来加快小G的理解,比如“这张图里面有一个明星在跳舞,手里拿着一个篮球”。这个时候,传统的神经网络就能提到作用,比如景深识别、面部识别、物体识别等。
所以,现在你大概就能理解那些刷爆朋友圈的各种人工智能的原理了吧。比chatGPT的训练模型是文本,DALL.E的训练模型是图片,图片转动漫的训练模型则是各种各样的动漫图。
那么,GAN的出现会给影像带来什么样的变化呢?它是怎么做到“全自动修图”的?
如果回到华为mate50系列新品发布会与小米13系列发布会,会发现其中的端倪。回想一下,GAN都需要什么,需要生成器G,监工A和训练网络N。在发布会上,我们能找到一个关键信息:训练网络N的来源。华为XMAGE的来源是华为新影像大赛的参赛作品,小米影像大脑则来自于小米徕卡影像大赛参赛作品。比赛,是区分好作品与否的最直观的方式,通过比赛所筛选出来的作品,将会作为训练集进入到GAN的训练中。
当然,相比于凭空造图,修图要更加简单。在生成器G中,一个重要的内容是参数的数量,造图可能需要上亿的参数,但是修图方面,有过修图经历的摄影师也明白,参数最多也不会超过一千的量级。虽说如此,但是要衡量效果如何,最终还是要看训练库中作品的质量与数量。
每当训练完毕后,都会生成一个训练文件,就像做饭一样,GAN看到今天用的是黄瓜、地瓜和西瓜,就会分析出最佳的食用方式(我推荐直接吃)。根据文件大小,公司可以选择在线使用或者离线使用。像chatGPT使用的是在线的方式,有时候向它问一个问题,它会思考半天。而华为使用的是离线方案,mate50系列的更新动辄4、5百兆,多的时候能到1G,更新日志里写着“拍照场景优化”就是在对XMAGE的GAN模型进行的改进。
在使用XMAGE进行拍摄时,我常常会有一种错觉,认为修出来的照片好像某个大师会修的风格,具体也说不上来,大抵就是这样的体验。
以前,大家用的还是半自动修图,各种套用滤镜,直到找到自己喜欢的风格。现在,修图变成了AI帮你找滤镜。那么,以后又会变成什么样子呢?
参考资料:
生成对抗网络(GAN) - 知乎 (zhihu.com)
ChatGPT: Optimizing Language Models for Dialogue (openai.com)
DALL·E 2 (openai.com)
小米影像 - 2022中国影像辞典,小米徕卡影像大赛 (mi.com)
2022新影像大赛 (huawei.com)
编辑人:思诺
资料收集:心雨
如资料有误,请及时联系修改
所有文章都已表明出处,如果你是原作者且不同意引用,请联系我们撤除相关内容
除引用部分以外,其它均为原创,转载需标明“新乡学院摄影协会”字样
新乡学院摄影协会
2022.12.24