本文的论文来自: Notes on Convolutional Neural Networks, Jake Bouvrie。         这个主要是CNN的推导和实现的一些笔记,再看懂这个笔记之前,最好具有CNN的一些基础。这里也先列出一个资料供参考:[1] Deep L
因为R-CNN到Fast R-CNN再到Faster R-CNN是一个递进的改进过程,所以对前两个不清楚的还是要先去读一读这两篇文章,我在下面提出自己的读书笔记(私以为还是写的很全面的,对很多其他博客里面没有提到的坑都有涉及)。 一文详解R-CNN: 一文详解Fast R-CNN:有一篇Faster R-CNN的文章写的着实不错,重点推荐:https://zhuanlan.zhihu.com/p/
  深层网络需要一个优良的权重初始化方案,目的是降低发生梯度爆炸和梯度消失的风险。先解释下梯度爆炸和梯度消失的原因,假设我们有如下前向传播路径:  a1 = w1x + b1    z1 = σ(a1)  a2 = w2z1 + b2  z2 = σ(a2)  ...  an = wnzn-1 + bn  zn&nbs
import tensorflow as tf import helper import numpy as np import matplotlib as mpl from tensorflow.examples.tutorials.mnist import input_data # 设置字符集,防止中文乱码 mpl.rcParams['font.sans-serif'] = [u'simHei'
1. 权重初始化1.1 相同的初始化权重神经网络中的所有权重都能通过梯度下降和反向传播来优化和更新。现在问题来了,如果每一层的权重全部初始化为同一个常数,不同层的常数可以不一样,会发生什么呢。这样会导致同一层的所有神经元前向传播和反向传播完全相同。如下图,前向传播过程中,每一个隐层接收到的输入是一样的(x1,x2,...),每个隐层神经元对应每个输入神经元的权重又是相同的,那么每个隐层神经元的输出
KNN邻近算法KNN的自述原理参数K值确定K和weights对模型的影响KNN在不同数据集的表现 KNN的自述Km模型仍为有监督的学习算法。它属于一种惰性学习算法,即不会预先生成一个分类或预测模型,用于新样本的预测,而是将模型的构建与未知数据的预测同时进行,该算法与决策术功能类似既可以针对离散性变量作出分类,又可以对于连续型变量作出预测,其核心思想就是比较已知y值的样本与未知y值样本的相似度,然
CNN结构特点1.局部连接使网络可以提取数据的局部特征 2.首先权值共享就是滤波器共享,即是用相同的滤波器去扫一遍图像,提取一次特征,得到feature map。在卷积网络中,学好了一个滤波器,就相当于掌握了一种特征,这个滤波器在图像中滑动,进行特征提取,然后所有进行这样操作的区域都会被采集到这种特征,权值共享大大降低了网络的训练难度,一个滤波器只提取一个特征,在整个图片(或者语音/文本) 中进行
VGG模型的升级回顾CNN卷积核池化原理使用2个3x3卷积核可以来代替5*5卷积核计算参数量VGG网络结构注意点:1*1的卷积核作用一:减少了参数量作用二:增加非线性作用三:从fully-connected layers的角度来理解1*1卷积核作用四:解决了需要固定输入图像尺寸的问题 模型的升级AlexNet(2012),VGG(2014),GoogleNet(2014),ResNet残差网络(
学习记录一级目录二级目录1.CNN(Convolutional Neural Networks,卷积神经网络)1.1神经元1.2激活函数1.3神经网络1.4卷积神经网络1.5什么是卷积2.RNN(Recurrent Neural Networks,循环神经网络)3.LSTM(Long Short Term Memory,长时间记忆网络)4.GRU(Gated Recurrent Unit)5.L
一.引言函数式 API 的重要特性是能够多次重复使用一个层实例,如果对一个层实例调用两次,而不是每次调用都实例化一个新层,那么每次调用就可以重复使用相同的权重。这样可以构建具有共享分支的模型。二.共享层权重1.模型结构假设模型判断两个句子的相似度,模型有两个输入,分别为句子A,句子B,并输出一个 0-1 的分数代表相似度。在这种前提下,句子AB是具备交换性的,即A与B的相似性应该与B与A的相似性是
深度学习的一些概念理解(共享权重,最大池化,激活函数,残差网络):深度学习中有一个概念,叫共享权重,就是一个层中是共享权重的,这样做的好处有两个: a 能够减少参数的数量,加速训练 b 由于共享权重,使得整幅图对应的这个权重下求的的特征具有平移不变性 个人对于共享权重的理解:其实所谓的共享权重,比如对于一个5X5的卷积,不管图像多大,全部使用这样的5X5的卷积核去做卷积,由于卷积大小的5X5
CupCnn是一个用java写的卷积神经网络。支持L1、L2正则化正则化的理论非常复杂,推导过程也比较繁琐,但是实现确实异常的容易,主要体现在权重的衰减。通俗的讲,就是我们每次在更新权重w的时候,可以的让他比应该的大小减小一点。// TODO Auto-generated method stub float[] wData = w.getData(); float[] gradData
1. CNN卷积网络-初识2. CNN卷积网络-前向传播算法3. CNN卷积网络-反向更新1. 前言如果读者详细的了解了DNN神经网络的反向更新,那对我们今天的学习会有很大的帮助。我们的CNN卷机网络中有3种网络结构。1. 卷积层,2.池化层,3.全连接层。全连接层的反向传播的方式和DNN的反向传播的方式是一样的,因为DNN的所有层都是全连接的结构。卷机层和池化层下文会继续讲解。2. 全连接反向更
双边滤波很有名,使用广泛,简单的说就是一种同时考虑了像素空间差异与强度差异的滤波器,因此具有保持图像边缘的特性。先看看我们熟悉的高斯滤波器其中W是权重,i和j是像素索引,K是归一化常量。公式中可以看出,权重只和像素之间的空间距离有关系,无论图像的内容是什么,都有相同的滤波效果。再来看看双边滤波器,它只是在原有高斯函数的基础上加了一项,如下其中 I 是像素的强度值,所以在强度差距大的地方(边缘),权
参数的更新有许多方法;1.Vanilla update 最简单的更新形式。假定x是参数矢量,dx是梯度。更新形式为:# Vanilla update x+=-leaning_rate*dx其中learning_rate是学习率。2Mumentum update 在深度网络中,通常能够得到更好的收敛速率。这种更新方法来源于优化问题的物理学上的观点。特别的,损失函数可以解释为山丘的高(也可以说成是
1. GCN公式,where    2. 拆解公式可将公式拆成2部分,normal =  ,权重更新 wx = 权重更新很容易理解,将X特征进行线性变换。为简单起见,设结点数为6,每个结点的特征数为5,且值均为1。即 矩阵X为 X[6,5],注:斜体代表矩阵的shape另外设权重W为w为1,bias为0的线性模型 ,输入层为5个神经元输出
目录李宏毅2022ML第三周课程笔记(三)-- CNN为什么使用CNN?卷积Convolution和fully connected layer的关系。池化Flatten李宏毅2022ML第三周课程笔记(三)-- CNN为什么使用CNN?        一张图片是一个三维的tensor,如果使用全连接神经网络架构,由于其
Contents1 R-CNN2 SPPNet3 Fast R-CNN4 Faster R-CNN5 三种目标检测神经网络对比说明      在RCNN系列算法提出之前,目标检测是基于滑动窗口的方法。在图片上,选择大小适宜的窗口、合适的步进长度,进行从左到右、从上到下的滑动来遍历整张图片。每个窗口区域都送入CNN模型进行识别。滑动窗口目标检测方法明显的缺点是计算成本高。其中滑动窗口的大小、步幅是
基础特征提取网络:VGG、PVANet、ResNet、IncRes V2、ResNeXt1、Faster R-CNN的思想:         Faster R-CNN可以简单地看做“区域生成网络RPNs + Fast R-CNN”的系统,用区域生成网络代替FastR-CNN中的Selective Search方法。Fa
卷积层高斯初始化 从均值为0,方差为1的高斯分布中采样,作为初始权值。PyTorch中的相关函数如下:torch.nn.init.normal_(tensor, mean=0, std=1)kaiming高斯初始化 由FAIR的大牛Kaiming He提出来的卷积层权值初始化方法,目的是使得每一卷积层的输出的方差都为1,具体数学推导可以参考论文[1]. 权值的初始化方法如下: Wl~N(0,2(1
  • 1
  • 2
  • 3
  • 4
  • 5