机器学习【05】CNN卷积神经网络

版权声明:本文参考CSDN博主「IronmanJay」的原创文章,遵循CC 4.0 BY-SA版权协议
原文链接:https://blog.csdn.net/IronmanJay/article/details/128434368
版权声明:本文参考CSDN博主「北村南」的原创文章,遵循CC 4.0 BY-SA版权协议
原文链接:https://blog.csdn.net/ccaoshangfei/article/details/126585010

通过本文,我进行相关知识的学习
FNN(Feedforward Neural Network)是一种前馈神经网络,也被称为多层感知机(Multilayer Perceptron, MLP)。它是深度学习中最基本的神经网络模型之一。

由多个神经元层组成,每个神经元层都与下一层相连。数据从输入层进入网络,并通过各个隐藏层传递,最终到达输出层。每个神经元将输入加权求和,并通过激活函数进行非线性变换,然后传递给下一层的神经元。

通常用于解决分类和回归问题。在训练过程中,通过反向传播算法来调整网络参数,以最小化预测输出和实际输出之间的误差。

是一种强大的模型,广泛应用于图像识别、自然语言处理、推荐系统等领域。它的设计简单直观,训练和使用也相对容易。同时,FNN也存在一些限制,如对数据特征的提取能力较弱、对输入数据的大小敏感等。

CNN(Convolutional Neural Network)是一种卷积神经网络,专门用于处理具有网格结构的数据,例如图像和音频。

与FNN不同,CNN在每个层级都使用了卷积操作来提取特征。卷积操作可以识别出图像中的边缘、角点等低级特征,并逐步组合成更高级的特征。另外,池化操作也常用于CNN中,它可以减小特征图的大小,同时保留重要的特征信息。

CNN的训练过程和FNN类似,通过反向传播算法来调整网络参数,以最小化预测输出和实际输出之间的误差。CNN在图像识别、视频分析、语音识别等领域取得了很好的表现,并且在一些任务上的表现要优于FNN。

FNN有什么缺点。
缺点一:参数太多,因为FNN是全连接的,它的权重参数需要训练的数量是非常大的,比如有一个图像的尺寸是1281283,那么每一次层的神经元和权重参数就有1281283个,如此巨大的参数在实际训练过程中效率非常低下。
缺点二:局部不变性,FNN如果不进行数据增强的话是很难提取到对象的关键信息
而CNN的产生就是为了解决以上的两个问题,即权重比较少的FNN。

那究竟什么是卷积神经网络呢?以手写数字识别为例,整个识别的过程如下所示:
机器学习【05】CNN卷积神经网络_第1张图片输入层:通常是由原始的图像或者其他类型的网格状数据组成的。在处理图像时,输入层通常是一个由像素值组成的二维矩阵,每个像素代表图像中的一个点。
机器学习【05】CNN卷积神经网络_第2张图片
机器学习【05】CNN卷积神经网络_第3张图片

卷积层convolution layer:
卷积操作是CNN中最重要的操作之一,它可以从输入图像中提取出各种特征,例如边缘、角点、纹理等。卷积操作通过在输入图像上滑动卷积核来实现,卷积核将会与输入图像进行逐点相乘,并将结果加和得到输出。

假设我们已经得到图片的二维矩阵了,想要提取其中特征,那么卷积操作就会为存在特征的区域确定一个高值,否则确定一个低值。这个过程需要通过计算其与卷积核(Convolution Kernel)的乘积值来确定。

你可能感兴趣的:(机器学习,机器学习)