Python人工智能深度学习CNN

作者:Swayzzu 时间:2023-11-27 06:19:15 

1.CNN概述

CNN的整体思想,就是对图片进行下采样,让一个函数只学一个图的一部分,这样便得到少但是更有效的特征,最后通过全连接神经网络对结果进行输出。

整体架构如下:

输入图片

→卷积:得到特征图(激活图)

→ReLU:去除负值

→池化:缩小数据量同时保留最有效特征

(以上步骤可多次进行)

→输入全连接神经网络

Python人工智能深度学习CNN

2.卷积层

CNN-Convolution

卷积核(或者被称为kernel, filter, neuron)是要被学出来的,卷积核中的数就是权重(参数)

Python人工智能深度学习CNN

做内积,把卷积核的每一个参数和图像中对应位置的数字相乘(对应位置的元素相乘,不同于矩阵乘法),再求和。相当于一个神经元,对输入的数据,进行权重的分配,而权重就是卷积核的数据。再求和,就是第一个神经元所得到的结果。把这个权重对图片所有数据进行处理,就得到第一个激活图或特征图(feature map)。我们可以增加卷积核的数量,就会得到多层激活图,可以更好的保留数据的空间尺寸。

Python人工智能深度学习CNN

当卷积核与图片进行相乘相加的时候,如果卷积核此时正在计算的区域数字分布与卷积核类似,所得的求和结果会很大(称为卷积核被激活了),而其他地方会很小,说明图像在这个区域,有和卷积核类似的图案。

Python人工智能深度学习CNN

一个卷积核只能识别一个特征。因此我们需要添加多个卷积核,卷积核越多,得到的激活图就越深,输入图像的信息就越多。

Python人工智能深度学习CNN

对于彩色的图来说,不需要把颜色分开,卷积核的深度和图像深度是一样的,比如彩色是红绿蓝三层,那么卷积核也是三层。

卷积层相当于降采样的神经网络,如下图,本来应该连接36个神经元,但实际连接了9个。

Python人工智能深度学习CNN

3.池化层

CNN-MaxPooling

在Max Pooling,也就是池化层之前,会需要进行一个ReLU函数转化,即把小于0的值全转为0,其他的不变。

池化层主要就是为了减少数据量,选一个尺寸之后,直接用尺寸中的最大值代替那个尺寸。这样可以减少数据从而减少运算量。

Python人工智能深度学习CNN

如下图所示,输入数据原本是6*6,通过卷积层之后变成4*4,通过池化层之后变成2*2。对于实际的图片来说,维度可能很高,因此卷积层,池化层可以多次进行。

Python人工智能深度学习CNN

4.全连层

将最后得到的高层次特征输入全连接的神经网络,即全连层。全连层就是一个全连接的神经网络,它的参数数量就是最后的池化层输出的数据数量。

同样的,前向传播后,计算损失函数后进行后向传播,得到各参数的梯度,对各参数进行更新,直到找到最佳参数。

因此,在全连接之前的所有层,不管多少层的卷积、池化,都是为了得到更好的特征的同时降低数据量。使得模型可以更好地训练。

来源:https://blog.csdn.net/Swayzzu/article/details/121043334

标签:Python,CNN,人工智能
0
投稿

猜你喜欢

  • python爬虫实战之最简单的网页爬虫教程

    2022-02-06 17:03:36
  • 提高网页加载显示速度的方法

    2007-08-10 13:17:00
  • 说说掌握JavaScript语言的思想前提

    2008-12-26 17:59:00
  • Python中使用Flask、MongoDB搭建简易图片服务器

    2021-12-09 19:57:16
  • Python学习之迭代器详解

    2022-09-02 12:45:45
  • PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解

    2023-09-10 08:37:27
  • Python pyinstaller库的安装配置教程分享

    2023-06-20 02:08:22
  • python3.7中安装paddleocr及paddlepaddle包的多种方法

    2022-08-11 00:00:57
  • JavaScript的9个陷阱及评点

    2007-08-28 15:10:00
  • Linux 发邮件磁盘空间监控(python)

    2022-03-15 09:17:24
  • Python中Matplotlib的点、线形状、颜色以及绘制散点图

    2023-06-11 00:32:26
  • js关于 byval 与 byref 的区别

    2007-10-13 10:48:00
  • 使用游标进行PHP SQLSRV查询的方法与注意事项

    2023-05-22 10:51:10
  • python 实现矩阵按对角线打印

    2022-08-01 02:01:07
  • PHP const定义常量及global定义全局常量实例解析

    2023-11-17 07:24:57
  • pytest allure添加环境信息实例讲解

    2023-07-19 17:51:45
  • 精简高效的CSS命名准则和方法

    2010-09-17 18:38:00
  • python统计字母、空格、数字等字符个数的实例

    2022-10-04 12:02:29
  • Python人工智能之混合高斯模型运动目标检测详解分析

    2021-11-01 21:28:43
  • Django Form and ModelForm的区别与使用

    2022-04-12 15:28:10
  • asp之家 网络编程 m.aspxhome.com