常见的强化学习面试题及解答(持续更新中ing)

声明 : 主要来源于博客强化学习及深度强化学习面试题,由于后期需要持续更新,因此写成原创博客。

1. 什么是强化学习?

  强化学习由环境、动作和奖励组成,强化学习的目标是使得作出的一系列决策得到的总的奖励的期望最大化。

2. 请你讲一下,HMM隐马尔可夫模型的参数估计方法是什么?

学习算法:

  • 若训练数据包括观测序列和状态序列,则HMM的学习非常简单,是监督学习;
  • 若训练数据只有观测序列,则HMM的学习需要使用EM算法,是非监督学习。

大数定理:

   假定已给定训练数据包含S个长度相同的观测序列和对应的状态序列{(O1,I1), (O2,I2)…(OS,IS)},那么,可以直接利用伯努利大数定理的结论:频率的极限是概率,从而给出HMM的参数估计。

隐马尔可夫模型
计算语言学之隐马尔可夫模型

3. 强化学习和监督学习、无监督学习的区别是什么?

  监督学习带有标签;无监督学习没有标签;强化学习使用未标记的数据,根据延迟奖励学习策略。

4. 强化学习适合解决什么样子的问题?

  模型输出的动作必须要能够改变环境的状态,并且模型能够获得环境的反馈,同时状态应该是可重复到达的。

5. 强化学习的损失函数是什么?和深度学习的损失函数有何关系?

  强化学习的损失函数是使奖励和的期望最大;深度学习中的损失函数是使预测值和标签之间的差异最小化。

6. POMDP是什么?马尔科夫过程是什么?马尔科夫决策过程是什么?里面的“马尔科夫”体现了什么性质?

  POMDP是状态部分可观测的马尔可夫决策过程;马尔科夫过程是一个二元组 < S , P > <S,P> <S,P> S S S为状态集合, P P P为状态转移概率矩阵;马尔科夫决策过程是一个五元组 < S , P , A , R , γ > <S,P,A,R,γ> <S,P,A,R,γ> R R R表示为从 S S S S ′ S' S能够获得的奖励期望, γ γ γ为折扣因子, A A A 为动作集合;马尔可夫中下一个状态只与当前状态有关,而与历史状态无关,即 P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , S 2 , . . . , S t ] P[S_{t+1}∣S_t]=P[S_{t+1}∣S1,S2,...,St] P[St+1St]=P[St+1S1,S2,...,St]

7. 值迭代和策略迭代的区别?

  价值迭代采用了Bellman最优算子,策略迭代采用的是Bellman期望算子。价值迭代是策略迭代的一种特殊情况,是每进行一次策略评估就更新一次策略。

强化学习–值函数
Policy gradient 算法思想

8. 贝尔曼方程的具体数学表达式是什么

v π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r ( s , a ) + γ v π ( s ′ ) ] \left.v_{\pi}(s)=\sum_{a} \pi(a | s\right) \sum_{s^{\prime}, r} p\left(s^{\prime}, r | s, a\right)\left[r(s, a)+\gamma v_{\pi}\left(s^{\prime}\right)\right] vπ(s)=aπ(as)s,rp(s,rs,a)[r(s,a)+γvπ(s)]

q π ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r ( s ′ , a ) + γ v π ( s ′ ) ] q_{\pi}(s, a)=\sum_{s^{\prime}, r} p\left(s^{\prime}, r | s, a\right)\left[r\left(s^{\prime}, a\right)+\gamma v_{\pi}\left(s^{\prime}\right)\right] qπ(s,a)=s,rp(s,rs,a)[r(s,a)+γvπ(s)]

强化学习中马尔科夫决策过程和贝尔曼方程

9. 最优值函数和最优策略为什么等价?

