原文链接: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. Spring AOP的理解和使用

    AOP是Spring框架面向切面的编程思想,AOP采用一种称为“横切”的技术,将涉及多业务流程的通用功能抽取并单独封装,形成独立的切面,在合适的时机将这些切面横向切入到业务流程指定的位置中. 掌握AO ...

  2. odoo xml中添加数据的数字代表含义

    参考原文:https://alanhou.org/odoo12-import-export-data/ <?xml version="1.0"?> <odoo n ...

  3. electron api sendInputEvent 源码

    electron-master\electron-master\shell\browser\api\atom_api_web_contents.cc // Copyright (c) 2014 Git ...

  4. Eclispe造成的tomcat占用端口 无法启动 强制终止进程 转载

    很多时候运行tomcat 的时候总是会提示tomcat 的端口被占用 但是任务管理器里面还找不到是哪个端口被占用了 因此很多人就重新配置tomcat  或者去修改tomcat的端口号 ,其实这么做太麻 ...

  5. vim文本编辑及文件查找应用1

    vim编辑器:    文本编辑器:        文本:纯文本,ASCII text;Unicode(全球通用); 文本编辑种类:        行编辑器:sed        全屏编辑器:nano, ...

  6. javascript基本语法点

    1. getElementById例:<input type="text" id="user" />则getElementById('user'). ...

  7. C# .NET 微信开发-------当微信服务器推送消息时如何接收处理

    最近一直在看微信,整整一个月了,看到现在说实话还有很多没看的,从前两周一点看不懂到现在单个功能的一步步实现,不知道这样的速度是否太慢了. 不过现在往下看还是有思路了,目前整个文档完成学习只有1/3左右 ...

  8. unzip解压3G或者4G以上文件失败的解决方法

    Linux下,使用unzip解压时,报错:End-of-central-directory signature not found.  Either this file is nota zipfile ...

  9. PAT乙级1013

    题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805309963354112 题解一 从第一个素数开始找起,输出 ...

  10. java-udp编程

    TCP/IP UDP都是基于传输层的:而udp发送数据会出现丢包的情况,发送一个数据不管对方接收不接收,发送过去就完事了: udp的特点:将数据源和目的封装成数据包中,不要建立连接:(Datagram ...