首页 > 编程语言 >大模型入门(七)—— RLHF中的PPO算法理解

大模型入门(七)—— RLHF中的PPO算法理解

时间:2023-07-14 15:48:53浏览次数:37  
标签:mathbb 状态 入门 动作 PPO RLHF pi gamma

  本文主要是结合PPO在大模型中RLHF微调中的应用来理解PPO算法。

一、强化学习介绍

1.1、基本要素

  环境的状态S:t时刻环境的状态$S_{t}$是环境状态集中某一个状态,以RLHF中为例,序列$w1,w2,w3$是当前的状态。

  个体的动作A:t时刻个体采取的动作$A_{t}$,给定序列$w1,w2,w3$,此时得到$w4$,得到$w4$就是执行的一次动作。然后就得到下一状态$S_{t+1} = w1,w2,w3,w4$。

  环境的奖励R:t时刻个体在$S_{t}$采取动作$A_t$得到的奖励$R_t$,奖励是对当前动作,不会考虑到未来的影响。

  个体的策略$\pi$:根据输入的状态获取动作,可以表示为$\pi (a | s)$。

  状态价值函数:价值一般是一个期望函数,即当前状态下所有动作产生的奖励和未来的奖励的期望值,这也是它不同于奖励R的地方,可以表示为$v_{\pi}(s) = \mathbb{E}_{\pi}(G_t|S_t=s ) = \mathbb{E}_{\pi}(R_{t+1} + \gamma R_{t+2} + \gamma^2R_{t+3}+...|S_t=s)$。所以价值才是真正衡量当前状态下能产生的价值。

  动作价值函数:动作价值函数类似于状态价值函数,只不过是在当前的状态和动作下获得的价值。可以表示为$q_{\pi}(s,a) = \mathbb{E}_{\pi}(G_t|S_t=s, A_t=a) = \mathbb{E}_{\pi}(R_{t+1} + \gamma R_{t+2} + \gamma^2R_{t+3}+...|S_t=s,A_t=a)$。

  状态转移概率模型:

1.2、有模型和无模型的区别

1.3、蒙特卡洛(MC)和时序差分(TD)的区别

1.4、on policy和off policy的区别

1.5、价值网络、策略网络和AC网络

 

标签:mathbb,状态,入门,动作,PPO,RLHF,pi,gamma
From: https://www.cnblogs.com/jiangxinyang/p/17553815.html

相关文章

  • Java入门
    Java入门Java的特性和优势简单性、面向对象、可移植性、高性能、分布式、动态性、多线程、安全性、健壮性Java三大版本JavaSE:标准版(桌面程序、控制台开发...)JavaME:嵌入式开发(手机、小家电...)JavaEE:企业级开发(web前端、服务器开发...)JDK、JRE、JVMJDK:Java开发......
  • Excel宏教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介宏语言VisualBasicforApplication(VBA).VisualBasic是windows环境下开发应用软件的一种通用程序设计语言,功能强大,简便易用。Excel宏是Excel中的一种编程功能,它可以让用户录制一系列的操作,以便在需要时自动执行这些操作。用户可以将录制的宏与Excel的单元格、图表、......
  • ACM算法竞赛入门和进阶指南
    文章目录如下,将从以下八个方面展开,接下来进入正文。一、ACM竞赛ACM程序设计竞赛是三人组队赛,一场比赛5个小时,通常有10~13个问题,三人合力解决,比赛时三人只能使用一台电脑。每年有多个赛站,但每人一年只能参加两场区域赛(不算邀请赛、省赛)。二、入门方式可以参考下方回答。AC......
  • 从零玩转SpringBoot3-快速入门
    一、简介1.前置知识​ ●Java17​ ●Spring、SpringMVC、MyBatis​ ●Maven、IDEA2.环境要求环境&工具版本(orlater)SpringBoot3.1.xIDEA2023.xJava17+Maven3.5+Tomcat10.0+Servlet5.0+GraalVMCommunity22.3+NativeBuildTools0......
  • c#开发单击游戏快速入门
    1.4 创建并编辑C#脚本在Unity中,可以使用3种方式创建C#脚本文件,且新创建的脚本文件会显示在Project视图下,如下创建并编辑C#脚本C#游戏开发快速入门大学霸:q 在Unity中,单击Assets|Create|C#Script命令;q 在Project视图里,单击Create|C#Script命令;q 在Project视图里,单击鼠......
  • Python3+Django2实现后台管理系统入门
    Python3+Django2实现后台管理系统入门前言使用Django我们只需要做一些配置,就可以实现简单的后台管理系统,下面我们以新闻系统为例子来搭建后台。创建项目切换到工作空间,执行以下命令:django-admin.pystartprojectitstyle#进入itstyle文件夹cditstyle#创建newsApp......
  • 汇编入门-课程概要
    1.什么是机器语言?加:01000000减:01001000乘:1111011111100000除:1111011111110000 2.什么是汇编语言?     加: INCEAX                         01000000减:DEC EAX       ......
  • QT从入门到实战完整版 P18
    #include"mainwindownoui.h"#include<QMenuBar>#include<QToolBar>#include<QDebug>#include<QPushButton>#include<QStatusBar>#include<QLabel>#include<QDockWidget>#include<QTextEdit>Mai......
  • QT从入门到实战完整版 P17
    #include"mainwindownoui.h"#include<QMenuBar>#include<QToolBar>#include<QDebug>#include<QPushButton>MainWindownoui::MainWindownoui(QWidget*parent):QMainWindow(parent){resize(600,400);//重置窗口大小Q......
  • mongodb 入门 和 php示例
    内容太多了,感觉不好写,就写点入门的吧,其他参考参考_MonogDB中文网(mongodb.net.cn)虽然内容是机器翻译的,但也还好,基本能看. 相关概念: database数据库collection集合,相当于数据库表document文档,相当于数据记录行 dockerrun-d--namemongo-p27017:27......