π ∗ ( a ∣ s ) = { 1  if  a = arg ⁡ max ⁡ a ∈ A q ∗ ( s , a ) 0  otherwise  \pi^{*}(a | s)=\left\{\begin{array}{ll}1 & \text { if } a=\arg \max _{a \in A} q^{*}(s, a) \\ 0 & \text { otherwise }\end{array}\right. π(as)={10 if a=argmaxaAq(s,a) otherwise 

10. 如果不满足马尔科夫性怎么办?当前时刻的状态和它之前很多很多个状态都没有关系?

  如果不满足马尔科夫性,强行只用当前的状态来决策,势必导致决策的片面性,得到不好的策略。 为了解决这个问题,可以利用RNN对历史信息建模,获得包含历史信息的状态表征。表征过程可以 使用注意力机制等手段。最后在表征状态空间求解MDP问题。

11. 求解马尔科夫决策过程都有哪些方法?有模型用什么方法?动态规划是怎么回事?

  求解MDP可以直接求解Bellman方程,但是通常Bellman方程难以列出且计算复杂度高,除此以外还可以用DP(Dynamic Programming,动态规划),MC(Monte Carlo,蒙特卡罗),TD(Temporal Difference,时间差分)算法求解。有模型时可以使用DP算法。

12. 简述动态规划(DP)算法

  DP算法是在给定MDP环境特性的条件下用来计算最优策略的,是基于模型的planning方法。动态规划有策略迭代和价值迭代两种方式,策略迭代是不断进行策略评估、策略改进的过程。每一次操作都是基于所有可能的单步后继状态价值函数以及它们出现的概率,以此来更新一个状态价值函数,它是广度期望更新的并且采用了自举法。

12. 简述蒙特卡罗估计值函数(MC)算法

  MC算法是model-free的学习方法而不是planning,它从”经验“中学习价值函数和最优策略,”经验“是指多幕采样数据,MC通过平均样本的回报在大数定律的保证下进行策略估计,然后采用柔性策略进行MC控制。MC算法是深度采样更新,它没有使用自举法。

13. 简述时间差分(TD)算法

  TD算法和MC算法一样可以从和环境互动的经验中学习策略而不依赖环境的动态特性,TD和DP一样都采用的自举法,是采样更新。和MC不同的是TD算法采样深度没有那么深,它不是一个完全的采样,TD的策略评估是根据它直接得到的后继状态节点的单次样本转移来更新的,换言之它不需要等到一幕完全结束而是可以立刻进行学习。它采用后继状态的价值和沿途的收益进行更新,TD控制有Sarsa、期望Sarsa和Q学习。

14. 动态规划、蒙特卡洛和时间差分的异同

共同点:
  核心都是价值函数的计算,所有方法都是基于对未来事件的展望来计算一个回溯值。
不同点:

  1. DP算法是model-based,MC和TD都是model-free
  2. DP是期望更新,MC和TD是采样更新
  3. DP是planning,MC和TD是Learning
  4. DP显示了所有的单步转移,MC是完整的一幕,TD采样不采集完整的一幕
  5. MC是最小化训练集上均方误差的估计,批量TD是找出完全符合马尔可夫模型的最大似然参数

15. MC和TD分别是无偏估计吗?

MC是无偏估计,TD是有偏估计。

16. MC、TD谁的方差大,为什么?

  MC的方差更大,MC采样了一整幕,每次获取下一步的价值和收益都会增大方差,但是TD不是完全采样因此方差比MC小。

17. 简述on-policy和off-policy的区别

  在线策略用于学习和用于采样的是同一个策略,离线策略中行动策略用来采样,目标策略是用来学习的。在线策略不学习最优动作而是学习一个接近最优动作同时又能继续探索的动作,离线策略直接学习最优动作。

18. 简述on-policy和off-policy的区别

Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ max ⁡ a Q ( S t + 1 , a ) − Q ( S t , A t ) ] Q\left(S_{t}, A_{t}\right) \leftarrow Q\left(S_{t}, A_{t}\right)+\alpha\left[R_{t+1}+\gamma \max _{a} Q\left(S_{t+1}, a\right)-Q\left(S_{t}, A_{t}\right)\right] Q(St,At)Q(St,At)+α[Rt+1+γmaxaQ(St+1,a)Q(St,At)]

Q学习采用对最优动作价值函数的近似作为学习目标,与行动策略无关,是off-policy。

19. 写出用第n步的值函数更新当前值函数的公式(1-step,2-step,n-step的意思)。当n的取值变大时,期望和方差分别变大、变小?

Q ( S t , A t ) ← Q ( S t , A t ) + α [ ∑ i = 1 n γ i − 1 R t + i + γ n max ⁡ a Q ( S t + 1 , a ) − Q ( S t , A t ) ] Q\left(S_{t}, A_{t}\right) \leftarrow Q\left(S_{t}, A_{t}\right)+\alpha\left[\sum_{i=1}^{n} \gamma^{i-1} R_{t+i}+\gamma^{n} \max _{a} Q\left(S_{t+1}, a\right)-Q\left(S_{t}, A_{t}\right)\right] Q(St,At)Q(St,At)+α[i=1nγi1Rt+i+γnmaxaQ(St+1,a)Q(St,At)]

n越大时方差变大,期望偏差变小。

20. TD(λ)方法:当λ=0时实际上与哪种方法等价,λ=1呢?

当λ=0时,等价于TD。
当λ=1时,等价于MC。

21. value-based和policy-based的区别是什么?

  value-based 的典型算法是DQN,policy-based是policy gradient,结合这两种具体算法可能会更好的理解。

  1. 处理的action space不同:value-based适合处理的action space低维离散的,policy-based适合处理连续的action space。
  2. 针对action的价值输出不同:value-based计算出每个action的价值,policy-based一般情况下只给出较价值较高的actions。
  3. 更新频率不同:value-based每个action执行都可以更新,policy-based 每个episode完成之后才能更新一次。

22. 阐述目标网络和experience replay的作用?

  目标网络的参数θ−,每隔C步才和普通网络的参数θ同步一次。Experience Replay 将系统探索环境得到的数据储存起来,然后随机采样样本更新深度神经网络的参数。主要作用是克服经验数据的相关性和非平稳分布问题。它的做法是从以往的状态转移中随机采样进行训练。优点:1. 数据利用率高,因为一个样本被多次使用。2. 连续样本的相关性会使参数更新的方差比较大,该机制可减少这种相关性。

23. 描述随机策略和确定性策略的特点?

随机策略 π θ ( a t ∣ s t ) = P [ a ∣ s , θ ] \pi_{\theta}\left(a_{t} | s_{t}\right)=P[a | s, \theta] πθ(atst)=P[as,θ],P是一个概率函数;
确定性策略 a = μ θ ( s ) a=\mu_{\theta}(s) a=μθ(s) μ μ μ是一个确定的函数映射。

  • 18
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一些常见的 JVM 面试题及其解答: 1. 什么是 JVM? - JVM(Java 虚拟机)是 Java 程序的运行环境,它负责将 Java 字节码解释或编译为机器码并执行。 2. JVM 的主要组成部分有哪些? - JVM 主要由类加载器、运行时数据区域、执行引擎和本地库接口等组成。 3. 类加载器的作用是什么? - 类加载器负责将字节码文件加载到内存,并生成对应的 Class 对象。 4. 运行时数据区域包括哪些部分? - 运行时数据区域包括方法区、堆、栈、程序计数器和本地方法栈等。 5. 什么是垃圾回收(Garbage Collection)? - 垃圾回收是指自动回收不再使用的内存资源,以便给其他对象使用,从而减少内存泄漏和提高程序性能。 6. 垃圾回收算法有哪些? - 常见的垃圾回收算法有标记-清除算法、复制算法、标记-整理算法和分代收集算法等。 7. JVM 的方法区是用来存储什么信息的? - 方法区主要用于存储类的结构信息、常量池、静态变量和常量等。 8. JVM 内存模型的栈和堆有什么区别? - 栈用于存放局部变量和方法调用,是线程私有的;堆用于存放对象实例和数组,是线程共享的。 9. JVM 的 JIT 编译器是什么? - JIT(Just-In-Time)编译器是一种动态编译器,它将热点代码(频繁执行的代码)编译为本地机器码,以提高程序的执行效率。 以上是一些常见的 JVM 面试题及其解答,希望能对您有所帮助。如果您还有其他问题,请继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值