2022.2.26 第十五次周报

文章目录

  • 前言
  • 一、论文阅读《Interactive Learning from Policy-Dependent Human Feedback》
    • 摘要
    • Introduction
    • Related Work
    • Policy-dependent反馈
    • Convergent Actor-Critic by Humans (COACH)
      • The Advantage Function and Feedback
      • Convergence and Update Rule
    • Experiment
    • Conclusion
  • 二、机器学习算法(二)- 口袋算法(Pocket Algorithm)
    • 模型介绍
    • 算法步骤
    • 代码实现
  • 三、机器学习算法(三)- 标准线性回归算法(Standard Linear Regression Algorithm)
    • 模型介绍
    • 算法步骤
    • 最小二乘法
      • 矩阵分析
    • 代码实现
  • 总结


前言

This week, I read an article about the technical principle of ChatGPT - one of the algorithms of RLHF,and the article proposes a algorithm Convergent Actor-Critic by Humans (COACH). At the same time, I d learned machine learning algorithms . I learned about the Pocket Algorithm and Standard Linear Regression Algorithm in this week .


一、论文阅读《Interactive Learning from Policy-Dependent Human Feedback》

这是一篇ChatGPT背后的技术原理—RLHF的文章,看这篇文章的目的是为了简要了解chatGPT的运行思路。其中文章引用了许多公式,这里不进行陈述,以了解核心步骤为主,不做深究。

摘要

本文研究了利用正反馈和负反馈对教师互动学习行为进行交流的问题。之前关于这一问题的许多研究都假设,人们对依赖于他们所教授的行为的决策提供反馈,并且与学习者当前的政策无关。论文提出的实证结果表明这一假设是错误的——人类训练者对决策的积极或消极反馈受到学习者当前政策的影响。基于这一见解,我们引入了Convergent Actor-Critic by
Humans (COACH),这是一种从策略相关反馈中学习的算法,它收敛到局部最优。最后,论文证明了COACH可以成功地学习物理机器人的多种行为。

Introduction

许多算法利用了人们倾向于给出反馈的观察结果,这些反馈最好被解释为关于智能体应该遵循的策略的指导,而不是智能体要最大化的数值。然而,这些方法假设反馈模型独立于代理当前遵循的策略。我们提出了实证结果,证明了这一假设是不正确的,并进一步证明了策略无关学习算法受到这一假设影响的情况。根据这一结果,我们提出了一种从依赖于策略的人类反馈中学习的算法——Convergent Actor-Critic by
Humans (COACH)。COACH基于这样一种见解,即优势函数(一个值大致对应于与当前政策相比,一个行为的好坏程度)提供了一个更好的人类反馈模型,捕捉了人类反馈的属性,如收益递减、奖励改进,并赋予0值反馈一个语义意义,以防止遗忘。我们将COACH与其他方法在一个具有模拟反馈的简单领域进行比较。

Related Work

为了建模由人类教授的代理的潜在决策问题,我们采用马尔可夫决策过程(MDP)形式主义。MDP的随机策略π是定义智能体行为的每个状态的动作概率分布,在MDP设置中,目标是找到最优策略π *,当智能体根据π *在每个状态下选择行动时,它使期望的未来折现奖励最大化。

在强化学习(RL)中,智能体与建模为MDP的环境交互,但不能直接访问转换函数或奖励函数,而是必须从环境观察中学习策略。

在这项工作中,以人为中心的强化学习(HCRL)问题是一个学习问题,其中智能体位于MDP描述的环境中,但其中奖励是由人类训练者产生的,而不是从一个固定的MDP奖励函数中产生为了定义这个问题的学习算法,我们首先描述了人类训练者通常如何使用数字反馈来教授目标策略。如果反馈是稳定的,并打算最大化,它可以被视为奖励函数和使用标准的RL算法。将反馈解释为奖励的问题导致了这样一种见解,即人类的反馈更好地解释为对代理行为的评论;例如,积极的反馈大致对应“那是好的”,而消极的反馈大致对应“那是坏的”。

