自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 收藏
  • 关注

原创 一篇文章理解DPO、PPO和GRPO;附代码理解

DPO(Direct Preference Optimization)是一种直接优化模型偏好的强化学习算法,主要用于训练和优化人工智能模型,特别是在大型语言模型的训练中。它通过比较不同模型输出的结果,选择更符合人类偏好的结果作为训练目标,而不需要显式地定义奖励函数。核心思想直接优化偏好:DPO 直接通过比较模型输出的偏好来优化模型,而不是通过传统的奖励信号。

2025-03-24 20:27:39 623

原创 DeepSeek-V3关键技术之一:DeepSeekMoE

DeepSeekMoE 是一种创新的大规模语言模型架构,旨在通过高效的计算流程和优化设计,在保持高性能的同时显著降低计算成本。

2025-03-01 20:09:51 819

原创 DL-DRL: A double-level deep reinforcement learning approach for large-scale task scheduling论文阅读

分治框架通过将复杂问题分解为多个相对简单的子问题,在上层,设计了一个任务分配DRL模型,任务被分配给上层的不同无人机,为每个给定的任务选择合适的无人机。在图片中,下层模型为每架无人机规划了不同的路线(Route 1、Route 2 和 Route 3),每条路线连接了无人机需要执行的任务和仓库。在图片中,上层模型将任务分配给不同的无人机(黄色、绿色和蓝色圆圈),形成不同的任务子集(Task subset)。已分配给无人机的任务列表:这是由上层模型的任务分配策略决定的,列出了每架无人机需要执行的任务。

2025-02-16 11:31:21 866 1

原创 DeepSeek-R1 核心强化学习算法 GRPO 详解

背景与动机:传统PPO算法在大规模语言模型(LLM)微调中面临计算开销大、策略更新不稳定等问题。GRPO旨在减少对价值网络的依赖,提高训练效率和稳定性。核心思想:通过组内相对奖励优化策略模型,而不是依赖传统的批评模型(critic model)。GRPO通过采样一组动作并比较它们的相对表现来调整策略,避免了维护价值网络的开销。

2025-02-08 13:41:54 1744

原创 联邦学习学习记录

例如,两个区域的银行可能各自区域的用户群非常不同,且用户交集非常小。例如,同城有一家银行,另一家电子商务公司,他们的用户集可能包含该地区的大多数居民,因此他们的用户空间交集很大。但是, 由于银行记录了用户的收支行为和信用评级,而电子商务保留了用户的浏览和购买历史,所以他们的特征空间有很大不同。由于他们的用户组不同,系统使用基于加密的用户ID对齐技术 来确认双方的普通用户,而不需要A和B暴露各自的数据。Step 3:A和B分别计算加密梯度和添加额外掩码,B还计算加密损失,A和B向C发送加密的值;

2025-01-15 11:18:08 291

原创 Contrastive Modules with Temporal Attention for Multi-Task Reinforcement Learning论文阅读

这种权重的分配被称为软组合权重(soft combination weights),因为它们不是硬性的0或1选择(即不选择或选择某个专家),而是在0到1之间的实数,允许模型在不同专家之间进行平滑的权重分配。CMTA通过对比学习,将共享模块以比任务更细的粒度与时间注意结合起来,约束了模块之间的差异性,缓解了任务内的负迁移,提高了多任务强化学习的泛化能力和性能。增强表示能力:通过结合任务信息和专家网络的特征,模型可以获得一个更丰富的表示,这个表示能够同时捕捉任务特定的需求和输入数据的特征。

2024-10-24 21:50:50 313 3

原创 最优编码树

基于图的定义对于一个无向加权图GVEG=(V,E)GVE,其编码树TTT是一个有根树,具有以下性质:树中的每个节点α\alphaα对应图GGG顶点的一个子集Vα⊆VVα​⊆V。例如,根节点λ\lambdaλ的子集VˉλVˉλ​包含图GGG中的所有顶点VVV,而叶子节点ν\nuν的子集VνV_{\nu}Vν​只包含一个顶点vvv,即VνvVν​v。对于每个非叶子节点α\alphaα,它有lαl_{\alpha}lα。

2024-10-14 20:12:49 982

原创 DeepACO:用于组合优化的神经增强蚂蚁系统解决TSP问题的代码阅读

