自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CristianoC

分享计算机视觉路上所学所得

  • 博客(43)
  • 收藏
  • 关注

原创 深度强化学习落地指南总结(二)-动作空间设计

本系列是对《深度强化学习落地指南》全书的总结,这本书是我市面上看过对深度 强化学习落地讲的最好的一本书,大大拓宽了自己对RL落地思考的维度,形成了强化学习落地分析的一套完整框架,本文内容基本摘自这本书,有兴趣的读者可以点击文末链接自行购买。作者对这本书的推荐序:https://zhuanlan.zhihu.com/p/4031916912.1 动作空间设计:这里大有可为2.1.1 被忽视的价值关于动作空间的设计容易被大家忽视,因为Agent控制的方式往往在一开始就限制死,正如游戏玩家无法决定DOT

2021-10-14 20:54:45 2417

原创 深度强化学习落地指南总结(一)-需求分析

本系列是对《深度强化学习落地指南》全书的总结,这本书是我市面上看过对深度强化学习落地讲的最好的一本书,大大拓宽了自己对RL落地思考的维度,形成了强化学习落地分析的一套完整框架,本文内容基本摘自这本书,有兴趣的读者可以自行购买。第一章 需求分析1.1 需求分析:勿做DRL铁锤人须知任何机器学习方法都有各自的优势和适用范围,DRL算法也同样有其鲜明的优势和局限性,因此务必要做到具体问题具体分析。不是所有需求都适合用DRL解决,适合用DRL解决的需求在性能上也未必超越传统方法。因此在面对一个新需求的适.

2021-09-03 11:21:59 866 2

原创 机器学习中的频率派和贝叶斯派-以极大似然估计和最大后验估计为例

这是一个新的系列,会整理一下以前在ipad上写的笔记。前言把概率引进到机器学习当中是一件很自然的事情,许多机器学习当中问题的本质都可以从概率中的频率派(Frequentist)或贝叶斯派(Bayesian)的观点去看待,学习越成体系,对这点的感受就越多。为了方便接下来的阐述,举个例子:我们现在用XXX表示数据,θ\thetaθ表示参数,假设我们有NNN个样本,每个样本的维度是PPP,即X=(x1,x2,⋯ ,xN)N×PT=(x11x12⋯x1Px21x12⋯x1P⋮⋮⋮⋮x1x12⋯x1P)X.

2021-04-26 16:53:18 262

原创 强化学习算法总结(一)——从零到DQN变体

这是新开的一个系列,将结合理论和部分代码(by ElegantRL)介绍强化学习中的算法,将从基础理论总结到现在常用的SAC,TD3等算法,希望能帮助大家重温知识点。本文是第一部分,将从基础理论讲解到DQN的各种变体。目录基础理论复习Q-learningSarsaDQNPrioritized Experience ReplayDouble DQNDueling DQNNoisy Network其他参考基础理论复习强化学习简单来说就是智能体agent根据当前的状态state.

2021-04-08 16:26:41 505

原创 深入浅出解读并思考AlphaGo

