1 卷积神经网络:输入层

之前提到多层感知机的参数太多,导致训练耗时长并且对图像处理也不具有优势,因此大神们 就提出了多层神经网络,其中最经典的是卷积神经网络(Convolution Neural Network, CNN)。

一般 CNN网络分为输入层、卷积层、池化层、全连接层及输出层。以CNN中最经典的LeNet5网络结构来说明。LeNet5的结构为“输入层--卷积层1--池化层1--卷积层2--池化层2--全连接层1--全连接层2--输出层”,如下图所示:

输入层:主要是对输入数据进行求均值处理,使得样本数据的中心尽量调整到坐标系原点,包括将数据输出成特定格式,通过主成分分析PCA进行降维。总的来说,就是把输入数据尽量弄的少点,但又能代替原数据。

卷积神经网络:卷积层

卷积层:通常采用二维卷积计算对图像进行卷积,从而提取输入数据的关键特征,达到增强特征信息,过滤无用信息的目标,并为下一层输出特征图。

1、首先,先讲下关于卷积层的2个概念,一个是卷积核(又叫过滤器),一个是感受野。

卷积核:通过卷积核是 三维矩阵,由宽度、高度、深度三个参数组成。主要用于卷积过程中的加权求和

不同的卷积核效果也不一样 ,有些对颜色信息敏感,有些对图形形状敏感,因此一个CNN网络通常有多个卷积核。

感受野:卷积核作用的卷积窗口对应于原输入特征图的部分

上图为感受野示意图

按我当前的理解,卷积层输出的特征图就是感受野经过卷积核处理后输出的结果。

最后,经过卷积核处理后的输出,还需要通过激活函数处理,类似上次提到的阶跃函数。但是阶跃函数是线性的,而神经元本身也是线性的,因此一般常用的激活函数是sigmoid函数、tanh函数等非线性函数,从而增强神经网络的非线性拟合能力。

2、接着,讲讲卷积层的特性。

(1)局部连接

多层感知机用的是全连接模式,CNN采用的是局部连接模式。怎么理解?就是说在多层感知机里,多一个神经元需要处理同一块感受野;CNN中,一块感受野可能只由一个神经元处理。如下图右边所示。

(2)权重共享

由于每个神经元都有对应的权重数据,导致网络参数太多,无法快速调优网络;因此CNN采用的是权重共享,即所有神经元使用同一份权重数据。如下图右边所示。

3、再讲下卷积层计算方法

一种是直接卷积,就是对特征图进行边缘填充0,进行与权重矩阵相同维数的矩阵进行矩阵乘法。以示例图为例,将特征图外围扩展了一圈0,然后以每次左移的步长为2的频率进行与权重数据矩阵相乘。

▲此为直接卷积

第二种是矩阵乘法实现卷积。通过Img2Col函数将特征图和权重矩阵都展开成可实现相乘的维度,如下图

▲此为矩阵乘法卷积

针对卷积层的计算加速,又有5层层次的并行性,我不太感兴趣,就不去了解了。

书中提到,昇腾AI处理器采用的是矩阵乘法卷积的方式。而卷积层的参数量和计算量一般是神经网络中的重头,因此卷积层的合理设计可以算是一个产品的核心算法。

卷积神经网络:池化层

池化层:为了防止过拟合,通过在相邻卷积层之间进入池化处理,减少每一层特征值数目,保留主特征。

一般 池化处理是对不同位置区域提取具有代表性的特征值,如最大值、平均值,对应的池化函数即为最大池化和平均池化。池化层综合了输入特征图周围全部特征信息的反馈和影响,又减少了输出数据量,从而提升了神经网络的计算效率。

