深度学习
深度学习网络,应用,NLP,视觉
Better-1
这个作者很懒,什么都没留下…
展开
-
学习率线性缩放
文章:Accurate, Large Minibatch SGD:Training ImageNet in 1 HourMMAction2 所提供的配置文件对应使用 8 块 GPU 进行训练的情况。 依据 线性缩放规则,当用户使用不同数量的 GPU 或者每块 GPU 处理不同视频个数时,需要根据批大小等比例地调节学习率。 如,lr=0.005 对应 8 GPUs x 8 video/gpu,以及 lr=0.004375 对应 8 GPUs x 7 video/gpu。88 / 87 = 0.005 /原创 2022-04-26 20:15:37 · 689 阅读 · 0 评论 -
可变形卷积
使用另外一个卷积预测偏移量,这里的p是相对位置,p0是绝对的,w是卷积核的weight。新的卷积的输出的channel是原来的2倍,代表着x和y的方向上的位移。原创 2021-12-05 20:56:32 · 164 阅读 · 0 评论 -
opencv图像拼接, 通道合并和分开
拼接import cv2img =cv2.imread(file_path[i])img=cv2.hconcat([img,img,img])#水平拼接img=cv2.vconcat([img,img,img])#垂直拼接合并# 生成一个值为0的单通道数组zeros = np.zeros(image.shape[:2], dtype = "uint8")# 分别扩展B、G、R成为三通道。另外两个通道用上面的值为0的数组填充cv2.imshow("Blue", cv2.merge([B,原创 2021-10-11 14:39:13 · 2071 阅读 · 0 评论 -
axis用法总结--很清晰
axis其实很简单啦,就是在这个维度内的元素做对应的运算,然后去除掉这个维度:举例:axis = 0表示对最外层[]里的最大单位块做块与块之间的运算,同时移除最外层[]: [4 5 6 7]axis= 1表示对第二外层[]里的最大单位块做块与块之间的运算,同时移除第二外层[]res = np.array([[[2],[3],[4],[-2]], [[2],[3],[4],[-2]]])# print(res[range(2), np.array([2, 2])])res = np.array([原创 2021-06-20 10:33:10 · 1348 阅读 · 0 评论 -
梯度下降法
Adam、RMSProp、Momentum、Adagrad、Momentum动量法考虑了上一次步伐的信息。—相当于速度。Adagrad—梯度的累积平方和作为分母Adagrad 解决这个问题的思路是: 你已经更新的特征越多,你将来更新的就越少,这样就有机会让其它特征(例如稀疏特征)赶上来。Adagrad 将采取直线路径,而梯度下降(或相关的动量)采取的方法是“让我先滑下陡峭的斜坡,然后才可能担心较慢的方向”。sum_of_gradient_squared = previous_sum_of_gra转载 2021-03-24 21:38:42 · 114 阅读 · 0 评论 -
Batch Normalization 详解
BN是在激活层之前添加的。作用是把下一层(激活层)的输入量标准化,更容易学习到数据之中的规律。从上图可以看出,如果没有标准化,前面遇到较大的值之后,下一层的激活函数就很难进行处理了。比如tanh,此时Wx2已经大于1,基本激活已经没有作用了,不敏感了。Batch Normalization (BN) 就被添加在每一个全连接和激励函数之间.从下图可以看出,进行了BN的数的分布在-1到1之间,这样激活函数也能相应的起到作用。激活之后:可以看出,经过BN,激活之后输出值分布更加均匀,而没有BN的由于激活原创 2020-06-29 22:25:11 · 575 阅读 · 0 评论 -
deeplabv3+论文笔记
主要工作:SPP:也就是空间金字塔池化,池化的操作如图: 256是channel, 分成了16份、4份、1份,再送入全连接层。通过SPP层,特征映射被转化成了16X256+4X256+1X256 = 21X256的矩阵,在送入全连接时可以扩展成一维矩阵,即1X10752,所以第一个全连接层的参数就可以设置成10752了,这样也就解决了输入数据大小任意的问题了。#coding=utf-8import mathimport torchimport torch.nn.functional as原创 2021-02-20 15:15:23 · 1327 阅读 · 0 评论 -
深度学习 面试总结
RNN/LSTM总结还是蛮好记的~~卷积的两大特性: 局部连接(先局部后整体)、参数共享(减少参数、平移不变性)~~其实就是共享卷积核Dropout: 原理是集成学习(bagging),每个节点都有一定的概率被选择,N个节点相当于2**N个模型的集成。共享大部分参数,小部分参数不同。 ~~~~作用是增强泛化能力,防止过拟合(减弱全体神经元的关联性)。BN:原理就是在每层神经网络的输入之前归一化,每一个batch的同一个channel归一化。作用是:增强网络的泛化能力,防止过拟合,加快训练和收敛的速原创 2021-02-15 14:54:59 · 281 阅读 · 0 评论 -
深度学习 卷积 面试总结
三种padding:SAME、Valid、Full第一种是最简单的 VALID, 就是不填充。第二种是SAME,进行足够的零填充保持输入和输出具有相同的大小。最后一种是 FULL.原创 2021-01-11 15:26:46 · 327 阅读 · 0 评论 -
AUC粗浅理解笔记记录
下述理解还不透彻,需要完善AUC(Area under the Curve of ROC)是ROC曲线下方的面积,是判断二分类预测模型优劣的标准ROC曲线的横坐标是伪阳性率(也叫假正类率,False Positive Rate),纵坐标是真阳性率(真正类率,True Positive Rate),相应的还有真阴性率(真负类率,True Negative Rate)和伪阴性率(假负类率,False Negative Rate)。伪阳性率(FPR)判定为正例却不是真正例的概率真阳性率(TPR)判定为转载 2020-10-29 11:39:59 · 507 阅读 · 0 评论 -
单通道和多通道卷积
卷积之后的通道数只是取决于卷积核的数目,和卷积核的channel无关,卷积核的channel是和输入的channel保持一致的。对于单通道图像,若利用10个卷积核进行卷积计算,可以得到10个特征图;若输入为多通道图像,则输出特征图的个数依然是卷积核的个数(10个)。1.单通道多个卷积核卷积计算一个卷积核得到的特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,从而可以学习32种特征。2.多通道多个卷积核卷积计算图片:假设图片的宽度为width:W,高度为height:H,图片的通道数为D原创 2020-08-08 17:34:32 · 4111 阅读 · 0 评论 -
Torch入门笔记(更新)
PyTorch是基于PYTHON的科学计算包,为了使用GPU来替代NUMPY,灵活性和速度较好。Tensor张量类似与numpy的ndarrays,不同在与张量可以使用GPU来加快计算。很舒服,torch和numpy基本很相似,函数的运用名字也是。rand是平均分布,即等概率分布,等概率产生0-1范围内的数 randn是标准正态分布,均值为0,标准差为1torch的操作大全https://pytorch.org/docs/stable/torch.htmlx = torch.Tensor(5,原创 2020-07-13 19:48:24 · 413 阅读 · 0 评论 -
交叉熵损失、Focal loss
Loss越大越容易收敛,太小不好收敛。Focal loss作用:解决类别不平衡问题,对困难样本的损失分配比较大的权重负样本数量太大,占总的loss的大部分,而且多是容易分类的,因此使得模型的优化方向并不是我们所希望的那样。首先为了控制正负样本的权重,可以在loss前加一个系数,比如但是,这样只能控制正负样本的权重,但是不饿能控制容易分类和难分类样本的权重。困难:概率为0.6左右,虽然大于0.5,但是难分类;易分类如0.9。于是就有了Focal loss:指数部分称为调制系数,目的是减少易分类样本原创 2020-07-03 11:04:00 · 3485 阅读 · 0 评论 -
Keras保存模型/参数以及下载导入
保存和导入模型(包含权重等等信息)from keras.models import load_modelmodel.save('my_model.h5') # creates a HDF5 file 'my_model.h5'del model # deletes the existing model# returns a compiled model# identical to the previous onemodel = load_model('my_model.h5')保存模型的结转载 2020-06-30 17:23:59 · 945 阅读 · 0 评论 -
分类的判别:召回率;F1score;混淆矩阵指标
准确率与下面的精确率相区别,准确率是所有预测对的总数除以总的数目,相当于求预测正确的比重。精确率针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是召回率也就是求正类中分类正确的比重。针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。F1 SCOREF1原创 2020-06-25 09:57:31 · 560 阅读 · 0 评论 -
BPTT-RNN训练算法
BP算法:定义误差函数 E ,通过链式法则自顶向下求得 E 对网络权重的偏导。沿梯度的反方向更新权重的值,直到 E 收 敛。BPTT:与BP类似,加上时序演化。输出的激活函数:双曲正切,通过softmax,损失交叉熵。举一个例子:求E3对V的梯度y是输出值,z是输入激活函数的值,z=V*S3.最后求和可得E对V的梯度!!(梯度下降)E对W梯度W是相同的,所有求对W的梯度需要求所有的。s2并不是一个常数项,s2依赖s1,s1依赖s0。所以要用链式法则传递下去。这里刚开始看有点异或,当K=原创 2020-06-14 16:09:58 · 400 阅读 · 0 评论 -
基础知识汇总
矩阵分解特征分解奇异值分解特征分解原创 2020-06-14 08:18:43 · 92 阅读 · 0 评论 -
深度学习——胶囊网络
CNN现存的问题就是池化提供了局部不变性,但是丢失了位置等信息。1和4无法检测出来。使用胶囊作为网络的基本单元。计算结果封装到一个特征向量中。用来表示可视实体,包括姿态、方位、大小等。动态路由算法代替池化操作,以保留相关的方位信息。特征向量表示可视实体:实体的存在概率具有局部不变性:胶囊覆盖的有限视觉域内的实体变换姿态时,是不变的。实体的实例化参数具有等变性,由于实例化参数表示实体的姿态坐标,因此随着实体额姿态变化,实例化参数会相应改变。特征向量的长度表示实体存在的概率;特征向量各维特征表原创 2020-06-12 09:16:55 · 1224 阅读 · 0 评论 -
RNN/LSTM细节及编程输入输出维度问题、GRU
为了解决RNN的长时依赖的问题。RNN无法保存较长的时间的信息,因为梯度消失问题。LSTM引入了门控单元的机制,也就是添加了C这条通路,使得可以较长长时间保存信息。LSTM单元(unit)一般由一个细胞(cell),一个输入门 (inputgate),一个输出门(outputgate)和一个遗忘门 (forgetgate)组成. •细胞能够记住任意时间间隔上的值,三个门能够控制进出细胞的 信息流动。引入了“门”机制对细胞状态信息进行添加或删除,实现长时记忆。•“门”机制由一个Sigmoid激活函数原创 2020-06-12 16:44:50 · 3701 阅读 · 0 评论 -
深度——强化学习、深度森林
Sutton’sTD(0)算法:考虑当前回报和下一状态的估计值,它的更新公式 :• Q-learing算法:它和Sutton’sTD(0)算法类似,只是将动作集A也考虑进来。 定义动作价值函数Q(s,a),深度强化学习 DRL深度学习感知能力强;强化学习决策能力强;结合更好!根据环境做出的奖励来决策典型应用:DQN把Q-learning中的价值函数用深度神经网络来近似。包括主网络和目标网络:主网络:通过最大Q值选择action,而被选定的Q值则由目标网络生成目标网络:辅助计算目标...原创 2020-06-12 14:18:56 · 1067 阅读 · 0 评论 -
深度学习——记忆网络
大多数机器学习模型缺少可以读取、写入的长期记忆的内存结构,LSTM和RNN记忆太小了,不够。下面是端到端单层网络的具体流程:左边输入句子,通过Embedding转换为向量。下面输入问题,转换为特征,再通过softmax得到概率,输出部分o加权求和,然后把输入和O一起通过softmax得到最终的输入。key-Value记忆网络...原创 2020-06-12 11:31:11 · 487 阅读 · 0 评论 -
深度学习——注意力机制
百度百科:神经注意力机制可以使得神经网络具备专注于其输入(或特征)子集的能力。注意力机制(attention mechanism)是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。核心目标也是从众多信息中选择出对当前任务目标更关键的信息。两个框架的对比:由固定的中间语义表示C换成了根据当前输出单词来调整成加入注意力模型的变化的Ci1.未引入注意力:2.引入注意力机制:先讲正常的框架,再引入注意力论文:•Volodymyr Mnih, Nicolas Heess, Al原创 2020-06-12 11:07:12 · 2276 阅读 · 0 评论 -
深度学习——GAN生成对抗网络
•机器学习方法•生成方法(无监督学习),所学到的模型称为生成式模型。•判别方法(有监督学习),所学到的模型称为判别式模型。生成方法通过观测数据学习样本与标签的联合概率分布P(X, Y), 训练好的模型,即生成式模型,能够生成符合样本分布的新数据。在没 有目标类标签信息的情况下捕捉观测到或可见数据的高阶相关性。判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X) 作为预测的模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y。有监督学习经常比无监督学习获得更好的原创 2020-06-11 21:59:51 · 637 阅读 · 0 评论 -
深度学习-NLP-自动摘要、图像描述
自动摘要:自动将文本转换生成简短摘要的信息压缩技术要求:足够的信息量、较低的冗余度、较高的可读性抽取式摘要:从原文中取句子,高分句子,去掉冗余。效果一般。Text rank 步骤:1.去除原文的一些停用词,度量每个句子的相似度,计算得分,迭代传播,直至误差小于某一个范围。2.对关键句子进行排序,根据摘要的长度选择一定数量的句子组成摘要。生成式摘要根据输入的文本获得对原文本的语义理解,逐渐成为主流。优点是对原文有更全面的把握,更符合摘要的本质缺点:句子的可读性、流畅度不如抽取式的。基本框架原创 2020-06-11 17:20:08 · 2088 阅读 · 0 评论 -
深度学习-NLP应用
语言模型的核心思想是按照特定的训练方式,从语料中提取所蕴 含的语言知识,应用于词序列的预测。包括 基于规则的语言模型 和 统计语言模型•统计语言模型处于主流地位,通过对语料库的统计学习,归纳出 其中的语言知识,获得词与词之间的连接概率,并以词序列的概 率为依据来判断其是否合理。序列S={w1,w2,w3…}的概率就是:这样后面就是指数级增长,所以后面考虑N-gram,只考虑当前词的前n-1个单词。这时会出现零概率事件:因为首个没有出现过。此时使用数据平滑来解决这个问题。基本思想:调整最大似原创 2020-06-11 11:52:03 · 445 阅读 · 0 评论 -
深度学习在语音中的应用
发音分类:浊音(使声带发生张弛振动)、清音(声带不振动)、爆破音声学特性:音色(音质,两种声音区别的特性)、音调(声波的频率,即声音的高低)、音强(强弱,由声波的震动幅度)、音长(声音长短)时域波形:语音处理的流程语音信号的处理:1.分帧:短时分析时将语音流分成一段一段来处理2.帧长:帧的时间跨度,常用20ms3.帧移:帧与帧的平滑过渡:0-0.5帧长预加重:在发送端实现对语音信号的高频分量进行补偿的方法。目的是减少尖锐噪声的影响,提升高频部分。加窗:防止吉布斯效应:声音波形从高到原创 2020-06-11 09:37:44 · 1521 阅读 · 0 评论 -
RCNN系列,从RCNN到fast-RCNN、faster RCNN、Mask RCNN
以下为自己制作的PPT截图。Fast RCNNFaster RCNNMask RCNNROI Align原创 2020-05-29 22:59:41 · 302 阅读 · 0 评论 -
Fast-Rcnn到Spp-Net的整理
由于整理于PPT,复制粘贴形成了图片。FAST-RCNNROI是简化的SPP-NET,只是单一的尺度,而SPPNET采用的是多尺度。目的都是池化之后变为相同大小的数据。SPP-NET检测流程原创 2020-05-21 17:07:19 · 172 阅读 · 0 评论 -
深度学习专题笔记-计算机视觉二-人脸检测加目标跟踪
人脸识别:PCA是经典的算法。人脸验证 / 人脸比对(Face Verification)• 1比1的比对,即判断两张图片里的人是否为同一人• 应用场景:人脸解锁• 人脸识别(Face Identification)• 1比N的比对,即判断系统当前见到的人,为数据库中众多人中的哪一个。• 应用场景:疑犯追踪,小区门禁,会场签到,客户识别传统人脸识别的主要思路是设计特征提取器,再利用机器学习算法对提取特征进行分类。核心思想为:不同人脸由不同特征组成神经网络具有自动提取特征的能力,与人脸识别任务原创 2020-05-18 23:56:16 · 1288 阅读 · 0 评论