强化学习——基本概念

何为强化学习

机器学习的一大分支

  • 强化学习(Reinforcement Learning)是机器学习的一种,它通过与环境不断地交互,借助环境的反馈来调整自己的行为,使得累计回报最大。
  • 强化学习要解决的是决策问题——求取当前状态下最优行为或行为概率。
  • 强化学习包括智能体和环境两大对象,智能体是算法本身,环境是与智能体交互的外部。

智能体(Intelligent Agent),在人工智能领域,智能体指一个可以观察周围环境并作出反应的自主实体。——维基百科

graph TB A(机器学习) — B(监督学习) A — C(非监督学习) A — D(强化学习)

机器学习主要分为三大类:监督学习、非监督学习和强化学习。
与前两者不同,强化学习的训练样本没有任何标记,仅有一个延迟的回报信号。强化学习通过对训练数据进行学习,以获得从状态到行为的映射。这是一大区别。
在监督学习和非监督学习中,数据是静态,不需要与环境进行交互。此外,数据有着前提假设,如服从混合高斯分布、泊松分布等。然而,强化学习需要在与环境不断交互的过程中动态学习,所需的数据也是由与环境不断交互动态产生的,产生数据之间高度相关。强化学习涉及的对象更多、更复杂。此外另一个区别。

六个关键词

学习与规划(Learning & Planning)

学习与规划是两种方法,分别适用于不同的情境。
学习针对未知环境的情况。仅通过与环境进行交互,采用试错法逐渐改善其策略。
当智能体,已经知道或近似知道环境如何工作后,可以选择规划方法。智能体并不直接与环境发生实际交互,而是利用自己拟合的环境模型获得状态转换概率和汇报,在此基础上改善其策略。

探索与利用(Exploration & Exploitation)

探索与规划是两种行为,相互对立。
探索是指智能体在一种状态下,试图尝试一个新的行为,以图挖掘更多关于环境的信息;利用是指智能体根据已知信息,选取当下最优的行为来最大化回报。

预测与控制(Prediction & Control)

预测与控制是解决强化学习问题的两个步骤,也成为评估与改善。
解决一个强化学习问题,首先是解决关于预测问题:评估当前策略的质量。而后在此的基础上,解决控制问题:对当前策略不断优化,直到找到一个足够好的策略能够最大化未来的回报。

何为马尔可夫

强化学习的大部分算法都是以马尔可夫决策过程为基础发展。马尔可夫过程为强化学习问题提供了基本的理论框架,几乎所有强化学习问题都可以用马尔可夫决策过程(MDP)进行建模。以下将做简单介绍。

关于“马尔可夫”的概念

马尔可夫性

马尔可夫性(Markov Property),如果某一状态蕴含了所有相关历史信息。只要当前状态可知,所有的历史信息不再需要,即当前状态可以决定未来,则认为该状态具有马尔可夫性。
可用以下状态转移公式表示马尔可夫性:

\[P(S_{t+1}|S_t)=P(S_{t+1}|S_t,\cdots,S_2,S_1)\]

可见状态\(S_t\)包含的信息等价于所有历史状态\(S_1,S_2\cdots,S_t\)包含的信息,所以该状态具有马尔可夫性。
例如,围棋未来的走向只和当前棋面相关,之前的棋面不再有实际意义,因此棋面具有马尔可夫性,它已经涵盖了导致该种局面的所有重要信息。

马尔可夫过程

具有马尔可夫性的随机过程(又称“随机事件”)即马尔可夫过程(Markov Process),又称为马尔可夫链。它是一个无记忆的随机过程,可用一个元组\(<S,\mathbf{P}>\)表示,其中\(S\)表示有限数量的状态集,\(\mathbf{P}\)表示状态转移概率矩阵。
以一张求职者找工作的例子说明马尔可夫链。

graph LR A([本职工作]) B([机器学习]) C([强化学习]) D([故宫旅游]) E([深度强化]) F[人工智能工作] A -->|0.5| A A -->|0.5| B B -->|1/3| A B -->|1/3| C B -->|1/3| F C -->|1/3| A C -->|1/3| F C -->|1/3| E D -->|0.2| C D -->|0.2| B D -->|0.6| E E -->|0.5| F E -->|0.5| D

椭圆表示求职者所处状态,方格“人工智能工作”表示求职者最终找到了满意的工作,即“终止状态”也可以认为它的下一个状态是自身的概率为100%。箭头表示状态间的转移,肩头上的数字表示当前转移的概率。
图中状态转移矩阵为:

