强化学习是否能够学习复杂的功能(例如在给定图像的情况下生成 3d 模型)?

人工智能 强化学习 深度学习 函数逼近
2021-11-11 09:32:54

我想构建一个 AI,可以将对象的图像转换为解剖学上准确的 3D 模型。为此,我正在考虑为深度确定性策略梯度调整以下代码:https ://keras.io/examples/rl/ddpg_pendulum/

我考虑 RL 的原因:

  1. 我没有为项目采购大型数据集所需的技能(3D 建模)。我希望 RL 可以通过状态奖励学习适应较小的数据集来帮助我克服这个问题。我主要寻找人类和动物的解剖模型。这些很难大量找到。

  2. 我的第二个担忧是这些模型所需的密度(多边形数)可能相当高。我不确定 NN 输出高密度模型在计算上是否可行。但是,我认为 RL 代理可以逐步遍历并在 3D 空间中一次写入每个顶点。与前馈网络中的单个输出层相比。

但是,这意味着它必须处理相当大的状态空间(长度为 50,000 或更高的数组)。

尽管如此,RL 主要用于视频游戏和 OpenAI 健身房的简单控制问题。将 RL 用于这种复杂程度是浪费时间吗?

1个回答

是的,RL 能够学习复杂的函数,因为它是一种非常通用的学习方法。但是,如果您的直接目标是从示例数据中学习一个复杂的函数,那么它不会真正为该过程添加任何内容。监督学习会更有效率。

RL 没有直接解决或有特殊机制来处理您遇到的两个主要问题:

  • 缺乏训练数据

  • 具有大量变量的多变量优化

向这个问题添加状态、时间步长和跟踪错误学习并不能使它更容易处理。如果问题自然地表现为一系列更简单的选择,那么 RL 可能会有所帮助,但据我所知,你需要学习一个非常高维的函数,并且添加一层试验并没有任何好处错误学习在它之上。

您可能想要的是找到约束问题的方法,使用领域知识和/或类似系统的迁移学习。例如,如果您已经知道照片中被转换为网格的生物类型,您可能可以先对它们进行分类,以便使用一些预定义的网格,然后再进行调整,而不是从找出总体计划开始的网格。

已经有一些系统可以将人类主体的图片转换为具有大致正确形状和姿势的 3D 模型。我建议您研究这些以了解它们的工作原理以及它们中的想法是否可以重新用于您的问题。这是一个叫做 PIFuHD 的