带一个健康的谎说,以下是我的探索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.tomsguide.com/computing/gpus/deciphering-dlss-5-pc-gaming-breakthrough-or-nvidias-ai-slop-era

https://www.ign.com/articles/nvidia-confirms-dlss-5-is-re-drawing-games-and-that-sucks