\[\mathbf{P}= \begin{bmatrix} 0.5&0.5&0&0&0&0\\ 1/3&0&1/3&0&0&0\\ 1/3&0&0&1/3&0&1/3\\ 0&0&0&0&0.5&0.5\\ 0&0.2&0.2&0.6&0&0\\ 0&0&0&0&0&1\\ \end{bmatrix} \]

矩阵中每个元素\(P_{ss’}\)表示从状态\(s\)转移至状态\(s’\)的概率,从上到下的行(以及从左到右的列)分别表示本职工作、机器学习、强化学习、深度强化、故宫旅游、人工智能工作。

马尔可夫决策过程

马尔可夫决策过程(Markov Decision Process, MDP)是针对具有马尔可夫性的随机过程做出决策。即根据每部每个时间步观察到的状态\(s\),从可用的行动集合中选用一个行动\(a\),环境在\(a\)的作用下,转换至新状态\(s’\)。决策者根据新观察到的状态\(s’\)再做出新的决策,采取行动\(a’\),依次反复进行。
一个马尔可夫决策过程由一个五元组构成:\(M=<S,A,P,R,\gamma>\)

  • \(S\)代表环境的状态集合。状态指的是智能体所能获得的对决策的有用信息。
  • \(A\)代表智能体的动作集合。它是智能体在当前学习任务中可以选择的动作集。
  • \(P\)表示状态转移概率。\(P^a_{ss’}\)表示当前状态\(s\)下(\(s\in S\)),经过动作\(a\)作用后(\(a\in A\))转移至其他状态\(s’\)的概率。数学表达式如下:

\[P_{ss’}^a=P(S_{t+1}=s’|S_t=s,A_t=a) \]

如果\(P\)与动作无关,可写为:

\[P_{ss’}=P(S_{t+1}=s’|S_t=s) \]

给定一个策略\(\pi\)和一个马尔可夫决策过程(MDP):\(M=<S,A,P,R,\gamma>\)。在执行策略\(\pi\)时,状态从\(s\)转移至\(s’\)的概率\(P{\pi}_{ss’}\)表示这一系列概率之和。这一系列概率指在执行当下策略\(\pi\)时,执行某一个行为\(a\)的概率\(\pi(a|s)\)与该行为能使状态从\(s\)转移至\(s’\)的概率\(Pa_{ss’}\)的乘积。数学表达式如下:

\[P^\pi_{ss’}=\sum_{s\in A}\pi(a|s)P_{ss’}^a \]

策略是决策决定智能体行为的机制,是状态到行为的映射,用\(\pi(a|s)\)表示: p i ( a ∣ s ) = P ( A _ t = a ∣ S _ t = s ) \\pi(a|s)=P(A\_t=a|S\_t=s) pi(as)=P(A_t=aS_t=s)

策略分为确定性策略与随即策略。确定策略会根据具体状态输出一个动作:\(\mu(a)=s\)。随即策略根据状态输出每个动作的概率(概率值区间\([0,1]\))

  • \(R\)表示回报函数。\(R^a_s\)表示在当前状态\(s(s\in S)\),采取动作\(a(a\in A)\)后,获得的回报。数学表达式如下:

\[R^a_s=E[R_{t+1}|S_t=s,A_t=a] \]

一些情况下,\(R\)仅与状态有关,因此可写为:

\[R^\pi_s=E[R_{t+1}|S_t=s] \]

当前状态下,\(s\)执行指定策略\(\pi\)得到的立即回报\(R_a\pi\)是该策略下\(\pi\)下所有可能行为得到的回报\(R_sa\)与该行为发生概率\(\pi(a|s)\)的乘积的和。

\[R^{\pi}_s=\sum_{a\in A}\pi(a|s)R^a_s \]

  • \(\gamma\)是衰减系数(Disocount Factor),也叫折扣因子,\(\gamma\in[0,1]\)。使用折扣因子是为了在计算当前状态的累计回报时,将未来时刻的立即回报也考虑进来。

在上面的马尔可夫过程例子中,状态集合\(S=\{\)本职工作、机器学习、强化学习、深度强化、人工智能工作\(\}\);动作集合\(A=\{\)继续本职工作、学习、放弃、找工作、旅游\(\}\)。

把线上的“状态转移概率”换成“动作”和“回报”:

