- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 卷积、反卷积、反池化、插值
卷积若输入含有多个通道,则对于某个卷积核,分别对每个通道求feature map后将对应位置相加得到最终的feature map,如下图所示:若有多个卷积核,则对应多个feature map,也就是下一个输入层有多个通道。如下图所示:图像上采样的三种方法:上采样指的是任何可以让图像变成更高分辨率的技术方法一 :反卷积(1)正常卷积在介绍反卷积之前,我们需要深入了解一下卷积,一个简单的卷积层运算,卷积参数为i=4,k=3,s=1,p=0i=4,k=3,s=1,p=0i=4,k=3,s=1,p=0
2021-04-30 11:15:33 1173
原创 The Edge of Depth: Explicit Constraints between Segmentation and Depth(深度的边缘:分割和深度之间的显式约束)
目录摘要1.引言2.相关工作自监督深度估计遮挡问题使用额外的模式使用语义分割的深度3.本文研究方法3.1明确的深度-分割一致性摘要In this work we study the mutual benefits of two common computer vision tasks, self-supervised depth estimation and semantic segmentation from images.在这项工作中,我们研究了两种常见的计算机视觉任务的相互好处,自我监督的深度估
2021-04-17 14:55:43 1094
原创 ResNeXt网络结构
ResNeXt网络结构与ResNet网络结构相比来说主要更新了block块。ResNet网络:红框里的残差结构主要用于ResNet50/101/152ResNeXt网络:蓝框里的结构用来替代红框里的结构什么是分组卷积
2021-03-15 09:03:23 579
原创 Anaconda常用命令
创建虚拟环境:conda create -n your_env_name python=X.X(2.7、3.6等)激活虚拟环境:activate your_env_name此时使用python --version可以检查当前python版本是否为想要的(即虚拟环境的python版本)。退出虚拟环境:deactivate env_name删除虚拟环境:删除环境:conda remove -n your_env_name --all删除虚拟环境中的包:使用命令conda remove --
2021-03-15 08:58:14 100
原创 MobileNet V1、V2、V3网络结构
传统卷积神经网络,内存需求大,计算量大,导致无法在移动设备以及嵌入式设备上运行。在准确率小幅降低的前提下大大减少模型参数和运算量(相比VGG16准确率降低0.9%,但是模型参数只有VGG的1/32)Mobilenet这篇论文是Google针对手机等嵌入式设备提出的一种轻量级的深层神经网络,取名为MobileNets。个人感觉论文所做工作偏向于模型压缩方面,核心思想就是卷积核的巧妙分解,可以有效减少网络参数。$$:卷积层中的卷积核个数...
2021-03-14 19:54:00 5580 1
转载 为什么要使用非线性激活函数
1.为什么要使用非线性激活函数?线性可分的情况下:逻辑回归和线性回归,无论是闭解形式还是凸优化都能高度拟合,但是线性不可分的情况下 (XOR异或函数),需要非线性对换数据的分布进行重新映射。对神经网络我们在神经网络中,对每一层线性变换后叠加一个非线性激活函数,以避免多层网络等效于单层线性函数,从而获得更大的学习与拟合能力。使用激活函数的目的是为了向网络中加入非线性因素;加强网络的表示能力,解决线性模型无法解决的问题(1)非线性。线性激活层对于深层神经网络没有作用,因为其作用以后仍然是输入的各种线性.
2021-03-11 08:56:57 4879
转载 ResNet网络结构
ResNet网络为什么ResNet网络可以搭建超深的网络结构在ResNet网络提出之前,传统的卷积神经网络都是通过将一系列卷积层与池化层进行堆叠得到的,一般我们会觉得网络越深,特征信息越丰富,模型效果应该越好。但是实验证明,效果并不是如此。如下图所示,当网络堆叠到一定深度时,反而会出现深层网络比浅层网络效果差的情况。当网络堆叠到一定深度时,会出现两个问题:(1)梯度消失或梯度爆炸关于梯度消失和梯度爆炸,其实看名字理解最好:若每一层的误差梯度小于1,反向传播时,网络越深,梯度越趋近于0反
2021-03-05 09:12:40 876 1
原创 GoogLeNet网络结构
GoogLeNet网络Inception 结构1x1的卷积核如何起到降维的作用呢?辅助分类器AlexNet和VGG都只有一个输出层 ,而GoogLeNet有三个输出层(其中有两个辅助分类层,一个主分类器,两个辅助分类器的结构一样)(1)第一层是我们的平均下采样操作,池化核大小是5*5 ,步距是等于3(2)采用128个卷积核大小为1*1的卷积层进行卷积处理,目的是为了降低维度,并且使用的是ReLU激活函数(3)采用节点个数为1024的全连接层,同样使用ReLU激活函数(4)全连接层与全
2021-03-04 09:38:18 308
原创 常用PyTorch中的函数语法
PyTorch是一个基于python的科学计算包,主要针对两类人群:(1)作为NumPy的替代品,可以利用GPU的性能进行计算(2)作为一个高灵活性、速度快的深度学习平台语法目录torch.viewtorch.randn( )使用.item()来得到对应的python数值将torch的Tensor转化为NumPy数组将NumPy数组转化为Torch张量CUDA上的张量自动求导张量torch.view>>>x = torch.randn(4, 4)>>>y =
2021-03-03 11:07:55 190
原创 VGG-16网络结构
在这里插入代码片模型import torch.nn as nnimport torchclass VGG(nn.Module):#继承自nn.Module的父类 def __init__(self, features, num_classes=1000, init_weights=False): #features--通过make_features()得到的提取特征网络结构,num_classes--想要得到的分类种类,init_weights--初始化权重
2021-03-03 11:06:17 1244 1
原创 AlexNet网络结构
构造模型import torch.nn as nnimport torchclass AlexNet(nn.Module):#定义AlexNet这个类,它继承自nn.Module这个父类 def __init__(self, num_classes=1000, init_weights=False): super(AlexNet, self).__init__() self.features = nn.Sequential( #使用nn.Se.
2021-03-01 15:10:35 518 5
原创 LeNet网络结构
模型代码import torch.nn as nnimport torch.nn.functional as F#pytorch tensor的通道排序[batch,channel,height,width]class LeNet(nn.Module): def __init__(self): super(LeNet, self).__init__()#继承父类的构造函数 self.conv1 = nn.Conv2d(3, 16, 5)#输入通道3,输出通.
2021-02-28 20:26:06 897
原创 吴恩达深度学习专项课程笔记
红色石头的个人网站:redstonewill.com 上节课我们主要对深度学习(Deep Learning)的概念做了简要的概述。我们先从房价预测的例子出发,建立了标准的神经网络(Neural Network)模型结构。然后从监督式学习入手,介绍了Standard NN,...
2021-02-02 11:34:25 131
原创 吴恩达机器学习(应用举例与课程总结)
问题描述与OCR pipeline这一章将介绍一种机器学习的应用实例:照片OCR技术,介绍它的原因:(1)首先,展示一个复杂的机器学习系统是如何被组合起来的;(2)接着,介绍一下机器学习流水线的有关概念以及如何分配资源来对下一步计划作出决定;(3)最后,介绍一下照片OCR问题,展现机器学习中有用的想法和概念,其中之一就是应用在计算机视觉问题中,另一个是人工数据合成的概念。照片OCR的全称为照片光学字符识别,它注重的问题是如何让计算机读出图片中的文字信息,它有以下几个步骤:(1)首先,给定某张图片
2021-02-01 16:29:22 377 1
原创 吴恩达机器学习(大规模机器学习)
学习大数据集这一章中将讲述能够处理海量数据的算法。思考:为什么要使用海量数据集呢?要知道获取高性能的机器学习系统途径是采用低偏差的学习算法,并用大数据进行训练。这里拿之前提到过的易混淆词来举例,For breakfast I ate __ eggs,这里填two,而非too或者to,从下面的图中可以明确,只要使用大数据对算法进行训练,它的效果似乎会更好。从这样的结果可以得出,在机器学习中,决定因素往往不是最好的算法而是谁的训练数据最多。但是大数据集有它自己的特殊的问题,即计算问题。假设有m等于一亿
2021-02-01 14:02:38 192 1
原创 常用python函数的语法
Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 split()方法语法:str.split(str=" ", num=string.count(str)). #str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 #num -- 分割次数。 eg1 ipaddr = "10.122.19.101 " print(ipaddr.split('.')) &g
2021-01-30 10:51:08 461 6
原创 吴恩达机器学习(推荐系统)
(1)问题规划这一章中将讨论推荐系统的有关内容,它是在机器学习中的一个重要应用。机器学习领域的一个伟大思想:对于某些问题,有一些算法可以自动地学习一系列合适的特征,比起手动设计或编写特征更有效率。这是目前做的比较多的研究,有一些环境能让你开发某个算法来学习使用那些特征。接下里让我们通过推荐系统的学习来领略一些特征学习的思想。推荐系统预测电影评分的问题:某些公司让用户对不同的电影进行评价,用0到5星来评级,下面是用户的评价情况:符号介绍:推荐系统就是在给出了r(i,j)和y(i,j)的值后,
2021-01-28 12:13:21 302
原创 吴恩达机器学习(异常检测)
(1)问题动机这一章中将介绍异常检测问题,这是机器学习算法的常见应用,那么什么是异常检测问题?举例:比如生产汽车引擎,需要进行质量测试,而作为测试的一部分,需要测量汽车引擎的一些特征变量:(1)引擎运转时产生的热量;(2)引擎的振动;于是就会有一个数据集:,把数据绘制成图,如图。这样,异常检测问题可以定义如下:假设,之后生产了一个新的汽车引擎,而新的汽车引擎有一个特征变量集X(test),所谓的异常检测问题就是希望知道新的汽车引擎是否有某种异常,或者说希望判断这个引擎是否需要进一步测试。如
2021-01-25 16:40:49 539 8
原创 吴恩达机器学习(降维)
目标一:数据压缩这一章中将讨论第二种无监督学习的问题:降维。数据压缩不仅能让我们对数据进行压缩,使得数据占用较少的内存和硬盘空间,还能对学习算法进行加速。(1)二维降到一维:如果能把数据从二维减少到一维,用来减少这种冗余,通过降维,也就说想找出一条线,看起来大多数样本所在的线,所有的数据都投影到这条线上,通过这种做法,能够测量出每个样本在线上的位置。就可以建立新的特征,只需要一个数就能确定新特征。意味着:之前要用一个二维数字表示的特征可以一维数直接表示。通过这种方法,就能够把内存的需求减半或
2021-01-24 13:56:43 301 2
原创 吴恩达机器学习(无监督学习)
(1)无监督学习这一章中将介绍无监督学习中的聚类算法,那么什么是无监督学习呢?首先,拿监督学习来进行比较,这是一个典型的监督学习的例子,有一个带标签的训练集,目标是找到一条能够区分正样本和负样本的决策边界,如下图:这里的监督学习问题是指有一系列标签,用假设函数去拟合它。而相比于无监督学习中,数据并不带有任何标签,得到的数据如下图:因此在无监督学习中,要将这系列无标签的数据输入到算法中,然后让算法找到一些隐含在数据中的结构,上图中能找到的结构就是两组分开的点集,而这些能找出这些点集的算法被称为聚
2021-01-23 14:05:08 294
原创 吴恩达机器学习(支持向量机)
(1)优化目标支持向量机在学习复杂的非线性方程时能够提供一种更为清晰个更加强大的方式。先回顾Logistic逻辑回归的相关概念,看如何进行改动可以得到支持向量机。Logistic回归的假设函数,以及对应sigmoid激活函数图像如下:Logistic回归中的代价函数为:针对某一项的Cost为:可以看到下图中SVM中对Logistic回归代价函数的改变:Logistic回归总体优化目标到支持向量机的总体优化目标转换,如下图所示:于是得到支持向量机的总体优化目标,最小化下面的函数,就得到了
2021-01-23 10:24:05 217 1
原创 吴恩达机器学习(机器学习系统设计)
(1)确定执行的优先级这一节中将介绍在实际工作过程中,应该先处理哪些事情。以建立一个邮件分类器为例:给定一组电子邮件,可以为每个电子邮件构造一个向量。这个向量中的每个元素代表一个单词。向量通常包含10,000到50,000个条目,这些条目是在我们的数据集中找到最常用的单词,将它们作为特征向量。当准备好所有的x向量,我们训练我们的算法,最后,我们可以用它来分类电子邮件是否是垃圾邮件。如何在有限的时间下让垃圾邮件分类器具有高精准度和低错误率?▷ 收集大量数据(honeypot项目)▷ 从邮件信息
2021-01-22 12:09:45 354 1
原创 吴恩达机器学习(应用机器学习的建议)
(1)决定下一步做什么假设你已经实现了正则化的线性回归来预测房屋价格,然而,当在一组新的测试集上使用该假设时,在预测上出现了不能接受的错误,接下来会做什么呢?也就是说当调试学习算法时,当面对测试集算法效果不佳时,会怎么做呢?你可能从下面的五种方法中选择。(1)采集更多的训练样本;(有时候并没有效果)(2)尝试选用更少的特征;(3)尝试获取更多的特征;(4)尝试增加特征多项式;(5)尝试减小或增大正则化参数的值。由此引出机器学习诊断法:这是一种测试法,通过执行这种测试能够了解算法在哪里出了问题
2021-01-21 16:20:32 187
原创 吴恩达机器学习(神经网络参数的反向传播算法)
(1)神经网络结构的代价函数它能在给定训练集时,为神经网络拟合参数(2)让代价函数最小化的算法—反向传播算法反向传播算法,也就是首先计算最后一层的误差,然后再一层一层反向求出各层的误差,直到倒数第二层。 这个就是反向传播算法的通俗解释。假设我们有假设我们的训练集只有一个实例(x(1), y(1)),我们的神经网络是一个四层的神经网络,其中K = 4, SL = 4, L = 4。我们从最后一层的误差开始计算,误差是激活单元的预测(ak(4))与实际值(yK)之间的误差。第4层误差: δ(4) =
2021-01-20 17:25:10 598 4
原创 吴恩达机器学习(神经网络学习)
(1)神经网络算法模型展示神经网络算法在学习复杂的非线性假设上是一种比较好的算法,即使输入特征空间或者n很大,也能轻松搞定。如何定义神经网络的假设函数Layer1是输入层。Layer2为隐藏层。隐藏层实际上就是一个复杂式子的中间计算过程,除了输入层外,其他的每一个节点表示的就是一个计算过程,计算的具体过程由参数值所决定。所以不论所要求解或者表达的式子多么的复杂,通过增加隐藏层的数目和层中的节点数,一定可以表示出来。Layer3是输出层。下面是上图中的三个隐藏值计算的过程以及输出层h(x)的值
2021-01-19 16:35:59 133
原创 吴恩达机器学习(正则化)
(1)什么是过度拟合问题?在线性回归中的过拟合例子:图1:是一个线性模型,欠拟合或者叫做高偏差,不能很好地适应我们的训练集;我们看看这些数据,很明显,随着房子面积增大,住房价格的变化趋于稳定或者说越往右越平缓。因此线性回归并没有很好拟合训练数据。图2:恰当合适的拟合了数据图3:完美的拟合了训练数据,称之为过拟合或者叫做高方差,过于强调拟合原始数据,而丢失了算法的本质:预测新数据。我们可以看出,若给出一个新的值使之预测,它将表现的很差,是过拟合,虽然能非常好地适应我们的训练集但在新输入变量进行预测时可
2021-01-19 10:51:00 951 2
曲柄滑块机构等效转动惯量及其导数规律.docx
2021-05-24
软件著作权多人合作开发协议书模板
2020-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人