强化学习预警问题Word文档下载推荐.docx
《强化学习预警问题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《强化学习预警问题Word文档下载推荐.docx(6页珍藏版)》请在冰豆网上搜索。
那么问题来了?
1.什么是马尔科夫性?
当我们处于状态St时,下一时刻的状态St+1,可以由当前状态决定,而不需要考虑历史状态。
未来独立于过去,仅仅于现在有关。
(有没有回到本科概率论的感觉,顺便插个小知识点,关于接下来提到的马尔科夫过程的理论研究,1931年Α.Η.柯尔莫哥洛夫发表了《概率论的解析方法》,首先将微分方程等分析方法用于这类过程,奠定了它的理论基础。
)
2.什么是马尔科夫过程?
具有马尔科夫性的过程就是马尔科夫过程啦。
教材里一个典型的例子就是荷花池中一只青蛙的跳跃。
这是马尔可夫过程的一个形象化的例子。
青蛙依照它瞬间或起的念头从一片荷叶上跳到另一片荷叶上,因为青蛙是没有记忆的,当所处的位置已知时,它下一步跳往何处和它以往走过的路径无关。
如果将荷叶编号并用X0,X1,X2,…分别表示青蛙最初处的荷叶号码及第一次、第二次、……跳跃后所处的荷叶号码,那么{Xn,n≥0}就是马尔可夫过程。
液体中微粒所作的布朗运动,传染病受感染的人数,原子核中一自由电子在电子层中的跳跃,人口增长过程等等都可视为马尔可夫过程。
那么马尔科夫决策过程是如何“决策”的呢?
总该是类似小狗的例子中的奖励或者惩罚吧?
所以在介绍马尔科夫决策过程之前先来看一下马尔科夫奖励过程(MRP)
马尔科夫奖励过程MarkovRewardProcess是在马尔科夫过程的基础上增加了奖励R和衰减系数γ,其定义如下:
只要达到某个状态会获得相应奖励R,奖励描述为“当进入某个状态会获得相应的奖励”
γ是折扣因子
以下图为例
上图中的R就是奖励,是自己定义的。
例如当学生处在第一节课(Class1)时,他参加第2节课(Class2)后获得的Reward是-1;
同时进入到浏览facebook这个状态中获得的Reward也是-1,一般我们是说:
他从class1状态离开,进入到class2状态所得到的离开立即奖励是-2,如果大家统一说法,其实就非常好理解了。
由于作者认为最终目的是通过考试,所以在pass状态下离开获得的立即奖励是非常大的10。
作为Agent自然希望能够评估自己行为的长期价值,所以自然提出了价值函数
定义为:
一个马尔科夫奖励过程中某一状态的价值函数为从该状态开始的马尔可夫链收获的期望
前方高能预警(在系列的文章中,我一直试图避免出现数学公式,在这儿必须得出现了,没有这几条公式,整个体系是不完整的)
前面说的值函数表达式为:
值函数的表达式可以分解成两部分:
瞬时奖励Rt+1,后继状态St+1的值函数乘上一个衰减系数
如果已知转移矩阵P,则有
那么可以得出结论,贝尔曼等式方程就是
通过方程可以看出v(s)由两部分组成,一是该状态的立即奖励期望,立即奖励期望等于立即奖励;
另一个是下一时刻状态的价值期望,可以根据下一时刻状态的概率分布乘以价值期望得到。
这位大佬就是贝尔曼了,一张魔鬼的面孔~
现在总结下我们已经知道的:
对于某个马尔科夫过程,如果已知模型,那么就是马尔科夫链;
如果引入了回报,那么就转化为马尔科夫奖励过程;
如果再引入Action,就转化为了马尔科夫决策过程。
定义:
一个马尔科夫决策过程由一个五元组组成<
S,A,P,R,γ>
S表示状态的集合
A表示动作的集合
P描述状态转移矩阵,Pass′=P[St+1=s′|St=s,At=a]
1
2
3
R表示奖励函数,R(s,a)描述在状态s做动作a的奖励,R(s,a)=E[Rt+1|St=s,At=a]
γ表示衰减因子,γ∈[0,1]
马尔科夫决策过程中,多了一个决策,这个决策也就是我们前面所说的动作,在采用什么动作后,到达下一时刻的状态,并且给这个决策一个回报值来衡量该决策的好坏。
讲了这么多,还是举个例子吧
小明明天是打游戏还是学习?
如果打游戏会挨打,学习会奖励小红花。
挨了打会难受,得了小红花会高兴。
在这个过程中,小明相当于一个agent,有两个action,每个action的及时回报(reword)分别是挨打和小红花,选择打游戏之后状态改变为难受,选择学习后状态改变为高兴。
那么长期的奖励就是选择学习则能考上大学,打游戏就考不上大学(这其实是一个持续的过程),小明要做的就是让自己获得的奖励最大化(为了考上大学,所以就得少打游戏多学习~)。
MDP的动态过程如下:
智能体(agent)初始状态S0,然后从A中挑选一个动作a0执行,agent按照概率Pa随机转移到下一个状态S1,然后再执行动作a1,就转移到了S2,以此类推,可以用下图表示状态转移过程:
0x03
强化学习有三条线:
分别是基于价值的强化学习,基于策略的强化学习和基于模型的强化学习。
这三种不同类型的强化学习用深度神经网络替代了强化学习的不同部件
基于价值:
Q-learning、Sarsa、DeepQNetwork
基于策略:
PolicyGradients
基于模型:
ModelBasedRL
每一种解释起来都很篇幅都很长,这里主要介绍
目前已经结合网络安全有公开发表研究成果的Q-leraning,DQN和PolicyGradients
Q-Learning
Q一学习是强化学习的主要算法之一,是一种无模型的学习方法,它提供智能系统在马尔可夫环境中利用经历的动作序列选择最优动作的一种学习能力。
Q-学习基于的一个关键假设是智能体和环境的交互可看作为一个Markov决策过程(MDP),即智能体当前所处的状态和所选择的动作,决定一个固定的状态转移概率分布、下一个状态、并得到一个即时回报。
Q-学习的目标是寻找一个策略可以最大化将来获得的报酬
比如小时候爸妈常说”不写完作业就不准看电视”.所以我们在写作业的这种状态下,好的行为就是继续写作业,直到写完它,我们还可以得到奖励,不好的行为就是没写完就跑去看电视了,被爸妈发现,后果很严重.
假设我们的行为准则已经学习好了,现在我们处于状态s1,我在写作业,我有两个行为a1,a2,分别是看电视和写作业,根据我的经验,在这种s1状态下,a2写作业带来的潜在奖励要比a1看电视高,这里的潜在奖励我们可以用一个有关于s和a的Q表格代替,在我的记忆Q表格中,Q(s1,a1)=-2要小于Q(s1,a2)=1,所以我们判断要选择a2作为下一个行为.现在我们的状态更新成s2,我们还是有两个同样的选择,重复上面的过程,在行为准则Q表中寻找Q(s2,a1)Q(s2,a2)的值,并比较他们的大小,选取较大的一个.接着根据a2我们到达s3并在此重复上面的决策过程.Qlearning的方法也就是这样决策的.
在安全领域,针对网络状态转移概率难以确定,导致无法确定求解均衡所需参数的问题,将Q-learning引入随机博弈中,使防御者在攻防对抗中通过学习得到的相关参数求解贝叶斯纳什均衡。
在此基础上,可以设计能够在线学习的防御决策算法。
DQN
在Q-Learning中提到了Q表,它存储每一个状态state,和在这个state每个行为action所拥有的Q值.如果全用表格来存储它们,恐怕我们的计算机有再大的内存都不够,而且每次在这么大的表格中搜索对应的状态也是一件很耗时的事.不过,神经网络对这种事情很在行.我们可以将状态和动作当成神经网络的输入,然后经过神经网络分析后得到动作的Q值,这样我们就没必要在Q表记录Q值,而是直接使用神经网络生成Q值.想象一下,神经网络接受外部的信息,相当于眼睛鼻子耳朵收集信息,然后通过大脑加工输出每种动作的值,最后通过强化学习的方式选择动作.
简答地说,就是,DQN不用Q表记录Q值,而是用神经网络来预测Q值,并通过不断更新神经网络从而学习到最优的行动路径。
DQN算法的主要做法是ExperienceReplay,其将系统探索环境得到的数据储存起来,然后随机采样样本更新深度神经网络的参数。
在无线安全领域,厦门大学的学者指出,通过应用强化学习技术,移动设备可以实现最优的通信策略,而无需在动态游戏框架中知道干扰和干扰模型以及无线电信道模型。
更具体地,提出了一种基于热启动DQN的二维移动通信方案,该方案利用类似场景中的经验来减少游戏开始时的探索时间,并应用深度卷积神经网络和宏观动作技术来加速动态情境下的学习速度。
结果表明,与基准方案相比,该方案可以改善信号的信号与干扰加噪声比以及移动设备对协同干扰的效用。
在IoT物联网安全领域,以医疗为例,医疗保健起着重要作用,因为医疗信息的安全性,隐私性和可靠性是非常重要的。
尽管物联网提供了维护信息的有效协议,但是一些中间攻击和入侵者试图访问健康信息,这反过来又降低了互联网环境中整个医疗保健系统的隐私性,安全性和可靠性。
因此,为了解决这些问题,马来西亚理工大学的学者在研究中引入了基于学习的Deep-Q-Networks,用于在管理健康信息的同时减少恶意软件攻击。
该方法根据Q学习概念检查不同层中的医学信息,这有助于以更简单的方法降低中间人攻击的风险。
PolicyGradient
我们已经知道DQN是一个基于价值value的方法。
换句话说就是通过计算每一个状态动作的价值,然后选择价值最大的动作执行。
这是一种间接的做法。
那么,更直接的做法是什么?
能不能直接更新策略网络PolicyNetwork呢?
先说一下什么是策略网络PolicyNetwork。
它就是一个神经网络,输入是状态,输出直接就是动作(不是Q值),且一般输出有两种方式:
一种是概率的方式,即输出某一个动作的概率;
另一种是确定性的方式,即输出具体的某一个动作。
如果要更新PolicyNetwork策略网络,需要有一个目标函数,对于所有强化学习的任务来说,其实目标都是使所有带衰减reward的累加期望最大。
如果一个动作得到的reward多,那么我们就使其出现的概率增加,如果一个动作得到的reward少,我们就使其出现的概率减小。
PolicyGradient的核心思想是更新参数时有两个考虑:
如果这个回合选择某一动作,下一回合选择该动作的概率大一些,然后再看奖惩值,如果奖惩是正的,那么会放大这个动作的概率,如果奖惩是负的,就会减小该动作的概率。
PolicyGradient最简单的代码就是下图了
在密码学领域,所谓的物理不可克隆功能是一种新兴的新加密和安全原语。
它们可以替代易受攻击的硬件系统中的二进制密钥并具有其他安全优势。
慕尼黑