如何评价PID optimizer?

论文链接:http://www4.comp.polyu.edu.hk/~cslzhang/paper/CVPR18_PID.pdf
作者github:https://github.com/tensorboy/PIDOptimizer
论文中只跟Momentum作了比较,没有跟其他优化器做过比较。不知道有没有大佬试过?

作者:知乎用户
链接:https://www.zhihu.com/question/322746326/answer/671758212
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我觉得这篇文章相比于算法PID本身,他在自动控制和深度学习之间建立起的connection更有意思一点。

在控制理论中建立起的对应:

虽然他没有严格理论证明,不过从直观上来看,还是挺make sense的。这样就说明,我们可以大胆地吧自动控制里面的公式拿进来疯狂水文章了hh

就算法本身来讲,个人认为他的新算法是不是真的比旧有的算法好还是有待商榷的。

他在本文中建立起了一个挺大的筐,等式右边第一项是proportional (P),第二项integral (I)和第三项derivative (D):

并且说明旧有的算法(SGD、Momentum、Nesterov0s Momentum)都是可以被这个框架含括的。看起来很美好。

但是,您测试的时候,敢不敢稍微认真点啊!能不能别专挑弱鸡打啊!

  1. 数据集:MNIST、CIFAR10、Tiny-ImageNet,这都是演示用的数据集吧,是男人就上ImageNet和coco!
  2. 优化器:前人已经搞出不少专门针对SGD和momentum优化的优化器了,比如AdaGrad、RMSProp和Adam,你为什么不跟他们比呢?这不是有欺负老头老太太的嫌疑么?
  3. 引用文献:虽然这个颇有鸡蛋里面挑骨头的意味,但是都9102年了,您的论文引用连一篇2018年的文章都没有。对于像深度学习这样比较火,比较讲究前沿的学科,不太合适吧?

PID optimizer的更多相关文章

  1. 80 端口被占用 pid=4

    80端口被pid=4的系统进程给占用的解决方法: 一般开发的时候我们都会安装sqlserver ,也会把Sql server Reporting Services 安装上去.原因就是这个服务占用了80 ...

  2. System进程(pid=4)占用80端口的解决方案

    问题 Mail服务器在安装TFS服务(含SQLServer2016)后启动不了网页服务. 排查问题 使用命令查看端口占用情况 netstat -nao | find ":80" n ...

  3. PID控制

    PID解释: 位置式:      可以看出,比例部分只与当前的偏差有关,而积分部分则是系统过去所有偏差的累积.位置式PI调节器的结构清晰,P和I两部分作用分明,参数调整简单明了.但直观上看,要计算第拍 ...

  4. MySql提示:The server quit without updating PID file(…)失败

    一般有一下集中可能 1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限解决方法 :给予权限,执行 "chown -R mysql:mysql /var ...

  5. apche启动错误|httpd.pid overwritten — Unclean shutdown of previous Apache run?

    APACHE启动成功,但无法接受任何请求,查看ERROR.LOG文件[warn] pid file /opt/apache/logs/httpd.pid overwritten - Unclean s ...

  6. php php-5.6.4.tar.bz2 apache 兼容问题 child pid 27858 exit signal Segmentation fault

    环境 [root envirotar]# uname -a Linux i2..el6.x86_64 # SMP Thu Jul :: UTC x86_64 x86_64 x86_64 GNU/Lin ...

  7. 增量式PID推导及C语言实现

    PID控制器表达式为: \[ u(t) = K_pe(t) + K_i\int_0^t e(\tau)d\tau + K_d\frac{de(t)}{dt} \] 离散化: 令 $ t = nT,~T ...

  8. Linux /proc/$pid部分内容详解

    auxv /proc/[pid]/auxv包含传递给进程的ELF解释器信息,格式是每一项都是一个unsigned long长度的ID加上一个unsigned long长度的值.最后一项以连续的两个0x ...

  9. 一、PID控制原理

    在模拟控制系统中,控制器最常用的控制规律是PID控制.模拟PID控制系统原理框图如下图.系统由模拟PID控制器和被控对象组成. PID控制器是一种线性控制器,它根据给定值Yd(t)与实际输出值Y(t) ...

随机推荐

  1. ReentrantLock和Condition实现生产者和消费者

    一个生产者和一个消费者 public class ConditionTest { private static ReentrantLock lock = new ReentrantLock(); pr ...

  2. VSCode批量替换使用注意问题

    VSCode批量替换功能很强大,需要注意两点 1.不要搜到文件个数超过到10000时替换,这时替换过程中可能会出错崩溃(也可能是服务器上内存较小导致) 2.不要在搜索中反复替换可能会导致数据错乱 比如 ...

  3. spring的15个经典面试题

    总结Spring框架的15个经典面试题. 什么是Spring框架? Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性. 我们一般说的Spring框架就是Spring Fram ...

  4. CEF4Delphi初识

    代码模块与职责 所有的代码都在src目录下,这会导致一上手的时候无法快速划分模块,不便于理解,如果分类然后放文件夹就会好一些. 最关键的部分在于uCEFApplication,是和dll链接的部分 u ...

  5. 【C#】Winform 令人困擾的畫面閃爍問題解法

    DoubleBuffered = true 如果 Control 沒有這個屬性,可以使用我下列擴充函式進行設定︰ public static void SetDoubleBuffered<T&g ...

  6. AD活动目录操作软件设计节选

    AD操作解决二级目录用户删除问题 public string DeleteADAccountOU(string commonName, string ouName) { DataTable dt = ...

  7. cache verilog实现

    cache原理: https://www.cnblogs.com/mikewolf2002/p/10984976.html cache的verilog实现 实现的cache是16k, 4way组相连c ...

  8. set实现交集,并集,差集

    let a = new Set([1, 2, 3]); let b = new Set([4, 3, 2]); // 并集 let union = new Set([...a, ...b]); // ...

  9. 【转】LockSupport深入浅出

    原文:https://www.cnblogs.com/qingquanzi/p/8228422.html 本篇是<自己动手写把"锁">系列技术铺垫的最后一个知识点.本篇 ...

  10. 开源一些C#不常用知识(附上DEMO)

    序:这其实是一个广告贴. 正文:开源一些不常用的C#DEMO,这个是专门写成DEMO的样子,来供大家查阅,当然可以提出意见啥的.或者一些需要加入的DEMO,作者可以添加上. git地址:https:/ ...