| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> cnn-explainer解释CNN作用过程 -> 正文阅读 |
|
[人工智能]cnn-explainer解释CNN作用过程 |
cnn-explainerGitHub地址:cnn-explainer cnn-explainer将卷积神经网络每一个步骤全部可视化出来,能够清晰地看到每一步的操作,对于初学者理解CNN原理和计算过程是非常有帮助的。 cnn-explainer实现了一个简单的10层卷积神经网络,网络结构如下:
可以看出该模型结构为Tiny VGG,比原始的VGG模型更加简单,最后实现了对输入图像的10分类。 输入层输入层图像大小为64×64@3,分为RGB三通道输入 conv_1_1第一层卷积层,这一层使用10个卷积核,由最终输出图片大小为62×62,根据文章CNN网络的搭建中提到的计算公式可以计算出各个参数。卷积核大小应为3×3,步长为1,因为使用了10个卷积核,最后得到10个特征图。 在这里,我们选择意式咖啡(espresso)的图片,然后跟踪一个卷积核来查看卷积提取特征的过程
relu_1_1激活函数,不做详细介绍,这里使用ReLu函数,计算过程如下 conv_1_2第二层卷积层,输出特征图大小为60×60,深度仍为10不变,则说明卷积核为10个,计算可得卷积核大小为3×3,步长为1,这里与conv_1_1基本相同,区别在于这里的输入是经过conv_1_1和relu_1_1处理后的深度为10的62×62的图像,所以在卷积运算时要分别对10个维度的数据分别计算后累加再加上bias才能得到结果。 relu_1_2激活函数,与relu_1_1作用相同,输出仍为60×60@10,不做展示。 max_pool_1第一层池化层。
简单来说,将卷积层的作用概括为提取图像特征,那么池化层的主要作用就是保留显著特征、降低特征维度,即压缩特征。 在这里,池化层使用最大池化(Max pooling)的方法,从项目中可以看到,输入数据经过池化层后输出为30×30,深度为10,则推断出卷积核大小为2×2,步长为2,下面进一步查看池化过程。
在这一层之后,还有两个卷积层(conv_2_1、conv_2_2),每次卷积操作后均有一次relu操作,然后会对结果再次池化,最终输出张量为13×13@10,并对这个结果做展平后送入全连接层。 根据13×13@10这个结果维度,可以计算出每批次张量展平后的维度应为13×13×10 = 1690,将展平后结果送入全连接层,全连接层的输入维度为1690,输出维度应为10,最后经过softmax函数将多次提取、压缩得到的特征进行分类得到10分类的概率 最后分类结果为espresso |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 21:28:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |