人人都能读懂卷积神经网络:Convolutional Networks for everyone

【导读】近日,Rohan Thomas发布一篇博文,通俗地讲解了卷积神经网络的结构、原理等各种知识。首先介绍了卷积神经网络(CNN)和人工神经网络(ANN)的不同,然后详细解释了卷积神经网络的各种概念:卷积核、pooling层、激活函数、全连接层、过拟合等问题,最后用python实现一个MNIST分类的CNN结构。整体而言,博文的写作风格通俗易懂,旨在为读者提供易于理解的CNN教程,对CNN不太了解的读者千万不可错过。专知内容组编辑整理。

Convolutional Networks for everyone

构建卷积神经网络(CNN)并不是一项巨大挑战,并不是只有数据科学家和机器学习工程师才可以做到。对于了解它的架构的人,很容易通过实现它来解决相应的人工智能(AI)或机器学习(ML)问题。

这篇博文使深度学习架构易于理解,而不涉及太多的数学解释。

▌卷积网络的人工神经网路



来源: https://goo.gl/aX44Z1

在ANN中有一个输入层,其中输入将是输入向量的长度(例如,28×28 = 784个神经元)。 让我们来看卷积网络与人工神经网络的不同之处。

▌CNN的网络结构与ANN有什么不同



1. ConvNet体系结构明确地规定输入是图像。

2. 它们的体系结构不同于前馈神经网络,通过减少要学习的参数数量来提高它们的效率。

3. 在ANN中,如果你有一个150x150x3的图像,第一个隐藏层中的每个神经元将有67500个权重。

4. ConvNets具有神经元的三维输入,一个层中的神经元只连接到之前层的一个小区域。

▌ConvNets



ConvNet层中的神经元有三个维度:高度,宽度,深度。

这里的深度并不是整个网络的深度。它是指层的第三维,因此是激活体积(activationvolumes)的第三维。

本质上,ConvNet由层组成,且具有简单API——用一些可微函数(可能具有参数,可能没有参数),将三维输入体积转换为三维输出体积。