DeepACO与普通ACO不同的是将问题输入实例输入到一个训练的网络中,将网络训练成为一个类似于专家知识的模块,可以生成相应的启发式矩阵网络,从而省去相应的专家知识。其中在训练网络的代码中:是进行监督式训练通过train_epochs函数进行一次训练然后通过validation函数对模块进行校验。接下来分别从这两个函数进行细致的讲述。

2024-10-10 21:45:26 721 1

原创 mlp学习

然后,我们创建了一个Sequential模型,并添加了一个输入层和一个隐藏层,以及一个输出层。它是一种前馈神经网络,由多个神经元层组成,包括一个输入层、多个隐藏层和一个输出层。MLP的典型结构包括一个输入层、一个或多个隐藏层和一个输出层。在实际应用中,MLP可能会更复杂,包括更多的层和神经元,以及更复杂的网络结构。:MLP通过学习输入数据的高层次特征,可以自动提取有用的特征,这对于许多任务来说是非常有用的。当然,下面是一个简单的MLP的例子,使用Python和Keras库来实现一个用于分类的MLP。

2024-08-29 17:05:54 692

原创 DeepACO: Neural-enhanced Ant Systems for Combinatorial Optimization代码阅读

用于训练模型,创建神经网络模型,创建优化器,加载验证集数据,创建动画器,在训练开始前进行一次验证,将验证结果保存到列表中,记录训练总时间,开始训练,进行一次训练,记录训练时间,进行一次验证,将验证结果保存到列表中,输出训练总时间,输出每个epoch的验证结果,保存训练好的模型。首先,将模型设置为评估模式,获取启发式向量,创建ACO对象,进行采样,运行ACO算法,计算基线,获取采样成本的最小值和ACO算法的最小成本,返回结果。:用于训练一个epoch,遍历每个step,生成随机实例,生成图数据,训练实例。

2024-07-20 11:48:17 839

原创 张量不是张亮

在深度学习和机器学习中,张量(Tensor)是一种多维数组,是数据的基本单位。张量是PyTorch和其他深度学习框架(如TensorFlow)中的核心数据结构。

2024-07-15 15:50:39 278

原创 IEEE TETCI | GPBT: 基于种群的强化学习超参优化的学习

超参数优化是在机器学习和深度学习中非常重要的一个环节。超参数是在模型训练之前就需要设定的参数,它们不能通过训练过程自动学习得到,例如学习率、层数、节点数、正则化参数等。常见的超参数优化方法包括手动搜索、随机搜索、网格搜索、基于梯度的优化方法(如贝叶斯优化)等。手动搜索依赖于经验和直觉,效率较低但在简单情况下可能有效。随机搜索和网格搜索则是较为简单直接的方法,通过尝试不同的超参数组合来找到较优的结果。

2024-07-10 10:24:38 497

原创 详解背包问题

背包问题(Knapsack problem)是一种组合优化的 NP 完全问题。它可以描述为:给定一组物品,每种物品都有自己的重量和价格(或价值),在限定的总重量内,如何选择物品,才能使得物品的总价格(或总价值)最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。∑j1n​pj​xj​∑j1n​wj​xj​≤Wnxj​jwj​jpj​jWjbj​各类复杂的背包问题总可以变换为简单的 0-1 背包问题进行求解。

2024-07-09 16:07:52 1737

原创 遗传算法求解TSP

遗传算法求解旅行商问题(TSP)的一般步骤如下:重复步骤 3 - 6 ,直到满足终止条件(如达到预定的迭代次数或找到满意的解)。通过不断迭代,种群中的染色体逐渐优化,最终得到较优的 TSP 路径。需要注意的是,遗传算法的参数(如种群大小、交叉概率、变异概率等)需要根据具体问题进行调整和优化,以获得更好的求解效果。

2024-07-07 15:23:58 475

原创 Embedding理解

Embedding 可以理解为一种将概念、物体或信息转换为数字序列的数值表示方法。它是沟通两个不同世界或领域的桥梁,能够把各种类型的数据(如文本、图像、视频等)映射到一个向量空间中。在这个向量空间里,相似的项目(例如语义上相近的单词、相似的图像或相关的视频内容等)会被映射到相近的位置。通过这种方式,计算机可以更好地理解和处理这些数据。以文本 Embedding 为例,它将离散的文字信息(如单词、句子、文档)转换成连续的向量数据。这样,语义相似的词在向量空间中位置相近,并且通过高维度捕捉语言的复杂性。

