663|0

179

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

《深度强化学习实战》马尔可夫决策过程 [复制链接]

神经网络是一种由多个层组成的机器学习模型,这些层会执行矩阵-向量乘法,然后应用一个非线性激活函数,神经网络的矩阵是模型的可学习参数,通常称为神经网络的权重。

书本中用到最重要的图是线图,线图类似于流程图,它表示沿着线进入流程中的输入数据流,其中流程以方框表示。任何能够称为线图的东西必须能够在任何抽象层次上进行详细查看且保持类型兼容。优秀线图的目标是,我们可以通过在高层次上查看一个算法或机器学习模型来获取整体蓝图,然后可以将其逐渐放大,直到线图详细到我们可以几乎完全基于图的知识来真正实现算法。

之后书中用了一个解决多臂老虎机问题的案例来引入马尔可夫决策过程。

多臂老虎机问题可以描述为我们希望获悉基于之前轮次采取动作的期望奖励。用数学描述为你向函数提供一个动作(假设处于轮次k),它返回采取该动作时的期望奖励。

 

  称为价值函数,用于表示某物的价值,它是一个动作-价值函数,通常称为Q函数。

第一次开始玩游戏时,我们需要玩游戏并观察各台老虎机上的奖励,我们称这种策略为探索;与之对应的是利用,就是使用现有的关于哪台老虎机可能产生最高奖励的知识,并一直玩这台老虎机。我们需要使用探索和利用的合理平衡来最大化奖励。

 

 

我们将上述函数Q作用于所有可能的动作,得到平均奖励最高的动作,但是该方法没办法去做一个不为我们所知的动作。这种简单地选择目前为止所知的最佳杠杆的方法称为贪婪方法。

而ε贪婪算法就解决了这个问题。这样就可以根据概率ε随机选择一个动作a,而其余时间(概率1-ε)将基于当前从过去游戏中所知的信息选择最佳杠杆。之后就是代码实现:

import numpy as np
from scipy import stats
import random
import matplotlib.pyplot as plt

def get_reward(prob, n=10):#奖励函数,表示随机生成的数与期望值比较,大于期望加1。
    reward = 0
    for i in range(n):
        if random.random() < prob:
            reward += 1
    return reward

def update_record(record,action,r):#更新记录,通过前k次的平均奖励与次数乘积与k+1次的值求和再除以k+1得到新的平均值
    new_r = (record[action,0] * record[action,1] + r) / (record[action,0] +
     1)
    record[action,0] += 1
    record[action,1] = new_r
    return record

def get_best_arm(record):#计算最佳动作
    arm_index = np.argmax(record[:,1],axis=0)
    return arm_index

fig, ax = plt.subplots(1,1)
ax.set_xlabel("Plays")
ax.set_ylabel("Avg Reward")
n=10
record = np.zeros((n,2))
probs = np.random.rand(n)
eps = 0.2
rewards = [0]
for i in range(500):
    if random.random() > eps:
        choice = get_best_arm(record)
    else:
        choice = np.random.randint(10)
    r = get_reward(probs[choice])
    record = update_record(record,choice,r)
    mean_reward = ((i+1) * rewards[-1] + r)/(i+2)
    rewards.append(mean_reward)
ax.scatter(np.arange(len(rewards)),rewards)

 

可以看出平均奖励确实有所提高。

随后讲了Softmax选择策略,该动作选择比ε贪婪算法能够更快的收敛到一个最优策略。

之后介绍了一下pytorch,并用他创建模型完成老虎机训练。

马尔可夫性质:神经网络引导我们在不参考任先验状态的情况下选择给定状态下的最佳动作。我们只需向其提供当前状态,神经网络就会为每个可能的动作产生期望的奖励。我们把具有马尔可夫性质的游戏称为马尔可夫决策过程(MDP)

之后介绍了价值函数与策略函数。

点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表