在这里研究的策略依赖反馈在行为分析强化计划中被视为必不可少的(Miltenberger, 2011)。训练师被教导提供收益递减(当智能体采取这些行动时,对良好行动的正反馈逐渐减少)、差异反馈(根据行为的改善或恶化程度,反馈的大小不同)和策略塑造(对改善行为的次优行动提供正反馈,然后在做出改善后提供负反馈),所有这些都是策略依赖的。

Policy-dependent反馈

现有HCRL算法的一个常见假设是,反馈只取决于代理的动作选择的质量。另一种假设是反馈也取决于智能体当前的策略。也就是说,一个行为选择可能会受到更大的奖励或惩罚,这取决于主体通常倾向于选择它的频率。例如,对提高绩效的代理给予更大的奖励,而不是维持现状。

作者称前者为策略无关的反馈模型,后者为策略依赖的反馈模型。

然后用一个虚拟狗跑图的实验,检验 反馈模型是否依赖决策
参与者被指示训练一只虚拟狗在网格世界中尽可能快地走到黄色目标位置,但不经过绿色单元格。他们还被告知,由于之前的训练,他们的狗在任务中要么“坏”,“好”,要么“好”,并在训练前展示了每种行为的例子。

最后结果表明,正如预测的那样,反馈符号对学习者的策略是敏感的。

Convergent Actor-Critic by Humans (COACH)

在本节中,将介绍 Convergent Actor-Critic by
Humans (COACH),这是一种基于行为批评的算法,能够从依赖策略的反馈中学习。COACH基于这样一种见解,即优势函数是人类反馈的良好模型,而行动者-评论家算法使用评论家的TD误差更新策略,这是对优势函数的无偏估计。因此,代理人的策略可以直接由人的反馈来修改,而不需要批评组件。我们首先定义优势函数及其解释为训练师反馈。然后,给出了COACH的一般更新规则及其收敛性。最后,提出了实时教练,其中包括提供可变量级反馈和在高频决策周期的问题中学习的机制。

The Advantage Function and Feedback

优势函数AΠ
在这里插入图片描述
优势函数描述了在策略π下,与代理的性能相比,动作选择的好坏程度。

优势函数产生的反馈与行为分析中推荐的反馈一致是毫无价值的。因为它被定义为一个行动比其当前策略的改进幅度,所以它会导致不同的反馈。它导致收益递减,因为随着π的改善,改善π的机会减少。事实上,一旦π是最优的,所有基于优势函数的反馈都是零或负的。最后,优势函数反馈引发了策略塑造,因为对于一个行为,反馈是积极的还是消极的,取决于它是否比当前行为有净改善。

Convergence and Update Rule

关于收敛规则 ,论文用到了这一条:∆θ=α∇θρ,θ表示控制智能体行为的参数,α是学习率。
其中:
在这里插入图片描述
在这里插入图片描述
简单地说,如果训练器选择策略相关反馈ft = Qπ(st, at),我们就得到了一个收敛学习算法,它(局部地)使贴现期望奖励最大化。

同时,论文使用奖励聚合(Knox & Stone, 2009b),解决提供可变大小反馈的接口,以及如何处理稀疏性和反馈时间的问题。在奖励聚合中,训练者从一组离散的反馈值中进行选择,并通过连续给出多个反馈来进一步提高或降低数值。

Experiment

实验部分,论文为了了解不同类型训练师反馈策略下COACH的行为,我们在一个简单的网格世界中进行了受控比较。(这个领域本质上是我们在人类实验中使用的狗领域的扩展版本。)分别从三个算法中进行了实验,每个都维护一个内部数据结构,它使用<s, a, f, s>形式的反馈进行更新,其中s是状态,a是在该状态下采取的操作,f是从训练器接收到的反馈,s是产生的下一个状态。

显示了三种算法的改进反馈实验结果:
在这里插入图片描述
最后在不断的优化反馈后,COACH表现最好。

Conclusion

