深度学习15


### Web导航

▪  讨论通用的Web导航和浏览器自动化的实际应用。
▪  探索如何通过RL方法解决Web导航问题。
▪  深入研究由OpenAI实现的一个非常有趣但常被忽略且被抛弃的RL基准,称为比特迷你世界(Mini World of Bits,MiniWoB)。

RL浏览器自动化的潜在实际应用很有吸引力,但有一个非常严重的缺点:这类任务复杂度太高,无法用于研究和方法比较。实际上,实现完整的网页抓取系统可能需要团队花费数月的时间,并且大多数问题不会与RL直接相关,例如数据收集、浏览器引擎通信、输入和输出表示以及很多真实生产系统开发涉及的其他问题。

最重要的参数如下:
▪  remotes:可以是数字或字符串。如果将其指定为数字,则它将给出环境需要启动的本地容器的数量。如果是字符串,此参数可以以vnc://host1:port1+port2, host2:port1+port2的形式指定环境需要连接的已运行容器的URL。第一个端口是VNC协议端口(默认为5900)。第二个端口是奖励器守护进程的端口(默认为15900)。可以在Docker容器启动时重新指定这两个端口。
▪  fps:用于提供智能体观察的预期每秒帧数(FPS)。
▪  vnc_kwargs:该参数必须是一个字典,带有额外的VNC协议参数,用于定义压缩级别和要传输给智能体的图像的质量。这些参数对于性能来说非常重要,尤其是对于在云中运行的容器而言。

**docker参数的含义如下:**
1)-d在分离模式下启动容器。为了能够查看容器的日志,可以将此选项替换为-t。在这种情况下,容器将以交互方式启动,并可以按Ctrl + C停止。
2)-p SRC_PORT:TGT_PORT将源端口从容器的主机转发到容器内的目标端口。此选项使你可以在一台计算机上启动多个MiniWoB容器。每个容器都会在5900端口上启动VNC服务器,并在15900端口上启动奖励器守护进程。参数-p 5900:5900使VNC服务器在主机(运行容器的计算机)的5900端口上启动。对于第二个容器,你应该传递-p 5901:5900,这使其在5901端口上启动,而不是在已占用的5900端口上启动。奖励器也是如此:在容器内部,它监听15900端口。通过提供-p选项,你可以将连接从主机端口转发到容器的端口。
3)--privileged允许容器访问主机的设备(MiniWoB启动时使用此选项可能是因为有一些VNC服务器有需要)。
4)--ipc host使容器能够与主机共享进程间通信(IPC)命名空间。
5)--cap-add SYS_ADMIN扩展了容器的能力,以执行主机设置的扩展配置。
6)是容器的标识符。在这里是shmuma/miniwob:v2,它是原始quay.io/openai/universe.world-of-bits:0.20.0的修订版本。关于MiniWoB的稳定性见16.2.4节。
7)使你可以将额外的参数传递给容器以更改其操作模式。稍后我们将需要用它来记录人类演示。目前,它可以为空。

可以尝试以下几项:
▪  通过噪声单击来测试演示的鲁棒性。
▪  使用演示数据对A3C价值输出端进行训练。
▪  实现更复杂的鼠标控制,例如将鼠标向左/右/上/下移动N个像素。
▪  使用一些预训练的OCR网络(或自己训练的!)从观察中提取文本信息。
▪  选择其他环境并尝试解决它们。里面存在一些非常棘手和有趣的问题,例如通过拖放操作对条目进行排序或使用复选框重复给定的模式。
▪  研究来自斯坦福大学NLP Group的MiniWoB++(https://stanfordnlp.github.io/miniwob-plusplus/)。它将需要学习和编写新的包装器。如前所述,Selenium被用于浏览器,而不是使用带VNC和容器的Universe方法。
▪  另一个具有挑战性的问题是使用Q-learning来解决MiniWoB任务。

你可能感兴趣的:(深度学习,深度学习,docker,linux)