深度学习基础(十一)其他网络类型

参考文章
【模型解读】siamese network和triplet network原理与应用
“Triplet network”三元组网络阅读笔记
强化学习(一)模型基础
强化学习(二)马尔科夫决策过程(MDP)
强化学习(Reinforcement Learning)入门

孪生网络 Siamese Network

一个网络两种输入,通过提取特征,共享权值的方式来判定是否为同样的一类分来样本。

在低维空间中,任意有两个样本:

  • 如果是相同类别,空间距离应该接近0
  • 如果是不同了类别,空间距离应该大于threshold

Triplet Network

在这里插入图片描述

例如在人脸识别的领域,如果想得到更优良的性能,不仅要将正负样本区分开,还要让类内更加紧凑(方差小),类间更加疏远(方差大)。

triplet network将输入改成三个,训练的时候使用一个正例+两个负例,或者一个负例+两个正例。

训练的目标就是上面的:同类别间的距离尽可能的小,不同类别间的距离尽可能的大。

训练的过程如下:

  • 从训练数据集中随机选一个样本,该样本称为Anchor。
  • 再随机选取一个和Anchor (记为x)属于同一类的样本和不属于同一类的样本,这两个样本对应的称为Positive (记为x+)和Negative (记为x-),由此构成一个(Anchor,Positive,Negative)三元组。
  • 他们之间的关系用欧氏距离表示,并通过训练参数使得x向x+靠近,远离x-,从而实现分类任务。

在这里插入图片描述

强化学习

讲强化学习先讲其适用的场景。强化学习多用在需要与环境交互的场景下,即给定一个环境的状态(State),程序根据某种策略(Policy)选出一个对应的行为(Action),而执行这个Action后环境又会发生改变,即状态会转换为新的状态S’,且每执行完一个Action后程序会得到一个激励值(Reward),而程序就依据得到的激励值的大小调整其策略,使得在所有步骤执行完后,即状态到达终止状态(Terminal)时,所获得的Reward之和最大。

上面说的可能比较抽象,举个例子,假如我们的程序是一只小狗,现在我们让它坐下(给它一个State),它如果听话(某种Policy)坐下(执行Action),那么我们就给它一个鸡腿(正激励),而如果它不听话(某种Policy)跑开了(执行另一种Action),我们就罚它一顿不许吃饭(负激励),而在它执行完这个行为后,我们可以再次对它提出要求,比如让它站起来(新的State),然后如此往复。小狗对我们给的每一个状态都要给出一个行为,而我们会在它每次给出行为后决定给它一个什么样的激励,且环境的状态在它执行完Action后可能会发生变化,然后它需要对新环境再继续根据某种策略选择执行新的动作,从而得到新的激励。而我们训练的目的,就是使得总的激励值之和最大。

总结一下,在强化学习中,我们关注的有如下几点:

  • 环境观测值/状态 State

  • 动作选择策略 Policy,它代表个体采取动作的依据,即个体会依据策略π来选择动作。最常见的策略表达方式是一个条件概率分布π(a|s), 即在状态s时采取动作a的概率。

  • 执行的动作/行为 Action

  • 得到的奖励 Reward

  • 下一个状态 S’

  • 价值value:个体在策略π和状态s时,采取行动后的价值(value),一般用 v π ( s ) v_π(s) vπ(s)表示。这个价值一般是一个期望函数。虽然当前动作会给一个延时奖励Rt+1,但是光看这个延时奖励是不行的,因为当前的延时奖励高,不代表到了t+1,t+2,…时刻的后续奖励也高。比如下象棋,我们可以某个动作可以吃掉对方的车,这个延时奖励是很高,但是接着后面我们输棋了。此时吃车的动作奖励值高但是价值并不高。因此我们的价值要综合考虑当前的延时奖励和后续的延时奖励。价值函数vπ(s)一般可以表示为下式,不同的算法会有对应的一些价值函数变种,但思路相同。:

