卷积神经网络概述

简介: 欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识!卷积神经网络图像识别问题和数据集> 计算机视觉中有哪些问题?典型问题:经典数据集。

欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识!

卷积神经网络

图像识别问题和数据集

> 计算机视觉中有哪些问题?典型问题:经典数据集。

在 2012 年的 ILSVRC 比赛中 Hinton 的学生 Alex Krizhevsky 使用深度卷积神经网络模型 AlexNet 以显著的优势赢得了比赛,top-5 的错误率降低至了 16.4% ,相比第二名的成绩 26.2% 错误率有了巨大的提升。AlexNet 再一次吸引了广大研究人员对于卷积神经网络的兴趣,激发了卷积神经网络在研究和工业中更为广泛的应用。现在基于卷积神经网络计算机视觉还广泛的应用于医学图像处理,人脸识别,自动驾驶等领域。越来越多的人开始了解卷积神经网络相关的技术,并且希望学习和掌握相关技术。因为卷积神经网络需要大量的标记数据集,有一些经典的数据集可以用来学习,同时解决一些常见的计算机视觉问题。

  • 卷积神经网络的具体应用,经典数据集。

比如最常用的 mnist 手写数字数据集,这个数据集有 60000个训练样本,10000个测试样本;cfair 10 数据集包含 60000 个 32x32 像素 的彩色图片,它们分别属于 10 个类别,每一个类别有 6000 个图片,其中 50000 个作为训练集,10000个作为测试集。

  • 卷积神经网络在这些应用上取得的成果。

针对 mnist 手写数字数据集,现在已经达到了 99% 以上的识别率,在稍后的学习中,也会实现一个准确率达到 99% 以上的模型。

卷积神经网络简介

> 卷积神经网络是什么,以及卷积神经网络将如何解决计算机视觉的相关问题。

图像数据集的特点,对于神经网络的设计提出了一些新的挑战。

维度比较高

因为图像的维度普遍比较高,例如 MNIST 数据集,每一个图片是 28 * 28 的图片。

如果直接用神经网络,假设采用2个 1000个神经元的隐藏层加 1 个10个神经元的隐藏层,最后使用 softmax 分类层,输出 10 个数字对应的概率。

参数的数量有:

786 * 1000 * 1000 * 10

如果是更大一点的图片,网络的规模还会进一步快速的增长。为了应对这种问题,
Yann LeCun 在贝尔实验室做研究员的时候提出了卷积网络技术,并展示如何使用它来大幅度提高手写识别能力。接下来将介绍卷积和池化以及卷积神经网络。

卷积介绍

我们尝试用一个简单的神经网络,来探讨如何解决这个问题。假设有4个输入节点和4个隐藏层节点的神经网络,如图所示:


图1 全连接神经网络

每一个输入节点都要和隐藏层的 4 个节点连接,每一个连接需要一个权重参数 w:


图2 一个输入节点向下一层传播

一共有 4 个输入节点,,所以一共需要 4*4=16个参数。

相应的每一个隐藏层节点,都会接收所有输入层节点:


图3 每个隐藏层节点接收所有输入层节点输入
这是一个简化版的模型,例如手写数据集 MNIST 28 * 28 的图片,输入节点有 784 个,假如也只要一个隐藏层有 784 个节点,那么参数的个数都会是:784 * 784=614656,很明显参数的个数随着输入维度指数级增长。

因为神经网络中的参数过多,会造成训练中的困难,所以降低神经网络中参数的规模,是图像处理问题中的一个重要问题。

有两个思路可以进行尝试:

1.隐藏层的节点并不需要连接所有输入层节点,而只需要连接部分输入层。

如图所示:

 


图4 改为局部连接之后的网络结构
每个隐藏层节点,只接受两个输入层节点的输入,那么,这个网络只需要 3 * 2 =6个连接。使用局部连接之后,单个输出层节点虽然没有连接到所有的隐藏层节点,但是隐藏层汇总之后所有的输出节点的值都对网络有影响。

2.局部连接的权重参数,如果可以共享,那么网络中参数规模又会明显的下降。如果把局部连接的权重参数当做是一个特征提取器的话,可以尝试将这个特征提取器用在其他的地方。

那么这个网络最后只需要 2 个参数,就可以完成输入层节点和隐藏层节点的连接。

这两个思路就是卷积神经网络中的稀疏交互和权值共享,下一篇文章将会详细讲解以及使用 TensorFlow 实现。

