带一个健康的谎说,以下是我的探索DLSS的故事。
什么是DLSS呢?
似乎DLSS是“深度学习超采样”的缩写。它是NVIDIA RTX GPU上的一个家族的神经网络模型。第一个版本是2019年推出的,最新的版本将于今年发布。具体实现的任务有:
- 抗锯齿:模型能够检测并加强游戏中的边缘和移特性。
- 超采样:模型可以从“未处理”的帧中取出一个像素,并通过它提取出64个像素,从而提高帧的分辨率64倍。
- 插帧:生成在两个连续帧之间的新帧,以提高FPS。
似乎DLSS是任何使用它的3D渲染管线的最后一步。帧是通过“传统”的方式渲染,然后使用深度学习进行 Upscale 和重新想象。
它是如何训练的?
据我所知,DLSS模型使用的是一个称为“自编码”的架构。基本想法是训练一个网络,它可以将数据转换为一个大的“中间表示”。这是一个很大的矩阵,NN使用它来完成任何任务。这与“单词嵌入器”在LLM中使用的概念类似。
该模型需要大量标记的帧,才能生成中间表示。假设开发商希望让他们的游戏支持DLSS,他们需要将大量的图像数据发送给NVIDIA,重新训练DLSS模型。该数据是标记的:每个像素是一个三元组,表示其RGB值,而这又添加了关于该像素隶属于哪个实体的信息:运动方向、光源、深度等。该模型对待像素就像这样“求解”:
[RGB信息,'语义信息'] --> [整个帧的中间表示] --> [一个8x8块的新RGB像素]
基本上,一个像素就是一个带有RGB值、运动和光值的实体。该模型通过利用像素信息、邻近像素信息、前一帧信息和整个训练集的整体趋势进行“插值”,从而将一个像素转化为64个像素。
DLSS是不是就是一个滤波器?
从历史上看,DLSS模型都是训练在特定的几款游戏的图像数据上,只有这些特定的游戏支持DLSS。如果DLSS 5可以在任何游戏中使用,那意味着模型是在使用来自其他游戏的信息进行创建图像数据。
我也不会说DLSS就是用AI重新想象一下整个帧。它被训练来完成特定的任务:Upsample、插帧等,所以它不太可能随机地重新解释游戏的外观appearance。然而,就像每个游戏的像素都会被转化为64个像素,每个像素都是重新想象了使用的数据。不能否认,这听起来似乎很混乱。
致谢
这个Reddit线程对于我的这个旅程帮助很大。
参与互动
请告诉我这个写作中有些什么地方我错误了。您是否认为在现代3D渲染管线中有DLSS的地位?
编辑
所有那些说我用了AI写这个文本的人,我的好友们,我连如何使用基因AI工具都不知道。以下是我阅读的文章:
https://developer.nvidia.com/blog/dlss-what-does-it-mean-for-game-developers/
https://www.nvidia.com/en-us/geforce/news/dlss5-breakthrough-in-visual-fidelity-for-games/
https://www.ign.com/articles/nvidia-confirms-dlss-5-is-re-drawing-games-and-that-sucks
评论 (0)