为什么人工智能是(或不是)生成随机数的好选择?GAN 是否适合此目的?
为什么人工智能是(或不是)生成随机数的好选择?
为什么人工智能是(或不是)生成随机数的好选择?
AI 方法通常不适合生成随机数,原因如下:
与它们不适合添加数字的原因类似,已经存在许多强大的伪随机和“真实”随机源,无需使用任何 AI 方法就可以实现,并且对于模拟和密码学等目的来说已经足够好。这些现有的算法和设备在任务中的执行效率比任何人工智能都要高得多。
生成具有良好统计特性的随机数是一项非常精确的任务,机器学习中通常使用的近似值无法应对(伪随机函数本质上是嘈杂且难以学习的)。AI 搜索技术也无济于事,因为验证随机数据源需要生成的输出量非常大,这使得诸如树搜索之类的解决方案变得难以处理。
可以探索的 AI 与随机数生成之间的一种可能关系是随机数生成器的代码生成和代码分析。换句话说,一个足够复杂的人工智能可以理解典型随机数生成器 (RNG) 中使用的代码的复杂性,这可能有助于使随机数生成更有效,或者更不容易被破解,或者暴露现有实现中的缺陷。这超出了目前人工智能技术的能力——或者换句话说,人类智能已经把 RNG 技术带到了相当远的地方,所以目前的人工智能可以做的改进很少。
GAN 是否适合此目的?
不会。GAN 的输入通常是由现有 RNG 生成的随机数向量。GAN 的目的是转换这个简单分布的随机向量输入- 这可能适用于许多其他目的,例如运行随机过程的模拟 - 进入从一些目标人群的分布中抽样,通常表示为大空间的子集. 那些价值观将偏向于该向量空间中可能表示的所有可能空间的子空间(或流形)。例如,您可以输入一个包含 100 个变量的随机向量,GAN 将生成一张狗的图片。除了尝试拍摄狗的照片之外,它无法生成任何东西,而如果完全随机,它可能创建的所有可能图像的空间要大得多(而且通常看起来并不有趣)。
因此,GAN 将采用已经很好的随机源并将其转换为一组有偏差的数字,如果没有进一步的处理,这些数字通常无法用作 RNG。您将进行的处理(例如“噪声白化”)是一些当前“安全”随机生成器所做的事情 - 意思是使用 GAN 生成高质量的随机数,您实际上会将现有的 RNG 代码放在其输入和输出层上。GAN 只会增加浪费的计算。
你甚至无法训练 GAN 来完成这项任务,因为真正的随机空间包含所有可能的输出,所以判别器不会有负样本。尽管随机图片通常看起来像静态噪声,并且大多数人显然认为蒙娜丽莎的图片“不是随机的”,但实际上它与任何其他图像一样可能被视为。