作者:猪猪寂寞的王子_125 | 来源:互联网 | 2023-10-12 20:08
文中比较重要的引用了几个篇博客,开篇给与博主感谢记录我从零到实现一个具体CNN网络中最有用的知识干货以细节为切入点,分享我对CNN网络的简洁本文致力于让你一篇文章理解CN
- 文中比较重要的引用了几个篇博客,开篇给与博主感谢
- 记录我从零到实现一个具体CNN网络中最有用的知识干货
- 以细节为切入点,分享我对CNN网络的简洁
- 本文致力于让你一篇文章理解CNN的具体实现与训练方法
- 涉及理论不一一追述背景,主要讲解其如何应用
- 开源的优秀CNN代码很多,我选择的入门可能不是最棒的,但对我是最容易理解的
开始
一、神经网络与卷积
1、如果你不了解神经网络,这篇 CNN笔记:通俗理解卷积神经网络 够了。
2、如果你不了解神经网络,这篇 CNN笔记:通俗理解卷积神经网络 也够了。
3、看黑板标重点,看完文章请确保理解:卷积、池化(采样)、全连接
4、这一条只是单纯地给上文的博主点10个贊。。。。。。。。。
二、一个简单的CNN结构
1、首先我们需要了解一个数据集MINST,刚去搜了一篇介绍比较详细的博客MNIST数据集解析,不过代码是Python如果不懂请选择忽略,看他关于MINST的介绍就好。不过你也可以先跳过这步,这只是输入数据,并不关乎我们的CNN构架。
2、如果上文你了解了卷积,那么现在可以给你介绍一个简单的CNN手写识别网络了。这也有一篇很好的博客编写C语言版本的卷积神经网络CNN之网络的总体结构,篇末有一份博主的C语言代码连接,纯C语言的自己注意修改一下代码中加载的文件路径,运行起来不是很难。不过文章的配图,和公式说明比较复杂,所以就只建议阅读tostq的专栏的篇二(就是上一个连接)。
3、在此送一张我自己画的图,姑且称为图一。
三、根据图一而来的 正向计算
先说明一下本文采用的激活函数Sigmoid(),表达式
S(x)=1/[1+exp(−x)]
。它有一个很好的特性其导函数与其输出有关,即
S~(x)=S(x)∗[1−S(x)]。
在之后的文章里我们用
f(y)=y∗(1−y)=S(x)∗[1−S(x)]=S~(x)
表示激活函数的导函数,文章内引用不再重复说明。
3.1、卷积层C1、C3的计算
以
ym(x,y)
表示第m张输出图位置(x,y)的像素信息,
bm
表示偏置,
Xp(x,y)
示第p张输入图,
Kpm(j,i)
表示当前输入图与输出图之间的卷积核,W、H分别表示卷积核的宽、高。可以得到输出图每个像素值的计算公式,如下:
ym(x,y)=S([∑pN∑iH∑jWXp(x+j,y+i)∗Kpm(j,i)]+
var cpro_id = "u6885494";
推荐阅读
-
本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ...
[详细]
蜡笔小新 2024-12-28 09:42:41
-
本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ...
[详细]
蜡笔小新 2024-12-28 08:39:55
-
-
本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ...
[详细]
蜡笔小新 2024-12-27 13:10:20
-
本文详细解析了如何使用Python语言在STM32硬件平台上实现高效的编程和快速的应用开发。通过具体的代码示例,展示了Python简洁而强大的特性。 ...
[详细]
蜡笔小新 2024-12-27 12:54:18
-
本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ...
[详细]
蜡笔小新 2024-12-26 22:04:19
-
在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ...
[详细]
蜡笔小新 2024-12-26 19:51:48
-
本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ...
[详细]
蜡笔小新 2024-12-26 19:47:05
-
本文介绍如何使用 Python 提取和替换 .docx 文件中的图片。.docx 文件本质上是压缩文件,通过解压可以访问其中的图片资源。此外,我们还将探讨使用第三方库 docx 的方法来简化这一过程。 ...
[详细]
蜡笔小新 2024-12-26 18:52:14
-
最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ...
[详细]
蜡笔小新 2024-12-26 13:36:52
-
根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ...
[详细]
蜡笔小新 2024-12-26 10:42:40
-
本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ...
[详细]
蜡笔小新 2024-12-26 08:37:18
-
本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ...
[详细]
蜡笔小新 2024-12-23 14:11:43
-
2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ...
[详细]
蜡笔小新 2024-12-22 16:09:09
-
本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ...
[详细]
蜡笔小新 2024-12-20 15:03:51
-
本文详细解释了C语言中carry变量的不同使用场景及其含义,包括作为条件判断、运算结果存储等,旨在帮助初学者更好地理解和运用这一概念。 ...
[详细]
蜡笔小新 2024-12-20 12:48:15
-
猪猪寂寞的王子_125
这个家伙很懒,什么也没留下!