2024-07-07 15:06:36 785

原创 演化计算的学习

演化计算是一种基于生物进化原理的计算方法,旨在通过模拟自然选择、遗传变异和繁殖等生物进化过程来解决复杂的优化问题。它主要包括遗传算法、进化策略和遗传编程等。遗传算法通过对染色体(解的编码)的操作,如选择、交叉和变异,来逐步搜索最优解;进化策略侧重于对个体的策略参数进行调整;遗传编程则能够自动生成解决问题的程序结构。演化计算具有以下优点:不需要问题的导数等先验知识,适用于难以建立数学模型的问题。能够同时处理多个解,具有较好的全局搜索能力。具有较强的鲁棒性和适应性。

2024-07-07 14:51:40 594

原创 差分进化算法

差分进化(DE)是一种算法,通过创建一些随机个体,将它们与预定义的评估指标进行比较,并保留最好的个体,然后通过混合剩余个体的特征来创建新的个体,并重复这个过程来解决全局优化问题。在接下来的编码中,向大家仔细地解释这个过程。

2024-07-07 14:28:36 574

原创 蚁群算法求解TSP问题

一只蚂蚁从一个城市出发,在访问其他城市时留下信息素踪迹。其他蚂蚁沿着这些踪迹并开辟自己的路径。信息素在访问频率较高的路径上积累得更密集,这种密度增加了其他蚂蚁选择该路径的可能性。1' -> 'mapstr在没有蒸发的情况下:局部最优问题:信息素路径不断增加,使得特定路径极其强大。这可能会导致算法不断探索这条路径,而忽略其他可能的更好解决方案。灵活性较差:发现新途径可能会变得困难。蒸发通过减少不太喜欢的路径的信息素痕迹来鼓励新路径的发现。缺乏蒸发可能会导致算法卡在现有路径上。

2024-06-26 21:33:03 640

原创 Pointerformer: Deep Reinforced Multi-Pointer Transformer for the Traveling Salesman Problem阅读

这里,增强的上下文嵌入不仅包含有关实例本身和要访问的节点的信息,还包含有关已访问的节点的信息。最后,使用改进的REINFORCE 算法对所提出的 Pointerformer进行训练,该算法基于在策略梯度的共享基线上,同时统一一批实例的均值和方差。在文本片段中提到的“Enhanced Context Embedding”中使用了增强型的上下文嵌入,其中可能包括归一化层来确保每个节点的特征向量具有相同的尺度,这对于训练过程中的梯度下降和参数更新是有帮助的。是指在自然语言处理中,将文本数据转换为数值表示的过程。

2024-05-08 20:36:34 760

原创 《白话强化学习与python》笔记——第八章DQN 算法族

DQN算法。DQN,即Deep Q-Network,是一种结合了深度学习和Q学习的算法。

2024-04-14 20:59:13 837

原创 《白话强化学习与python》笔记——第七章Gym一一不要钱的试验场

总的来说,Gym为强化学习研究者和爱好者提供了一个功能强大且易于使用的实验平台。无论是学术研究还是个人兴趣,都可以通过Gym来探索和实践强化学习的最新进展。,它提供了一个标准化的接口来创建、管理和测试强化学习算法。Gym(全称为Gymnasium)是。

2024-04-14 20:39:16 529

原创 《白话强化学习与python》笔记——第六章深度学习(三)

为了解决这个问题,正则化被引入作为一种约束手段,通过在损失函数中添加一个与模型参数(权重)相关的惩罚项,来限制模型的复杂度。正则化的核心思想是在损失函数中加入一个与模型参数(权重)相关的项,这通常会导致模型参数的值更加接近于零,从而减少模型的复杂度。正则化是机器学习中一个重要的技术,它通过合理的数学原理和技巧,帮助模型在复杂的数据中找到平衡点,既能够捕捉数据的重要特征,又不至于陷入数据的局部细节和噪声中。正则化有助于模型在减小训练误差的同时,保持模型的简洁性,避免模型对训练数据过度拟合。

2024-04-14 12:09:50 994

原创 《白话强化学习与python》笔记——第六章深度学习(二)

