我在想这样的事情:
构建一个程序(称为这个假用户),该程序使用刺激和响应根据另一个程序(称为这个目标)的使用来生成大量数据。例如,如果目标是扫雷,假用户会玩 carl sagan 多次游戏,并尝试在各种不同的情况下点击所有按钮,等等......
运行一个机器学习程序(称之为复印机),旨在进化出与目标尽可能相似的代码。
kablam,你有一个“足够好”的目标开源副本。
这可能吗?
是否有其他方法可以达到相同的结果,即获得原始目标程序的“足够好”的开源副本?
我在想这样的事情:
构建一个程序(称为这个假用户),该程序使用刺激和响应根据另一个程序(称为这个目标)的使用来生成大量数据。例如,如果目标是扫雷,假用户会玩 carl sagan 多次游戏,并尝试在各种不同的情况下点击所有按钮,等等......
运行一个机器学习程序(称之为复印机),旨在进化出与目标尽可能相似的代码。
kablam,你有一个“足够好”的目标开源副本。
这可能吗?
是否有其他方法可以达到相同的结果,即获得原始目标程序的“足够好”的开源副本?
值得注意的是,您描述的场景或多或少不仅是可行的,而且已经被证明(链接中的详细解释和引人入胜的视频)。
因此,就目前而言,您的副本质量将非常低。但是,这条规则有一个很大的例外:如果您要复制的软件本身是基于机器学习的,那么您可能可以非常便宜且轻松地制作出高质量的副本,正如我和我的合著者在这篇短文中所解释的那样文章。
有趣的问题,我很确定正确答案将在未来几年迅速改变。
这是使用 AI 对软件进行逆向工程的建议方法。
这不仅是可能的,而且它正在成为除逆向工程游戏之外的 AI 项目的标准做法。
有警告。