本文是对2016年发表在Nature的<< Mastering the game of Go with deep neural networks and tree search >>的解读与思考,即AlphaGo原版算法的解读与思考。目录引言监督学习策略网络(Supervised Learning of Policy Networks)与快速走子网络(Rollout Policy Networks)强化学习策略网络( Reinforcement Learning of .

2021-02-24 17:49:29 502

原创 强化学习之不基于模型的控制(五)

前一讲讲解了智能体如何在不基于模型的情况下如何进行预测,也就是求解在给定策略下的状态价值或行为价值函数.本章则主要讲解在不基于模型的条件下如何通过个体的学习优化价值函数,同时改善自身行为的策略以最大化获得累积奖励的过程,这一过程也被称为不基于模型的控制.目录简介行为价值函数的重要性ϵ\epsilonϵ-贪婪策略现时策略蒙特卡洛控制现时策略时序差分控制离线策略学习编程实践(蒙特卡洛学习求二十一点游戏最优策略)编程实践(构建基于gym的有风格子世界,个体以及交互参考简介生活中有.

2020-12-26 20:58:52 460

原创 蒙特卡洛积分和重要性采样

重要性采样在强化学习有着重要作用,它是蒙特卡洛积分的一种采样策略.目录概率论基础蒙特卡洛积分重要性采样参考概率论基础本文先补充两条基础的概率论公式,方便大家更好地看懂全文假设某一连续型随机变量XXX的样本空间为DDD,其概率密度分布函数为p(x)p(x)p(x),则其数学期望为:E(X)=∫Dxp(x)dxE(X) = \int_D xp(x)dxE(X)=∫D​xp(x)dx若另一连续随机变量Y满足Y = f(X),则Y的数学期望为:E(Y)=∫Df(x)p(x)dxE(Y) .

2020-12-15 19:52:52 1680 1

原创 强化学习之蒙特卡洛学习,时序差分学习理论与实战(四)

前言上一讲讲解了如果应用动态规划算法对一个已知状态转移概率的MDP进行策略评估或通过策略迭代或直接的价值迭代来寻找最优策略和最优价值函数,同时也指出了动态规划算法的一些缺点.从本讲开始的连续两讲将讲解如何解决一个可以被认为是MDP,但却不掌握MDP具体细节的问题,也就是讲述个体如何在没有对环境动力学认识的模型的条件下如何直接通过个体与环境的实际交互来评估一个策略的好坏或者寻找到最优价值函数和最优策略.其中这章将聚焦于策略评估,也就是预测的问题.本章分为三个部分,将分别从理论上阐述基于完整采样的蒙特卡

2020-12-10 14:17:20 124

原创 强化学习之动态规划寻找最优策略理论与实战(三)

前言本讲将着重讲解如何利用动态规划(Dynamic programming)来解决强化学习中的规划问题。"规划"是指在已知环境动力学的基础上进行评估和控制,具体来说就在了解包括状态和行为空间,转移概率矩阵,奖励等信息的基础上判断一个给定策略的价值函数,或判断一个策略的优劣并最终找到最优的策略和最优的价值函数。尽管多数强化学习问题并不会给出具体的环境动力学,并且多数复杂的强化学习问题无法通过动态规划算法来快速求解,但本讲在讲解利用动态规划算法进行规划的同时将重点阐述一些非常重要的概念,例如预测和控制,策

2020-12-07 17:26:39 362

原创 强化学习核心之马尔科夫决策过程理论与实战(二)

前言本讲将从基础的马尔科夫过程开始讲解,到马尔科夫奖励过程,马尔科夫决策过程,最后也会用代码巩固这部分理论.目录马尔科夫过程马尔科夫奖励过程马尔科夫决策过程编程实践参考马尔科夫过程理论讲解在上一讲我们提到过,在一个时序过程中,如果t+1t+1t+1时刻的状态仅取决于t时刻的状态StS_tSt​而与ttt时刻之前的任何状态都无关时,则认为ttt时刻的状态StS_tSt​具有马尔科夫性(Markov property)如果过程中每一个状态都具有马尔科夫性,则这个过程具备马尔科夫性

2020-12-02 10:36:40 264

原创 强化学习总体介绍-初步搭建强化学习理论体系(一)

前言两年前接触强化学习是通过莫烦的课程,那时候对强化学习整体有一个基础的认识,最近听了David Silver的课程后又建立起了完整的强化学习体系,故连载David Silver系列的笔记.本讲会对强化学习整体做一个介绍,也会介绍强化学习中常用的概念,帮助读者理解,看完本文只需要建立起一个概念体系就行,不需要深究细节,细节在后面会展开说明.目录关于强化学习强化学习中的要点智能体内部强化学习中的问题参考关于强化学习强化学习在各种领域都有着它的应用,比如:(1)在计算机科学领域,强化

2020-11-18 16:43:03 1011

原创 全面解析可变形卷积家族(Deformable Convolutional Networks v1+ v2)

目录DCN v1DCN v2参考DCN v1背景在计算机视觉领域,同一物体在不同场景,角度中未知的几何变换是检测/识别的一大挑战,通常来说我们有两种做法:(1)通过充足的数据增强,扩充足够多的样本去增强模型适应尺度变换的能力。(2)设置一些针对几何变换不变的特征或者算法,比如SIFT和sliding windows。两种方法都有缺陷,第一种方法因为样本的局限性显然模型的泛化能力比较低,无法泛化到一般场景中,第二种方法则因为手工设计的不变特征和算法对于过于复杂的变换是很难的而无法设计。所

2020-08-11 11:51:21 3736 2

原创 元学习Meta-Learning—授人以鱼不如授人以渔

目录背景Meta-Learning的数据划分MAML算法MAML的思考参考背景我们知道现在深度学习在使用大型数据集掌握一项任务(检测,分类等)方面取得了巨大的成功,但这并不是真正我们追求的“人工智能”。具体来说,我们可能训练了一个能做物理题很高分的学生,但是他也只能做物理题而已,面对数学题他只能吞下零分的命运;其次,在面对新的任务(数学题)的时候,我们的学生仍然需要大量的数据(数学题)进行训练,而在学习物理的时候积累下的学习方法(先验知识)却基本帮不上忙。以上的问题可以抽象为一个具体的问

2020-08-03 18:43:06 1690 1

原创 深入解析DenseNet(含大量可视化及计算)

在DenseNet出现之前,CNN的进化一般通过层数的加深(ResNet)或者加宽(Inception)的思想进行,DenseNet通过对特征的复用提出了一种新的结构,不但减缓了梯度消失的现象参数量也更少.本文通过大量可视化以及参数计算来进行讲解.目录背景DenseBlock非线性组合函数Transition层整个结构的计算DenseNet的思考参考背景当CNN的层数变深时,输出到输入的路径就会变得更长,这就会出现一个问题:梯度经过这么长的路径反向传播回输入的时候很可能就会消失,.

2020-05-15 23:20:49 2090 1

原创 深度解析文本检测网络CTPN

不同于网上千篇一律讲解CTPN的文章,本文将使用大量可视化过程来帮助大家理解CTPN,完整重现CTPN所有细节。先用一张动图过一遍CTPN全过程,接下来开始我们的讲解。目录文本检测概念初识CTPN总体结构特殊的anchor双向LSTMRPN层NMS文本线构造算法文本框矫正损失函数效果图参考文本检测概念初识OCR(光学字符识别)是CV一个重要的研究领域,O...

2020-04-30 19:41:40 1354

原创 多图+公式全面解析RNN,LSTM,Seq2Seq,Attention注意力机制

本文将会使用大量的图片和公式推导通俗易懂地讲解RNN,LSTM,Seq2Seq和attention注意力机制,希望帮助初学者更好掌握且入门。目录RNNLSTMSeq2Seq注意力机制参考RNN(递归神经网络)我们知道人类并不是从零开始思考东西,就像你读这篇文章的时候,你对每个字的理解都是建立在前几个字上面。你读完每个字后并不是直接丢弃然后又从零开始读下一个字,因为你的思想是...

2020-04-24 16:28:09 4520

原创 深入浅出理解Faster R-CNN

之前讲解了one-stage算法的代表YOLO,今天将以自顶向下的思想,深入浅出地帮助读者理解two-stage算法代表Faster R-CNN。目录整体结构基础网络AnchorRegion Proposal Network(RPN网络)RPN网络的训练以及损失函数RPN后期处理Region of Interst Pooling(RoI)Region-based Convo...

2020-04-03 11:49:44 262

原创 YOLO v3实战之钢筋智能识别改进方案分享(二)

最后本方案线上取得的最高F1 score为0.98336,作为one-stage算法来说算是还可以,由于很多参数只是粗调,预计还能有千分位的提高,感兴趣的读者可以自行尝试,接下来分享一下我在这个场景下关于YOLO v3的改进方案。先上分数:代码已上传至:https://github.com/cristianoc20/Rebar_Detection,欢迎各位给个star目录评判标准...

2020-03-07 21:23:14 1785 8

原创 YOLO v3实战之钢筋数量AI识别(一)

本次的YOLO v3实战是基于DataFountain的一个比赛:智能盘点—钢筋数量AI识别,baseline model就选用上次讲解YOLO v3理论YunYang复现的YOLO v3。本次系列也和正常我们做比赛的流程一样分为两部分,这次也是第一部分将会带大家跑通baseline(比赛的话可能会对比多个,这里仅跑YOLO v3),第二部分将会分析baseline出现的问题结合赛题背景进行改进...

2020-02-19 22:45:42 4261 25

原创 Tensorflow1.X迁移到2.0教程

最近发现tf升级2.0之后有些api更新了,所以代码就无法直接迁移,所以做一下记录。目录单脚本转换文件夹批量转换注意事项单脚本转换先进入到你要转换脚本(eg:yolov3.py)的目录,然后:tf_upgrade_v2 --infile yolov3.py --outfile yolov3.py文件夹批量转换先进入你要转换的文件夹根目录(eg:yolov3/),然...

2020-02-19 17:30:36 1312

原创 Batch Normalization本质:平滑优化空间

相信BN层对大家来说并不陌生,今天除了讲解BN被大家说的比较多的东西外会讲一下BN真正work的本质。今天之所以来讲解BN是因为早上听了一个旷视的讲座,听完之后发现旷视研究院在今年1月19日发表的用来解决小批量训练BN不稳定的问题论文:MABN。这对于一般用自己电脑来训练网络的我来说感觉是一个福音,可以减缓batch_size设小之后性能降低的问题(谷歌在一个月前也提出了改进的FRN:一种不依赖...

2020-02-15 19:49:18 456

原创 ICLR20 - 旷视研究院提出MABN:解决小批量训练BN不稳定的问题

本次先大体翻译MABN的论文,有机会我会把YOLO中的BN换成MABN在小批次上试试效果。目录背景介绍批归一化中的统计量滑动平均批归一化实验论文地址背景批度归一化(Batch Normalization/BN已经成为深度学习领域最常用的技术之一,但他的表现很受批次(Batch Size)限制。小批次样本的批统计量(Batch Statistics)十分不稳定,导致训练的...

2020-02-15 19:48:02 343

原创 CVPR2016:ResNet 从根本上解决深度网络退化问题

深度残差网络(Deep residual network, ResNet)的提出是CNN图像史上的一件里程碑事件,在2015年提出的时候便取得了五项第一,而何恺明大神也凭借这一paper斩获CVPR 2016 Best Paper Honorable Mention。目录背景(深度网络的退化问题)残差结构残差结构起作用的原因网络结构实验结果论文地址背景(深度网络的退化问题)...

2020-02-14 12:29:01 2414 1

原创 目标检测之YOLO v1-You Only Look Once(一)

提到计算机视觉,自然会提到目标检测(object detection),而谈到目标检测,YOLO系列算法算是目标检测中2016年起燃起的一颗新星,接下来笔者将会挨个介绍YOLO这个家族中各个算法,本文则从CVPR2016的这篇You Only Look Once: Unified, Real-Time Object Detection介绍YOLO v1的论文说起。先上YOLO的官方演示demo:...

2020-02-11 17:18:38 652

原创 CVPR2019:使用GIoU作为目标检测新loss

如今一些目标检测算法如YOLO v3已经都在用GIOU代替IOU进行损失计算并取得不错的效果,GIOU的思路简单而有效,今天我们就来解读一下CVPR19的这篇Generalized Intersection over Union: A Metric and A Loss for Bounding BoxRegression提出的广义IoU-GIoU目录背景及介绍算法流程及代码实验结...

2020-02-11 17:18:37 375

原创 ICCV2017:Focal Loss for Dense Object Detection

这篇有关Focal Loss的paper是何恺明大神提出的又一经典paper,除了提出Focal Loss还提出了RetinaNet,这里就先不对RetinaNet做介绍,单纯讲讲Focal Loss目录背景简单介绍核心思想论文背景我们知道目标检测的算法主要可以分为两大类:two-stage和one-stage。前者的代表算法是R-CNN系列,可以达到很高的准确率,但是速度...

2020-02-11 17:18:12 208

原创 目标检测之YOLO v2-You Only Look Once(二)

目录前言YOLO v2:Better,FasterYOLO9000:Stronger参考文献前言今天给大家介绍斩获CVPR 2017 Best Paper Honorable Mention的YOLO v2的论文,YOLO9000:Better, Faster, Stronger。准确来说这篇论文提出了两个模型:YOLO v2和YOLO9000,本篇论文主要的工作可以概括为2步:...

2020-01-31 15:43:03 589

原创 目标检测之YOLO v3-You Only Look Once(三)

提到计算机视觉,自然会提到目标检测(object detection),而谈到目标检测,YOLO系列算法算是目标检测中2016年起燃起的一颗新星,接下来笔者将会挨个介绍YOLO这个家族中各个算法,本文则从CVPR2016的这篇You Only Look Once: Unified, Real-Time Object Detection介绍YOLO v1的论文说起。先上YOLO的官方演示demo:...

2020-01-30 11:11:56 688

原创 Policy Gradient——一种不以loss来反向传播的策略梯度方法

目录文章目录目录1.前言2.核心算法3.Add a Baseline4.总结1.前言这次介绍的基于策略梯度的Policy Gradient的算法属实比之前的算法没那么好理解,笔者看完莫烦教程之后还是有许多细节没搞懂,又看了李宏毅教授的DRL Lecture才弄懂,希望能把他讲清楚。2.核心算法之前我们所学的DQN,Q-Learning都是通过计算动作得分来决策的,我们是在确定了价值函数...

2019-07-25 16:51:47 1021 2

原创 Prioritized Experience Replay (DQN)——让DQN变得更会学习

目录文章目录目录1.前言2.算法2.1 SumTree有效抽样2.2 Memory类2.3 更新方法3.对比结果1.前言这次我们还是使用MountainCar来进行实验,因为这次我们不需要重度改变它的reward了。所以只要是没有拿到小旗子reward=-1,拿到小旗子时,我们定义它获得了+10的reward。比起之前DQN中,这个reward定义更加准确。如果使用这种reward定义方式,...

2019-07-24 10:30:53 2132 2

原创 Double DQN——解决DQN中的过估计问题

文章目录1.前言2.算法2.1更新方法2.2 记录Q值2.3对比结果1.前言本篇教程是基于Deep Q network(DQN)的教程,缩减了在DQN方面的介绍,着重强调Double DQN和DQN的不同之处。接下来我们说说为什么会有Double DQN这种算法,所以我们从Double DQN相对于Natural DQN(传统DQN)的优势说起。一句话概括,DQN基于Q-Learning,...

2019-07-23 09:35:56 2443

原创 周志华《机器学习》学习笔记(2)——性能度量

说是学习笔记二,其实上一次的介绍已经把部分第二章模型评估与选择的内容介绍了一些,这次主要是对第二章剩余知识的理解,包括:性能度量、比较检验和偏差和方差。在上一篇中,我们解决了评估学习器泛化性能的方法,即用测试集的“测试误差”作为“泛化误差“的近似,当我们划分好训练/测试集后,那如何计算”测试误差“呢?这就是性能度量,例如:均方差,错误率等,即”测试误差“的一个评价标准。有了评估方法和性能度量,就可...

2019-07-22 21:35:42 393

原创 Ubuntu下的录GIF神器——Peek

最近一直在找Ubuntu下面录GIF好用方便的软件一直没找到,很多都是要获取录屏四角的坐标,现在终于找到了,就是我们的录GIF神器——Peek。1 获取Peek的ppa源sudo add-apt-repository ppa:peek-developers/stable2 更新源sudo apt-get update3 安装Peeksudo apt-get install peek...

2019-07-22 10:28:05 1564

原创 OpenAI gym——一款开发和比较RL算法的工具包

文章目录一、前言二、安装三、CartPole例子主循环四、MountainCar例子一、前言手动编写环境是一件很耗时间的事情,所以如果可以直接使用比人编写好的环境,可以节约我们很多时间。OpenAI gym就是这样一个模块,他提供给我们很多优秀的模拟环境。我们的各种强化学习算法都能使用这些环境。之前的环境都是用tkinter来手动编写,或者想玩玩更厉害的,像OpenAI一样,使用pyglet模...

2019-07-22 10:02:36 1126 1

原创 深度强化学习之DQN实战

今天我们会将我们上一篇文章讲解的DQN的理论进行实战,实战的背景目前仍然是探险者上天堂游戏,不过在下一次开始我们会使用OpenAI gym的环境库,玩任何我们想玩的游戏。算法公式看上去整个算法似乎很复杂,其实就是Q-Learning的框架加了三样东西experience replay(经验池)神经网络计算Q值暂时冻结q_target参数接下来我们就一步步把上篇文章学习到的理论实现...

2019-07-21 11:59:49 1326 1

原创 深度强化学习之DQN-深度学习与强化学习的成功结合

目录概念深度学习与强化学习结合的问题DQN解决结合出现问题的办法DQN算法流程总结一、概念原因:在普通的Q-Learning中,当状态和动作空间是离散且维数不高的时候可以使用Q-Table来存储每个状态动作对应的Q值,而当状态和动作空间是高维连续时,使用Q-Table不现实。一是因为当问题复杂后状态太多,所需内存太大;二是在这么大的表格中查询对应的状态也是一件很耗时的事情。通...

2019-07-20 17:04:56 5085

原创 Sarsa(Lambda)-Sarsa的升级版

目录前言单步更新和回合更新算法公式探险者上天堂实战小结前言今天介绍的Sarsa(lambda)算法是Sarsa的改进版,二者的主要区别在于:Sarsa是每次获取到reward之后只更新到reward的前一步,而Sarsa(lambda)就是更新获取到reward的前lambda步。也就是说,Sarsa在没有获得reward之前,当前步的Q值其实是没有任何变化的,直到获得re...

2019-07-19 16:55:24 260

原创 强化学习之Sarsa

在强化学习中,Sarsa和Q-Learning很类似,本次内容将会基于之前所讲的Q-Learning的内容。目录算法简介更新准则探险者上天堂实战算法简介Sarsa决策部分和Q-Learning一抹一样,都是采用Q表的方式进行决策,所以我们会在Q表中挑选values比较大的动作实施在环境中来换取奖赏。但是Sarsa的更新是不一样的更新准则和上次一样用小学生写作业为例子,我们会...

2019-07-18 20:56:39 333

原创 强化学习之Q——learning

部分专有名词在上一篇文章有介绍,本文不作过多赘述。目录前言算法思想算法详解算法公式探险者寻宝藏实战(一维)前言我们做事情都会有自己的一个行为准则,比如小时候爸妈常说“不写完作业就不准看电视”。所以我们在写作业的状态(state)下,好的行为就是继续写作业,直到写完它,我们还可以得到奖励(reward),不好的行为就是没写完作业就跑去看电视了,被爸妈发现就会被惩罚,这种事情做的...

2019-07-17 16:20:06 1449

原创 强化学习-让机器自学习

目录概念和监督学习,非监督学习的区别分类应用举例概念强化学习(Reinforcement Learning,简称RL)是机器学习的一个重要分支,前段时间人机大战的主角AlphaGo正是以强化学习为核心技术击败人类。在强化学习中,包含两种最基本的元素:状态与动作,在某个状态下执行某种动作,这便是一种策略,学习器要做的就是通过不断探索学习,从而获得一个好的策略。例如:在围棋中,一种落棋...

2019-07-16 10:59:07 1501

空空如也

空空如也

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

TA关注的人

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