graph LR A([本职工作]) B([机器学习]) C([强化学习]) D([故宫旅游]) E([深度强化]) F[人工智能工作] A -->|继续本职工作\n R=2| A A -->|学习\n R=10| B B -->|放弃\n R=-10| A B -->|学习\n R=-2| C B -->|找工作\n R=4| F C -->|放弃\n R=-10| A C -->|找工作\n R=8| F C -->|学习\n R=-2| E D -->|学习\n R=-2| C D -->|学习\n R=-2| B D -->|学习\n R=-2| E E -->|找工作\n R=10| F E -->|旅游\n R=1| D

当前策略下,根据状态转移矩阵,状态“深度强化”到状态“强化学习”的转移概率为

\[P^\pi_{ss’}=\sum_{s\in A}\pi(a|s)P_{ss’}^a=0.5*0.2+0.5*0=0.1 \]

状态“深度强化”对应的回报为

\[R^{\pi}_s=\sum_{a\in A}\pi(a|s)R^a_s=0.5*1+0.5*10=5.5 \]

贝尔曼方程

贝尔曼方程(Bellman Equation)是强化学习算法的基石,在诸多强化学习方法中,如动态规划、蒙特卡洛、时序差分算法都是基于贝尔曼来求解最优策略。
贝尔曼方程基本思想是将待求解问题分解成若干个子问题,从这些子问题的解得到原问题的解。
贝尔曼方程分为“贝尔曼期望函数”和“贝尔曼最优方程”。

  • 贝尔曼期望函数表达了当前值函数(或行为值函数)和它后继值函数(或行为值函数)的关系,以及值函数与行为值函数之间的关系。
  • 贝尔曼最优方程表达了当前最优值函数(或最优行为值函数)与后继最优质函数(或最优行为值函数)的关系,以及最优值函数和最优行为值函数之间的关系。

值函数代表智能体在给定状态下的表现,或是给定状态下采取某个行为的好坏程度(用期望回报衡量)。值函数的估计都是基于给定的策略进行的。
回报\(G_t\)为从t时刻开始往后所有的带衰减回报的总和。也称“收益”或“奖励”。公式如下:

\[G_t=R_{t+1}+\gamma R_{t+2}+\cdots=\sum_{k=0}\infty\gammakR_{t+k+1} \]

在\(k+1\)时刻获得的回报\(R\)在\(t\)时刻的价值为\(\gamma^kR\),\(\gamma\)趋近于0表示“近视性”评估,趋近于1表示偏重长远利益的考虑。

状态值函数\(V_{\pi}(s)\)表示从状态s开始,遵循当前策略\(\pi\)所获得的期望汇报;或者说在执行当前策略\(\pi\)时,衡量智能体所处状态\(s\)时的价值大小。这个值可以评估一个状态的好坏并指导智能体选择动作。公式描述::

\[\begin{align*} V_\pi(s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\cdots|S_t=s]\end{align*}\]

值函数的另一类别,状态行为值函数简称行为值函数\(Q_\pi(s,a)\)。该指标表示,执行策略\(\pi\)时,针对当前状态\(s\)执行动作\(a\)时所获得的期望回报;也表示遵循策略\(\pi\)时,对当前状态\(s\)执行行为\(a\)的价值大小。公式描述:

\[\begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\cdots|S_t=s,A_t=a]\end{align*}\]

贝尔曼期望方程

对状态值函数\(V_\pi(s)\)定义的公式进行推导:

\[\begin{align*} V_\pi(s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+\cdots)|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma V(S_{t+1})|S_t=s] \end{align*}\]

在最后一行将\(G_{t+1}\)变为\(V(S_{t+1})\),表示回报的期望等于回报期望的期望。可以发现\(V_\pi(s)\)分解为两部分:第一项为该状态下立即回报的期望,为常数项;第二项为下一时刻转台值函数的折扣期望。
同理,\(Q_\pi(s,a)\)的贝尔曼方程期望方程为:

\[\begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma Q_\pi(S_{t+1},A_{t+1})|S_t=s,A_t=a]\end{align*}\]

以上为贝尔曼方程的最初形式。贝尔曼方程有四种不同的表达形式,分别给出了状态值函数、行为值函数之间存在的关系。

  1. 基于状态\(s\)采取动作\(a\),求取\(V_\pi(s)\)。
    在遵循策略\(\pi\)时,状态\(s\)的值函数体现为在该状态下,采取所有可能行为的价值\(Q_pi(s,a)\)(行为值函数)与行为发生概率\(\pi(a|s)\)的乘积之和。表达式:

