万字总结83篇文献:深度强化学习之炒作、反思、回归本源

    科技2022-07-11  108

    万字总结83篇文献:深度强化学习之炒作、反思、回归本源

    道翰天琼认知智能机器人平台API接口大脑为您揭秘。深度强化学习是深度学习与强化学习相结合的产物,它集成了深度学习在视觉等感知问题上强大的理解能力,以及强化学习的决策能力,实现了端到端学习。深度强化学习的出现使得强化学习技术真正走向实用,得以解决现实场景中的复杂问题。从2013年DQN(深度Q网络,deep Q network)出现到目前为止,深度强化学习领域出现了大量的算法,以及解决实际应用问题的论文,本文将阐述深度强化学习的发展现状,并对未来进行展望。

    1

    深度强化学习的泡沫

    2015 年,DeepMind 的 Volodymyr Mnih 等研究员在《自然》杂志上发表论文 Human-level control through deep reinforcement learning[1],该论文提出了一个结合深度学习(DL)技术和强化学习(RL)思想的模型 Deep Q-Network(DQN),在 Atari 游戏平台上展示出超越人类水平的表现。自此以后,结合 DL 与 RL 的深度强化学习(Deep Reinforcement Learning, DRL)迅速成为人工智能界的焦点。过去三年间,DRL 算法在不同领域大显神通:在视频游戏 [1]、棋类游戏上打败人类顶尖高手 [2,3];控制复杂的机械进行操作 [4];调配网络资源 [5];为数据中心大幅节能 [6];甚至对机器学习算法自动调参 [7]。各大高校和企业纷纷参与其中,提出了眼花缭乱的 DRL 算法和应用。可以说,过去三年是 DRL 的爆红期。DeepMind 负责 AlphaGo 项目的研究员 David Silver 喊出“AI = RL + DL”,认为结合了 DL 的表示能力与 RL 的推理能力的 DRL 将会是人工智能的终极答案。1.1  DRL 的可复现性危机然而,研究人员在最近半年开始了对 DRL 的反思。由于发表的文献中往往不提供重要参数设置和工程解决方案的细节,很多算法都难以复现。2017 年 9 月,著名 RL 专家 Doina Precup 和 Joelle Pineau 所领导的的研究组发表了论文 Deep Reinforcement Learning that Matters[8],直指当前 DRL 领域论文数量多却水分大、实验难以复现等问题。该文在学术界和工业界引发热烈反响。很多人对此表示认同,并对 DRL 的实际能力产生强烈怀疑。其实,这并非 Precup& Pineau 研究组第一次对 DRL 发难。早在 2 个月前,该研究组就通过充足的实验对造成 DRL 算法难以复现的多个要素加以研究,并将研究成果撰写成文 Reproducibility of Benchmarked Deep Reinforcement Learning Tasks for Continuous Control[9]。同年 8 月,他们在 ICML 2017 上作了题为“Reproducibility of Policy Gradient Methods for Continuous Control”的报告 [10],通过实例详细展示了在复现多个基于策略梯度的算法的过程中,由于种种不确定性因素导致的复现困难。12 月,在万众瞩目的 NIPS 2017 DRL 专题研讨会上,Joelle Pineau 受邀作了题为“Reproducibility of DRL and Beyond”的报告 [11]。报告中,Pineau 先介绍了当前科研领域的“可复现性危机” :在《自然》杂志的一项调查中,90% 的被访者认为“可复现性”问题是科研领域存在的危机,其中,52% 的被访者认为这个问题很严重。在另一项调查中,不同领域的研究者几乎都有很高的比例无法复现他人甚至自己过去的实验。可见“可复现性危机”有多么严峻!Pineau 针对机器学习领域发起的一项调研显示,同样有 90% 的研究者认识到了这个危机。机器学习领域存在严重的“可复现性危机”[11]随后,针对 DRL 领域,Pineau 展示了该研究组对当前不同 DRL 算法的大量可复现性实验。实验结果表明,不同 DRL 算法在不同任务、不同超参数、不同随机种子下的效果大相径庭。在报告后半段,Pineau 呼吁学界关注“可复现性危机”这一问题,并根据她的调研结果,提出了 12 条检验算法“可复现性”的准则,宣布计划在 ICLR 2018 开始举办“可复现实验挑战赛”(“可复现危机”在其他机器学习领域也受到了关注,ICML 2017 已经举办了 Reproducibility in Machine Learning Workshop,并将在今年继续举办第二届),旨在鼓励研究者做出真正扎实的工作,抑制机器学习领域的泡沫。Pineau & Precup 研究组的这一系列研究获得了广泛关注。Pineau 基于大量调查提出的检验算法“可复现性”准则 [11]1.2 DRL 研究存在多少坑?同样在 12 月,Reddit 论坛上也开展了关于机器学习不正之风的热烈讨论 [12]。有人点名指出,某些 DRL 代表性算法之所以在模拟器中取得了优秀却难以复现的表现,是因为作者们涉嫌在实验中修改模拟器的物理模型,却在论文中对此避而不谈。对现有 DRL 算法的批判浪潮仍旧不断涌来。2018 年的情人节当天,曾经就读于伯克利人工智能研究实验室(Berkeley Artificial Intelligence Research Lab, BAIR)的 Alexirpan 通过一篇博文 Deep Reinforcement Learning Doesn't Work Yet[13] 给 DRL 圈送来了一份苦涩的礼物。他在文中通过多个例子,从实验角度总结了 DRL 算法存在的几大问题:

    样本利用率非常低;最终表现不够好,经常比不过基于模型的方法;好的奖励函数难以设计;难以平衡“探索”和“利用”, 以致算法陷入局部极小;对环境的过拟合;灾难性的不稳定性…

    虽然作者在文章结尾试着提出 DRL 下一步应该解决的一系列问题,很多人还是把这篇文章看做 DRL 的“劝退文”。几天后,GIT 的博士生 Himanshu Sahni 发表博文 Reinforcement Learning never worked, and 'deep'> 另一位 DRL 研究者 Matthew Rahtz 则通过讲述自己试图复现一个 DRL 算法的坎坷历程来回应 Alexirpan,让大家深刻体会了复现 DRL 算法有多么难 [15]。半年前,Rahtz 出于研究兴趣,选择对 OpenAI 的论文 Deep Reinforcement Learning from Human Preferences 进行复现。在复现的过程中,几乎踩了 Alexirpan 总结的所有的坑。他认为复现 DRL 算法与其是一个工程问题,更不如说像一个数学问题。“它更像是你在解决一个谜题,没有规律可循,唯一的方法是不断尝试,直到灵感出现彻底搞明白。……很多看上去无关紧要的小细节成了唯一的线索……做好每次卡住好几周的准备。”Rahtz 在复现的过程中积累了很多宝贵的工程经验,但整个过程的难度还是让他花费了大量的金钱以及时间。他充分调动不同的计算资源,包括学校的机房资源、Google 云计算引擎和 FloydHub,总共花费高达 850 美元。可就算这样,原定于 3 个月完成的项目,最终用了 8 个月,其中大量时间用在调试上。

    道翰天琼认知智能未来机器人接口API简介介绍

    认知智能是计算机科学的一个分支科学,是智能科学发展的高级阶段,它以人类认知体系为基础,以模仿人类核心能力为目标,以信息的理解、存储、应用为研究方向,以感知信息的深度理解和自然语言信息的深度理解为突破口,以跨学科理论体系为指导,从而形成的新一代理论、技术及应用系统的技术科学。 认知智能的核心研究范畴包括:1.宇宙、信息、大脑三者关系;2.人类大脑结构、功能、机制;3.哲学体系、文科体系、理科体系;4.认知融通、智慧融通、双脑(人脑和电脑)融通等核心体系。 认知智能四步走:1.认知宇宙世界。支撑理论体系有三体(宇宙、信息、大脑)论、易道论、存在论、本体论、认知论、融智学、HNC 等理论体系;2.清楚人脑结构、功能、机制。支撑学科有脑科学、心理学、逻辑学、情感学、生物学、化学等学科。3.清楚信息内涵规律规则。支撑学科有符号学、语言学、认知语言学、形式语言学等学科。4.系统落地能力。支撑学科有计算机科学、数学等学科。 认知智能CI机器人是杭州道翰天琼智能科技有限公司旗下产品。认知智能机器人是依托道翰天琼10年研发的认知智能CI体系为核心而打造的认知智能机器人大脑,是全球第一个认知智能机器人大脑。具有突破性,创新性,领航性。是新一代智能认知智能的最好的产品支撑。 认知智能机器人技术体系更加先进,更加智能,是新一代智能,认知智能领域世界范围内唯一的认知智能机器人。 认知智能机器人是新时代的产物,是新一代智能认知智能的产物。代表了新一代智能认知智能最核心的优势。和人工智能机器人大脑相比,优势非常明显。智能度高,客户粘性大,客户满意度高,易于推广和传播等核心特点。 依托认知智能机器人平台提供的机器人大脑服务,可以赋能各个行业,各个领域的智能设备,各类需要人机互动的领域等。认知智能机器人平台网址:www.weilaitec.com,www.citec.top。欢迎注册使用,走进更智能机器人世界。 认知智能和人工智能的优劣势对比主要可以分为四大方面: 第一:时代发展不同。人工智能是智能时代发展的第二个阶段,认知智能是智能时代发展的第三个阶段。时代发展上决定了认知智能更显具有时代领先性。 第二:基础理论体系不同。人工智能的基础理论体系以数学为基础,以统计概率体系为基础。认知智能基础理论体系以交叉许可理论体系为基础。包含古今中外哲学体系,心理学体系,逻辑学体系,语言学体系,符号学体系,数学体系等学科。其基础理论体系更加具有创新性,突破性和领先性。且交叉学科理论体系的研究也是未来智能发展的大方向。其具体理论体系,还包含三体论(宇宙,信息,大脑三者关系),融智学,和HNC等。 第三:技术体系不同。人工智能的核心技术体系主要是算法,机器学习,深度学习,知识图谱等。其主要功用在感知智能。感知智能其核心主要是在模仿人类的感知能力。认知智能的核心技术体系是以交叉学科理论体系而衍生出来的。具体包含三大核心技术体系,认知维度,类脑模型和万维图谱。认知智能的技术体系核心以类脑的认知体系为基础。以全方位模仿类脑能力为目标。人工智能以感知智能为基础的体系,只能作为认知智能中的类脑模型技术体系中的感知层技术体系。类脑模型大致包含,感知层,记忆层,学习层,理解层,认知层,逻辑层,情感层,沟通层,意识层等9大核心技术层。因此人工智能的核心只是作为认知智能类脑模型中的感知层。因此在技术体系上,人工智能和认知智能基本上没有太多的可比性。 第四:智能度成本等方面的不同:人工智能产品的综合智能程度,普遍在2-3岁左右的智力水平。认知智能产品其智能程度大致在5-8岁左右。认知智能体系构建的机器人更加智能。且更省时间,更省人力和资金。优势非常多。具体请看下列的逐项对比。

    道翰天琼CiGril机器人API

    道翰天琼CiGril认知智能机器人API用户需要按步骤获取基本信息:

    在平台注册账号登录平台,进入后台管理页面,创建应用,然后查看应用,查看应用相关信息。在应用信息页面,找到appid,appkey秘钥等信息,然后写接口代码接入机器人应用。

    开始接入

    请求地址:http://www.weilaitec.com/cigirlrobot.cgr

    请求方式:post

    请求参数:

    参数

    类型

    默认值

    描述

    userid  

    String  

    平台注册账号

    appid  

    String  

    平台创建的应用id

    key  

    String  

    平台应用生成的秘钥

    msg  

    String  

    ""

    用户端消息内容

    ip  

    String  

    ""

    客户端ip要求唯一性,无ip等可以用QQ账号,微信账号,手机MAC地址等代替。

     

    接口连接示例:http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552 注意事项:参数名称都要小写,五个参数不能遗漏,参数名称都要写对,且各个参数的值不能为空字符串。否则无法请求成功。userid,appid,key三个参数要到平台注册登录创建应用之后,然后查看应用详情就可以看到。userid就是平台注册账号。

    示例代码JAVA:

    import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class apitest {     /**      * Get请求,获得返回数据      * @param urlStr      * @return      */     private static String opUrl(String urlStr)     {                 URL url = null;         HttpURLConnection conn = null;         InputStream is = null;         ByteArrayOutputStream baos = null;         try         {             url = new URL(urlStr);             conn = (HttpURLConnection) url.openConnection();             conn.setReadTimeout(5 * 10000);             conn.setConnectTimeout(5 * 10000);             conn.setRequestMethod("POST");             if (conn.getResponseCode() == 200)             {                 is = conn.getInputStream();                 baos = new ByteArrayOutputStream();                 int len = -1;                 byte[] buf = new byte[128];                 while ((len = is.read(buf)) != -1)                 {                     baos.write(buf, 0, len);                 }                 baos.flush();                 String result = baos.toString();                 return result;             } else             {                 throw new Exception("服务器连接错误!");             }         } catch (Exception e)         {             e.printStackTrace();         } finally         {             try             {                 if (is != null)                     is.close();             } catch (IOException e)             {                 e.printStackTrace();             }             try             {                 if (baos != null)                     baos.close();             } catch (IOException e)             {                 e.printStackTrace();             }             conn.disconnect();         }         return "";     }               public static void main(String args []){                     //msg参数就是传输过去的对话内容。                         System.out.println(opUrl("http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552"));                  } }

     

     

    Processed: 0.031, SQL: 8