在这项工作中,我们提出了实证结果,表明人们在交互式训练范式中给予智能体的数字反馈受到智能体当前策略的影响,并讨论了为什么这种依赖于策略的反馈能够实现有用的训练策略。然后,我们引入了COACH算法,与现有的以人为本的强化学习算法不同,COACH算法在使用策略相关反馈训练时收敛到局部最优。我们证明了COACH在多种反馈策略下的鲁棒学习,最后证明了COACH可以在具有高级训练方法的机器人环境中使用。

二、机器学习算法(二)- 口袋算法(Pocket Algorithm)

上一周学习了机器学习算法中的感知器学习算法(PLA),该算法可以将数据集完美的分成两种类型,但有一个前提条件就是假定数据集是线性可分的。于是在线性不可分的情况下,人们想出了另一种算法弥补这个缺陷–基于感知器学习算法设计了一个可以处理线性不可分的算法——口袋算法(Pocket Algorithm)。

模型介绍

口袋算法(Pocket Algorithm)是一个二元分类算法,将一个数据集通过线性组合的方式分成两种类型。
该算法是在感知器学习算法的基础上做的改进,其核心思想与感知器学习算法的思想一致,也是以错误为驱动,如果当前结果比口袋中的结果好,则将口袋中的结果替换为当前结果,口袋中保持着当前看到最好的结果,最后找到一个相对不错的答案。
在这里插入图片描述

算法步骤

口袋算法(Pocket Algorithm) - 其核心思想就是以错误为驱动,逐步修正错误,每次保存最优解,直到超过循环的次数最后停下。

初始化向量 w,例如 w 初始化为零向量
循环 t = 0,1,2 …
  找到一个随机的错误数据,即 h(x) 与目标值 y 不符
   sign(wtWxn(t)) ≠ yn(t)
  尝试修正向量 w,如果更新后的 w 的错误点相对更新前的 w 更少的时,则更新 w,反之进入下一次循环。
   wt+1 = wt + xn(t)yn(t)
   直到到达设定的最大循环数时退出循环,所得的 w 即为一组方程的解

需要人为定义一个最大的循环次数来作为退出条件,所以口袋算法相对感知器学习算法来说,运行时间会更慢一些。在循环中是随机选取错误点,最后的输出结果在每次运行时也不是一个稳定的结果。

代码实现

  1. 在数据集中随机生成一条划分线
  2. 判断该线的错误数量
  3. 临时更新错误的点的权重
  4. 新的划分线和旧的划分线比较,若新的错误点更少则永久更新权重,反之进入下一次循环
import numpy as npdef errorIndexes(w, X, y):"""获取错误点的下标集合args:w - 权重系数X - 训练数据集y - 目标标签值return:errorIndexes - 错误点的下标集合"""errorIndexes = []# 遍历训练数据集for index in range(len(X)):x = X[index]# 判定是否与目标值不符if x.dot(w) * y[index] <= 0:errorIndexes.append(index)return errorIndexesdef pocket(X, y, iteration, maxIterNoChange = 10):"""口袋算法实现args:X - 训练数据集y - 目标标签值iteration - 最大迭代次数maxIterNoChange - 在提前停止之前没有提升的迭代次数return:w - 权重系数"""np.random.seed(42)# 初始化权重系数w = np.zeros(X.shape[1])# 获取错误点的下标集合errors = errorIndexes(w, X, y)iterNoChange = 0# 循环for i in range(iteration):iterNoChange = iterNoChange + 1# 随机获取错误点下标errorIndex = np.random.randint(0, len(errors))# 计算临时权重系数tmpw = w + y[errors[errorIndex]] * X[errorIndex]# 获取临时权重系数下错误点的下标集合tmpErrors = errorIndexes(tmpw, X, y)# 如果错误点数量更少,就更新权重系数if len(errors) >= len(tmpErrors):iterNoChange = 0# 修正权重系数w = tmpwerrors = tmpErrors# 提前停止if iterNoChange >= maxIterNoChange:breakreturn w

参考:文章

三、机器学习算法(三)- 标准线性回归算法(Standard Linear Regression Algorithm)