\[V_\pi(s)=\sum_{a\in A}\pi(a|s)Q_\pi(s,a) \]

  1. 采取行动\(a\),状态转变为\(s’\),求取\(Q_\pi(s,a)\)。
    类似的,在遵循策略\(\pi\)时,行为状态价值\(Q_\pi(s,a)\)体现为两项之和。第一项为采取行为\(a\)后立即获得的回报\(Ra_s\),第二项是所有可能的状态值\(V_\pi(s’)\)乘以状态转移概率\(Pa_{ss’}\)带衰减求和。表达式:

\[Q_\pi(s,a)=R^a_s+\gamma\sum_{s’\in S}P^a_{ss’}V_\pi(s’) \]

  1. 基于状态\(s\)采取动作\(a\),状态转变为\(s’\),求取\(V_\pi(s)\)。
    结合12,可得到\(V_\pi(s)\)第二种表达式:

\[V_\pi(s)=\sum_{a\in A}\pi(a|s)\left(R^a_s+\gamma\sum_{s’\in S}P^a_{ss’}V_\pi(s’)\right) \]

  1. 采取行动\(a\),状态转变为\(s’\),采取行动\(a’\),求取\(Q_\pi(s,a)\)。
    结合12,可得到\(Q_\pi(s,a)\)第二种表达式:

\[Q_\pi(s,a)=R^a_s+\gamma\sum_{s’\in S}P^a_{ss’}\sum_{a’\in A}\pi(a’|s’)Q_\pi(s’,a’) \]

贝尔曼最优方程

最优值函数\(V^*(s)\)是指在所有策略中最大的值函数,即:

\[V^*(s)=\underset{\pi}{\max}V_\pi(s),\ \ s\in S \]

相应的,最优行为值函数\(Q^*(s,a)\)是指所有策略中最大的行为值函数,即:

\[Q^*(s,a)=\underset{\pi}{\max}Q_\pi(s,a),\ \ s\in S \]

贝尔曼最优方程也有四种表达式,体现了最优状态值函数、行为值函数之间的关系。

  1. 基于状态\(s\)采取动作\(a\),求取\(V^*(s)\)。
    当前状态的最优质函数\(V^*(s)\)等于从该状态\(s\)出发,采取的所有行为中对应的那个最大的行为值函数。

\[V*(s)=\underset{a}{\max}Q*(s,a) \]

  1. 采取行动\(a\),状态转变为\(s’\),求取\(Q^*(s,a)\)。
    在状态\(s\)下,采取某个行为的最优价值\(Q*(s,a)\)。由两部分组成,第一部分是离开状态\(s\)的立即回报\(R_sa\),另一部分是所有能到达状态\(s’\)的最优状态价值\(V^*(s’)\)按出现概率求和:

\[Q*(s,a)=R_sa+\gamma\sum_{s’\in S}Pa_{ss’}V*(s’) \]

  1. 基于状态\(s\)采取动作\(a\),状态转变为\(s’\),求取\(V^*(s)\)。
    结合12,可得到\(V^*(s)\)第二种表达式:

\[V*(s)=\underset{a}{\max}Ra_s+\gamma\sum_{s’\in S}Pa_{ss’}V*(s) \]

  1. 采取行动\(a\),状态转变为\(s’\),采取行动\(a’\),求取\(Q^*(s,a)\)。
    结合12,可得到\(Q^*(s,a)\)第二种表达式:

\[Q*(s,a)=Ra_s+\gamma\sum_{s’\in S}Pa_{ss’}Q*(s’,a’) \]

最优策略

强化学习的目标是找到最优策略\(\pi\),使得该策略下的累积回报期望最大。
对于任何状态\(s\),当且仅当遵循策略\(\pi\)的价值不小于遵循策略\(\pi’\)的价值时,则称策略\(\pi\)由于\(\pi’\),即

\[\pi\geqslant\pi’,\ \ V_\pi(s)\geqslant V_{\pi’}(s), \ \ \forall s \]

对于任意MDP,存在一个最优策略满足:

\[\pi^*\geqslant\pi,\ \ \forall\pi \]

每个策略对应着一个状态值函数,最优策略自然对应着最优值函数。因此,一旦有了\(V^*\),基于每一个状态\(s\),做一步搜索,一部搜索之后,出现的最优行为将是最优的,对应的最优行为集合就是最优策略:

\[\pi^*=(a|s)=\underset{a\in A}{argmax}R^a_s+\gamma\sum_{s’\in S}Pa_{ss’}V*(s’) \]

如果有了最优行为值函数\(Q*(s,a)\),则求解最优策略将变得更为方便。对于任意状态\(s\),**直接找到最大化\(Q*(s,a)\)对应的行为**,最优策略求取公式:

