原文链接: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. ASE第二次结对编程——Code Search

    复现极限模型 codenn 原理 其原理大致是将代码特征映射到一个向量,再将描述文字也映射到一个向量,将其cos距离作为loss训练. 对于代码特征,原论文提取了函数名.调用API序列和token集: ...

  2. 05.Zabbix自动化监控

    1.Zabbix自动发现(被动) 网络发现官方手册 网络发现由两个阶段组成:发现discovery和动作actions 1.单击配置->自动发现->启动默认的Local network 2 ...

  3. Lua游戏逆向及破解方法介绍

    Lua游戏逆向及破解方法介绍   背景介绍 随着手游的发展,越来越多的Cocos-lua端游开发者转移到手游平台.Lua脚本编写逻辑的手游也是越来越多,如梦幻西游.刀塔传奇.开心消消乐.游龙英雄.奇迹 ...

  4. 《设计模式之美》 <01>为什么需要学习掌握设计模式?

    1. 应对面试中的设计模式相关问 题学习设计模式和算法一样,最功利.最直接的目的,可能就是应对面试了.不管你是前端工程师.后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类 ...

  5. hashmap C++实现分析及std::unordered_map拓展

    今天想到哈希函数,好像解决冲突的只了解了一种链地址法而且也很模糊,就查了些资料复习一下 1.哈希Hash 就是把任意长度的输入,通过哈希算法,变换成固定长度的输出(通常是整型),该输出就是哈希值. 这 ...

  6. git fetch和pull的区别

    Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge   1 2 3 Git fetch origin master ...

  7. mac 环境下Android 反编译源码

    mac环境下Android 反编译 一.需要的工具 apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件. dex2jar:将反编译后的classes. ...

  8. Kettle 事务、转换内顺序、excel模版、使用踩坑

    kettle中转换和作业的执行顺序:     1.一个作业内的转换,是顺序执行的.     2.一个转换内的步骤是并行执行的.     3.作业内不支持事务,转换内支持事务. 根据业务需要,通常需要在 ...

  9. java 和 c#返回值方法

    java 和 c#都是应用很广泛的语言,也互有优劣. 这两者都是面向对象的语言,在一个方法中如果类型不是void那么是需要return一个返回值的. 但是如果想要返回多个值该怎么办? 排除直接返回一个 ...

  10. 洛谷-p5410-扩展KMP模板

    链接: https://www.luogu.org/problem/P5410#submit 题意: 有两个字符串aa,bb,要求输出bb与aa的每一个后缀的最长公共前缀 思路: 扩展kmp模板, 上 ...