随笔分类 -  算法分析与实现

算法的分析 算法的编成实现
摘要:在整篇文章论述开始之前,我们先做一些概念性的讲解铺垫。卷积神经网络的各层卷积单元在模型网络中实际上有充当了目标检测器的作用,尽管没有提供对目标位置的监督。虽然其拥有在卷积层中定位对象的非凡能力,但当使用全连接层进行分类时,这种能力就会丧失。基于此,提出了CAM(类激活映射)的概念,采用全局平均池化,以热力图的形式告诉我们,模型通过哪些像素点得知图片属于某个类别,使模型透明化和具有可解释性。 阅读全文
posted @ 2022-10-31 18:02 xerwin 阅读(197) 评论(0) 推荐(0) 编辑
摘要:2018年Bert的横空出世给自然语言处理带来了巨大的突破,Bert及其衍生模型在多个文本处理下游任务中达到了SOTA的结果。但是这样的提升是有一定代价的,其中之一就是计算量的大幅增长。 BERT-base模型是由12层Transformer构成,模型有大约1亿参数参与运算,而效果更好的BERT-large由24层的Transformer组成,参数量甚至达到了3亿,巨大的参数量对GPU的性能和显存提出了更高的要求,尤其是在企业的落地应用中,需要更加高级的GPU来完成模型训练。在推理过程中的情况也是如此,在部署到线上的实际情况下,对文本分析的响应是ms级的,而租用高算力的服务器需要花费大量的成本,那么有没有方法可以鱼与熊掌兼得,在不牺牲分类精度的情况下减少模型复杂度呢? 答案是肯定的。 阅读全文
posted @ 2022-09-29 15:05 xerwin 阅读(67) 评论(0) 推荐(0) 编辑
摘要:在多Agent的强化学习算法中,前面我们讲了QMIX,其实VDN是QMIX的一个特例,当求导都为1的时候,QMIX就变成了VDN。QTRAN也是一种关于值分解的问题,在实际的问题中QTRAN效果没有QMIX效果好,主要是QTRAN的约束条件太过于松散,导致实际没有理论效果好。但是QTRAN有两个版本,QTRAN_BASE和QTRAN_ALT,第二版本效果比第一要好,在大部分实际问题中和QMIX的效果差不多。上述的算法都是关于值分解的,每个agent的回报都是一样的。如果在一局王者荣耀的游戏中,我方大顺风,我方一名角色去1打5,导致阵亡,然后我方4打5,由于我方处于大优势,我方团灭对方,我方所有的agent都获得正的奖励。开始去1打5的agnet也获得了一个正的奖励,显然他的行为是不能获得正的奖励。就出现了“吃大锅饭”的情况,置信度分配不均。COMA算法就解决了这种问题,利用反事实基线来解决置信度分配的问题。COMA是一种“非中心化”的策略控制系统。 阅读全文
posted @ 2022-09-29 11:43 xerwin 阅读(81) 评论(0) 推荐(0) 编辑
摘要:2016年Google DeepMind提出了Dueling Network Architectures for Deep Reinforcement Learning,采用优势函数advantage function,使Dueling DQN在只收集一个离散动作的数据后,能够更加准确的去估算Q值,选择更加合适的动作。Double DQN,通过目标Q值选择的动作来选择目标Q值,从而消除Q值过高估计的问题。D3QN(Dueling Double DQN)则是结合了Dueling DQN和Double DQN的优点。 阅读全文
posted @ 2022-08-23 18:52 xerwin 阅读(629) 评论(0) 推荐(0) 编辑
摘要:众所周知,在基于价值学习的强化学习算法中,如DQN,函数近似误差是导致Q值高估和次优策略的原因。我们表明这个问题依然在AC框架中存在,并提出了新的机制去最小化它对演员(策略函数)和评论家(估值函数)的影响。我们的算法建立在双Q学习的基础上,通过选取两个估值函数中的较小值,从而限制它对Q值的过高估计。 阅读全文
posted @ 2022-08-23 18:43 xerwin 阅读(763) 评论(0) 推荐(0) 编辑
摘要:强化学习(Reinforcement Learning,RL),也叫增强学习,是指一类从(与环境)交互中不断学习的问题以及解决这类问题的方法。强化学习问题可以描述为一个智能体从与环境的交互中不断学习以完成特定目标(比如取得最大奖励值)。 和深度学习类似,强化学习中的关键问题也是贡献度分配问题[1],每一个动作并不能直接得到监督信息,需要通过整个模型的最终监督信息(奖励)得到,并且有一定的延时性。 本文首先通过简介强化学习基于策略函数的学习方法引出策略梯度,接着通过一般化的公式推论得到策略梯度的最优表达式,最后在排序不等式的视角下解读策略梯度的最优表达式。主要概括为以下两个部分: (1)策略梯度的最优表达式推导 (2)排序不等式下的策略梯度 阅读全文
posted @ 2022-08-23 18:26 xerwin 阅读(41) 评论(0) 推荐(0) 编辑
摘要:Q学习(Q-Learning)算法是提出时间很早的一种异策略的时序差分学习方法;DQN则是利用神经网络对Q-Learning中的值函数进行近似,并针对实际问题作出改进的方法;而DDPG则可以视为DQN对连续型动作预测的一个扩展;本文将从定义对比分析DQN和DDPG,更好地理解二者的算法区别与联系。 本文首先通过简介DQN和DDPG涉及的常见概念,接着从DQN开始分析理解其算法流程,然后进一步地分析DDPG,最后总结二者的区别与联系。本文主要分为以下两个部分: (1)相关概念简介 (2)DQN的算法分析 (3)DDPG的算法分析 阅读全文
posted @ 2022-08-23 18:11 xerwin 阅读(347) 评论(0) 推荐(0) 编辑
摘要:DRL(Deep Reinforcement Learning)的首次惊艳亮相,应该是 DeepMind 在2013年首次将其应用于 Atari 游戏中提出的 DQN(Deep Q Network)算法。到现在,短短7年间,DRL 已经从玩 Atari,进化为下围棋(Alphago)、玩电竞(Dota AI、StarCraft AI),一次次刷新大家的三观。 阅读全文
posted @ 2022-07-14 16:57 xerwin 阅读(738) 评论(0) 推荐(0) 编辑
摘要:自2017年AlphaGo打败世界围棋冠军柯洁后,人工智能彻底进入大众视野,一时间棋牌类的AI在人工智能界掀起了一股大风。其实早在AlphaGo之前,人们就对棋牌类的人工智能发起了挑战,从简单的跳棋、五子棋,到更加复杂的中国象棋、国际象棋,以及最近非常热门的围棋和德州扑克,数十年间也是硕果累累。而相对于跳棋、象棋等完全信息游戏,德州扑克不仅要根据不完全信息进行复杂决策,还要应付对手的虚张声势、故意示弱等招数,其对应的博弈树无论是广度还是深度都十分庞大,它也一直都是科学家们想要攻克的高山。而在AlphaGO打败柯洁的同年,德扑AI DeepStack和Libratus也先后在 “一对一无限注德州扑克” 上击败了职业扑克玩家,在不完全信息博弈中做出了里程碑式的突破,而他们所采用的的核心算法就是Counterfactual Regret Minimization(CFR)。 阅读全文
posted @ 2022-07-08 20:28 xerwin 阅读(145) 评论(0) 推荐(0) 编辑
摘要:最近AlphaGo Zero的发布,深度学习又火了一把,小伙伴们按捺不住内心的躁动,要搞一个游戏AI,好吧,那就从规则简单、老少皆宜的五子棋开始讲起。要做AI,得先有场景,上一篇我们实现了一个五子棋的逻辑,讲道理,有个规则在,可以开始搞AI了,但是考虑到不够直观,并且也要简单测一下上一篇的逻辑实现得有没有问题,我们还是顺带先把五子棋的UI也先搞出来。本文使用PyGame来实现UI部分。 阅读全文
posted @ 2017-11-14 22:43 xerwin 阅读(20678) 评论(16) 推荐(10) 编辑
摘要:最近AlphaGo Zero的发布,深度学习又火了一把,小伙伴们按捺不住内心的躁动,要搞一个游戏AI,好吧,那就从规则简单、老少皆宜的五子棋开始讲起。要做AI,得先有场景,所以本文先实现一个五子棋的逻辑。 阅读全文
posted @ 2017-11-13 23:41 xerwin 阅读(14901) 评论(15) 推荐(19) 编辑
摘要:本文通过例子介绍了支持向量机(Support Vector Machine)及线性分类器的基础知识和原理。 阅读全文
posted @ 2011-03-04 11:22 xerwin 阅读(970) 评论(1) 推荐(0) 编辑
摘要: C语言版本 的 yxyDES2 阅读全文
posted @ 2009-04-23 23:19 xerwin 阅读(7313) 评论(18) 推荐(2) 编辑
摘要:本文简要介绍一下DES,SHA1,RSA算法,并给出了.NET中提供的标准函数的C#示例,果想做一个网络安全模块,只需将三种算法结合起来设计一个模型,我相信可以实现很多复杂的功能。 阅读全文
posted @ 2009-04-14 12:32 xerwin 阅读(18588) 评论(24) 推荐(7) 编辑
摘要:本文包括: 一.DES 2.1 说明 ,二. DES 2.1的简介,三.DES 算法介绍,四. yxyDES2 Class提供的Public函数,五. 加密、解密示例,六.关于一些特殊情况的特别说明:yxyDES2提供一些转换函数,七.关于文件加密,八.示例代码下载 阅读全文
posted @ 2009-04-14 00:54 xerwin 阅读(41925) 评论(149) 推荐(17) 编辑
摘要:DES 加密解密程序2.0版,不管从性能上还是代码的优化上都比1.0版有比较大的提升,支持任意长度字符串加密解密,支持3DES,支持换行等特殊字符。 阅读全文
posted @ 2009-03-27 01:51 xerwin 阅读(4343) 评论(61) 推荐(0) 编辑
摘要:蚁群算法(Ant Colony Algorithm)是一种源于自然现象的算法,也是一种 meta heuristic,即与具体问题关系不大的优化算法,也就是它是一种用来在图中寻找优化路径的机率型技术。Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。 阅读全文
posted @ 2009-03-19 16:26 xerwin 阅读(2441) 评论(0) 推荐(1) 编辑
摘要:蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。它由Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法。初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。蚁群算法是一种求解组合最优化问题的新型通用启发式方法,该方法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。正因为蚁群算法有这些优点,很多研究者都在致力研究和改过它,本文的目的正是为了介绍蚁群算法,学习如何编写蚁群算法。 阅读全文
posted @ 2009-03-19 16:16 xerwin 阅读(1046) 评论(0) 推荐(0) 编辑
摘要:对前DES1.0源码bug的修正 阅读全文
posted @ 2008-04-02 11:49 xerwin 阅读(862) 评论(13) 推荐(0) 编辑
摘要:论述了入侵检测系统的基本概念,针对目前入侵检测系统中存在的问题,提出了一个基于数据挖掘技术的入侵检测系统模型。介绍了该系统模型的基本思想,阐述其结构及主要功能。在系统的实现方面提出应用新的加权关联规则分析来改进数据挖掘模块的算法并应用与入侵检测系统之中。与传统关联规则入侵系统相比提高了挖掘入侵模式的精度和完整性,降低了误报率的发生。 阅读全文
posted @ 2007-11-10 14:12 xerwin 阅读(762) 评论(1) 推荐(0) 编辑