元分类算法——感知器算法、口袋算法,这些算法解决的都是分类的问题,但是现实中更多的是例如预测某一地区的房价、银行该给某个人多少额度的信用卡、今天应该买卖多少股票等等这种最后得到一个具体数值结果的问题,这种类型的问题在机器学习中统一被称为回归问题。

模型介绍

回归分析在统计学中是研究多组变量间关系的方法,在机器学习中也是应用广泛,其中一种算法模型 - 线性回归1(Linear Regression)
在一堆二维或者多维的的数据中寻找一个超平面(单变量时为一条直线,两变量时为一个平面),去拟合这些样本点。线性方程如下:
(1)超平面函数方程一般形式
(2)同感知器算法一样,将 b 看作第零个 w,将超平面函数方程简写成两个向量 w 和 x 的点积的形式
y = b + w1x1 + w2x2 + ··· +wmxm = wTx
在这里插入图片描述
或者多维的超平面
在这里插入图片描述

算法步骤

假设有 N 个样本点 { x , y } { x, y }{x,y},每个样本点的自变量有 M 个 { x1, x2 , . . . } ,则可以定义所有样本点与这个超平面的距离之和为拟合这些样本点的代价函数。
在这里插入图片描述
这里用到了两个新的知识点:
矩阵求导,最小二乘法

最小二乘法

在工程应用中,我们经常会用一组观测数据去估计模型的参数,模型是我们根据先验知识定下的。比如我们有一组观测数据( xi , yi )(一维),通过一些数据分析我们猜测y和x之间存在线性关系,那么我们的模型就可以定为:f ( x ) = k x + b

这个模型只有两个参数,所以理论上,我们只需要观测两组数据建立两个方程,即可解出两个未知数。类似的,假如模型有n nn个参数,我们只需要观测n nn组数据就可求出参数,换句话说,在这种情况下,模型的参数是唯一确定解。

但是在实际应用中,由于我们的观测会存在误差(偶然误差、系统误差等),所以我们总会做多余观测。比如在上述例子中,尽管只有两个参数,但是我们可能会观测n nn组数据( x1 , y 1 ) . . , ( x n , yn ),这会导致我们无法找到一条直线经过所有的点,于是求出近似解,使得模型能在各个观测点上达到“最佳“拟合。
最后证明“误差的平方和最小”估计出来的模型是最接近真实情形的。

矩阵分析

在这里插入图片描述

代码实现

import numpy as np
def linear(X, y):"""线性回归args:X - 训练数据集y - 目标标签值return:w - 权重系数"""# pinv 函数直接求矩阵的伪逆矩阵return np.linalg.pinv(X).dot(y)

总结

本周阅读了论文《Interactive Learning from Policy-Dependent Human Feedback》,这就一篇关于chatGPT的基础文章,其内容大意是讲述了Convergent Actor-Critic by Humans (COACH)从人类反馈中学习强化学习的其中一个算法Convergent Actor-Critic by Humans (COACH)。证明了COACH算法在使用策略相关反馈训练时收敛到局部最优以及COACH在多种反馈策略下的鲁棒性。同时对学习机器学习的算法也有了新的进展和认识,知道了理论知识的重要性,一个模型是如何一步一步被推出来的。本周学习了口袋算法(Pocket Algorithm),和标准线性回归算法(Standard Linear Regression Algorithm),下周将继续对机器学习的其他算法进行学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8377.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型论文周报 | 来自MIT、哥伦比亚大学、港科大、斯坦福、普林斯顿大学等机构前沿论文研究...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 大模型又可以称为Foundation Model模型&#xff0c;模型通过亿级的语料或者图像进行知识抽取&#xff0c;学习进而生产了亿级参数的大模型。大模型的出现迎来了AI研究的新时代&#xff0c;其所带来的结果提升十…

AIGC技术周报|ChatDoctor:哪里不舒服;HuggingGPT:连接大模型和机器学习社区;ChatGPT真的鲁棒吗?

