PixelRL(强化学习+全卷积+策略学习+价值学习)
一、摘要
-
本文解决了一个新的问题设置:用于图像处理的像素级奖励 (pixelRL) 强化学习。在引入深度 Q 网络之后,深度强化学习取得了巨大的成功。然而,深度强化学习(RL)在图像处理中的应用仍然有限。因此,我们将深度强化学习扩展到像素强化学习,用于各种图像处理应用。在pixelRL中,每个像素都有一个agent,agent通过一个动作来改变像素值。我们还提出了一种有效的 pixelRL 学习方法,该方法不仅考虑了自身像素的未来状态,还考虑了相邻像素的未来状态,从而显着提高了性能。所提出的方法可以应用于一些需要逐像素操作的图像处理任务,而这些任务从未应用过深度强化学习。
-
此外,可以可视化在每次迭代中对每个像素采用哪种操作,这将有助于我们理解为什么以及如何选择这种操作。我们还相信我们的技术可以增强深度神经网络的可解释性和可解释性。此外,由于在每个像素处执行的操作都是可视化的,因此我们可以根据需要更改或修改操作。我们将所提出的方法应用于各种图像处理任务:图像去噪、图像恢复、局部颜色增强和显着性驱动的图像编辑。 我们的实验结果表明,与基于监督学习的最先进方法相比,所提出的方法实现了相当或更好的性能。
-
源代码可在 https://github.com/rfuruta/pixelRL 上获得。
二、介绍
- 介绍了FCN
- 介绍了DQN
- (问题:这些方法很难应用于需要按像素进行操作的应用,例如图像去噪。)
- 设想解决用于图像处理的强化学习
- 介绍了多智能体强化学习:每个像素都有一个智能体。Agent学习最佳Action以最大化所有像素的预期总奖励的平均值。每个像素值都被视为当前State,并通过Agent的动作迭代更新。
- (问题:图像像素级计算量巨大。)
- 设想解决用全卷据FCN共享参数并有效地学习
- 提出了奖励图卷积,每个代理不仅考虑其自身像素的未来状态,还考虑相邻像素的未来状态。
- 限制:必须为每个应用程序预先定义动作
三、创新点
- 我们提出了一个新的问题设置:用于图像处理的pixelRL,其中现有的多智能体RL 技术无法应用。
- 我们提出了reward map convolution,这是一种有效的pixelRL 学习方法并提高了性能。
- 我们将pixelRL 应用于图像去噪、图像恢复、局部颜色增强和显着性驱动的图像编辑。所提出的方法对于这些任务来说是一种全新的方法,与最先进的方法相比,表现出更好或相当的性能。 • 代理执行的动作对人类来说是可解释的,这与传统的 CNN 有很大不同。
四、相关工作
-
回顾了将深度RL应用于计算机视觉和图形任务的工作
- 应用深度RL进行对象定位。他们的代理迭代地细化包围输入图像中对象的边界框,作为顺序动作。
- 提出了一种基于树结构方法的类似方法来广泛搜索输入图像中的对象。
- 目标跟踪,给定当前帧和定位对象为当前状态,他们的代理将下一帧中的对象定位为他们的动作,其中该过程被视为马尔可夫决策过程。
- 深度RL应用于视频中人脸识别的帧选择,决定是否丢弃每一帧以最大化不同人的视频之间的特征距离,这被视为硬注意力模型。
- 使用deep RL的视频快进方法,其中代理决定从当前帧中跳过的帧数。Deep RL也被应用于弱监督的视频摘要
- 提出了分层RL: 第一层用于选择候选镜头,第二层用于为每个镜头给出重要性分数。
- 人脸图像的超分辨率方法。代理首先选择一个本地区域,并将其输入到本地增强网络。增强网络将本地补丁转换为高分辨率补丁,代理选择下一个应该增强的本地补丁。重复此过程,直到达到最大时间步长;因此,整个图像得到了增强。
- 使用深度RL进行图像裁剪。代理迭代地重塑裁剪窗口,以最大化裁剪图像的美学分数。
- 提出了RL恢复方法,代理从工具箱(一组轻量级CNN)中选择一个工具链来恢复损坏的图像。
- 提出了一种使用DQN的颜色增强方法。代理反复选择图像处理操作(例如,增加亮度)并对输入图像进行润色。奖励的定义是代理修改后的图像与专家修改后的图像之间的负距离。
- 使用 FCN 来解决逆强化学习问题。
-
回顾了图像去噪方面的工作
- 基于神经网络的方法表现出更好的性能。
- 虽然大多数基于神经网络的方法学习从噪声输入中回归噪声或真实像素值,但我们的方法通过简单的逐像素动作(基本过滤器)序列迭代地去除噪声。
-
回顾了图像修复方面的工作
- Roth 和 Black [34] 提出了一种基于马尔可夫随机场的模型来先于相邻像素学习图像。
- Mairal 等人。 [35] 提出了一种基于学习的方法,该方法使用 K-SVD 从图像数据库创建字典,并将其应用于图像去噪和修复。
- 基于 U-Net 的修复方法 [37] 表现出比其他方法更好的性能。
- 我们的方法被归类为基于学习的方法,因为我们使用训练图像来优化策略。然而,与经典的修复方法类似,我们的方法成功地使用基本过滤器序列传播相邻像素值。
-
回顾了图像色彩增强方面的工作
-
回顾了图像编辑方面的工作(给定输入图像和目标区域(例如,掩码图像),编辑输入图像以使目标区域中的显着性值增加/减少。 它的目标是自然地增强/减少输入图像中的目标对象。)
五、背景知识
A3C是actor-critic方法之一,它有两个网络: 策略网络和价值网络。
符号 | 解释 |
---|---|
θ p θ_p θp | 策略网络 |
θ v θ_v θv | 价值网络 |
s ( t ) s(t) s(t) | 状态 |
a ( t ) a(t) a(t) | 动作, a ( t ) ∈ A a(t) \in A a(t)∈A |
A A A | 所有动作的集合 |
∣ A ∣ |A| ∣A∣ | 动作总数 |
V ( s ( t ) ) V(s(t)) V(s(t)) | 价值网络输出,表示当前状态 s ( t ) s(t) s(t)对所有动作 a ( t ) a(t) a(t)的预期奖励和 |
γ \gamma γ | 折扣率 |
π ( a ( t ) ∣ s ( t ) ) \pi\left(a^{(t)} \mid s^{(t)}\right) π(a(t)∣s(t)) | 策略网络的输出,该状态下执行此动作的概率 |
A ( a ( t ) , s ( t ) ) A\left(a^{(t)}, s^{(t)}\right) A(a(t),s(t)) | 优势,能评价当前动作值函数相对于平均值的大小。 |
R ( t ) = r ( t ) + γ r ( t + 1 ) + γ 2 r ( t + 2 ) + ⋯ + γ n − 1 r ( t + n − 1 ) + γ n V ( s ( t + n ) ) d θ v = ∇ θ v ( R ( t ) − V ( s ( t ) ) ) 2 \begin{aligned} &R^{(t)}=r^{(t)}+\gamma r^{(t+1)}+\gamma^{2} r^{(t+2)}+\cdots +\gamma^{n-1} r^{(t+n-1)}+\gamma^{n} V\left(s^{(t+n)}\right) \end{aligned}\\ d \theta_{v}=\nabla_{\theta_{v}}\left(R^{(t)}-V\left(s^{(t)}\right)\right)^{2} R(t)=r(t)+γr(t+1)+γ2r(t+2)+⋯+γn−1r(t+n−1)+γnV(s(t+n))dθv=∇θv(R(t)−V(s(t)))2
- 价值函数判断当前状态是否是优势,接近真实奖励为优势,否则为劣势。
- 优势下梯度接近为0,劣势下梯度增加。
A ( a ( t ) , s ( t ) ) = R ( t ) − V ( s ( t ) ) d θ p = − ∇ θ p log π ( a ( t ) ∣ s ( t ) ) A ( a ( t ) , s ( t ) ) A\left(a^{(t)}, s^{(t)}\right)=R^{(t)}-V\left(s^{(t)}\right)\\ d \theta_{p}=-\nabla_{\theta_{p}} \log \pi\left(a^{(t)} \mid s^{(t)}\right) A\left(a^{(t)}, s^{(t)}\right) A(a(t),s(t))=R(t)−V(s(t))dθp=−∇θplogπ(a(t)∣s(t))A(a(t),s(t))
- 第二项,是优势函数,选择该 action 的优势,当低于 average value 的时候,该项为 negative,当比 average 要好的时候,该项为 positive;是一个标量(scalar)
- 第一项,告诉我们了使得 log 函数 增加的方向;