本篇文章出自http://www.tensorflownews.com,对深度学习感兴趣,热爱Tensorflow的小伙伴,欢迎关注我们的网站!

目录
相关文章
|
8天前
|
机器学习/深度学习 编解码 算法
YOLOv5改进 | 主干网络 | 用EfficientNet卷积替换backbone【教程+代码 】
在YOLOv5的GFLOPs计算量中,卷积占了其中大多数的比列,为了减少计算量,研究人员提出了用EfficientNet代替backbone。本文给大家带来的教程是**将原来的主干网络替换为EfficientNet。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方便大家一键运行,小白也可轻松上手实践。以帮助您更好地学习深度学习目标检测YOLO系列的挑战。
|
10天前
|
机器学习/深度学习 编解码 边缘计算
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
本文介绍了如何在YOLOv5中用ShuffleNetV2替换卷积以减少计算量。ShuffleNetV2是一个轻量级网络,采用深度可分离卷积、通道重组和多尺度特征融合技术。文中提供了一个逐步教程,包括ShuffleNetV2模块的代码实现和在YOLOv5配置文件中的添加方法。此外,还分享了完整的代码链接和GFLOPs的比较,显示了GFLOPs的显著减少。该教程适合初学者实践,以提升深度学习目标检测技能。
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
|
2天前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8 | 卷积模块 | 提高网络的灵活性和表征能力的动态卷积【附代码+小白可上手】
本教程介绍了如何在YOLOv8中使用动态卷积提升网络性能和灵活性。动态卷积利用注意力机制动态选择和组合卷积核,适应输入数据特征,解决了轻量级CNN的局限。文中提供了详细步骤教读者如何添加和修改代码,包括在`conv.py`中添加`Dynamic_conv2d`模块,更新`init.py`、`task.py`和`yaml`配置文件。此外,还分享了完整代码和进阶技巧,帮助深度学习初学者实践目标检测。参考[YOLOv8改进](https://blog.csdn.net/m0_67647321/category_12548649.html)专栏获取更多详情。
|
7天前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进 | 融合模块 | 用Resblock+CBAM卷积替换Conv【轻量化网络】
在这个教程中,介绍了如何将YOLOv8的目标检测模型改进,用Resblock+CBAM替换原有的卷积层。Resblock基于ResNet的残差学习思想,减少信息丢失,而CBAM是通道和空间注意力模块,增强网络对特征的感知。教程详细解释了ResNet和CBAM的原理,并提供了代码示例展示如何在YOLOv8中实现这一改进。此外,还给出了新增的yaml配置文件示例以及如何注册模块和执行程序。作者分享了完整的代码,并对比了改进前后的GFLOPs计算量,强调了这种改进在提升性能的同时可能增加计算需求。教程适合深度学习初学者实践和提升YOLO系列模型的性能。
|
10天前
|
安全 网络协议 网络安全
网络安全概述
网络安全概述
23 4
|
10天前
|
机器学习/深度学习 人工智能 算法
食物识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
食物识别系统采用TensorFlow的ResNet50模型,训练了包含11类食物的数据集,生成高精度H5模型。系统整合Django框架,提供网页平台,用户可上传图片进行食物识别。效果图片展示成功识别各类食物。[查看演示视频、代码及安装指南](https://www.yuque.com/ziwu/yygu3z/yhd6a7vai4o9iuys?singleDoc#)。项目利用深度学习的卷积神经网络(CNN),其局部感受野和权重共享机制适于图像识别,广泛应用于医疗图像分析等领域。示例代码展示了一个使用TensorFlow训练的简单CNN模型,用于MNIST手写数字识别。
33 3
|
15天前
|
机器学习/深度学习 算法 PyTorch
卷积神经网络的结构组成与解释(详细介绍)
卷积神经网络的结构组成与解释(详细介绍)
39 0
|
15天前
|
机器学习/深度学习 算法 数据挖掘
深度学习500问——Chapter05: 卷积神经网络(CNN)(4)
深度学习500问——Chapter05: 卷积神经网络(CNN)(4)
26 1
|
15天前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习500问——Chapter05: 卷积神经网络(CNN)(3)
深度学习500问——Chapter05: 卷积神经网络(CNN)(3)
23 1
|
15天前
|
机器学习/深度学习 存储 算法
卷积神经网络(CNN)的数学原理解析
卷积神经网络(CNN)的数学原理解析
48 1
卷积神经网络(CNN)的数学原理解析