当前位置: 首页 > news >正文

网站认证主体培训机构招生方案

网站认证主体,培训机构招生方案,网站后台验证码错误,云梦县网站开发晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI机器学习里的优化算法很多,比如SGD、Adam、AdaGrad、AdaDelta等等,光是它们的迭代公式就已经够让人头疼。好在TensorFlow、Keras、PyTorch中都集成了这些优化工具,但它们是如何在一步步迭代中“…

cfe60cf34178e20afed07506d77437b6.png
晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

机器学习里的优化算法很多,比如SGDAdamAdaGradAdaDelta等等,光是它们的迭代公式就已经够让人头疼。

78936c918da60713d67ddcbd94eaf5ae.png

好在TensorFlow、Keras、PyTorch中都集成了这些优化工具,但它们是如何在一步步迭代中“滑落”到最小值的,你真的清楚吗?

现在有一个机器学习优化算法的Demo,能帮你从图像中直观感受到调参对算法结果的影响,以及各自的优缺点。

它就是ensmallen!它的开发者不仅提供了Demo,还给程序员们打包了一份C++数据库,那我们先来试玩一下吧。

试玩Demo

试玩方法很简单,甚至不需要安装任何软件,进入ensmallen网站,选择Demo标签,就能看到一组优化算法的3D示意图。

页面默认是常见的Adam算法,我们会看到参数沿着红色的路线,最终落入损失函数的最低点:

2cb27edcff69a29a66e5fb85f2bc8e84.png

左侧是参数初始值所在位置,也就是图片中的红点,可以用鼠标随意拖动。

中间和右侧的图都是损失函数的“等高线”。中间以不同颜色标记不同高度,右侧直接给出了损失函数的梯度场,以箭头指向表示梯度方向、长度表示梯度大小。可以看出等高线越密集的地方,梯度也越大。

如果觉得上面的损失函数图不够清晰直观,还有高清3D大图:

5c76de111ad9ce1d59604e61552b5842.png

随着迭代步数的增加,损失函数的数值不断减小:

1302daa9411a056ba1a5d19c1e3001ac.png

Adam算法可以调节的超参数有:步长迭代次数允许误差β1β2模糊因子ϵBatch Size

d8c6768b2f38e63868d5606f84079a04.png

拖动滑动条调节超参数,“红线”的形状和终点也会随之变化。我们不妨调节一下步长,看看这个参数会对结果造成什么样的影响。

增加步长会让学习曲线震荡幅度变大,步长太小会让损失函数收敛过慢:

4a553527b1cf6c3a3b6205877039f3f5.png

步长分别是0.3、0.03和0.003的三种情况

以上只是最简单的情况,Demo界面还提供其他奇形怪状的损失函数:

3cffd9365c9d1f970bb137ee6ec1136b.png

以及近乎所有常见的优化算法:

82cec12fff4f60098c5074e5fd970807.png

在不同形状的损失函数里,这些优化算法各有优缺点。

如果损失函数的“等高线”是椭圆,Adam收敛速度很快,仅迭代100步左右就已经收敛,而AdaGrad迭代了近300步才收敛。

087de6b2974437ae2f38a5027bfd093b.png

但Adam并非就有绝对优势。在有多个鞍点和局部最小值的图形中,Adam虽然在开始阶段下降速度很快,但是在最后阶段震荡较严重,收敛速度反而不及AdaGrad。

b04c1757f911630565b4f549aa94bbe9.png

ef94975d249166d2ca0a0e1e248cf3e9.png

上面的“玩法”只是Demo很小的一部分,想尝试更多请参见文末的链接地址。

C++程序员福音

千万不要以为ensmallen只是一个好玩的Demo,实际上它还是一个高效的C++优化库。对于用C++来给AI编程的程序员来说,它能对任意函数进行数学优化,解决了C++机器学习工具匮乏的痛点。

ensmallen除了打包基本优化算法之外,用户还可以使用简单的API轻松添加新的优化器。实现新的优化器只需要有一种方法和一个新的目标函数,通常用一到两个C++函数就能搞定。

安装ensmallen需要满足以下要求:

  • 支持C++ 11的编译器
  • C++线性代数与科学计算库Armadillo
  • 数学函数库OpenBLASIntel MKLLAPACK

ensmallen中的所有内容都在ens命名空间中,因此在代码中放置一个using指令通常很有用 :

using namespace ens;

以使用Adam为例,其代码如下:

RosenbrockFunction f;
arma::mat coordinates = f.GetInitialPoint();Adam optimizer(0.001, 32, 0.9, 0.999, 1e-8, 100000, 1e-5, true);
optimizer.Optimize(f, coordinates);

其中,Adam优化器中参数的顺序依次是:步长、Batch Size、β1、β2、ϵ、最大迭代次数、允许误差、是否以随机方式访问每个函数。

至于其他优化算法,可以去网站查看详细的说明文档。

最后附上所有资源:

ensmallen压缩包下载地址:https://ensmallen.org/files/ensmallen-1.14.2.tar.gz

Demo地址:https://vis.ensmallen.org/

量子位 · QbitAI

վ'ᴗ' ի 追踪AI技术和产品新动态

戳右上角「+关注」获取最新资讯↗↗

如果喜欢,请分享or点赞吧~比心❤

http://www.wooajung.com/news/35182.html

相关文章:

  • 个人网站制作wordpress全面网络推广营销策划
  • 我们的服务项目类型正版seo搜索引擎
  • 吕梁建站公司windows优化大师官网
  • 网站开发的教学网站地推团队去哪里找
  • 做足球网站前景免费创建网站平台
  • 巴彦淖尔网站制作全自动引流推广软件下载
  • 软件用户界面设计成都高薪seo
  • 网站建设海外推广 香港企业网站建设门户
  • 普洱做网站的报价建站abc
  • 做网站的用什么主机好本地推广平台
  • 网站开发都做些什么站长工具网站查询
  • 一个工厂做网站有什么好处百度收录方法
  • 嘉瑞建设有限公司网站百度浏览器官网下载并安装
  • 一个做搞笑类视频的网站取名新开传奇网站发布站
  • wordpress 改 名字东莞seo外包公司
  • wordpress搜索页系统清理优化工具
  • 哪里建设网站好推广公司app主要做什么
  • 网站需要多大的空间常见的网络推广方式包括
  • 石家庄网站开发公司电话百度seo有用吗
  • 衢州公司网站建设如何免费注册网站
  • 营销型网站建设培训网站推广手段
  • 资源库网站建设网站推广的软件
  • html网站建设实例代码aso优化重要吗
  • 潍坊网站开发可以免费发广告的网站有哪些
  • 精通网站建设 全能建站密码pdf个人网页免费域名注册入口
  • 网站首页index.html腾讯会议多少钱一个月
  • 四川建设机械网站首页厦门seo顾问
  • 高端网页开发公司泉州seo
  • 网站公司 转型百度推广手机版
  • 贵州飞乐云毕节网站建设外贸推广建站