
深度学习/DL
文章平均质量分 72
人工智能、机器学习、深度学习的关系:机器学习是人工智能的一个实现途径,深度学习是由机器学习的一个方法(神经网络)发展而来
u013250861
这个作者很懒,什么都没留下…
展开
-
模型参数、梯度更新步骤【初始化参数、前向传播得到模型输出值、计算输出值与目标值之间损失Loss、反向传播梯度下降更新参数 】
计算图:通过图的方式来描述函数的图形已知J(a,b,c)=3(a+bc),令v=bc,u=a+vJ(a,b,c) = 3(a+bc),令v = bc, u=a+vJ(a,b,c)=3(a+bc),令v=bc,u=a+v,求a,b,c各自的偏导数。令:a+bc=u,即:J=3udJda=dJdu×duda=3×1dJdb=dJdu×dudv×dvdb=3×1×cdJdc=dJdu×dudv×dvdc=3×1×b\begin{aligned} 令:&a+bc=u, 即: J = 3u\\ \frac{原创 2020-12-17 23:11:11 · 2217 阅读 · 0 评论 -
深度置信网络(DBN)【经典的DBN网络结构是由若干层 RBM(受限波尔兹曼机)和一层 BP 组成的一种深层神经网络】
RBM属于一种无监督学习的方法,无监督学习的目的是最大可能地拟合训练数据。下图为RBM的结构,其中下层神经元组成显层(visiblelayer),由显元(visibleunits)组成,用于输入数据;上层神经元组成隐层(Hiddenlayer),由隐元(hiddenunits)组成,用于特征提取。...原创 2022-07-26 23:23:13 · 3308 阅读 · 0 评论 -
模型过拟合-解决方案(二):Dropout
Dropout在训练时和使用(测试)时的策略不同,训练时随机删除一些神经元,在使用模型时将所有的神经元加入。Dropout可以被认为是集成大量深层神经网络的实用的Bagging方法。Dropout与Bagging不同点在于:打印结果:......原创 2022-06-12 15:36:08 · 397 阅读 · 0 评论 -
模型压缩技术:综述【模型蒸馏/Distillation;量化/Quantization;剪枝/Pruning;参数共享】
BERT 在很多 NLP 任务上都取得不错的效果,但是其模型体积与计算量都很大,而且现在出现了更多越来越大的模型,例如 roBERTa 和 GPT2。由于这些模型的太大,难以用于一些性能没那么好的机器上,也不能很好地用于实时性要求高的应用中。因此有不少针对 BERT 模型压缩的研究,其中模型蒸馏 Distillation 是一种比较好的解决方法,本文介绍两种基于模型蒸馏的 BERT 模型压缩方法。上图展示了很多基于 Transformer 的模型,模型下方的数字对应了模型的参数数量,单位是百万,可以看到原创 2022-03-05 02:40:33 · 2191 阅读 · 0 评论 -
人工智能:模型复杂度【机器学习模型复杂度、深度学习模型复杂度(FLOPs、MAC)】
一、机器学习模型复杂度二、深度学习模型复杂度通常,一个神经网络模型的复杂度用2个指标来描述:模型的参数(Parameters)数量,Params:模型的参数量。模型的计算量:FLOPs:FLoating point OPerations,前向推理的计算量。MAC:Memory Access Cost。MACC(MADD):multiply-accumulate operations:先乘起来再加起来的运算次数。1、时间复杂度(计算量)时间复杂度(计算量):计算量指的需要进原创 2022-03-01 23:15:00 · 3958 阅读 · 0 评论 -
归一化:Layer Normalization、Batch Normalization
Normalization 有很多种,但是它们都有一个共同的目的,那就是把输入转化成均值为 0 方差为 1 的数据。我们在把数据送入激活函数之前进行 normalization(归一化),因为我们不希望输入数据落在激活函数的饱和区。同时,使得训练数据在训练过程中尽可能的保持和测试数据拥有相同的分布。一方面,这样可以减少数据的偏差,避免在训练过程中出现梯度爆炸或是梯度消失的问题;另一方面,这也是确保模型测试性能的重要假设之一。二者提出的目的都是为了加快模型收敛,减少训练时间。LN:Layer原创 2022-02-22 22:15:00 · 1047 阅读 · 0 评论 -
众包平台:数据标注、数据采集【第三方外包】
众包释义:指的是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众志愿者的做法。百度数据众包平台淘金云-数据标注原创 2022-02-22 00:54:28 · 6768 阅读 · 0 评论 -
迁移学习(Transfer Learning)、微调(Fine Tuning)
参考资料:模型微调(Finetune)原创 2022-02-11 22:13:10 · 709 阅读 · 0 评论 -
预测解码算法:①贪心算法(当前时间步最优解)、②BeamSearch算法(每个时间步都保留前k个最优解)、③维特比算法(动态规划,全局最优解)
预测解码算法:①贪心算法(当前时间步最优解)、②BeamSearch算法(每个时间步都保留前k个最优解)、③维特比算法(动态规划,全局最优解)参考资料:[L2]seq2seq中Beam search~贪心与维特比维特比算法与beam search...原创 2022-01-28 22:45:00 · 525 阅读 · 0 评论 -
人工智能-距离定义:曼哈顿距离、欧氏距离、余弦距离、皮尔逊相关系数、杰卡德相似系数、KL散度
机器学习:文本相似度计算方法【欧氏距离、余弦距离、皮尔逊相关系数、杰卡德相似系数、KL散度】原创 2021-01-30 23:08:22 · 1926 阅读 · 0 评论 -
人工智能-范数 norm:L1范数和L2范数【L0范数:向量中非0的元素的个数; L1范数:向量各元素的绝对值之和(曼哈顿距离);L2范数:向量各元素的平方和的开方值(欧氏距离)】
范数是衡量某个向量空间(或矩阵)中的每个向量的长度或大小。∥x∥p:=(∑i=1n∣xi∣p)1p\left \| x\right \|_p := \left( \sum_{i=1}^{n}\left|x_i\right|^p\right)^{\frac{1}{p}}∥x∥p:=(i=1∑n∣xi∣p)p1L0范数:向量中非0的元素的个数。L0 范数是 ∣∣x∣∣0=xi(xi不等于0)代表非0数字的个数||\textbf{x}||_0 = x_i (x_i不等于0)代表非0数字的个数∣∣x∣原创 2021-10-23 22:45:00 · 876 阅读 · 0 评论 -
人工智能-损失函数-优化算法:导数(标)、偏导数(标;函数在某一点处沿某一坐标轴正方向的变化率)、方向导数(标;函数在某一点处某一方向的变化率)、梯度(矢;函数在某一点处变化率最大的方向)、梯度下降法
一、导数(一元函数)导数,反映的是函数 y=f(x)y=f(x)y=f(x) 在某一点处沿xxx轴正方向的变化率。公式定义如下:再强调一遍,导数f’(x)f’(x)f’(x)是函数f(x)f(x)f(x)在xxx轴上某一点处沿着xxx轴正方向的变化率。直观地看,也就是在xxx轴上某一点处,如果f’(x)>0f’(x)>0f’(x)>0,说明f(x)f(x)f(x)的函数值在xxx点沿xxx轴正方向是趋于增加的;如果f’(x)<0f’(x) < 0f’(x)<0,.原创 2021-09-27 11:17:23 · 913 阅读 · 0 评论 -
人工智能:损失函数(Loss Function)【平方损失(正态分布)、交叉熵损失(二项分布)、合页损失、对比损失】【衡量模型预测值和真实值的差异】【总体样本->值域分布律->似然函数->损失函数】
一、分类模型1、0-1损失函数(zero-one Loss Function):无法优化L(y,f(x))={1,y≠f(x)0,y=f(x)L(y, f(x)) = \begin{cases} 1, & {y \neq f(x) } \\ 0, & {y = f(x)} \end{cases}L(y,f(x))={1,0,y=f(x)y=f(x)当预测错误时,损失函数为1,当预测正确时,损失函数值为0。该损失函数不考虑预测值和真实值的误差程度。只要错误,就是1。该损失原创 2021-09-09 12:25:47 · 2189 阅读 · 0 评论 -
人工智能-损失函数-优化算法:普通梯度下降算法【BGD(批量梯度下降法)、SGD(随机梯度下降)、MBGD(小批量梯度下降法)】
一、损失函数假设损失函数 J(θ)J(\textbf{θ})J(θ) 使用平方损失函数J(θ)=12m∑i=1m[hθ(xi)−yi]2\begin{aligned}\color{Violet}{J(\textbf{θ})=\frac{1}{2m}\sum_{i=1}^m[h_{\textbf{θ}}(\textbf{x}_i)-y_i]^2}\end{aligned}J(θ)=2m1i=1∑m[hθ(xi)−yi]2其中:mmm 为样品数量xi\textbf{x}_ixi 为样品原创 2020-12-16 22:00:35 · 749 阅读 · 1 评论 -
人工智能-损失函数-优化算法:梯度下降【SGD-->SGDM(梯度动量)-->AdaGrad(动态学习率)-->RMSProp(动态学习率)-->Adam(动态学习率+梯度动量)】、梯度下降优化技巧
批量梯度下降法(Batch Gradient Descent,简称BGD)是梯度下降法最原始的形式,它的具体思路是在更新每一参数时都使用所有的样本来进行更新,它的目的是得到一个全局最优解,但是每迭代一步,都要用到训练集所有的数据,如果样本数目m很大,这种方法的迭代速度很慢!随机梯度下降算法算法是从样本中随机抽出一组,训练后按梯度更新一次,然后再抽取一组,再更新一次,在样本量及其大的情况下,可能不用训练完所有的样本就可以获得一个损失值在可接受范围之内的模型了。其思想是:每次迭代 使用。原创 2020-12-16 00:06:44 · 1501 阅读 · 0 评论 -
深度学习:Feature-Base(特征提取)【语言模型的参数固定】、Fine-tuning(微调)【语言模型的参数不固定,依然是可训练的】
Feature-Base(特征提取):首先在big data A上训练语言模型,训练完毕得到语言模型(用作 embedding)然后构造task-specific model, 采用有label的语料B训练该 Model,将语言模型的参数固定,语料B的训练数据经过语言模型得到 语言模型 Embedding, 作为task-specific model的额外特征。Fine-tuning(微调):构造语言模型,采用big data A来训练语言模型。在语言模型基础上增加小量神经网络层来完成spe原创 2021-08-04 19:29:08 · 806 阅读 · 0 评论 -
深度学习:模型部署技术方案
参考资料:深度学习模型部署技术方案原创 2021-04-08 19:47:18 · 873 阅读 · 0 评论 -
深度学习/Deep Learning==神经网络/Neural Network:综述
一、人工智能、机器学习、深度学习关系人工智能和机器学习,深度学习的关系机器学习是人工智能的一个实现途径深度学习是机器学习的一个方法发展而来原创 2020-12-16 00:04:55 · 1061 阅读 · 1 评论 -
深度学习:常见深度学习框架【Theano、TensorFlow、Keras、Caffe/Caffe2、MXNet、CNTK、PyTorch】
常见的深度学习框架有 TensorFlow 、Caffe、Theano、Keras、PyTorch、MXNet等,如下图所示。这些深度学习框架被应用于计算机视觉、语音识别、自然语言处理与生物信息学等领域,并获取了极好的效果。几乎所有的框架都是基于计算图的,而计算图又可以分为静态计算图和动态就算图,- 静态计算图先定义再运行(define and run),一次定义多次运行,- 动态计算图是运行过程中定义的,在运行的时候构建(define by run),可以构建多次运行。原创 2021-03-02 23:19:31 · 4030 阅读 · 0 评论 -
深度学习(Deep Learning):“Deep”的作用【“Modularization”、“End-to-End Learning”】
一、Modularization1、Universality Theorem2、“Thin + Tall” v.s. “Fat + Short”3、“Fat + Short” 模式下由于有些分类下的数据比较少, “Fat + Short” 模型对数据少的样本的分类训练的不好4、“Thin + Tall” 模式下将特征分解,再组合。5、多层Layer的作用中间hidden layer 的作用类似于将特征数据值从“低维”→transformer\xrightarrow{transfo原创 2020-12-18 23:01:19 · 753 阅读 · 1 评论 -
深度学习:数据预处理【Image Resize、Data Argumentation、Normalize、ToTensor】
人工智能-深度学习:数据预处理【Image Resize、Data Argumentation、Normalize、ToTensor】# 二、Data Argumentation/数据增强- 我们常常会遇到数据不足的情况。比如,你遇到的一个任务,目前只有小几百的数据,然而,你知道目前现在流行的最先进的神经网络都是成千上万的图片数据。你知道有人提及大的数据集是效果好的保证。对自己数据集小感到失望,你怀疑在我的小数据集上能使我的“最先进的”神经网络能表现好吗?- 答案是:是!在我们开始是这件事发生之前,我们原创 2021-01-12 23:05:54 · 1908 阅读 · 0 评论 -
深度学习-激活函数:饱和激活函数【Sigmoid、tanh】、非饱和激活函数【ReLU、Leaky ReLU、RReLU、PReLU、ELU、Maxout】
参考资料:深度学习中几种常见的激活函数理解与总结原创 2020-12-18 23:01:59 · 6793 阅读 · 2 评论 -
人工智能:模型复杂度、模型误差、欠拟合、过拟合/泛化能力、过拟合的检测、过拟合解决方案【更多训练数据、Regularization/正则、Shallow、Dropout、Early Stopping】
一、Early Stopping二、Regularization(正则化)Regularization在Deep Learning 模型优化中的作用并不是很显著。1、L1 正则化2、L2 正则化三、DropoutDropout中文含义:退出。其指的就是在神经网络的训练过程中提出的一种防止过拟合的策略。策略旨在训练过程中按照一定的概率(一般情况下:隐藏层采样概率为0.5,输入层采样概率为0.8)随机删除网络中的神经元(输出层除外)。如下为标准的神经网络:Dropout后的神经网络:原创 2020-12-18 23:01:37 · 1226 阅读 · 1 评论 -
深度学习-神经网络:DNN(Deep Neural Networks=Fully Connected Neural Net==MLP,深度神经网络=全连接神经网络=多层感知器)
人工智能-机器学习-深度学习-神经网络:DNN(Deep Neural Networks=Fully Connected Neural Net==MLP,深度神经网络=全连接神经网络=多层感知器)原创 2020-12-18 23:00:16 · 3713 阅读 · 1 评论 -
深度学习-Pytorch:构建DNN神经网络模型【构建方式:自定义函数及参数、nn.Module()、nn.Module()&nn.Sequential()】、Visdom可视化
人工智能-深度学习-Pytorch:Pytorch 创建DNN神经网络模型原创 2021-01-15 00:20:00 · 3779 阅读 · 0 评论 -
深度学习-TensorFlow2 :构建DNN神经网络模型【构建方式:自定义函数、keras.Sequential、Compile&Fit、自定义Layer、自定义Model】
人工智能-深度学习-TensorFlow2 :TensorFlow2 创建DNN神经网络模型【自定义函数、keras.Sequential、Compile&Fit、自定义Layer、自定义Model】原创 2021-01-12 23:07:24 · 1326 阅读 · 0 评论 -
深度学习-神经网络:Recursive Neural Network/递归神经网络(General Form of Recurrent Neural Network/循环神经网络)
人工智能-机器学习-深度学习:Recursive Network原创 2020-12-24 23:45:25 · 920 阅读 · 0 评论 -
深度学习-生成模型:Generation(Tranform Vector To Object with RNN)【PixelRNN、VAE(变分自编码器)、GAN(生成对抗网络)】
Native Generator (AutoEncoder's Decoder)- 通过原始AutoEncoder训练的Decoder作为Generator,此Generation的效果不好,因为此Generator是一个Network,是非线性模型;- 如果给此Generator喂进去的vector不是训练时训练过的,则无法通过Generator输出有效数据。PixelRNN## 1、生成句子序列- 拿生成句子为例,在我们生成好的RNN模型里,我们输入开头,模型可以输出一系列的输出。- 如下图,原创 2020-12-21 22:14:09 · 976 阅读 · 1 评论 -
深度学习-生成模型:Conditional Generation(Generation based on another Embedding)
人工智能-机器学习-深度学习:Life Long Learning原创 2020-12-24 23:50:19 · 517 阅读 · 0 评论 -
深度学习-生成模型:AutoEncoder模型(Encoder-Decoder框架==Embedding+Generator)【Variational AutoEncoder已被GAN取代】
人工智能-机器学习-深度学习-损失函数优化方法:梯度下降算法的进化参考资料:一个框架看懂优化算法之异同 SGD/AdaGrad/Adam原创 2020-12-17 00:33:00 · 21218 阅读 · 0 评论 -
人工智能-深度学习:神经网络模型压缩技术(Network Compression)
一般情况下,CNN网络的深度和效果成正比,网络参数越多,准确度越高,基于这个假设,ResNet50(152)极大提升了CNN的效果,但inference的计算量也变得很大。这种网络很难跑在前端移动设备上,除非网络变得简洁高效。- 基于这个假设,有很多处理方法,设计层数更少的网络、更少的卷积和、每个参数占更少的字节等等。- 为了让神经网络模型能很好地运行在前端移动设备上,PVANet、MobileNet、ShuffleNet 是网络设计层面的思路,这里不展开,这里主要讲的是基于已训练网络的简化方法。原创 2020-12-24 23:32:57 · 2840 阅读 · 0 评论 -
人工智能-深度学习:句表示学习方法:Skip Thought模型、Quick thoughts模型(A kind of Encoder-Decoder)
参考资料:Skip-Thought Vector学习笔记一种传统的句表示学习方法——Skip-Thought Vectors原创 2020-12-28 22:49:32 · 434 阅读 · 0 评论 -
人工智能-深度学习:Batch normalization
人工智能-深度学习:Batch normalization原创 2021-01-15 00:00:48 · 262 阅读 · 0 评论 -
人工智能-CV:数据增强/Data Argumentation --> 扩大数据集
一、数据增强/Data Argumentation概述我们常常会遇到数据不足的情况。比如,你遇到的一个任务,目前只有小几百的数据,然而,你知道目前现在流行的最先进的神经网络都是成千上万的图片数据。你知道有人提及大的数据集是效果好的保证。对自己数据集小感到失望,你怀疑在我的小数据集上能使我的“最先进的”神经网络能表现好吗?答案是:是!在我们开始是这件事发生之前,我们需要先反思几个问题。1、为什么需要大量的数据?下图为流行的神经网络的参数的个数当你训练一个机器学习mode时候,你真正做的就是调原创 2021-01-15 00:15:32 · 6033 阅读 · 0 评论 -
人工智能-机器学习-深度学习:Meta Learning
人工智能-机器学习-深度学习:Meta Learning原创 2020-12-24 23:49:40 · 244 阅读 · 0 评论 -
人工智能-机器学习-深度学习:MSDNet(Multi-Scale Dense Networks,多尺度密集网络)
人工智能-机器学习-深度学习:MSDNet(Multi-Scale Dense Networks,多尺度密集网络)原创 2020-12-28 22:51:03 · 764 阅读 · 0 评论 -
模型过拟合-解决方案(一):Regularization/正则化/Weight Decay【L1正则化、L2正则化】【为了约束模型的参数,防止参数过于偏执(为了拟合某些离群点而导致模型过于复杂)】
- 在解决回归**过拟合**中,我们选择正则化。但是对于其他机器学习算法如分类算法来说也会出现这样的问题,除了一些算法本身作用之外(决策树、神经网络),我们更多的也是去自己做特征选择,包括之前说的删除、合并一些特征...原创 2021-02-03 23:32:07 · 421 阅读 · 1 评论