一、CNN基础

(1)CNN在CV方面的应用

image classification(图像识别)、object detection(目标检测)、neural style transfer(风格迁移)等。

(2) CNN

卷积层、池化层(maxpooling最常见)、全连接层

(3) Lenet-5参数数量计算:

(4) CNN 每一层输入输出feature map大小

各个参数的维度:

(5) CNN优势

减少参数数量: 参数共享 & 稀疏连接

(6) 训练方法

梯度下降优化

二、梯度下降与反向传播

CNN正向传播过程:

Z = conv(A_prev, W, b)

A = activation(Z)

反向传播求导:

dZ 已知:

其中dZ 可以通过池化层反向传播用dA计算。

三、CNN进展

(1)几种经典CNN结构

(2)Resnet

意义:

如果已经达到最优,继续加深网络不会降低网络的性能。

(3)1*1卷积层

Resnet中skip connection层与曾之间feature map数量不匹配时,使用1*1卷积层进行通道数量降维和升维。

(4) GoogleNet- Inception network

使用1*1卷积层进行通道整合和特征数降维

四、目标检测

(1)输出标签表示形式

(2)使用卷积层实现 sliding window

(3)评估定位精确程度

Intersection over Union

(4)非极大抑制(non-max suppression)

(5) anchor box

多目标检测,输出增加多目标分量

(6) 目标检测方法小结

传统方法步骤:

  1. sliding window框出候选区域;
  2. 提取候选区域特征,如HOG特征等;
  3. 分类器进别,如SVM等。

传统方法: DPM(Deformable Part Model),HOG+SVM,检测速度较慢。

深度学习方法:代表方法有R-CNN (Region-based Convolutional Neural Networks)和 YOLO。R-CNN是基于区域的卷积神经网络,结合Region Proposal和CNN,YOLO将图片分为S*S分区,每个分区检测中心点位于该分区的目标。其他方法包括SPP-net、Fast R-CNN、Faster R-CNN、R-FCN、SSD等

基于深度学习的目标检测方法大致分为两类:基于Region Proposal的和端到端(end-to-end)的,前者包括R-CNN、SPP-net、Fast R-CNN、Faster R-CNN、R-FCN,后者包括YOLO、SSD。

五、Siamese network

(1) one-shot learning  & Siamese network

样本很少的情况, 类似于 knn 问题,关键在于找到相似度衡量方式

Siamese network是一种相似性度量方法,用于处理类别数多,但每个类别的样本数量少的情况的识别、分类等问题。主要思想是通过一个函数将输入图像映射到目标空间,在目标空间使用简单的距离(欧式距离等)进行相似度比较。在训练阶段,最小化来自相同类别的一对样本的损失函数值,最大化来自不同类别的一堆样本的损失函数值。

(2)triplet loss

Triplet Loss是一种损失函数,用于训练差异性较小的样本,数据包括锚(Anchor)、正(Positive)样例、负(Negative)样例。

convolutional neural network 课程笔记的更多相关文章

  1. A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK文章笔记

    A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK 文章地址:https://ieeex ...

  2. HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK阅读笔记

    HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL  DEEP  CONVOLUTIONAL NEURAL NETWORK 论文地址:https:/ ...

  3. 论文笔记之《Event Extraction via Dynamic Multi-Pooling Convolutional Neural Network》

    1. 文章内容概述 本人精读了事件抽取领域的经典论文<Event Extraction via Dynamic Multi-Pooling Convolutional Neural Networ ...

  4. 论文笔记:(CVPR2019)Relation-Shape Convolutional Neural Network for Point Cloud Analysis

    目录 摘要 一.引言 二.相关工作 基于视图和体素的方法 点云上的深度学习 相关性学习 三.形状意识表示学习 3.1关系-形状卷积 建模 经典CNN的局限性 变换:从关系中学习 通道提升映射 3.2性 ...

  5. Convolutional Neural Network in TensorFlow

    翻译自Build a Convolutional Neural Network using Estimators TensorFlow的layer模块提供了一个轻松构建神经网络的高端API,它提供了创 ...

  6. 论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)

    Weilin Huang--[TIP2015]Text-Attentional Convolutional Neural Network for Scene Text Detection) 目录 作者 ...

  7. 卷积神经网络(Convolutional Neural Network,CNN)

    全连接神经网络(Fully connected neural network)处理图像最大的问题在于全连接层的参数太多.参数增多除了导致计算速度减慢,还很容易导致过拟合问题.所以需要一个更合理的神经网 ...

  8. 卷积神经网络(Convolutional Neural Network, CNN)简析

    目录 1 神经网络 2 卷积神经网络 2.1 局部感知 2.2 参数共享 2.3 多卷积核 2.4 Down-pooling 2.5 多层卷积 3 ImageNet-2010网络结构 4 DeepID ...

  9. 【论文阅读】ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

    ShuffleNet: An Extremely Efficient Convolutional Neural Network for MobileDevices

  10. 《ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs》

    代码: keras:https://github.com/phdowling/abcnn-keras tf:https://github.com/galsang/ABCNN 本文是Wenpeng Yi ...

随机推荐

  1. 【转】java与C++的区别

    转自:http://club.topsage.com/thread-265349-1-1.html Java并不仅仅是C++语言的一个变种,它们在某些本质问题上有根本的不同: (1)Java比C++程 ...

  2. 算法笔记_058:蓝桥杯练习 2的次幂表示(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001. 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面 ...

  3. dmesg 时间转换脚本

    https://linuxaria.com/article/how-to-make-dmesg-timestamp-human-readable perl脚本 #!/usr/bin/perl use ...

  4. JavaScript Map 实现

    //定义map function Map() { this.container = {}; } //将key-value放入map中 Map.prototype.put = function(key, ...

  5. Java提高合集(转载)

    转载自:http://www.cnblogs.com/pony1223/p/7643842.html Java提高十五:容器元素比较Comparable&Comparator深入分析 JAVA ...

  6. 【转】C#播放H264裸码流

    原文地址:https://www.cnblogs.com/cangyue080180/p/5873351.html 要播放H264裸码流,可以分拆为以下三个工作: 1.解码H264裸码流获取YUV数据 ...

  7. Python sklearn 分类效果评估

    https://blog.csdn.net/sinat_26917383/article/details/75199996

  8. python 特征缺失值填充

    python数据预处理之缺失值简单处理:https://blog.csdn.net/Amy_mm/article/details/79799629 该博客总结比较详细,感谢博主. 我们在进行模型训练时 ...

  9. 远程重启WIN服务器

  10. html5-canvas绘图操作方法

    <script>function draw(){    var c=document.getElementById("mycanvas");    c.width=50 ...