强化学习——基本概念

何为强化学习

机器学习的一大分支

  • 强化学习(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.mzph.cn/diannao/30939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

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

【ai】tx2-nx:安装深度学习环境及4.6对应pytorch

参考:https://www.waveshare.net/wiki/Jetson_TX2_NX#AI.E5.85.A5.E9.97.A8 英伟达2021年发布的的tritionserver 2.17 版本中,backend 有tensorflow1 和 onnxruntime ,他们都是做什么用的,作为backend 对于 triton 推理server意义是什么,是否应该有pytorch? Triton Infer…

PS给logo加白色描边

步骤1&#xff1a;打开你的Logo文件 步骤2&#xff1a;选择Logo层 在“图层”面板中找到你的Logo所在的图层。如果你的Logo是在背景图层上&#xff0c;可以将它转换为普通图层&#xff08;右键点击背景图层&#xff0c;选择“从背景图层转换”&#xff09;&#xff08;此处也…

五大数据防泄漏系统排名|高效实用的防泄漏软件有哪些

在数字化时代&#xff0c;数据泄露已成为企业面临的重要安全挑战之一。为了有效应对这一挑战&#xff0c;企业需要借助先进的数据泄露防护系统来保护其敏感信息免受非法访问、使用和泄露。以下是五大备受推崇的数据泄露防护系统&#xff0c;它们各具特色&#xff0c;功能强大&a…

查看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是我自己创…

阿里云服务器提醒漏洞要不要打补丁?

我们自己用的电脑一旦发现漏洞&#xff0c;往往是第一时间进行打补丁重启等等&#xff0c;但是作为服务器而言&#xff0c;往往没有这个习惯&#xff0c;为什么&#xff1f;因为害怕服务器打补丁以后&#xff0c;重启后出现打不开的情况&#xff0c;毕竟稳定的运行似乎在这种情…

java.io.eofexception:ssl peer shut down incorrectly

可能是因为 1)https设置 2&#xff09;超时设置 FeignConfig.java package zwf.service;import java.io.IOException; import java.io.InputStream; import java.security.KeyStore;import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory;import org.apac…

北斗短报文终端在应急消防通信场景中的应用

在应对自然灾害和紧急情况时&#xff0c;北斗三号短报文终端以其全球覆盖、实时通信和精准定位的能力&#xff0c;成为应急消防通信的得力助手。它不仅能够在地面通信中断的极端条件下保障信息传递的畅通&#xff0c;还能提供精准的位置信息&#xff0c;为救援行动提供有力支持…

Adams 插件Plugin二次开发教程

通过cmd或python开发的Adams程序&#xff0c;可以通过执行cmd&#xff08;python&#xff09;命令的方式直接运行&#xff0c;也可以根据cmd教程中提供的创建菜单和对话框的方式调用这些程序&#xff0c;当然更合适的方式是通过插件的方式对二次开发的程序进行管理&#xff0c;…

Java程序员Python一小时速成

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

Shell脚本、相关命令;重定向、管道符、变量相关命令讲解

目录 Shell脚本 概念 执行命令流程的交互区别 交互式 非交互式 Shell脚本应用场景 Shell的作用 Shell的作用 —— 命令解释器&#xff0c;“翻译官” 列出系统中全部解释器 实验 脚本的基本书写格式和执行命令 在子bash下执行脚本 指定解释器的方式执行脚本 指定…

代码讲解——ssm+jsp+maven项目目录结构说明

1 applicationContext.xml 应用上下文配置 2 db.properties 数据库配置 3 log4j.properties日志配置 4 mybatis-config.xml mybatis配置 5 springmvc.xml springmvc配置

万元主力机型该选什么固态硬盘,佰维NV7200、NV3500 的实用一定要让你知道

固态硬盘&#xff1a;变革存储技术&#xff0c;探索无尽可能 今年的固态市场价格一直是稳中上涨。 固态的价格上涨有技术上的因素&#xff0c;也有人工成本上的因素。好在国产固态技术的崛起&#xff0c;在固态价格上涨之下&#xff0c;依旧能选购到性价比和性能出众的型号。…

Elasticsearch搜索引擎(初级篇)

1.1 初识ElasticSearch | 《ElasticSearch入门到实战》电子书 (chaosopen.cn) 目录 第一章 入门 1.1 ElasticSearch需求背景 1.2 ElasticSearch 和关系型数据库的对比 1.3 基础概念 文档和字段 索引和映射 第二章 索引操作 2.0 Mapping映射属性 2.1 创建索引 DS…

【SEMI-e ·国际半导体深圳展】| 06月26-28日唯创知音语音芯片供应商 邀您来观展

世界聚焦半导体&#xff0c;产业规模空前&#xff01;一场高端产业研学盛会即将如约而至。 SEMI-e 第六届2024国际半导体展深圳站&#xff0c;2024年06月26-28日将在深圳国际会展中心&#xff08;宝安&#xff09;开展&#xff0c;展会展出面积60000平方米&#xff0c;汇聚全国…

鄂州职业大学2024年成人高等继续教育招生简章

鄂州职业大学&#xff0c;作为一所享有盛誉的高等学府&#xff0c;一直以来都致力于为社会培养具备专业技能和良好素养的优秀人才。在成人高等继续教育领域&#xff0c;该校同样表现出色&#xff0c;为广大渴望继续深造、提升自身能力的成年人提供了宝贵的学习机会。 随着社会…

【C语言】12.指针与数组的关系

一、数组名的理解 #include <stdio.h> int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };printf("&arr[0] %p\n", &arr[0]);printf("arr %p\n", arr);return 0; }通过上述代码输出结果我们发现结果相同&#xff0c;因此我们得出结论&a…

李宏毅深度学习03——神经网络训练不起来怎么办

视频链接 如果Optimization失败的时候&#xff0c;怎么把梯度下降做的更好&#xff1f; 只考虑这种情况&#xff0c;不考虑overfitting 局部最小值&#xff08;local minima&#xff09;和鞍点&#xff08;saddle point&#xff09; 为什么Optimization会失败&#xff1f; …

南京邮电大学计算机网络实验一(网络操作系统的安装与配置)

文章目录 一、 实验目的和要求二、 实验环境(实验设备)三、 实验原理和步骤四、 实验小结&#xff08;包括问题和解决方法、心得体会、意见与建议等&#xff09;&#xff08;一&#xff09;问题和解决方法&#xff08;二&#xff09;心得体会&#xff08;三&#xff09;意见与建…

爬山算法优点

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…