如何评价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. Redmine添加插件

    注意:插件的安装必须到Plugins对应的文件目录执行命令! Plugins Plugin list A full list of available Redmine plugins can be f ...

  2. Mysql load data infile 导入数据出现:Data truncated for column

    [1]Mysql load data infile 导入数据出现:Data truncated for column .... 可能原因分析: (1)数据库表对应字段类型长度不够或修改为其他数据类型( ...

  3. python正确使用异常处理机制

    一.不要过度使用异常 不可否认,Python 的异常机制确实方便,但滥用异常机制也会带来一些负面影响.过度使用异常主要表现在两个方面: 把异常和普通错误混淆在一起,不再编写任何错误处理代码,而是以简单 ...

  4. 深入解析 Go 中 Slice 底层实现

    原文: https://halfrost.com/go_slice/   切片是 Go 中的一种基本的数据结构,使用这种结构可以用来管理数据集合.切片的设计想法是由动态数组概念而来,为了开发者可以更加 ...

  5. .Net IOC框架入门之——Unity

    一.概述 IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection). 作用:将各层的对象以松耦合的方式组织在一 ...

  6. 浅谈Nginx以及特性

    Nginx以及特性 1.Nginx是什么? Nginx是一个高性能的HTTP和反向代理轻量级web服务器,特点:占用内存少,处理并发能力强.Nginx专为性能优化而开发,性能是其最重要的考量 ,能经受 ...

  7. ArrayList与LinkedList

    ArrayList与Linkedlist的增删改查问题以及集合选择问题 线程:安全:Vector 不安全:ArrayList,LinkedList 增删多:LinkedList 查询多:ArrayLi ...

  8. android studio学习----gradle配置

    转载地址:http://blog.csdn.net/loongggdroid/article/details/47037413 1.gradle的简单介绍 Gradle是可以用于Android开发的新 ...

  9. Linux命令——lsmod

    参考:8 LSMOD, RMMOD, MODPROBE, AND MODINFO COMMAND EXAMPLES IN LINUX Linux lsmod command 简介 lsmod显示(或“ ...

  10. guava布隆过滤器

    pom引入依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava&l ...