精华内容
下载资源
问答
  • 首先在极限学习机算法中通过RBF核函数将特征映射到高维空间,然后对原标记空间建立KELM回归模型求得输出权值,最后通过模型计算预测未知样本标记分布。现有算法在各领域不同规模数据集实验表明,实验结果均...
  • 多示例多标记学习

    2014-07-10 21:44:31
    在拥有了一个较大例子集合之后,就可以利用某种学习算法来学得示例空间与标记空间之间一个映射,该映射可以预测未见示例(unseen instance)标记。假设每个对象只有一个类别标记,那么形式化地来说,令为示例...
  • 提出了一种新基于局部...进而使用支持向量机(SVM)算法将降维后特征映射到分类特征空间,实现对正常图像和隐密图像分类。实验结果表明,不采用降维算法检测方案相比,提出方案能够显著地提高检测准确率。
  • 特征提取初步了解

    2015-11-27 22:02:37
    特征提取的过程可以理解为从高维图像空间到低维特征空间的映射 A基于边界的特征提取:得到目标的边界特征 边界的提取特征可以基于边界点的集合,也可以基于边界点集合产生的边界描述,后者提取特征一般对噪声干扰...

    特征提取

    图像特征可以分为物理特征、结构特征与数学特征三类。

    特征提取的过程可以理解为从高维图像空间到低维特征空间的映射

    A基于边界的特征提取:得到目标的边界特征

    边界的提取特征可以基于边界点的集合,也可以基于边界点集合产生的边界描述,后者提取特征一般对噪声干扰有较强的鲁莽性

      描述方法:参数边界、规则图形逼近

      边界方法:边界链码、边界标记 

    边界链码:利用一系列具有特定长度与方向的直线段来表示边界,边界的起点用绝对坐标表示。

    C=fchcodeb.conn,dir

    边界标记:将二维的图像边界转换为一维的函数表示

    规则图形逼近,方法:最小周长多边形法、基于聚合的最小均方误差线段逼近法与基于分裂的最小均方误差线段逼近法三种

    边界特征:简单边界特征(边界长度、直径、曲率等)、边界形状数、傅里叶描述子、边界矩。

    B基于区域的特征提取

    并不止考虑图像的边界像素,而是基于组成目标的所有像素进行特征提取,其主要有基于区域的简单特征(区域面积、区域质心、区域方向)、基于区域拓扑结构的特征与不变矩

    基于区域的简单特征主要有区域面积、区域质心、区域方向等,区域面积是目标区域尺度的度量,其只与包含在区域中的像素有关,而与区域内部灰度变化无关。最简单的区域面积计 算方法是统计区域边界与内部包含像素点的数目,如果图像为二值图像,像素值为一代表区域的点,像素值为零表示背景。

    C基于正交矩的图像特征

    D基于形状的图像特征

    主要方法为基于形状相似性特征、基于形状复杂性特征、基于形状曲率和多边形描述的形状特征、基于形状拓扑结构与张量特征

    E基于纹理的图形特征

    纹理是目标图像的重要特征,到目前为止尚没有普遍认可的定义,可以认为是灰度或颜色在空间分布的规律所形成的图案,反映图像区域的平滑、稀疏与规则性等表面特征

    基于统计的纹理特征提取方法、基于结构的纹理特征提取方法、基于变换域的纹理特征提取方法、纹理旋转不变分析

    展开全文
  • 如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。 其中,x1、x2、x3为全连接层的输入,a1、a2、a3为输出, 全...

    本文最后总结了一些关于1*1卷积的学习文章,应该够搞懂它了

    2020年12月25日对该内容进行了补充 点这里

    全连接层

    (fully connected layers)FC层上的每一个结点都与上一层的所有结点相连。

    在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。

    在这里插入图片描述

    其中,x1、x2、x3为全连接层的输入,a1、a2、a3为输出,
    在这里插入图片描述

    全连接层参数计算

    权值参数 = 输入一维数组大小 * 全连接层输出结点数
    偏置参数b = 全连接层输出结点数

    比如在VGG16网络中,第一个全连接层FC1有4096个节点,上一层POOL27*7*512 = 25088个节点,则该传输需要4096*25088个权值,需要耗很大的内存。

    卷积层与全连接层的对比

    二维卷积层经常用于处理图像,与此前的全连接层相比,它主要有两个优势:

    • 一是全连接层把图像展平成一个向量,在输入图像上相邻的元素可能因为展平操作不再相邻,网络难以捕捉局部信息。而卷积层的设计,天然地具有提取局部信息的能力。
    • 二是卷积层的参数量更少。不考虑偏置的情况下,一个形状为(ci,co,h,w)的卷积核的参数量是ci×co×h×w,与输入图像的宽高无关。假如一个卷积层的输入和输出形状分别是(c1,h1,w1)和(c2,h2,w2),如果要用全连接层进行连接,参数数量就是c1×c2×h1×w1×h2×w2。使用卷积层可以以较少的参数数量来处理更大的图像。

    使网络可以接受任意的输入的方法就是把全连接层变成卷积层,这就是所谓的卷积化

    这里需要证明卷积化的等价性。

    卷积跟全连接都是一个点乘的操作,区别在于卷积是作用在一个局部的区域,而全连接是对于整个输入而言,那么只要把卷积作用的区域扩大为整个输入,那就变成全连接了,我就不给出形式化定义了。所以我们只需要把卷积核变成跟输入的一个map的大小一样就可以了,这样的话就相当于使得卷积跟全连接层的参数一样多。

    1*1卷积的主要作用有以下几点:

    1、降维( dimension reductionality )。比如,一张500 * 500且厚度depth为100 的图片在20个filter上做1 * 1的卷积,那么结果的大小为500* 500* 20。 其实也可以升维,这完全取决与1*1卷积的通道数。

    2、加入非线性。卷积层之后经过激活函数,1*1的卷积在前一层的学习表示上添加了非线性激励( non-linear activation ),提升网络的表达能力。

    在论文 Network In Network 中,提出了一个重要的方法:1×1 卷积。这个方法也在后面比较火的方法,如 googLeNet、ResNet、DenseNet ,中得到了非常广泛的应用。特别是在 googLeNet 的Inception中,发挥的淋漓尽致。

    这里有个八卦是当年FCN得到CVPR’15 best paper honorable mention的时候, Yann LeCun等人出来吐槽这个’FCN’的概念早就有了,AlexNet里面的 fully connected layer (FC)本身就是个误导,因为FC layer可以看成是1x1的convolution, 本来就可以输入任意大小的图片。

    Reference——1*1卷积作用的理解:

    可参考这篇文章——点这里
    这篇讲的也透彻——卷积神经网络中的 1*1 卷积 的作用
    还有这篇 & 这篇 & 这篇

    补充:这个关于感受野的问题也不错——点这里

    展开全文
  • 一、SVM支持向量机 1、SVM原理 在机器学习,支持向量机的监督学习模型相关的学习算法可以分析用于数据分类和回归分析。给定一组训练样例,每个训练样例被...SVM模型是将这些例子表示为空间中的点的映射,以便将各...

    一、SVM支持向量机

    1、SVM原理

    在机器学习,支持向量机的监督学习模型与相关的学习算法可以分析用于数据分类和回归分析。给定一组训练样例,每个训练样例被标记为属于两个类别中的一个或另一个,SVM训练算法建立一个模型,将新的例子分配给一个类别或另一个类别,使其成为非概率二元线性分类器(尽管方法如Platt缩放存在以在概率分类设置中使用SVM)。SVM模型是将这些例子表示为空间中的点的映射,以便将各个类别的例子除以尽可能宽的明显差距。然后将新示例映射到同一空间中,并预测属于基于它们落在哪一侧的类别。

    比如,我们有两种颜色的球在桌子上,我们要分开它们。

    我们拿到一根棍子放在桌子上,是否完成得很漂亮?

    有些贱人来了,桌子上放了更多的球,这种方法很有效,但其中一个球在错误的一边,现在可能有一个更好的地方放置棒。

    SVM试图通过尽可能在棒的两侧留出尽可能大的间隙来将棒放置在最佳位置。

    现在,当贱人回来时,棍子仍然是一个不错的位置。

    SVM工具箱还有另一个更重要的技巧。贱人已经看到你用棍子有多好,所以他给了你一个新的挑战。

    世界上没有任何棍棒可以让你分球,所以你会怎么做?你当然翻桌子!把球扔进空中。然后,用你的专业忍者技能,你抓住一张纸并将其滑入球之间。

    现在,贱人站着看球,他们的球会看起来被一些弯曲的线条分开。

    再之后,无聊的大人们,把这些球叫做 「data」,把棍子 叫做 「classifier」, 最大间隙trick 叫做「optimization」, 拍桌子叫做「kernelling」, 那张纸叫做「hyperplane」。

    2、opencv的SVM参数

    OpenCV 3.3中给出了支持向量机(Support Vector Machines)的实现,即cv::ml::SVM类,此类的声明在include/opencv2/ml.hpp文件中,实现在modules/ml/src/svm.cpp文件中,它既支持两分类,也支持多分类,还支持回归等,OpenCV中SVM的实现源自libsvm库。其中:

    (1)、cv::ml::SVM类:继承自cv::ml::StateModel,而cv::ml::StateModel又继承自cv::Algorithm;

    (2)、create函数:为static,new一个SVMImpl用来创建一个SVM对象;

    (3)、setType/getType函数:设置/获取SVM公式类型,包括C_SVC、NU_SVC、ONE_CLASS、EPS_SVR、NU_SVR,用于指定分类、回归等,默认为C_SVC;

    (4)、setGamma/getGamma函数:设置/获取核函数的γ参数,默认值为1;

    (5)、setCoef0/getCoef0函数:设置/获取核函数的coef0参数,默认值为0;

    (6)、setDegree/getDegree函数:设置/获取核函数的degreee参数,默认值为0;

    (7)、setC/getC函数:设置/获取SVM优化问题的C参数,默认值为0;

    (8)、setNu/getNu函数:设置/获取SVM优化问题的υ参数,默认值为0;

    (9)、setP/getP函数:设置/获取SVM优化问题的ε参数,默认值为0;

    (10)、setClassWeights/getClassWeights函数:应用在SVM::C_SVC,设置/获取weights,默认值是空cv::Mat;

    (11)、setTermCriteria/getTermCriteria函数:设置/获取SVM训练时迭代终止条件,默认值是cv::TermCriteria(cv::TermCriteria::MAX_ITER + TermCriteria::EPS,1000, FLT_EPSILON);

    (12)、setKernel/getKernelType函数:设置/获取SVM核函数类型,包括CUSTOM、LINEAR、POLY、RBF、SIGMOID、CHI2、INTER,默认值为RBF;

    (13)、setCustomKernel函数:初始化CUSTOM核函数;

    (14)、trainAuto函数:用最优参数训练SVM;

    (15)、getSupportVectors/getUncompressedSupportVectors函数:获取所有的支持向量;

    (16)、getDecisionFunction函数:决策函数;

    (17)、getDefaultGrid/getDefaultGridPtr函数:生成SVM参数网格;

    (18)、save/load函数:保存/载入已训练好的model,支持xml,yaml,json格式;

    (19)、train/predict函数:用于训练/预测,均使用基类StatModel中的。

    原文链接:http://bytesizebio.net/2014/02/05/support-vector-machines-explained-well/
    公式链接:https://en.wikipedia.org/wiki/Support_vector_machine
    SVM参数链接:https://docs.opencv.org/master/d1/d2d/classcv_1_1ml_1_1SVM.html

    实例

    svm_type()—— 指定SVM的类型:

    参数:

    • C_SVC:C表示惩罚因子,C越大表示对错误分类的惩罚越大。
    • NU_SVC:和C_SVC相同。
    • ONE_CLASS:不需要类标号,用于支持向量的密度估计和聚类.
    • EPSILON_SVR:-不敏感损失函数,对样本点来说,存在着一个不为目标函数提供任何损失值的区域,即-带。
    • NU_SVR:由于EPSILON_SVR需要事先确定参数,然而在某些情况下选择合适的参数却不是一件容易的事情。而NU_SVR能够自动计算参数。

    kernel_type()—— SVM的内核类型:

    参数:

    • LINEAR:线性核函数(linear kernel)
    • POLY:多项式核函数(ploynomial kernel)
    • RBF:径向机核函数(radical basis function)
    • SIGMOID: 神经元的非线性作用函数核函数(Sigmoid tanh)
    • PRECOMPUTED:用户自定义核函数

    train()

    参数:

    • InputArray samples, 训练样本
    • int layout, 排版,参数:ROW_SAMPLE,每个训练样本是一行样本,COL_SAMPLE,每个训练样本占据一列样本
    • InputArray responses, 与训练样本相关联的响应向量

    getDecisionFunction()

    参数:

    • int i,决策函数的索引。如果解决的问题是回归,1类或2类分类,那么只会有一个决策函数,并且索引应该总是0.否则,在N类分类的情况下,将会有N(N- 1 )/ 2 决策功能。
    • OutputArray alpha, α 权重的可选输出向量,对应于不同的支持向量。在线性SVM的情况下,所有的alpha都是1。
    • OutputArray svidx, 支持向量矩阵内的支持向量索引的可选输出向量。在线性SVM的情况下,每个决策函数由单个“压缩”支持向量组成。
    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    #1 准备data
    rand1 = np.array([[155,48],[159,50],[164,53],[168,56],[172,60]])
    # 女生身高和体重数据
    rand2 = np.array([[152,53],[156,55],[160,56],[172,64],[176,65]])
    # 男生身高和体重数据
    
    # 2 建立分组标签,0代表女生,1代表男生
    label = np.array([[0],[0],[0],[0],[0],[1],[1],[1],[1],[1]])
    
    # 3 合并数据
    data = np.vstack((rand1,rand2))
    data = np.array(data,dtype='float32')
    
    # 4 训练
    # ml  机器学习模块 SVM_create() 创建
    svm = cv2.ml.SVM_create() 
    
    # 属性设置
    svm.setType(cv2.ml.SVM_C_SVC) # svm type
    svm.setKernel(cv2.ml.SVM_LINEAR) # line
    svm.setC(0.01)
    
    # 训练
    result = svm.train(data,cv2.ml.ROW_SAMPLE,label)
    
    # 预测
    pt_data = np.vstack([[167,55],[162,57]]) #0 女生 1男生
    pt_data = np.array(pt_data,dtype='float32')
    print(pt_data)
    (par1,par2) = svm.predict(pt_data)
    print(par2)
    复制代码

    结果:

    [[167.  55.]
     [162.  57.]]
    [[0.]
     [1.]]
    复制代码

    二、Hog特征

    方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。

    HOG特征提取算法的实现过程:

    HOG特征提取方法就是将一个image(你要检测的目标或者扫描窗口):

    1)灰度化(将图像看做一个x,y,z(灰度)的三维图像);

    2)采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;

    3)计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。

    4)将图像划分成小cells(例如6*6像素/cell);

    5)统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor;

    6)将每几个cell组成一个block(例如3*3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。

    7)将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor了。这个就是最终的可供分类使用的特征向量了。

    原文链接:https://blog.csdn.net/liulina603/article/details/8291093

    三、实例

    HOGDescriptor()

    参数:

    • Size win_size=Size(64, 128),检测窗口大小。
    • Size block_size=Size(16, 16),块大小,目前只支持Size(16, 16)
    • Size block_stride=Size(8, 8),块的滑动步长,大小只支持是单元格cell_size大小的倍数。
    • Size cell_size=Size(8, 8),单元格的大小,目前只支持Size(8, 8)。
    • int nbins=9, 直方图bin的数量(投票箱的个数),目前每个单元格Cell只支持9个。
    • double win_sigma=DEFAULT_WIN_SIGMA,高斯滤波窗口的参数。
    • double threshold_L2hys=0.2,块内直方图归一化类型L2-Hys的归一化收缩率
    • bool gamma_correction=true,是否gamma校正
    • nlevels=DEFAULT_NLEVELS,检测窗口的最大数量

    正样本:

    负样本:

    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    # 第一步:确定标准
    PosNum = 820
    # 正样本个数
    NegNum = 1931
    # 负样本个人
    winSize = (64,128)
    # 一个窗口(win)的大小是64x128
    blockSize = (16,16) 
    # 每个块的大小是16x16
    blockStride = (8,8) 
    # 每个块的步长是8x8
    # 一个窗口有((64-16)/8+1)*((128-16)/8+1) = 7*15 = 105个块(block)
    cellSize = (8,8)
    # 每个胞元的大小是8x8
    # 一个块(block)有 (16/8)*(16/8) = 4胞元(cell)
    nBin = 9 
    # 一个胞元有 9 个bin,表示每一个胞元对应的向量就是9维
    # 窗口对应的一维特征向量维数n = 105 * 4 * 9 = 3780
    # hog+svm检测行人,最终的检测方法是最基本的线性判别函数,wx + b = 0,刚才所求的3780维向量其实就是w,而加了一维的b就形成了opencv默认的3781维检测算子
    
    # 第二步:创造一个HOG描述子和检测器
    hog = cv2.HOGDescriptor(winSize,blockSize,blockStride,cellSize,nBin)
    # 第三步:启动SVM分离器
    svm = cv2.ml.SVM_create()
    
    # 第四步:计算Hog
    featureNum = int(((128-16)/8+1)*((64-16)/8+1)*4*9)
    # 窗口对应的一维特征向量维数n
    featureArray = np.zeros(((PosNum+NegNum),featureNum),np.float32)
    # 创建Hog特征矩阵
    labelArray = np.zeros(((PosNum+NegNum),1),np.int32)
    # 创建标签矩阵
    
    # 给图片样本打标签,正样本是1,负样本是-1
    for i in range(0,PosNum):
        fileName = 'pos/'+str(i+1)+'.jpg'
        # 导入正样本图片
        img = cv2.imread(fileName)
        hist = hog.compute(img,(8,8))
        # 每个hog特性的维数是3780
        for j in range(0,featureNum):
            featureArray[i,j] = hist[j]
        # featureArray装载hog特征, [1,:]代表hog特征1, [2,:]代表hog特征2
        labelArray[i,0] = 1
        # 正样本的label是 1
        
    for i in range(0,NegNum):
        fileName = 'neg/'+str(i+1)+'.jpg'
        img = cv2.imread(fileName)
        hist = hog.compute(img,(8,8))
        for j in range(0,featureNum):
            featureArray[i+PosNum,j] = hist[j]
        labelArray[i+PosNum,0] = -1
        # 负样本的label是 -1
        
    # SVM属性设置    
    svm.setType(cv2.ml.SVM_C_SVC)
    # SVM模型类型:C_SVC表示SVM分类器,C_SVR表示SVM回归
    svm.setKernel(cv2.ml.SVM_LINEAR)
    # 核函数类型: LINEAR:线性核函数(linear kernel),POLY:多项式核函数(ploynomial kernel),RBF:径向机核函数(radical basis function),SIGMOID: 神经元的非线性作用函数核函数(Sigmoid tanh),PRECOMPUTED:用户自定义核函数 
    svm.setC(0.01)
    # SVM类型(C_SVC/ EPS_SVR/ NU_SVR)的参数C,C表示惩罚因子,C越大表示对错误分类的惩罚越大
    
    # 第六步:训练函数
    ret = svm.train(featureArray,cv2.ml.ROW_SAMPLE,labelArray)
    
    # 第七步:检测 (1、创建myhog,参数myDeteect)
    alpha = np.zeros((1),np.float32)
    # 权重的可选输出向量
    rho = svm.getDecisionFunction(0,alpha)
    # 检索决策函数。
    print(rho)
    print(alpha)
    
    alphaArray = np.zeros((1,1),np.float32)
    supportVArray = np.zeros((1,featureNum),np.float32)
    resultArray = np.zeros((1,featureNum),np.float32)
    alphaArray[0,0] = alpha
    resultArray = -1*alphaArray*supportVArray
    
    myDetect = np.zeros((3781),np.float32)
    for i in range(0,3780):
        myDetect[i] = resultArray[0,i]
    myDetect[3780] = rho[0]
    # myDetect是3781维,其中3780维来自resultArray,最后一维来自rho
    
    myHog = cv2.HOGDescriptor()
    myHog.setSVMDetector(myDetect)
    
    # 第八步:导入待检测图片的加载 
    imageSrc = cv2.imread('Test2.jpg',1)
    # 加载待检测图片
    objs = myHog.detectMultiScale(imageSrc,0,(8,8),(32,32),1.05,2)
    # 检测图片
    x = int(objs[0][0][0])
    y = int(objs[0][0][1])
    w = int(objs[0][0][2])
    h = int(objs[0][0][3])
    # 原始坐标(x,y),宽w,高h
    
    # 第九步:绘制展示
    cv2.rectangle(imageSrc,(x,y),(x+w,y+h),(255,0,0),2)
    cv2.imshow('dst',imageSrc)
    cv2.waitKey(0)
    复制代码

    待检测图片:

    结果:

    (0.19296025963377925, array([[1.]]), array([[0]], dtype=int32))
    [0.]
    复制代码

    展开全文
  • 深度学习中连接Connections

    千次阅读 2019-06-23 12:41:55
    以下为看论文时遇到的各种connections的整理总结,日后若有新...“全连接层起到将学到的‘分布式特征表示’映射到样本标记空间的作用。在实际使用中,FC可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积...

    以下为看论文时遇到的各种connections的整理与总结,日后若有新的体会,将对内容进行修改和补充1. 

    1. Full connection全连接层

    针对知乎提问https://www.zhihu.com/question/41037974的总结

    “全连接层起到将学到的‘分布式特征表示’映射到样本标记空间的作用。在实际使用中,FC可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前面是卷积层的FC可以转化为卷积核为HxW的全局卷积”。

    “在CV中,FC和卷积层没有太大的区别。卷积层其实就是在spatial上部分链接,在channel上全连接的结构。因此,如果舍弃在spatial上的部分链接,将卷积核换成1x1的,那么就只有在channel上全连接。这时候卷积层=全连接层。很多特征融合的卷积都采用1x1的kernel,这也算是FC的一个功能。”

    现在,不仅是从发表的论文还是大家做项目的经验,好像都有将GAP(全局平均池化)来代替FC的趋势。分析其中的原因,主要有以下几点:a. 将整个CV处理过程与数字图像处理对比来看,CV处理过程实际上就是一个矩阵相乘的过程,如果全部使用全连接层,那么势必使得每矩阵都具有很高的维度,再进行矩阵乘法操作,不仅使得运算速度下降,而且使得内存很容易就因为存储FC参数而被占满;b. 卷积层,使用了权值共享,每次都只关注于一个局部区域,在减少参数量的同时,更加聚焦于局部信息,这使得后续的attention机制很自然的被引出。然而全连接层聚焦于整个输入图像本身,会丢失特征位置的信息,很像是将前面所有卷积层的feature map做一个整理,然后产生的结果可以有助于进行后续的操作,如分类等,这时得到的特征更加具有判别力。

    然而,全连接层还是有它的优势,它的一个作用就是维度变换,通过它复杂的参数,可以把高维变为低维,同时将有用的信息保留下来;另一个作用是隐含语义的表达,带有一点点semantic的意味,把原始特征映射到隐藏层,将由卷积层得到的局部信息进行语义上的整理,即分类的显示表达。还有一点是,不同channel同一位置上的FC等价于1x1卷积,可以有效的提取同一位置跨channel的信息。具体的1x1卷积来源于论文network in network, NIN可以跨通道组织信息,提高网络的表达能力,同时可以对输出通道升维和降维。1x1卷积的性价比很高,用很小的计算量就能增加一层特征变换和非线性化。可以进行低成本的跨通道的特征变换。

    2. Shortcut connection,也叫做skip connection:

    正式提出该名字,来源于ResNet,而该种思想来源于Highway networks,后者引入了LSTM的门的概念(各个领域之间,总是存在着可以相互借鉴之处,仿佛他们背后有一个通用的模式,而当前的领域,只是针对某些具体的方向进行的扩展)。

    参考https://cloud.tencent.com/developer/article/1148375

    这种连接与FC的差别在于,它是在调整网路的结构,是在描述层与层之间的连接关系,该种调整解决的是因为网络加深,梯度越容易发散,误差越大,难以训练。值得注意的是,“shortcut不一定只跨越1层,并且实际中,由于shortcut只跨越单层没有优势,ResNet中是跨越了2层或3层”。对于shortcut connection用到极致的目前来说应该是DenseNet了吧。DenseNet中,采用了“局部稠密连接”,即涉及一些block,在该block中进行稠密连接(即,每层的输出结果都会通过shortcut连接到后面的层)。然而,可以发现,当在Dense block中使用了较多的密集连接,虽然可以保证浅层得到优化,但是是以耗时作为代价的,在之前的博客《Nested network…》中https://blog.csdn.net/weixin_37709708/article/details/93379932,同时使用了输入图像金字塔及特征金字塔的方式在保留原始细节信息的同时,获取语义信息。

    3. Nested connection即嵌套在一起的连接

    描述的是一种连接,不过不同于其他连接,该连接的输入为其他连接的输出,即嵌套在一起的连接。在博客https://blog.csdn.net/weixin_37709708/article/details/93379932中,该论文通过一系列的nested connections来连接解码器和编码器。该论文发现,采用U-Net形式类似的“暴力”shortcut connection会降低光学RSI中显著性的检测,这是由于该应用场景下由于复杂的背景引入的'bad'判别力的特征会严重的影响到结果,于是,引入了嵌套的链家,从而逐步的将'bad'的特征过滤除去,从而使得在任务驱动的学习过程中,显著性对象得以凸显。该论文中采用的具体方法如下:按照上述箭头指示方向,依次将由箭头传递过来的相应特征进行连接,组成一个新的特征供后续连接使用。

    展开全文
  • 以下为看论文时遇到的各种connections的整理总结,日后...“全连接层起到将学到的‘分布式特征表示’映射到样本标记空间的作用。在实际使用中,FC可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1...
  • 如果说卷积层、池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。 在很多常见的模型架构中,最后一层全连接层都分类类别数相同,...
  •   判别式模型是对P(y|x)P(y|x)P(y|x)进行建模或者直接学习输入空间到输出空间的映射关系,其中xxx是某样例的特征,yyy是某类样例的分类标记。而生成式方法是对P(x|y)P(x|y)P(x|y)(条件概率)和P(y)P(y)P(y)(先验...
  • 对于建模,我们集成矩阵分解以同时学习映射特征字典和属性空间信息,并采用成对亲和度相似度来合并未标记的数据信息,从而可以很好地控制低秩属性和模型效率。 对于模型优化,我们将模型转换为具有一个非光滑两...
  • 该方法将特征分组,对不同组特征采用不同核函数映射到高维空间后用支持向量机分类,最后采用投票方法得出决策标记,所得到成员分类器具有较高差异性。传统集成方法相比,该方法具有较好检测性能。
  • 全连接层

    2021-02-24 11:53:03
    在整个卷积神经网络中起到“分类器”的作用,如果说卷积层、池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的特征表示映射到样本的标记空间的作用。 3、全连接层实现过程:对前...
  • 2.3.40 某工作站上用户交谈 19 2.3.41 检查远程系统是否正常 19 2.3.42 电子邮件使用简介 19 第3章 Linux系统网络功能 21 3.1 Linux支持网络协议 21 3.1.1 TCP/IP 21 3.1.2 TCP/IP 版本 6 21 3.1.3 IPX/...
  • 1 CNN原理 卷积神经网络CNN主要用于图像识别。 神经网络前向传播过程: 一般而言,输入图像数据经过若干层卷积和池化...全连接:将学到“分布式特征表示”映射到样本标记空间;对前层是全连接全连接层可以转化
  • 2.3.40 某工作站上用户交谈 19 2.3.41 检查远程系统是否正常 19 2.3.42 电子邮件使用简介 19 第3章 Linux系统网络功能 21 3.1 Linux支持网络协议 21 3.1.1 TCP/IP 21 3.1.2 TCP/IP 版本 6 21 3.1.3 IPX/...
  • 2.3.40 某工作站上用户交谈 19 2.3.41 检查远程系统是否正常 19 2.3.42 电子邮件使用简介 19 第3章 Linux系统网络功能 21 3.1 Linux支持网络协议 21 3.1.1 TCP/IP 21 3.1.2 TCP/IP 版本 6 21 3.1.3 IPX/...
  • 2.3.40 某工作站上用户交谈 19 2.3.41 检查远程系统是否正常 19 2.3.42 电子邮件使用简介 19 第3章 Linux系统网络功能 21 3.1 Linux支持网络协议 21 3.1.1 TCP/IP 21 3.1.2 TCP/IP 版本 6 21 3.1.3 IPX/...
  • 图像语义分割 传统语义分割 大多都是基于像素分割,...编码:使用CNN将图像映射特征空间,激活情况标志着“这里是什么” 解码:将低分辨率特征图映射回原图尺寸,为每个像素标记一个类别 典型方法:U-Net U-
  • 联邦可视化框架可视化模型联邦可视化框架联邦学习面临挑战参考文献 联邦可视化框架是联邦学习框架在可视化领域的拓展应用,能够在不...标记是数据属性到可视化元素的映射,用以直观地表示数据的属性归类;视觉通道是
  • 8.4 宏块片组映射产生 221 8.5 片数据分割解码 223 8.6 参考图像列表初始化 224 8.6.1 图像序号计算 224 8.6.2 参考图像列表初始化 225 8.6.3 参考帧列表重排序 228 8.7 解码参考图像的标记过程 230...
  • 来自这两种模态的空间数据未对齐,因此它们是在不同轴上捕获,而没有两者之间直接映射。 因此,有必要调整这些关键点。 可以在toCoco.py中找到使用代码。 该方法包括使用DeepLabv3分割网络中边界框找到...

空空如也

空空如也

1 2 3 4 5
收藏数 94
精华内容 37
关键字:

标记空间与特征空间的映射