v π ( s ) = E π ( R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . ∣ S t = s ) v_\pi(s)=E_\pi(R_t+1+\gamma R_{t+2}+\gamma^2R_{t+3}+...\vert S_t=s) vπ(s)=Eπ(Rt+1+γRt+2+γ2Rt+3+...St=s)

  • 奖励衰减因子γ:在[0,1]之间。如果为0,则是贪婪法,即价值只由当前延时奖励决定,如果是1,则所有的后续状态奖励和当前奖励一视同仁。大多数时候,我们会取一个0到1之间的数字,即当前延时奖励的权重比后续奖励的权重大。

  • 状态转化模型即概率状态机。它可以表示为一个概率模型,即在状态s下采取动作a,转到下一个状态s′的概率,表示为 P a s s ′ P_a^{ss′} Pass

  • 探索率ϵ,这个比率主要用在强化学习训练迭代过程中,由于我们一般会选择使当前轮迭代价值最大的动作,但是这会导致一些较好的但我们没有执行过的动作被错过。

在这里插入图片描述
强化学习执行流程如上图所示,Agent是我们的程序,它观察Environment并获得state,依据它的Policy对state做出action,此时能得到一个reward,且Environment改变了,因此Agent会得到一个新的state,并继续执行下去。

深度强化学习模型本质上也是神经网络,主要分为策略网络估值网络。强化学习中最重要的两类方法, Policy-based , Value-based。第一种是直接预测在某个环境状态下应该采取的行动,第二种是预测在某个环境状态下所有行动的期望价值.

马尔科夫决策过程 Markov Decision Process

马尔科夫奖励过程在马尔科夫过程的基础上增加了奖励R和衰减系数γ:<S,P,R,γ>。R是一个奖励函数。S状态下的奖励是某一时刻(t)处在状态s下在下一个时刻(t+1)能获得的奖励期望:
在这里插入图片描述
强化学习中引入马尔科夫模型的原因在于:

1、如果按照真实的环境转化过程看,转化到下一个状态s′的概率既与上一个状态s有关,还与上上个状态,以及上上上个状态有关。这一会导致我们的环境转化模型非常复杂,复杂到难以建模。因此我们需要对强化学习的环境转化模型进行简化。简化的方法就是假设状态转化的马尔科夫性,也就是假设转化到下一个状态s′的概率仅与上一个状态s有关,与之前的状态无关。

2、除了对于环境的状态转化模型这个因素做马尔科夫假设外,我们还对强化学习第四个要素个体的策略(policy)π也做了马尔科夫假设。即在状态s时采取动作a的概率仅与当前状态s有关,与其他的要素无关。用公式表示就是:

π ( a ∣ s ) = P ( A t = a ∣ S t = s ) π(a|s)=P(A_t=a|S_t=s) π(as)=P(At=aSt=s)

基于价值的强化学习(value-based)

这种方法,目标是优化价值函数V(s)。
在这里插入图片描述
一个状态下的函数值,是智能体可以预期的未来奖励积累总值,从当前状态开始算。智能体要用这个价值函数来决定,每一步要选择哪个行动。它会采取函数值 (就是Q值) 最大的那个行动。

基于策略的强化学习(policy-based)

这种方式,会直接优化策略函数π(s),抛弃价值函数。

策略就是评判智能体在特定时间点的表现。

把每一个状态和它所对应的最佳行动建立联系。

策略分为两种,

· 确定性策略:某一个特定状态下的策略,永远都会给出同样的行动。

· 随机性策略:策略给出的是多种行动的可能性分布。
在这里插入图片描述

基于模型的强化学习(model-based)

这种方法是对环境建模。这表示,我们要创建一个模型,来表示环境的行为。

问题是,每个环境都会需要一个不同的模型 (马里奥每走一步,都会有一个新环境) 。这也是这个方法在强化学习中并不太常用的原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值