卷积神经网络概述

简介: 欢迎大家关注我们的网站和系列教程: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的小伙伴,欢迎关注我们的网站!

目录
相关文章
|
5天前
|
存储 网络协议 算法
【计算机网络】第一章 概述
【计算机网络】第一章 概述
56 8
【计算机网络】第一章 概述
|
7天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
9天前
|
机器学习/深度学习 人工智能 自动驾驶
什么是人工智能领域的卷积神经网络
什么是人工智能领域的卷积神经网络
18 0
|
9天前
|
机器学习/深度学习 算法 计算机视觉
卷积神经网络中的卷积层,如何提取图片的特征?
卷积神经网络中的卷积层,如何提取图片的特征?
22 0
|
22天前
|
机器学习/深度学习 存储 自然语言处理
卷积神经元网络CNN基础
卷积神经元网络CNN基础
31 1
|
22天前
|
机器学习/深度学习
大模型开发:解释卷积神经网络(CNN)是如何在图像识别任务中工作的。
**CNN图像识别摘要:** CNN通过卷积层提取图像局部特征,池化层减小尺寸并保持关键信息,全连接层整合特征,最后用Softmax等分类器进行识别。自动学习与空间处理能力使其在图像识别中表现出色。
23 2
|
5天前
|
机器学习/深度学习 自然语言处理 算法
|
22天前
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
41 2
|
22天前
|
机器学习/深度学习 PyTorch 算法框架/工具
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
18 0
|
29天前
|
机器学习/深度学习 人工智能 算法
详细介绍卷积神经网络(CNN)的原理 !!
详细介绍卷积神经网络(CNN)的原理 !!
70 0