LSTM的核心思想是在传统的RNN结构中引入了一个复杂的单元称为“记忆块”(memory block),该记忆块包含三个主要部分:输入门(input gate)、遗忘门(forget gate)和输出门(output gate)。与传统的神经网络不同,RNN能够利用内部的状态(记忆)来处理序列中的每一个元素,并把前面的信息传递到后续的计算中。这是CNN的核心组成部分,它使用一个小型的权重矩阵(称为卷积核或滤波器)来扫描整个输入体积并生成特征图(feature map),特征图表示特定特征的存在情况。

2024-04-04 21:30:10 1261

原创 《白话强化学习与python》笔记——第六章深度学习(一)

在一些浅层的神经网络架构中,线性回归可以被用作网络的最后一层,用于生成最终的预测输出。例如,在一个用于房价预测的网络中,最后一层可能是一个简单的线性回归层,它将前一层的非线性变换映射到最终的房价估计。

2024-04-04 19:45:37 1023

原创 《白话强化学习与python》笔记——第五章时间分差

时间差分是一种用来估计一个策略的价值函数的方法,它结合了蒙特卡洛和动态规划算法的思想。时序差分方法和蒙特卡洛的相似之处在于可以从样本数据中学习,不需要事先知道环境;和动态规划的相似之处在于根据贝尔曼方程的思想,利用后续状态的价值估计来更新当前状态的价值估计。

2024-04-02 20:05:07 844

原创 电脑电池健康度查询

将路径中文件找到即可查看电池健康度。输入cmd,打开黑窗口。

2024-03-24 13:00:38 1176

原创 npm镜像源配置

项目根目录的 .npmrc 的配置,优先级最高,且随着项目一起,可以免去因不同开发者的电脑的环境配置不同而导致的依赖下载异常的问题;实际开发中也推荐在根目录下配置一份,可以给每个项目配置不同的镜像,项目之间的配置互不影响。

2024-03-18 15:48:49 1721

原创 《白话强化学习与python》笔记——第四章蒙特卡洛法

本章介绍的是蒙特卡罗法的估值方法与优化方法。蒙特卡罗法有很多可取之处,毕竟比起动态规划法,它不要求一个完整的Model(或者环境满足MDP),也就是说,它对环境的适应性更强。每一次Episode结束,蒙特卡罗法都会对每个状态的值进行估算。随着试探次数的增加,这个估值将越来越客观、准确。

2024-03-11 21:16:32 940

原创 《白话强化学习与python》笔记——第三章动态规划

在本章中,认识了动态规划。可以看出,这种方法的局限性还是非常明显的。我们已经反复强调,动态规划要求研究对象满足MDP,因此,在实际工作中,这种方法的应用并不广泛,我在编写程序的时候,一般也不使用动态规划的方法计算估值。作为一种非常典型的针对状态估值进行计算的方法,动态规划的思路是非常容易理解的。所以,将动态规划作为状态估值和策略优化的人门方法来学习,也是非常合适的。通过类似于递归求解的方式,逐层估算,如果每一层的估算都是准确的,就能迭代向上传递,把上面各层的各个状态的值估算准确。

2024-03-08 10:39:58 421

原创 《白话强化学习与python》笔记——第二章强化学习的脉络

用于预测环境中将发生什么的一套描述信息。

2024-03-07 21:32:10 894

原创 vue学习基础

作用:列表渲染,遍历容器的元素或者对象的属性语法: 2.v-bind作用:动态为HTML标签绑定属性值,如设置href,src,style样式等。语法:简化::属性名=“属性值”作用:这两类指令,都是用来控制元素的显示与隐藏的v-if语法:其它:可以配合 v-else-if / v-else 进行链式调用条件判断原理:基于条件判断,来控制创建或移除元素节点(条件渲染)场景:要么显示,要么不显示,不频繁切换的场景v-show语法:原理:基于CSS样式display来控制显示与隐藏场景

2024-02-19 12:25:33 213

原创 springboot-redis令牌主动失效机制

2.LoginInterceptor拦截器中,需要验证浏览器携带的令牌,并同时需要获取到redis中存储的与之相同的令牌。1.登录成功后,给浏览器响应令牌的同时,把该令牌存储到redis中.3.当用户修改密码成功后,删除redis中存储的旧令牌。

2024-02-03 13:06:35 478

原创 springboot集成redis

3.调用API(StringRedisTemplate)完成字符串的存取操作。1.导入spring-boot-start-data-redis起步依赖。2.在yml配置文件中配置redis连接信息。

