原文链接:https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/

借这篇文章进行卷积神经网络的初步理解(Convolutional Nerual Networks)

Image Classification

  Image classification(图像分类) is the task of taking an input image and outputting a class(a dog, a cat, ect.) or a probablity of classes that best describes the image.

Inputs and Outputs

  When a computer sees an image, it will see an array of pixel values, e.g. 32*32*3, RGB(red,green,blue) values.

  /****补充****/

  单通道图:俗称灰度图,每个像素点只能有一个值表示颜色,像素值在0-255之间(0是黑色,255是白色,中间值是一些不同等级的灰色)。

  三通道图(RGB):每个像素点有三个值表示,对红、绿、蓝三个颜色的通道值变化以及它们之间的相互叠加来得到各种各样的颜色。三通道灰度图指的是三个通道的值相同。

Biological Connection

  某些神经元只对特定方向的边缘做出响应,一些神经元只对垂直方向做出响应,一些只对水平方向等。这些神经元都在一个柱状组织里(人眼中的光感受器:柱状体,对事物有一个总体感知),是卷积神经网络的基础。

First Layer - Math Part(Convolutional Layer aka conv layer)

  

  The filter(or a neuron神经元/kernel) has an array of numbers,called weights or parameters. The filter is convolving, next step(stride) is moving to the right by 1 unit.

  The depth of this filter has to be the same as the depth of the input, so the filter is 5*5*3. If we use two filters(5*5*3), the output would be 28*28*2.

First Layer - High Level Perspective

  Each of these filters can be thought of as feature identifiers(straight edges, colors, curves ect.).

  E.g. a curve detector

  The filter will have a pixel structure in which there will be higher numerical values along the area that is a shape of a curve.

  

  So we take this image as example.

  

  (可见第一幅图匹配度高,第二幅匹配度低)

Going Deeper Through the Network

  A classic CNN architecture would look like this:

  Input -> Conv -> ReLU -> Conv -> ReLU -> Pool -> ReLU -> Conv -> ReLU -> Pool -> Fully Connected Layer

  (ReLU:激活函数,Pool:池化层)

  There're other layers that are interspersed(点缀,散布) between these conv layers, they provide nonlinearities (ReLU) and preservation(维度保护) of dimension(Pool) that help to improve the robustness(鲁棒性) of the network and control overfitting.

  As you go through more and more conv layers,(i).you get activation maps that represent more and more complex features;(ii).the filters begin to have a larger and larger receptive field.

Fully Connected Layer(FC)

  全连接层在整个网络中起到分类器的作用,可用卷积实现。

  目前全连接由于参数冗余(仅全连接层参数就可占整个网络参数80%左右),近期有使用全局平均池化(global average pooling,GAP),通常有较好的预测性能。

  

A Beginner's Guide To Understanding Convolutional Neural Networks Part One (CNN)笔记的更多相关文章

  1. A Beginner's Guide To Understanding Convolutional Neural Networks(转)

    A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural ...

  2. (转)A Beginner's Guide To Understanding Convolutional Neural Networks Part 2

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolution ...

  3. (转)A Beginner's Guide To Understanding Convolutional Neural Networks

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolution ...

  4. [转] Understanding Convolutional Neural Networks for NLP

    http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/ 讲CNN以及其在NLP的应用,非常 ...

  5. Understanding Convolutional Neural Networks for NLP

    When we hear about Convolutional Neural Network (CNNs), we typically think of Computer Vision. CNNs ...

  6. [转]An Intuitive Explanation of Convolutional Neural Networks

    An Intuitive Explanation of Convolutional Neural Networks https://ujjwalkarn.me/2016/08/11/intuitive ...

  7. An Intuitive Explanation of Convolutional Neural Networks

    https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/ An Intuitive Explanation of Convolu ...

  8. 一目了然卷积神经网络 - An Intuitive Explanation of Convolutional Neural Networks

    An Intuitive Explanation of Convolutional Neural Networks 原文地址:https://ujjwalkarn.me/2016/08/11/intu ...

  9. 卷积神经网络用于视觉识别Convolutional Neural Networks for Visual Recognition

    Table of Contents: Architecture Overview ConvNet Layers Convolutional Layer Pooling Layer Normalizat ...

随机推荐

  1. ActiveMQ基础简介

    1. 什么是ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 ...

  2. bizcharts在火狐上的Invalid date报错

    bizcharts在火狐上的Invalid date报错,是因为 bizcharts 所用到的 fecha在 火狐上 只能接收日期对象类型的日期,不能接收日期字符串.

  3. Java注解【三、注解的分类】

    按运行机制分 源码注解 只在源码中存在 编译时注解 在class中依然存在,如@Deprecated 运行时注解 运行阶段起作用,如@Autowired 按来源分 JDK自带注解 三方注解 最常见 自 ...

  4. Centos网卡名称命名

    1. vim /etc/sysconfig/grub     编辑/etc/sysconfig/grub文件 添加  net.ifnames=0 biosname=0 GRUB_TIMEOUT= GR ...

  5. STM32定义变量位于指定的SRAM地址

    1.定义一个数组比如value[],让数组的首地址指向特定的SRAM地址,比如0x20000100 1)__align(8) uint8_t value[20] __attribute__((at(0 ...

  6. MFC的一些常用操作

    一.添加消息 MFC和win32不同的一点是MFC采用的是消息的映射机制,即每一个消息都和处理的函数做了映射,我们可以通过查找的方式来得到消息的对应的函数,当然MFC提供了一个非常简便的方法,我们通过 ...

  7. Linux (Ubuntu)使用vi和vim方向键变成了ABCD

    ubuntu下 vi输入方向键会变成ABCD,这是ubuntu预装的是vim tiny版本,安装vim full版本即可解决. 首先,卸载了原有的vim $ sudo apt-get remove v ...

  8. js失效问题

    由于有些公司设计的js文件涉及到收费问题,提供的这些js文件不能部署到线上,只能通过127.0.0.1:8080/home类似方式访问js才能生效,换作10.140.111.11:8080/home这 ...

  9. 1.RPC原理学习

    1.什么是RPC:远程过程调用协议 RPC(Remote Procedure Call Protocol)— 远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要 了解底层网络技术的协 ...

  10. API开发之接口安全(一)----生成sign

    在对于API的开发中 最让人头疼的 就是接口数据暴露 让一些有心之人 抓包之后恶意请求 那么如何解决这一弊端呢?自然而然的 我们就想到了 加密  那我们又如何加密 如何解密 才能使之有最安全的效率呢? ...