来源: StanfordUniversity (https://goo.gl/rHmTSP)

▌CNN中的层



  • 输入层 - 包含高度x宽度x深度(R,G,B)
  • 卷积层 - 连接到输入图像的一小部分
  • 激活函数 - 在CNN层中使用的RELU激活函数
  • 池化层 - 用于在宽度,高度上进行下采样
  • 全连接层

▌CNN结构



source : MathWorks (https://goo.gl/zondfq)

▌核或过滤器



来源: Stanford University (https://goo.gl/g8FV4M)

一个过滤器由一个权重向量来表示,我们将其与输入图像进行卷积。 您可以增加输入上的过滤器数量,以增加您获得的激活映射的数量。 每个过滤器都会产生一个激活映射。

你得到的每个激活映射都试图学习图像的不同方面,如边缘、颜色斑点等。

如果在32x32x3的图像卷积上实现了12个大小为5x5x3的过滤器,则第一个卷积层在某些条件下将具有28x28x12的大小。

几个过滤器被用来提取NNet的卷积层中的几个特征。 3X3矩阵的一个步骤就叫做“步幅”。

▌激活函数



激活函数通常是一个单元格中动作潜在的速率的抽象表示。

主要有线性激活和非线性激活。没有非线性激活的神经网络将非常强大。 引入非线性的激活函数是必需的。

▌调整的线性单元层(ReLU)



和前馈神经网络一样,Convnet中激活层的目的是引入非线性。

R(z)= max(0,z)是用于RELU激活的等式。 考虑两个正数和一个负数

Positive(正数) R(1) =max(0,1) = 1 → Postive 输出

Negative(负数)

R(-1) = max(0,-1) = 0 → Negative 输出

它减少了网络中的参数数量,从而使其能够学得更快。

Softmax 激活

Softmax是逻辑激活函数,用于多类别分类

Softmax函数应用于网络的最后一层,用于预测类别的最大概率。

▌Pooling Layer



来源: Wiki (https://goo.gl/snMC4o)

来源: Towards Data Science (https://goo.gl/xohkdV)

pooling用于在深度不变的前提下,对图像的宽度,高度进行下采样。 主要有三种类型的pooling。 最小值pooling,最大值pooling,平均值pooling。

pooling层独立地在每个深度层面上独立工作,使用指定的数学运算(例如MAX或者Avg)来调整层的大小。

▌全连接层



最后,经过多个卷积和最大pooling层后,神经网络中的高层推理通过全连接层完成。正如常规神经网络中所见,全连接层中的神经元与前一层中的所有激活都有连接。因此可以用一个矩阵乘法和一个偏置(bias)偏移来计算它们的激活。

在全连接层中使用softmax激活来获取最大概率并进行预测。

▌过拟合问题



训练数据的分类精度可能超过“训练精度”,如果训练精度超出了我们的测试精度,则意味着我们的模型训练数据时过于强调细节和有噪声的学习,能很好地在训练数据上工作。资源(Rutger Ruizendaal,Towards Data Science, https://goo.gl/87as34)

减少过拟合:

1、增加更多数据

2、使用数据增强

3、使用泛化的体系结构

4、加入正则化(或者mostly dropout, L1/L2 regularization)

5、降低架构的复杂性。

▌实现cnn



让我们尝试在MNSIT数据集中实现CNN。

可以再下址下载 (http://yann.lecun.com/exdb/mnist/)

更多链接:

www.github.com/rohanthomas www.rohanthomas.me http://www.deeplearningbook.org/ (Book by Ian Good Fellow, Yoshua Bengio, Aaron Courville

原文链接:

https://medium.com/@rohanthomas.me/convolutional-networks-for-everyone-1d0699de1a9d

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2018-01-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

数据挖掘算法(logistic回归,随机森林,GBDT和xgboost)

面网易数据挖掘工程师岗位,第一次面数据挖掘的岗位,只想着能够去多准备一些,体验面这个岗位的感觉,虽然最好心有不甘告终,不过继续加油。 不过总的来看,面试前有准备...

7099
来自专栏PPV课数据科学社区

机器学习常见的算法面试题总结

摘要:包含机器学习常见算法公式、原理和优缺点比较,简介清洗,适合作为面试和考试前速查和记忆使用。 朴素贝叶斯 P(A∩B)=P(A)*P(B|A)=P(B)*P...

1.1K5
来自专栏李智的专栏

斯坦福CS231n - CNN for Visual Recognition(3)-lecture3(下)最优化

  上节我们已经介绍了图像分类的两个关键部分:评分函数与损失函数,接下来就是最优化的问题了,即如何寻找使得损失函数值最小的WW。 对于SVM 得分函数:...

881
来自专栏IT派

深度学习入门必看秘籍

导语:本文是日本东京 TensorFlow 聚会联合组织者 Hin Khor 所写的 TensorFlow 系列介绍文章,自称给出了关于 TensorFlow ...

3406
来自专栏书山有路勤为径

深度卷积网络:实例探究

介绍几种经典的卷积神经网络结构,分别是LeNet、AlexNet、VGGNet。 LeNet-5 LeNet-5主要是针对灰度设计的,所以其输入较小,为32...

924
来自专栏Duncan's Blog

记录几个经典模型

2.1 gbdt 的算法的流程? gbdt通过多轮迭代,每轮迭代生成一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练.(弱分类器一般会选择CART T...

1592
来自专栏派树AI

机器学习笔记——Logistic回归算法

logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。

1560
来自专栏深度学习自然语言处理

白话word2vec

word2vec 是2012年被被Google提出来的将文本生成词向量模型,其中包括了两个模型,continous bag of words(CBOW)和Ski...

1672
来自专栏红色石头的机器学习之路

台湾大学林轩田机器学习技法课程学习笔记1 -- Linear Support Vector Machine

关于台湾大学林轩田老师的《机器学习基石》课程,我们已经总结了16节课的笔记。这里附上基石第一节课的博客地址: 台湾大学林轩田机器学习基石课程学习笔记1 – Th...

2600
来自专栏AI科技大本营的专栏

干货 | 上手机器学习,从搞懂这十大经典算法开始

翻译 | AI科技大本营(rgznai100) 参与 | 林椿眄 编辑 | 波波,Donna 在机器学习领域,“没有免费的午餐”是一个不变的定理。简而言之,没有...

37210

扫码关注云+社区

领取腾讯云代金券