2024-02-03 12:35:22 333

原创 validation自定义校验

2.自定义校验数据的类StateValidation实现ConstraintValidator接口。已有注解不能满足所有的校验要求,特殊的情况需要自定义校验。3.在需要校验的地方使用自定义注解。1.自定义注解State。

2024-02-01 12:17:33 349

原创 Validation分组校验

把校验项进行归类分组,在完成不同的功能时候,校验指定组中的校验项。2.定义校验项时指定分组。3.校验时要按校验的分组。

2024-01-29 13:37:23 383

原创 ThreadLocal,提供线程局部变量

使用ThreadLocal存储的数据。用来存取数据:set()/get()用完记得调用remove方法进行释放。

2024-01-25 14:40:05 376

原创 springboot登录认证JWT令牌

定义了一种简洁的、包含的格式,用于通信双方一json数据格式安全的传输信息。

2024-01-25 13:49:11 673

原创 spring自动配置的原理

的文件,当然,boot2.7以前的版本,读取的时spring.factories文件。3.实现selectImports方法这个方法层层调用,最终会读取。2.EnableAutoConfiguration注解又组合了。遵循约定大约配置的原则,在boot程序启动后,4.读取到全类名了之后,会解析注册条件。1.在主启动类上添加的。

2024-01-24 12:49:50 500

原创 spring ioc容器

ioc是 inversion of Control的简写,意为控制反转。通过其对所有的Java对象的实例化和初始化,控制对象与对象之间的依赖关系。(1)控制反转是一种思想。(2)控制反转是为了(3)控制反转,反转的是什么?答:将对象的创建权利交出去,交给第三方容器负责。将对象和对象之间关系的维护权交出去,交给第三方容器负责。(4)控制反转这种思想如何实现呢?

2024-01-16 18:35:54 449

原创 在DOS或Windows环境中,使用工具Debug

如果你使用的是不同的汇编开发环境,如MASM、NASM、TASM等,通常它们都提供了自己的调试工具或集成了调试功能,你可以根据特定工具的文档来学习如何在该工具中进行汇编代码的调试。请注意,Debug工具是一个相对古老的工具,可能不支持一些现代的功能,但它仍然可以用于简单的汇编代码调试。如果你使用的是其他汇编调试器,步骤会有所不同,但基本的调试原则是相似的。如果程序在执行期间出现错误或你想查看某个特定位置的变量值,可以使用 p 命令查看寄存器和内存中的数据。你的代码会一步一步执行,显示每一行代码的执行情况。

2023-10-28 21:28:10 1244

实验目的 熟悉主键、外键、默认值、非空、检查、唯一六种约束的使用 实验内容 1.创建学生信息表,其中表名为student,包含

实验四:约束 实验目的 熟悉主键、外键、默认值、非空、检查、唯一六种约束的使用。 实验内容 1.创建学生信息表,其中表名为student,包含字段:id(主键),number (学号)、name(姓名)、sex(性别)、age(年龄),其中ID添加主键约束;number字段添加唯一性和非空约束;name字段添加非空约束;性别字段添加非空约束;年龄字段添加默认值为0的约束。 (注意:如果已经存在student先将其删除掉再创建) 2.向student表中添加一下4条学生记录,查看是否添加成功,如果不成功,请分析原因。 1、1001、null、男、15 2、1002、张三、男、23 3、1002、李四、女、21 3、1003、王五、男、null 实验程序或截图 1.创建学生信息表: 2.添加学生记录 3.分析插入失败的原因: 第一条记录,因为 number 字段添加了非空约束,而这里插入的值为 NULL,所以插入失败。 第三条记录,由于 number 字段添加了唯一性约束,已经存在值为 1002 的记录,所以插入失败。 第四条记录,因为年龄字段添加了默认值为 0 的约束,而这里插

2024-07-31

交换机工作原理分析实验2报告

(1) 能够在Packet Tracer软件中完成直连网络环境的搭建与配置。 (2) 理解共享式以太网和交换式以太网的区别。 (3) 理解交换机通过自学习建立MAC地址转发表的过程以及交换机对不同数据帧的处理过程。 (4) 理解生成树协议的作用,能够分析生成树协议的工作过程。 (5) 理解VLAN对广播域的隔离作用。

2022-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除