(这块技术,好像不是什么核心算法,因为作者也只是简单地带过。

全连接层输出

全连接层相当于一个多层感知机,对不同输入特征进行分类。

总结

看了第一章,只能说大致了解了神经网络的概貌,对其中很多的数学公式推导、一些优化处理并没有深入了解。感觉自己看了也会一知半解,容易遗忘,就不去仔细阅读了。

好啦,下次就进入《昇腾AI处理器》的第二单--行业背景,如芯片加速理论、深度学习框架等。

作者:华为云合作开发者 鹏哥贼优秀

【读一本书】《昇腾AI处理器架构与编程》--神经网络基础知识(2)相关推荐

  1. 【读一本书】《昇腾AI处理器架构与编程》--神经网络基本知识学习(1)

    今天我们要讲的主题是 -- 神经网络基础知识. 1 聊聊为啥写这个系列 我最开始玩公众号的前因,其实在第一篇博客里就提过了,主要是为了督促自己学习并记录.分享自己的想法.因此断断续续地写了20+pyt ...

  2. 华为昇腾 AI 处理器架构大揭秘! | 华为昇腾师资培训沙龙武汉场

    「无 AI,不科技」.在AI 产业逐步落地成熟的今天,AI 人才的争夺战已打响,甚至有不少网友预测,未来AI 开发将成为人人必备的技能之一.不过,现实来看,无论是 AI 三驾马车中的数据.算力.算法, ...

  3. 助力高校学子快速上手!昇腾AI处理器应用开发实践一览|华为昇腾师资培训沙龙北京场...

    如今,AI技术已渗透到各个行业,随着AI技术应用的蓬勃发展,相关专业的人才缺口也日益增大. 为了助力高校人工智能领域人才培养及学科建设,华为通过昇腾师资培训沙龙,面向广大高校教师提供昇腾全栈全场景AI ...

  4. 解密昇腾AI处理器--Ascend310简介

    Ascend310 AI处理器规格 Ascend310 AI处理器逻辑架构 昇腾AI处理器本质上是一个片上系统(System on Chip,SoC),主要可以应用在和图像.视频.语音.文字处理相关的 ...

  5. 昇腾AI处理器软件栈--数字视觉预处理(DVPP)

    数字视觉预处理模块作为昇腾AI软件栈中的编解码和图像转换模块,为神经网络发挥着预处理辅助功能.当来自系统内存和网络的视频或图像数据进入昇腾AI处理器的计算资源中运算之前,由于Davinci架构对输入数 ...

  6. 昇腾AI处理器软件栈--流程编排器(Matrix)

    功能简介 昇腾AI处理器对网络执行层次进行划分,将特定功能的执行操作看做基本执行单位--计算引擎(Engine).每个计算引擎在流程编排过程中对数据完成基本操作功能,如对图片进行分类处理.输入图片预处 ...

  7. 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验

    前言 强大的社会粘性不断催温数字化发展,目标检测与识别作为计算机视觉领域的一项关键技术,应用场景广泛,前景十分广阔,从城市治理.楼宇园区.互联网等领域,延伸至智能家居.金融.医疗影像等更多创新领域.随 ...

  8. 【昇腾学院】昇腾AI处理器软件栈--框架管理器(Framework)离线模型生成

    离线模型生成 以卷积神经网络为例,在深度学习框架下构造好相应的网络模型,并且训练好原始数据,再通过离线模型生成器进行算子调度优化.权重数据重排和压缩.内存优化等,最终生成调优好的离线模型.离线模型生成 ...

  9. 昇腾AI处理器软件栈--运行管理器(Runtime)

    神经网络构造中,算子组成了不同应用功能的网络结构.而张量加速引擎(Tensor Boost Engine)作为算子的兵工厂,为基于昇腾AI处理器运行的神经网络提供算子开发能力,用TBE语言编写的TBE ...

最新文章

  1. ThinkPHP快捷查询
  2. 办公自动化 (新型办公方式)
  3. Signalr实时通讯
  4. Effective C# 摘录(1) - C# Language Elements
  5. VTK:PolyData之ReverseSense
  6. Andriod 学习笔记 layout布局
  7. [唐诗]189长相思-李白
  8. [css] css的加载会阻塞DOM树解析和渲染吗?为什么
  9. LeetCode 1145. 二叉树着色游戏(计算节点个数)
  10. python读json文件中不同的数据类型_怎么使用python提取json文件中的字段
  11. VMware Converter P2V 时,卡住
  12. 智能电能计量管理系统
  13. Mysql 数据库(一)—— 初识 Mysql
  14. 前端token是什么?怎么进行封装使用
  15. Anaconda Prompt到底是什么? 和系统自带cmd命令提示窗区别又是什么?
  16. 学习笔记(05):【中国PHP教育大牛高洛峰】亲授php教程-PHP常量的介绍
  17. 互动媒体作业之艺术作品赏析
  18. c语言求标准体重答案,c语言编写一个标准身高体重自测程序
  19. 编程序求解方程实数根
  20. 武汉7字头研究所盘点

热门文章

  1. mysql中文乱码解决_Stata 中文乱码顽疾解决方法
  2. 随便选一张扑克牌_教大家怎么快速记忆扑克牌?一学就会
  3. zabbix邮件脚本报警
  4. Field 'CID' doesn't have a default value
  5. 【转】UINavigationBar 使用总结
  6. 仿淘宝分页按钮效果简单美观易使用的JS分页控件
  7. 大家一起做训练 第一场 A Next Test
  8. oracle伪列查询第一行,用ORACLE 中伪列rownum对查询结果进行排序
  9. PAT乙级(1004 成绩排名)
  10. PAT乙级(1003 我要通过!)