吴恩达机器学习-第三课-第三周

news/2024/10/3 0:21:17

吴恩达机器学习

学习视频参考b站:吴恩达机器学习
本文是参照视频学习的随手笔记,便于后续回顾

强化学习(reinforce learning)

什么是强化学习

示例:如何让遥控飞机学会倒飞?
监督学习并不适用,因为很难有好的数据集
奖励函数,告诉飞机什么时候是表现好什么时候是表现差
强化学习是你需要告诉他该做什么而不是如何去做
如果飞机飞的好就给予奖励像是+1,不好就给予惩罚-1000
image
其他示例:
狗跨越障碍,控制机器人,工厂优化,金融股票交易,玩游戏等
image
image

火星探测器示例

火星车在每一个格子中代表不同状态
图下方的是奖励
s状态,a动作,R(s)奖励,S'新状态
image

强化学习的回报(return

return=每个奖励乘折扣系数γ的和(折扣系数幂从0开始到n
image
下图是从每一格总是往左走或往右走的或左右都可以走回报,γ=0.5
image

如何做决策

Policy用符号π表示在某个状态时该采取怎样的动作action
image
强化学习的目标就是找到最大化回报的π
image

回顾关键概念

image
马尔科夫决策过程(Markov Decision Process-MDP)
未来只取决于你现在在哪,而不关注你如何到达这的
image

状态-动作价值函数

定义

状态动作函数Q()
Q(2,→)=2-3-2-1
Q(2,左)=2-1
Q()的定义:从状态s执行动作a所得到表现最优
image
将在某个状态最高的回报标注
最优Q函数Q*和Q函数差不多
image

示例

可选实验室,修改火星车的部分参数来观测结果

贝尔曼方程(Bellman Equation

Q(s,a)=R(s)+γmax(s',a')
如下面示例
image
在两端时Q(s,a)=R(s)
image
本质是:从当前状态得到的回报加下一状态得到最优回报
image
image

随机环境(Random(stochastic) environment

随机环境示例:
命令火星车往左走,会有0.9概率往左,0.1概率往右(0.1概率失败)
命令火星车往右走,会有0.9概率往右,0.1概率往左(0.1概率失败)
image
保证预期回报最大化,即最大化平均值
image
下一次的状态会变化(有可能失败)
image
像是右0.1概率会失败,期望回报为所有下一动作回报平均值,就会发生如下变化
image

连续状态空间应用示例

一个火星车可以在一条线很长的距离每个状态都可能存在
或者卡车的x,y距离,朝向角度θ和变化后的这些状态等
image
描述直升机的位置:x,y,z轴,左右滚动,向前投球还是向后投球,指南针偏向和变化后的这些状态等
image

月球着陆器

适当时间使用推进器让着陆器着陆
image
四种选择,什么都不做惯性下降,左右推进器,下方推进器
状态s:x,y坐标,角度θ,左右腿是否着地l,r
image
回报:是否正常着陆(离旗越近回报越少),出问题扣分
image
折扣系数γ选择0.985
image

状态值函数(state-value function)

训练神经网络通过输入状态(s,a)计算Q(s,a)
使用监督学习,大量数据x-y来训练,但是如何获得大量数据?
image
实际测试的数据(s,a,R(s),s'),计算y来组成训练集,如何得到Q?一开始只是随便猜测的,会越来越精确
image
为了防止使用计算机内存太多,只记最近的10000次,重放缓冲区(Replay Buffer)技术
使用得到的10000个数据训练使Q()接近y值
image

算法改进

改进神经网络架构

image
改进后效率更高更好,如下图
image

ε-贪婪策略(greedy policy)

如何学习在某一个状态该采取什么动作?
image
不想完全随机动作,可能那是坏的,使用当前猜测的Q(s,a)预测动作,可能不是最好的,但会一点一点训练变好
如果在某个状态时,随机猜的的Q,使使用主推进器的Q总是很低,那么模型就不会采用main动作(这一步称为贪婪或剥削
所以要有概率让模型自己探索(Exploration),让它克服先入己见(这一步称为探索
ε为随机探索的概率
刚开始的时候ε很大,随着训练进程越来越小
image

小批量和软更新(mini-batch and soft update)

监督学习开始:
当训练集数量太多时,每一步梯度下降都要进行很多步计算,速度很慢
选择一个主要示例m=1000,每一步都进行1000次而不是1百万次
image
第一次梯度下降使用5个示例,下一次再使用5个不同示例,如此往复,可以从数据集中从上往下依此选,也可以完全选5个不同的数据
image
image
mini-batch趋向全局最小值,每次计算量小,计算成本低,虽然可能会有嘈杂
image
强化学习
每次只用1000个示例训练而不是10000个
Set Q=Qnew这种方法可能会使模型比之前还糟糕,赋值一个更差的Q,使用软更新有助于防止Qnew变得更糟
image
软更新
使用0.99的旧版本的参数值+0.01新版本的参数值
image

强化学习现状

image

课程总结

image

Summary

本周主要学习了以下内容
1.强化学习的概念和火星车示例,强化学习的回报,如何采取决策,马尔科夫决策过程
2.状态-动作价值函数Q(s,a)贝尔曼方程随机环境
3.连续状态空间应用示例,月球着陆器示例,状态值函数
4.算法改进包括神经网络架构改进,贪婪策略,小批量和软更新
5.强化学习现状,课程总结

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯-地宫取宝

X 国王有一个地宫宝库,是 nm 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它…

Nginx负载均衡、动静分离Tomcat案例实战

一、前言 1)Tomcat是一款开源的、免费的WEB软件服务器,是隶属于Apache基金会旗下的,主要是用于去发布网站代码、提供网页信息服务的。用户通过浏览器可以实现网站页面的访问。 2)Tomcat WEB软件默认可以处理静态网页(Apache、Nginx),同时也可以处理动态网页,主要是处理…

three.js基础之小案例

静态场景 <canvas id="mainCanvas"></canvas> <script type="importmap">{"imports": {"three": "./js/build/three.module.js","three/addons/": "./js/jsm/"}} </script> &l…

国密算法SM2-java实现

Maven依赖<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.56</version> </dependency>工具类import java.math.BigInteger;public class Util {/*** 整形转换成网络传输…

黑客精神和白帽子

在当今数字化的世界里,黑客精神和白帽子的角色变得愈发重要。本文将探讨黑客精神的本质,介绍白帽子的概念和职责。 1、黑客精神 所谓的“黑客精神”,主要指的是一种探索计算机软件和硬件极限,追求技术创新和完善的文化态度和哲学理念。 黑客精神强调的是对知识的渴求,对于…

NFS工作原理(重要)

NFS工作流程 1.NFS服务端启动后、将自己的端口信息,注册到rpcbind服务中 2.NFS客户端通过TCP/IP的方式,连接到NFS服务端提供的rpcbind服务,并且从该服务中获取具体的端口信息 3.NFS客户端拿到具体端口信息后,将自己需要执行的函数,通过网络发给NFS服务端对应的端口 4.NFS服…

mysql多表查询

1. 多表查询项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种:一对多(多对一) 多对多 一对一2. 分类连接查询内连接:相当于查询A、B交集部分数据外…

text-generation-webui 推理模型相关报错问题解决

推理代码 text-generation-webui 推理模型 Qwen1.5-7B-Chat sys info nvcc --versioncuda 11.8 import torch >>> print(torch.__version__) 1 路径错误2 依赖没安装 ImportError: This modeling file requires the following packages that were not found in your …