8- 深度学习之神经网络核心原理与算法-卷积神经网络

卷积神经网络(CNN)

神经网络不是一种具体的算法,而是一种模型构建思路或方式。

我们之前已经成功的构建了BP网络,BP网络的每个神经元是由线性分类器+激励函数形成的。每个神经元前后首尾连接,形成一个网络结构。

BP网络的局限性。是否可以做一些新的逻辑单元或构建方式。绝大部分的模式识别都借鉴了卷积神经网络的关键组件。

与全连接网络的对比

全连接网络(Full Connect Network)

每一个神经元节点的出入都来自于上一层的每一个神经元的输出。(全连接)

优点: 每个维度的信息都会传播到其后的任何一个节点中去。(让网络不会漏掉这个维度贡献的因素) 缺点: w和b 格外的多,更新(权重太多)慢,收敛慢

如果使用全连接网络来做图像识别这种输入维度很高的就不太可行了。因为电脑的计算力不足。

卷积神经网络同样也是一种前馈神经网络。

卷积神经网络的神经元可以响应一部分覆盖范围内的周围的单元。 对于大规模的模式识别是非常好的,性能表现不错,尤其是对于大规模的图像处理效率,卷积神经网络它的效率是非常高的。

两大特点:

  • 有至少一个卷积层,用来提取特征
  • 卷积层通过权值共享,减少权值w的数量,加快收敛速度。

权值减少了之后,这样卷积神经网络会快于BP神经网络收敛。

卷积网络主要用来识别位移,缩放,以及其他形式的扭曲不变性二维图形。 那么由于我们之前介绍的比较大的特点。卷积网络在特征检测层通过训练数据进行学习。

所以在使用卷积神经网络时,你就可以避免显示的去提取特征。而可以隐式的从训练数据中进行学习。

再者,由于同一特征映射层面上的神经元,它使用的是权值共享的方式,所以网络可以并行的学习,这也使得卷积神经网络,相对于神经元彼此相连的网络,具有更大优势。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

20120918-向量实现《数据结构与算法分析》

#include <iostream> #include <list> #include <string> #include <vector> #include...

1726
来自专栏alexqdjay

HashMap 多线程下死循环分析及JDK8修复

1K4
来自专栏Phoenix的Android之旅

Java 集合 Vector

List有三种实现,ArrayList, LinkedList, Vector, 它们的区别在于, ArrayList是非线程安全的, Vector则是线程安全...

672
来自专栏Hongten

ArrayList VS Vector(ArrayList和Vector的区别)_面试的时候经常出现

1692
来自专栏拭心的安卓进阶之路

Java 集合深入理解(6):AbstractList

今天心情比天蓝,来学学 AbstractList 吧! ? 什么是 AbstractList ? AbstractList 继承自 AbstractCollec...

19110
来自专栏开发与安全

算法:AOV网(Activity on Vextex Network)与拓扑排序

在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称之为AOV网(Activity on Vextex ...

2517
来自专栏拭心的安卓进阶之路

Java 集合深入理解(12):古老的 Vector

今天刮台风,躲屋里看看 Vector ! 都说 Vector 是线程安全的 ArrayList,今天来根据源码看看是不是这么相...

2447
来自专栏聊聊技术

原 初学图论-Kahn拓扑排序算法(Kah

2878
来自专栏学海无涯

Android开发之奇怪的Fragment

说起Android中的Fragment,在使用的时候稍加注意,就会发现存在以下两种: v4包中的兼容Fragment,android.support.v4.ap...

3165
来自专栏java闲聊

JDK1.8 ArrayList 源码解析

当运行 ArrayList<Integer> list = new ArrayList<>() ; ,因为它没有指定初始容量,所以它调用的是它的无参构造

1192

扫码关注云+社区