首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

训练神经网络的五大算法:技术原理、内存与速度分析

【新智元导读】 训练神经网络的算法有成千上万个,最常用的有哪些,哪一个又最好?作者在本文中介绍了常见的五个算法,并从内存和速度上对它们进行对比。最后,他最推荐莱文贝格-马夸特算法。 用于神经网络中执行学习过程的程序被称为训练算法。训练算法有很多,各具不同的特征和性能。 问题界定 神经网络中的学习问题是以损失函数f的最小化界定的。这个函数一般由一个误差项和一个正则项组成。误差项评估神经网络如何拟合数据集,正则项用于通过控制神经网络的有效复杂性来防止过拟合。 损失函数取决于神经网络中的自适应参数(偏差和突触权值

09

Jacobin和Hessian矩阵

有时我们需要计算输入和输出都为向量和函数的所有偏导数。包含所有这样的偏导数的矩阵被称为Jacobian矩阵。具体来说,如果我们有一个函数 , 的Jacobian矩阵 定义为 。有时,我们也对导数的导数感兴趣,即二阶导数(second derivative)。例如,有一个函数 , 的一阶导数(关于 )关于 的导数记为 为 。二阶导数告诉我们,一阶导数(关于 )关于 的导数记为 。在一维情况下,我们可以将 为 。二阶导数告诉我们,一阶导数如何随着输入的变化而改变。它表示只基于梯度信息的梯度下降步骤是否会产生如我们预期那样大的改善,因此它是重要的,我们可以认为,二阶导数是对曲率的衡量。假设我们有一个二次函数(虽然实践中许多函数都是二次的,但至少在局部可以很好地用二次近似),如果这样的函数具有零二阶导数,那就没有曲率,也就是一条完全平坦的线,仅用梯度就可以预测它的值。我们使用沿负梯度方向下降代销为 的下降步,当该梯度是1时,代价函数将下降 。如果二阶导数是正的,函数曲线是向上凹陷的(向下凸出的),因此代价函数将下降得比 少。

02

HAWQ:基于 Hessian 的混合精度神经网络量化

在许多应用程序中部署神经网络时,模型大小和推理速度/功率已成为主要挑战。解决这些问题的一种有前途的方法是量化。但是,将模型统一量化为超低精度会导致精度显着下降。一种新颖的解决方案是使用混合精度量化,因为与其他层相比,网络的某些部分可能允许较低的精度。但是,没有系统的方法来确定不同层的精度。对于深度网络,蛮力方法不可行,因为混合精度的搜索空间在层数上是指数级的。另一个挑战是在将模型量化到目标精度时用于确定逐块微调顺序复杂度是阶乘级别的。本文介绍了 Hessian AWare 量化(HAWQ),这是一种解决这些问题的新颖的二阶量化方法。HAWQ 根据Block块的 Hessian 最大特征值选择各层的相对量化精度。而且,HAWQ基于二阶信息为量化层提供了确定性的微调顺序。本文使用 ResNet20 在 Cifar-10 上以及用Inception-V3,ResNet50 和 SqueezeNext 模型在 ImageNet 上验证了方法的结果。将HAWQ 与最新技术进行比较表明,与 DNAS 相比,本文在 ResNet20 上使用 8 倍的激活压缩率可以达到相似/更好的精度,并且与最近提出的RVQuant和HAQ的方法相比,在ResNet50 和 Inception-V3 模型上,当缩小 14% 模型大小的情况下可以将精度提高 1%。此外,本文证明了可以将 SqueezeNext 量化为仅 1MB 的模型大小,同时在 ImageNet 上实现 Top-1 精度超过 68%。

02

【SLAM】开源 | 使用ORBSLAM2组织面元,只需在CPU上就可以实时得到精确性较高的稠密环境地图

本文提出了一种新颖的稠密建图系统,在只使用CPU的情况下,可以在应用与不同的环境中。使用稀疏SLAM系统来估计相机姿势,本文所提出的建图系统可以将灰度图像和深度图像融合成全局一致的模型。该系统经过精心设计,目的是可以使用RGB-D摄像机,立体摄像机甚至单目摄像机的深度图像,完成从室内环境到城市室外环境的地图构建。首先,从灰度和深度图像中提取超像素,用于构建面元模型。基于超像素的面元处理,使本文的方法可以兼顾运行效率和内存使用率,降低了算法对系统资源的使用。其次,面元的拼接构建是基于SLAM系统估计的位姿,这种方法可以实现O(1)时间的时间复杂度,而不会受到重建环境规模大小的影响。第三,利用优化后的位姿图实现快速的地图变换,可以使地图实时达到全局一致性。提出的面元建图系统与合成数据集上的其他最先进的方法进行比较。使用KITTI数据集和自主攻击飞行分别演示了城市规模和房间重建的表现。

02

学界 | 有哪些学术界都搞错了,忽然间有人发现问题所在的事情?

神经网络优化 说一个近年来神经网络方面澄清的一个误解。 BP算法自八十年代发明以来,一直是神经网络优化的最基本的方法。神经网络普遍都是很难优化的,尤其是当中间隐含层神经元的个数较多或者隐含层层数较多的时候。长期以来,人们普遍认为,这是因为较大的神经网络中包含很多局部极小值(local minima),使得算法容易陷入到其中某些点。这种看法持续二三十年,至少数万篇论文中持有这种说法。举个例子,如著名的Ackley函数 。对于基于梯度的算法,一旦陷入到其中某一个局部极值,就很难跳出来了。(图片来自网络,压缩有

010
领券