AIGC通过借鉴现有的、人类创造的内容来快速完成内容创作。ChatGPT、Bard等AI聊天机器人以及DallE 2、Stable Diffusion等文生图模型都属于AIGC的典型案例。「AIGC技术周报」将为你带来最新的paper、博客等前瞻性研究。 1.ChatDoctor&#xff1a;哪里不舒服&#xff1f; 通用领…

实现短信验证码登录

文章目录 在开发短信验证码接口验证码实体SmsCode手机验证码发送接口手机验证码生成接口不拦截短信验证码路径登录页面测试重构校验码处理接口 ValidateCodeProcessor&#xff0c;封装不同校验码的处理逻辑抽象实现 AbstractValidateCodeProcessor两个子类分别实现发送功能 Ima…

Android实现登录系统(二)--SMS短信验证登录

&#xff33;&#xff2d;&#xff33;短信验证登录&#xff0c;大部分提供的这种服务都是要收费的&#xff0c; 但是&#xff2d;&#xff4f;&#xff42;网站提供的并不收费&#xff0c;它是通过验证码的格式收费这样的服务盈利的&#xff0c; 也就是说使用他们的&#xf…

Android入门:利用SmsManager发送短信

我们可以通过Intent调用发送短信的服务&#xff0c;但是也可以通过SmsManager发送&#xff1b; 一、为何需要自己开发短信发送器 虽然在Android系统中已经存在发送短信的应用&#xff0c;但是如果我们在开发其他应用时需要集成发送短信功能&#xff0c;则很方便。 二、开发短信…

难顶!ChatGPT又双叒大面积封号了...

编辑&#xff1a;桃子 【新智元导读】ChatGPT大面积封号ing... ChatGPT又双叒开始大面积封号了... 从昨天开始&#xff0c;许多童鞋纷纷表示&#xff0c;自己的ChatGPT plus账号被封了。 许多人收到了一封来自OpenAI的邮件&#xff0c;文中称由于账号存在可疑行为&#xff0c;…

ChatGPT突遭大规模封号,一场网安强震即将爆发!

前言 ChatGPT狂飙出圈&#xff0c;推出仅5天&#xff0c;用户就超过100万&#xff0c;上线两个月&#xff0c;全球活跃用户就已破1亿。 然而就在这两天又传来劲爆消息&#xff1a;ChatGPT正在悄无声息地大规模封号&#xff01;很多人得知消息后登录就发现自己的账号已经不在。…

ChatGPT全球大封号!数10万企业停摆:第一批玩AI的人,被AI给玩了

