卷积神经网络简介
本章是对卷积神经网络的原理介绍和一些个人见解
首先需要简单知道卷积神经网络到底是什么东西,从来源来看
1980年前后,日本科学家福岛邦彦(Kunihiko Fukushima)在Hubel和Wiesel工作的基础上,模拟生物视觉系统并提出了一种层级化的多层人工神经网络,即“神经认知”(neurocognitron),以处理手写字符识别和其他模式识别任务。 神经认知模型在后来也被认为是现今卷积神经网络的前身。 在福岛邦彦的神经认知模型中,两种最重要的组成单元是“S型细胞”(S-cells)和“C型细胞”(C-cells),两类细胞交替堆叠在一起构成了神经认知网络
简单来说,神经网络就是从大脑的神经元上得到的启示,模拟大脑神经元之间的连接
相信这样你对神经网络的认识有了一个初步的概念
如何进行神经网络的计算
那么接下来,我们就需要知道如何在计算机中实现图像的计算,神经网络的训练
图像在计算机中是一堆按顺序排列的数字,数值为0到255,0表示最暗,255表示最亮,当然也可以进行反相
相信在前面的OpenCV学习中,你已经知道了图像在计算机中就是一个矩阵,那么我们就有可以操作的空间了
在CNN中,每一层都通过卷积操作从上一层中学习到局部特征。卷积操作是通过一个卷积核(也称为滤波器或权重矩阵)在输入数据上滑动,并计算卷积核与输入数据的局部区域的乘积之和。这个过程可以看作是对输入数据进行过滤,提取出局部特征。
假设我们有一个输入图像,我们可以将其表示为一个矩阵。然后,我们使用一个卷积核对其进行卷积操作。卷积核的大小通常是3x3或者5x5,也可以更大。在进行卷积操作时,卷积核会沿着图像矩阵的边缘滑动,并对每个位置的像素值进行乘积和累加的操作,得到一个输出矩阵。这个输出矩阵就是这一层的特征图(Feature Map)
这里可能看着有点懵,卷积的概念相信你在OpenCV的学习中已经接触过了
如果你忘记了,那么希望你去简单的复习一下
在CNN中,卷积是对特征的提取,我们会对图像进行一层一层的特征提取,并让神经网络记住图像的特征,实现自主学习
在线性回归章节部分,我们已经进行过简单的机器学习了,那是一个非常简单的自主学习,我们都知道 "点动成线,线动成面,面动成体",现在我们将问题开始复杂化一些,如果说线性回归是对一个特征进行拟合,那么我们的卷积神经网络就是在对图像里面数不清的特征进行拟合,这个特征是我们无法描述的,在神经网络自主学习到的图像特征,对于我们来说是无法进行描述的,或者难以描述
接下来,我将会带你简单了解卷积神经网络的组成以及一些基本概念