随笔分类 - 深度学习
机器学习、深度学习、模型压缩
摘要:
所谓深度神经网络的优化算法,即用来更新神经网络参数,并使损失函数最小化的算法。优化算法对于深度学习非常重要,网络参数初始化决定模型是否收敛,而优化算法的性能则直接影响模型的训练效率。
阅读全文

摘要:
本文深度讲解了卷积计算的原理,并详细介绍了构成所有卷积网络主干的基本元素,包括卷积层本身、填充(padding)和步幅 (stride)的基本细节、用于在相邻区域汇聚信息的汇聚层(pooling),最后给出卷积层和汇聚层的代码示例和CNN框架结构图。
阅读全文

摘要:
当我们处理的数据具有不同尺度时,执行数据标准化操作是很有必要的。本文给出了数据标准化(Normalization)的定义、常用方法以及为什么要做数据标准化,并给出相关代码实现。
阅读全文

摘要:
训练深度神经网络的复杂性在于,因为前面的层的参数会发生变化导致每层输入的分布在训练过程中会发生变化。这又导致模型需要需要较低的学习率和非常谨慎的参数初始化策略,从而减慢了训练速度,并且具有饱和非线性的模型训练起来也非常困难。网络层输入数据分布发生变化的这种现象称为内部协变量转移,BN 就是来解决这个问题。
阅读全文

摘要:
个人感觉阿里云的智能语音交互产品的精度还是很高的,通过 sdk 的方式嵌入在其他代码中也很方便,可以应用在工业界产品中,比如智能音箱。
虽然有诸多优点,但再完美的产品也是缺点的,以下是我测评之后总结的一些可以考虑改进的点:
- SDK 文档描述不够清晰,给出的代码示例不够丰富,且注释很少
- 语音合成效果可以更自然些
阅读全文

摘要:
本文介绍了图像搜索产品的背景、原理和使用过程都已经叙述完毕了,个人感觉阿里云的图像搜索这款产品的识别准确率还不错,但是返回结果的可视化功能还有待提升,目前是纯 `json` 形式的字符串返回结果,不如直接图片上添加文字和方框形式的返回结果直观。
阅读全文

摘要:
梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法)。因此,有必要从头理解梯度的来源和意义。本文从导数开始讲起,讲述了导数、偏导数、方向导数和梯度的定义、意义和数学公式,有助于初学者后续更深入理解随机梯度下降算法的公式。
阅读全文

摘要:
大多数深度学习算法都会涉及某种形式的优化,所谓优化指的是改变 x 以最小化或最大化某个函数 f(x) 的任务,我们通常以最小化 f(x) 指代大多数最优化问题。损失函数大致可分为两种:回归损失(针对连续型变量)和分类损失(针对离散型变量)。常用的减少损失函数的优化算法是“梯度下降法”(Gradient Descent)。
阅读全文

摘要:
本文分析了激活函数对于神经网络的必要性,同时讲解了几种常见的激活函数的原理,并给出相关公式、代码和示例图。从机器学习的角度来看,神经网络其实就是一个非线性模型,其基本组成单元为具有非线性激活函数的神经元,通过大量神经元之间的连接,使得多层神经网络成为一种高度非线性的模型。神经元之间的连接权重就是需要学习的参数,其可以在机器学习的框架下通过梯度下降方法来进行学习。
阅读全文

摘要:
torch.Tensor 是一种包含单一数据类型元素的多维矩阵,类似于 numpy 的 array。 Tensor 可以使用 torch.tensor() 转换 Python 的 list 或序列数据生成,生成的是dtype 默认是 torch.FloatTensor。
阅读全文

摘要:
Pytorch 中,张量的操作分为结构操作和数学运算,其理解就如字面意思。结构操作就是改变张量本身的结构,数学运算就是对张量的元素值完成数学运算。
阅读全文

摘要:
ResNet 模型比 VGG 网络具有更少的滤波器数量和更低的复杂性。 比如 Resnet34 的 FLOPs 为 3.6G,仅为 VGG-19 19.6G 的 18%。
阅读全文

摘要:
在工业界,数据预处理步骤对模型精度的提高的发挥着重要作用。对于机器学习任务来说,广泛的数据预处理一般有四个阶段(视觉任务一般只需 Data Transformation): 数据清洗(Data Cleaning)、数据整合(Data Integration)、数据转换(Data Transformation)和数据缩减(Data Reduction)。
阅读全文

摘要:
在 DenseNet 中,让网络中的每一层都直接与其前面层相连,实现特征的重复利用;同时把网络的每一层设计得特别“窄”(特征图/滤波器数量少),即只学习非常少的特征图(最极端情况就是每一层只学习一个特征图),达到降低冗余性的目的。
阅读全文

摘要:
所谓超参数,即不是通过学习算法本身学习出来的,需要作者手动调整(可优化参数)的参数(理论上我们也可以设计一个嵌套的学习过程,一个学习算法为另一个学习算法学出最优超参数),卷积神经网络中常见的超参数有: 优化器学习率、训练 Epochs 数、批次大小 batch_size 、输入图像尺寸大小。
阅读全文

摘要:
本文发现当使用恒等映射(identity mapping)作为快捷连接(skip connection)并且将激活函数移至加法操作后面时,前向-反向信号都可以在两个 block 之间直接传播而不受到任何变换操作的影响。同时大量实验结果证明了恒等映射的重要性。本文根据这个发现重新设计了一种残差网络基本单元(unit),使得网络更易于训练并且泛化性能也得到提升。
阅读全文

摘要:
概率论是用于表示不确定性声明的数学框架。它不仅提供了量化不确定性的方法,也提供了用于导出新的不确定性声明(statement)的公理。概率论的知识在机器学习和深度学习领域都有广泛应用,是学习这两门学科的基础。
阅读全文

摘要:
本文内容为 cv 算法工程师成长之路上的经典学习教材汇总,对于一些新兴领域则给出了较好的博客文章链接。本文列出的知识点目录是成系统且由浅至深的,可作为 cv 算法工程师的常备学习路线资料。部分学习资料存在离线 PDF 电子版,其可在 github仓库-cv_books 中下载。
阅读全文
