我的编程空间,编程开发者的网络收藏夹
学习永远不晚

卷积神经网络(CNN)的整体框架及细节(详细简单)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

卷积神经网络(CNN)的整体框架及细节(详细简单)

一:引言

我们传统的神经网络和卷积神经网络有什么区别?
下图所示,左图就是我们传统的神经网络(NN)(想了解NN的小伙伴可以先划到最后的参考文章部分),右图就是卷积神经网络(Convolutional Neural Network)(CNN),我们在这张图中可以明显地看出,左图看上去像二维的,右图好像是一个三维的图,举个例子,比如在传统神经网络输入的一张图有784个像素点,所以输入层就有784个神经元,但在我们的CNN中输入的就是原始的图像28*28*1(是三维的),它是一个三维的矩阵。我们可以看到右图中又定义三维名称‘height*width*depth’简称‘h*w*d’,接下来我们就围绕着卷积层和深度到底怎么变换展开。

 

二:大体介绍CNN:

如下图所示就是CNN的整体架构,和我们讲述NN的文章相同,这次也是从整体架构入手,帮助大家了解CNN,总共有四个部分:输入层 ,卷积层 ,池化层 ,全连接层 。

 

三:详细介绍CNN:

(1):输入层:

输入层就是和上文的例子相同,如图中的最左边的图片假设就是我们需要输入的,假设是‘28*28*3’,分别对应‘h*w*d’,其中对于图片输入来说通常是以RGB三通道的形式输入,所以d通常是3,如下图中的第二张图片就是后面三个通道图片相叠加而来

 

(2):卷积层(核心):

卷积层是如何工作的呢?我们先给定一个简单的例子,如下图所示:

 

假设我们输入的是5*5*1的图像,中间的那个3*3*1是我们定义的一个卷积核(简单来说可以看做一个矩阵形式运算器),通过原始输入图像和卷积核做运算可以得到绿色部分的结果,怎么样的运算呢?实际很简单就是我们看左图中深色部分,处于中间的数字是图像的像素,处于右下角的数字是我们卷积核的数字,只要对应相乘再相加就可以得到结果。例如图中‘3*0+1*1+2*2+2*2+0*2+0*0+2*0+0*1+0*2=9’

那如果我们的d大于一的时候又是如何计算的?

如下动图:

图中最左边的三个输入矩阵就是我们的相当于输入d=3时有三个通道图,每个通道图都有一个属于自己通道的卷积核,我们可以看到输出(output)的只有两个特征图意味着我们设置的输出的d=2,有几个输出通道就有几层卷积核(比如图中就有FilterW0和FilterW1),这意味着我们的卷积核数量就是输入d的个数乘以输出d的个数(图中就是2*3=6个),其中每一层通道图的计算与上文中提到的一层计算相同,再把每一个通道输出的输出再加起来就是绿色的输出数字啦!。

(3):池化层:

池化层部分就比较简单了如下图所示:

 如图中就是一个max-pooling(最大池化)的一个操作,就是把选中的区域中的最大值给挑出来,比如粉红色区域的‘1,1,5,6’四个数字最大值就是6,还有一种比较常见的是mean-pooling(平均池化)就是把区域内的数字加起来做个平均值,比如蓝色区域就是(1+0+3+4)/4=2。

(4):全连接层(FC)

全连接层的理解就是相当于在最后面加一层或多层传统神经网络(NN)层,我们在连接全连接层前,需要把我们的CNN的三维矩阵进行展平成二维,比如说从池化层出来的是‘5*5*3’的图像,在输入到全连接层展平成1*75以满足全连接层的输入模式。

四:最后呈现

如下图:

五:参考文章:

CNN笔记:通俗理解卷积神经网络_v_JULY_v的博客-CSDN博客_卷积神经网络通俗理解

CNN部分不愧是计算机博士唐宇迪居然半天教会了我大学4年没学会的深度学习经典算法解析入门到实战课程,看不懂你打我!!!_哔哩哔哩_bilibili

传统神经网络:

神经网络整体架构及细节(详细简单)_小林学编程的博客-CSDN博客

 

来源地址:https://blog.csdn.net/weixin_57643648/article/details/123990029

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

卷积神经网络(CNN)的整体框架及细节(详细简单)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录