当前位置:网站首页 > 技术博客 > 正文

神经网络模型cnn



文章概述

这是一个值得思考的问题。机器学习算法并不缺乏,那么为什么数据科学家会倾向于深度学习算法呢?神经网络提供了传统机器学习算法不具备的功能吗?

我看到的另一个常见问题是:神经网络需要大量的算力,所以它真的值得使用吗?虽然这个问题带有细微差别,但这里有一个简短的答案——是的!

在深度学习中,不同类型的神经网络,如卷积神经网络(CNN)、循环神经网络(RNN)、人工神经网络(ANN)等,正在改变我们与世界互动的方式。这些不同类型的神经网络是深度学习革命的核心,为无人机、自动驾驶汽车、语音识别等应用提供了源动力。

人们很自然地会怀疑——机器学习算法难道不能做到同样的效果吗?好吧,以下是研究人员和专家倾向于深度学习而非机器学习的两个关键原因:

好奇吗?很好-让我解释一下。

每种机器学习算法都从输入到输出中学习映射。对于参数化模型,该算法学习具有几组权重的函数:

Input -> f(w1,w2…..wn) -> Output

在分类问题中,算法学习分离两个类的函数,这就是所谓的决策边界。决策边界帮助我们确定给定的数据点是属于正类还是负类。

例如,在逻辑回归的情况下,学习函数是Sigmoid函数,它试图将两个类分开:

可以看到,逻辑回归算法学习线性决策边界。它不能学习下图这样的非线性数据的决策边界。

同样,每一种机器学习算法都不能学习所有的函数。这就限制了这些算法能够解决的涉及复杂关系的问题。

特征工程是建模过程中的关键步骤。这是一个分为两步的过程:

在特征提取中,提取问题陈述所需的所有特征。在特征选择中,选择能够提高机器学习或深度学习模型性能的重要特征。

想一个图像分类问题。从图像中手动提取特征需要对主题和领域有很强的了解。这是一个非常耗时的过程。多亏了深度学习,我们可以使特征工程的过程自动化!

既然了解了深度学习的重要性以及它为什么超越了传统的机器学习算法,那么进入本文的重点。讨论不同类型的神经网络,一起解决深度学习问题。

本文重点介绍了三种重要类型的神经网络,它们构成了深度学习中大多数预训练模型的基础:

让我们详细讨论一下每个神经网络。

单个感知器(或神经元)可以想象为逻辑回归。人工神经网络(ANN)是一组多层感知器/神经元。ANN也被称为前馈神经网络,因为输入只在正向处理:

ANN由3层组成:输入层、隐藏层和输出层。输入层接受输入,隐藏层处理输入,输出层生成结果。本质上,每一层都试图学习某些权重。

ANN可用于解决与以下相关的问题:

人工神经网络能够学习任何非线性函数。因此,这些网络被普遍称为通用函数逼近器(Universal Function Approximators)。人工神经网络有能力学习将任何输入映射到输出的权重。

万能近似(universal approximation)的主要原因之一是激活函数。激活函数将非线性特性引入网络。这有助于网络学习输入和输出之间的任何复杂关系。

如你所见,每个神经元的输出是输入加权和的激活。如果没有激活功能会怎么样?网络只学习线性函数,不能学习复杂的关系。这就是为什么:

激活函数是人工神经网络的动力!

随着图像尺寸的增加,可训练参数的数量急剧增加。

因此,对于一个非常深的神经网络(具有大量隐藏层的网络),梯度在向后传播时消失或爆炸,从而导致梯度消失和爆炸。

ANN无法在处理序列数据所需的输入数据中捕获序列信息。

现在来看看如何使用两种不同的架构来克服MLP的局限性:循环神经网络(RNN)和卷积神经网络(CNN)。

首先从架构的角度来理解RNN和ANN之间的区别:

ANN隐藏层上的循环约束变为RNN。

正如您所见,RNN在隐藏状态上有一个循环连接。此循环约束确保在输入数据中捕获顺序信息。

我们可以使用递归神经网络来解决以下相关问题:

RNN捕获输入数据中的序列信息,即在进行预测时文本中单词之间的依赖关系:

如您所见,每个时间步的输出(o1、o2、o3、o4)不仅取决于当前单词,而且还取决于前面的单词。

RNN在不同的时间段共享参数。这就是众所周知的参数共享。这样可以减少训练参数并降低计算成本。

如上图所示,3个权重矩阵-U、W、V是在所有时间步骤中共享的权重矩阵。

深度RNNs(具有大量时间步长的RNNs)也存在梯度消失和爆炸的问题,这是所有不同类型神经网络中的常见问题。

如您所见,在最后一个时间步计算的梯度在到达初始时间步时消失。

卷积神经网络(CNN)目前在深度学习领域非常流行。这些CNN模型正被用于不同的应用和领域,它们在图像和视频处理项目中特别流行。

CNN的构造块是被称为kernels的过滤器。核函数用于通过卷积运算从输入中提取相关特征。让我们试着理解使用图像作为输入数据的过滤器的重要性。使用过滤器卷积图像会生成特征映射:

虽然卷积神经网络被用来解决与图像数据相关的问题,但它们在顺序输入上也有着令人印象深刻的表现。

CNN会自动学习过滤器,而不会明确提及。这些过滤器有助于从输入数据中提取正确的和相关的特征。

CNN从图像中捕捉空间特征。空间特征是指图像中像素的排列及其相互关系。它们帮助我们准确地识别物体,物体的位置,以及它与图像中其他物体的关系。

在上面的图像中,我们可以通过观察眼睛、鼻子、嘴巴等特定的特征,很容易地识别出它是一个人的脸。我们还可以看到这些特定的特征是如何在图像中排列的。这正是CNN能够捕捉到的。

CNN也遵循参数共享的概念。将单个过滤器应用于输入的不同部分以生成特征图:

请注意,2*2特征图是通过在图像的不同部分滑动相同的3*3过滤器生成的。

比较不同的神经网络类型(MLP(ANN) vs. RNN vs. CNN)

这里,我总结了不同类型神经网络之间的一些差异:

本文介绍额深度学习的重要性以及不同类型神经网络之间的差异。知识分享是一种美德,欢迎大家进行评论。

参考来源:https://www.analyticsvidhya.com/blog/2020/02/cnn-vs-rnn-vs-mlp-analyzing-3-types-of-neural-networks-in-deep-learning/

版权声明


相关文章:

  • 窄带物联网中窄带是什么意思2024-11-10 19:30:00
  • css各种字体2024-11-10 19:30:00
  • was配置文件2024-11-10 19:30:00
  • 有些进程只包含一个线程对吗2024-11-10 19:30:00
  • scanf函数格式2024-11-10 19:30:00
  • args=parser.parse_args()2024-11-10 19:30:00
  • wait3函数2024-11-10 19:30:00
  • es6常用特性2024-11-10 19:30:00
  • 什么是余弦相似性2024-11-10 19:30:00
  • usb写入保护工具2024-11-10 19:30:00