观点| Mr.K 主笔| Wendy.L 编辑| Emma 来源| 技术领导力(ID&#xff1a;jishulingdaoli) 3月31日&#xff0c;Open AI就开始无征兆的进行全球大封号&#xff0c;其中亚洲是重灾区&#xff0c;官方没有给出任何声明&#xff0c;具体原因不得而知。并且暂停了这些地区新账号的…

突发!因为这个原因,ChatGPT又双叒大面积封号了...

来源 | 新智源 ID | AI-era ChatGPT又双叒开始大面积封号了... 从昨天开始&#xff0c;许多童鞋纷纷表示&#xff0c;自己的ChatGPT plus账号被封了。 许多人收到了一封来自OpenAI的邮件&#xff0c;文中称由于账号存在可疑行为&#xff0c;为了保障平台安全&#xff0c;才这么…

【产业互联网周报】华为宣布实现MetaERP研发和替换;微软为ChatGPT自研AI芯片;...

关注ITValue&#xff0c;看企业级最新鲜、最价值报道&#xff01; 钉钉、文心一言、WPS等接入大模型&#xff1b;火山引擎推出大模型训练平台及自研DPU&#xff1b;谷歌合并旗下两大人工智能部门Brain和DeepMind&#xff0c;加速研究力战ChatGPT……又是为AIGC疯狂的一周 【产业…

顶级研究机构发布《ChatGPT 全产业研究报告》 120页PDF 打包下载

ChatGPT是时下最火的话题&#xff0c;国内多家顶级研究机构&#xff0c;对ChatGPT做了全方面的研究。为了方便大家学习&#xff0c;小编收集了最新的13份共120页的学习资料&#xff0c;截图如下&#xff1a; 这些资料来自网络&#xff0c;版权归属各研究机构&#xff0c;感谢以…

从大模型走向小模型,谁将是ChatGPT布局to B行业的大赢家?

ChatGPT淘金热 当前&#xff0c;爆发了ChatGPT热潮&#xff0c;吸引众多科技企业陆续加入其中。这与当年美国西部加利福尼亚的淘金热何其相似。 历史总会惊人的相似&#xff0c;ChatGPT聊天机器人好比一座数字化时代的金矿。全世界科技淘金人蜂拥而至&#xff0c;从潮起到潮落…

如何实现chatgpt的打字机效果

点击↑上方↑蓝色“编了个程”关注我~ 这是Yasin的第 88 篇原创文章 打字机效果 最近在搭建chat gpt代理的时候&#xff0c;发现自己的配置虽然能够调通接口&#xff0c;返回数据&#xff0c;但是结果是一次性显示出来的&#xff0c;不像之前的chat gpt的官网demo那样实现了打字…

如何使用ChatGPT提升自己的“码”力?

如何使用chatGPT提升自己的"码"力? 代码评审(CodeReview)代码优化代码释义提供解决方案代码生成设计模式和架构建议学习新知识总结 ChatGPT是什么&#xff0c;我就不用再多介绍了吧&#xff01;相信大家已经看到了它在文本领域所展现出来的实力&#xff0c;虽然目前…

云孚快写:自动生成多级目录,一键生成万字长文

1.产品简介 云孚快写是云孚科技自主研发的一款智能写作产品&#xff0c;基于大模型技术打造&#xff0c;针对长文写作场景深度优化&#xff0c;可根据文章标题一键生成目录&#xff0c;再根据目录一键生成正文&#xff0c;文章字数无上限&#xff0c;可极大提升用户的长文写作…

低调且强大--iVX低代码平台

iVX目录 前言一、低代码那么多 为什么选择iVX&#xff1f;二、“拼”出来的低代码平台&#xff0c;真的好用吗&#xff1f;三、iVX与其他低代码有啥可比性&#xff1f; 前言 首先我们应该明白自动编程突破可能是&#xff1a;领域内Mini LLM 现在的思路都是搞LLM&#xff0c;几乎…

多方合作时,系统间的交互是怎么做的?

大家好&#xff01;我是sum墨&#xff0c;一个一线的底层码农&#xff0c;平时喜欢研究和思考一些技术相关的问题并整理成文&#xff0c;限于本人水平&#xff0c;如果文章和代码有表述不当之处&#xff0c;还请不吝赐教。 以下是正文&#xff01; 文章背景 我们最近做了很多…

你真正了解低代码么?(国内低代码平台状况分析)

■ 写在前面■ 低代码产品如何分类&#xff0c;90% 的人都没有搞清楚■ 低代码平台如何比较&#xff1f;Point 在哪儿&#xff1f;一个比喻大家全听懂■ “拼”出来的低代码平台&#xff0c;真的好用吗&#xff1f;■ 推荐一款 C 端低代码产品 ■ 写在前面 都说技术是生产力&a…

【AI实战】给类ChatGPT的大语言模型外挂私有知识库

【AI实战】给类ChatGPT的大语言模型外挂私有知识库 原理准备环境代码下载 chatglm-6b 模型权重文件下载 Embedding 模型 GanymedeNil/text2vec-large-chinese安装依赖库我的计算资源 外挂知识库开启服务外挂知识库 测试参考 本文使用 langChain 来给大语言模型 ChatGLM-6B 外挂…

一块GPU搞定ChatGPT;ML系统入坑指南;理解GPU底层架构

1. 跑ChatGPT体量模型&#xff0c;从此只需一块GPU 在发展技术&#xff0c;让大模型掌握更多能力的同时&#xff0c;也有人在尝试降低AI所需的算力资源。最近&#xff0c;一种名为FlexGen的技术因为「一块RTX 3090跑ChatGPT体量模型」而获得了人们的关注。 虽然FlexGen加速后的…