\[\pi^*=(a|s)=\begin{cases} 1 \ \ a=\underset{a\in A}{argmax}Q^*(s,a) \\ 0\ \ other \end{cases}\]

对于任何MDP问题,总存在一个确定性的最优策略,找到最优行为价值函数相当于找到最优策略。
在同一个状态\(s\)下,会存在多个行为\(a\),每一个行为分别对应一个行为值函数\(Q(s,a)\)。若在当前状态\(s\)下,有\(m\)个行为值函数相等且取值最大,则其对应的行为概率均为\(\frac{1}{m}\)。

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

五、面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

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

相关文章

HNU-计算机系统(CSAPP)实验三 BombLab

前言 BombLab来自《深入理解计算机系统》&#xff08;CSAPP&#xff09;一书的第三章“程序的机器级表示”的配套实验&#xff0c;该实验的目的是通过反汇编可执行程序bomb&#xff0c;来反推出程序执行内容&#xff0c;进而能够正确破解“密码”&#xff0c;拆除“炸弹”。 …

【人机交互 复习】第8章 交互设计模型与理论

一、引文 1.模型&#xff1a; 有的人成功了&#xff0c;他把这一路的经验中可以供其他人参考的部分总结了出来&#xff0c;然后让别人套用。 2.本章模型 &#xff08;1&#xff09;计算用户完成任务的时间&#xff1a;KLM &#xff08;2&#xff09;描述交互过程中系统状态的变…

java连接kerberos用户认证以及java连接ldap读取账户信息

文章目录 一、背景二、代码2.1目录2.2配置文件application.properties2.3pom依赖2.4代码AuthProviderConfig配置类CustomConfigurationByKeytab配置类CustomConfigurationByPassword配置类LdapConfiguration配置类TestControllerLdapUser实体类MyCallbackHandlerLdapUserAttrib…

SpringCloudAlibaba组件之间的版本兼容问题

我之前的SpringCloud项目以及使用的组件的版本是这些 但是我不知道具体的版本兼容问题&#xff0c;以及各种组件之间对应的版本 想要使用我们的springcloud和springcloudAlibaba组件&#xff0c;我们就要版本对应&#xff0c;不然就是一堆依赖报错&#xff0c;要不就是缺了这个…

业余时间做跨境电商实现经济自由,我是怎么做的?

在知乎问答上翻阅大家非常感兴趣的问题&#xff0c;解答一些疑惑的同时&#xff0c;发现大家对跨境电商还是很感兴趣的&#xff0c;类似“小白如何入局跨境电商&#xff1f;2024跨境电商平台&#xff0c;哪些值得做&#xff1f;现在电商哪个平台好做?”等的这些主观问题&#…

Java程序员Python一小时速成

背景 由于最近要开发一些AI LLM&#xff08;Large Language Model 大语言模型&#xff09;应用程序&#xff0c;然后又想使用LangChain&#xff08;LangChain 是一个用于构建和操作大语言模型&#xff08;LLMs&#xff09;的框架&#xff0c;旨在帮助开发者更方便地集成和使用…

Vant2组件库的基础应用

目录 一、Picker 选择器 1.1、数组对象处理 1.2、每个选项颜色设置 二、滚动分页加载列表 三、Calendar 日历(可选范围限制) 四、input值过滤 官网&#xff1a;Vant 2 - Mobile UI Components built on Vue 一、Picker 选择器 官网示例数据&#xff1a; columns: [杭州…

Anti-human IL-12/-23 (p40) mAb (MT3279H), azide free

Anti-human IL-12/-23 (p40) mAb (MT3279H), azide free该单克隆抗体用于中和人IL-12/-23的生物活性。 产品详情&#xff1a; 免疫原&#xff1a;人重组IL-23蛋白 Isotype: mouse IgG2b Specificity: 天然和重组人IL-12和 IL-23蛋白的p40 subunit 浓度&#xff1a;1mg/ml …

查看nginx安装/配置路径,一个服务器启动两个nginx

查看nginx安装/配置路径 查看nginx的pid&#xff1a; ps -ef | grep nginx查看pid对应服务的启动路径 ll /proc/2320/exe使用检查配置文件命令&#xff0c;查看配置文件位置 /usr/local/nginx/sbin/nginx -t一个服务启动两个nginx 拷贝一份程序&#xff0c;cpbin是我自己创…

【HarmonyOS NEXT】har 包的构建生成过程

