卷积其实主要的就是用对应的卷积核(下图左侧黄色)在被卷积矩阵上(下图左侧绿色)移动做乘法和加法得到提取后的特征(如下图右侧),卷积核可以理解成一个滤波器,设计不同的卷积核可以得出图像的不同特征,卷积核就是滤波器,跟它特征相似的输出响应大,相反输出响应小。滤波器就像人的本性用来过滤自己不感兴趣的东西,留下来的信息就是你一辈子所追求的梦想。滤波器就好比是人类遗传下来的记忆。生活中的应用,比如无人驾驶汽车自动识别路边限速交通信号;卷积算子,现在最流行的直播美化(脸部模糊磨皮)就是用的就是傅里叶变换和非线性滤波算子。
假设图像是5x5,实际上我们没有引入通道的概念,对于黑白图像,通道为1, 如果彩色图像通道3(红绿蓝),这样实际图像是5x5x3的三维矩阵。每个卷积核举例来说可以是3x3x3,对应卷积结果是3x3x1, 若该层有4个卷积核,则该层输出为3x3x4, 下一层卷积核举例来说可以是2x2x4, 每个核卷积结果是2x2x1, 若有10个核,输出为2x2x10。
池化层不改变三维矩阵的深度,可以缩小矩阵的大小。池化操作可以认为是将一张分辨率高的图片转化为分辨率较低的图片。
激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。
激活函数的主要作用是提供网络的非线性建模能力。如果没有激活函数,那么该网络仅能够表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。因此也可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。以下是常见的激活函数。
总结一下,卷积、池化和激活是神经网络中的三个重要操作:
- 卷积:卷积是神经网络中一种重要的操作,主要用于处理图像数据。卷积通过将输入图像与一个小的矩阵(或称为过滤器)进行卷积运算,可以捕捉到图像中的局部特征。例如,在处理图像时,卷积可以将每个像素与其周围的像素进行组合,以提取出图像中的边缘、纹理等特征。
- 池化:池化是一种降采样方法,用于减少数据的维度和参数数量,提高模型的泛化能力和计算效率。池化操作通常在卷积操作之后进行,它将卷积层的输出进行下采样,以减少输出的空间尺寸。池化操作有多种方式,如最大池化、平均池化等。最大池化操作会选取每个子区域内的最大值作为输出,而平均池化操作则会计算每个子区域内的平均值作为输出。
- 激活:激活函数是神经网络中用于引入非线性特性的函数。在神经网络中,激活函数用于将神经元的输出转换为新的输出值。如果没有激活函数,神经网络的输出将是线性的,无法表达复杂的非线性关系。常见的激活函数包括sigmoid、tanh、ReLU等。这些激活函数的作用是将神经元的输出映射到一个新的值,这个值可以用于下一层的神经元进行计算。
总之,卷积、池化和激活都是神经网络中重要的操作,它们分别用于处理图像数据、降低维度和提高计算效率以及引入非线性特性。这些操作在神经网络的训练和推理过程中发挥着重要的作用。