Har模块文件结构 构建HAR 打包规则 开源HAR除了默认不需要打包的文件&#xff08;build、node_modules、oh_modules、.cxx、.previewer、.hvigor、.gitignore、.ohpmignore&#xff09;和.gitignore/.ohpmignore中配置的文件&#xff0c;cpp工程的CMakeLists.txt&#xff0c;…

[CR]厚云填补_基于相似像素的渐进式缺口填补方法PGFCTS

Progressive gap-filling in optical remote sensing imagery through a cascade of temporal and spatial reconstruction models--Remote Sensing of Environment--2024.06.01 Abstract 在光学遥感图像的预处理中&#xff0c;由于云层较厚或传感器发生故障而产生的空白填充一…

群晖NAS本地部署并运行一个基于大语言模型Llama2的个人本地聊天机器人

前言 本文主要分享如何在群晖 NAS 本地部署并运行一个基于大语言模型 Llama 2 的个人本地聊天机器人并结合内网穿透工具发布到公网远程访问。本地部署对设备配置要求高一些,如果想要拥有比较好的体验,可以使用高配置的服务器设备. 目前大部分大语言模型的产品都是基于网络线上…

律所优选管理软件排名:Alpha法律智能操作系统领先行业

面对庞大复杂的管理体量&#xff0c;律所一体化建设面临的首要问题便是信息化系统的建设与应用&#xff0c;即统一管理平台的问题。Alpha法律智能操作系统集法律大数据、律所管理、人工智能于一体&#xff0c;从业务、人员、信息三个板块最大限度支持律所数字化建设&#xff0c…

电脑桌面文件夹删除不了怎么办?6种方法快速解决,建议收藏!

桌面文件夹删不掉怎么办&#xff1f;有时会遇到桌面上的文件夹无法删除的问题&#xff0c;这是由于文件夹被系统进程或某些应用占用&#xff0c;或者是由于权限设置等原因造成的。以下是解决桌面文件夹无法删除问题的方法&#xff0c;帮助你有效地清理桌面环境。 桌面文件夹删不…

南京邮电大学计算机网络实验二(网络路由器配置RIP协议)

文章目录 一、 实验目的和要求二、 实验环境(实验设备)三、 实验步骤四、实验小结&#xff08;包括问题和解决方法、心得体会、意见与建议等&#xff09;五、报告资源 一、 实验目的和要求 掌握思科路由器的运行过程&#xff0c;掌握思科路由器的硬件连线与接口&#xff0c;掌…

HNU-计算机系统(CSAPP)实验一 原型机vspm1.0

一、题目 【实验目的】 &#xff08;1&#xff09;了解冯诺伊曼体系结构&#xff1b; &#xff08;2&#xff09;理解指令集结构及其作用&#xff1b; &#xff08;3&#xff09;理解计算机的运行过程&#xff0c;就是指令的执行过程&#xff0c;并初步掌握调试方法。 【实…

黑马苍穹外卖4 店铺营业状态设置+Redis基础

店铺营业状态设置 Redis MySQL Java并发 JavaMVC 计算机网络 操作系统 算法&#xff0c;后端面试主要是这些&#xff0c;外加项目 Redis 数据库&#xff0c;基于内存存储的key-value结构。 mysql是磁盘存储&#xff0c;通过二维表存储。 在文件夹目录打开cmd 服务端&#xf…

HNU操作系统2023期中考试试卷及参考答案

本试题参考 甘晴void 的CSDN博客【2.2】操作系统OS_甘晴void的博客-CSDN博客&#xff0c;本意为期中复习自用&#xff0c;答案在其基础上进行进一步完善&#xff0c;若有错误还请指正&#xff01; 第一题&#xff1a;基础题&#xff08;20分&#xff09; 1.1&#xff08;4分&a…

Windows反截屏开发实现

文章目录 Windows反截屏开发实现1. SetWindowDisplayAffinity2. 反截屏系统3. 总结 Windows反截屏开发实现 最近在我们云桌面中需要做到反截屏能力&#xff0c;所谓反截屏就是我们无法通过截图软件&#xff08;微信&#xff0c;QQ&#xff0c;截图等程序&#xff09;截取桌面的…

lock-锁的概念

锁的简介 锁是计算机协调多个进程或线程并发访问某一资源的机制&#xff08;避免发生资源争抢&#xff09; 在并发环境下&#xff0c;多个线程会对同一个资源进行争抢&#xff0c;可能会导致数据不一致的问题。为了解决这一问题&#xff0c;需要通过一种抽象的锁来对资源进行…