深度学习课程学习笔记

卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,主要用于图像识别、语音识别和自然语言处理等领域。其基本原理是通过卷积、池化和全连接等操作,对输入数据进行特征提取和分类。
卷积神经网络的基本结构如下图所示:

卷积神经网络由多个卷积层、池化层和全连接层组成。其训练过程通常使用反向传播算法和随机梯度下降法进行优化。反向传播算法用于计算模型的梯度,随机梯度下降算法用于更新模型的参数。通过反复迭代训练,卷积神经网络可以自动学习输入数据的特征,并提高分类准确率。

  1. 卷积层

    卷积层用于提取图像的局部特征,池化层用于减小特征图的尺寸和数量,全连接层用于将特征向量映射到分类结果。
    卷积层的计算公式为:
    h i = f ( ∑ j = 1 m w j x i + j − 1 + b ) h_i = f(\sum_{j=1}^{m} w_j x_{i+j-1} + b) hi=f(j=1mwjxi+j1+b)
    其中, x i x_i xi表示输入数据的第 i i i个元素, m m m表示卷积核的大小, w j w_j wj表示卷积核的第 j j j个元素, b b b表示偏置项, f f f表示激活函数, h i h_i hi表示卷积层的输出。
    卷积操作可以有效提取输入数据的局部特征,同时减少参数数量,提高模型的泛化能力。

  2. 池化层

    池化层用于减小特征图的尺寸和数量,减少计算量和参数数量。常用的池化操作包括最大池化和平均池化。池化操作可以保留输入数据的主要特征,同时减少噪声和冗余信息。最大池化层的计算公式为:
    h i = m a x ( x 2 i , x 2 i + 1 ) h_i = max(x_{2i}, x_{2i+1}) hi=max(x2i,x2i+1)
    其中, x 2 i x_{2i} x2i x 2 i + 1 x_{2i+1} x2i+1表示输入数据的相邻两个元素, h i h_i hi表示池化层的输出。

  3. 全连接层

    全连接层用于将特征向量映射到分类结果。全连接层将特征向量映射到一个高维空间,然后进行分类。全连接层通常使用softmax函数将输出转化为概率分布,以便计算分类损失和预测结果。全连接层的计算公式为:
    y = s o f t m a x ( W x + b ) y = softmax(Wx+b) y=softmax(Wx+b)
    其中, x x x表示特征向量, W W W表示权重矩阵, b b b表示偏置项, s o f t m a x softmax softmax表示Softmax函数, y y y表示分类结果。
    通过反向传播算法和随机梯度下降法进行优化。

  4. 反向传播

    反向传播算法用于计算模型的梯度,其计算公式为:
    ∂ L ∂ w j = ∑ i = 1 n − m + 1 ∂ L ∂ h i ⋅ x i + j − 1 \frac{\partial L}{\partial w_j} = \sum_{i=1}^{n-m+1} \frac{\partial L}{\partial h_i} \cdot x_{i+j-1} wjL=i=1nm+1hiLxi+j1
    其中, L L L表示损失函数, h i h_i hi表示卷积层的输出, x i x_i xi表示输入数据的第 i i i个元素, w j w_j wj表示卷积核的第 j j j个元素。

  5. 随机梯度下降

    随机梯度下降算法用于更新模型的参数,其计算公式为:
    w j = w j − α ∂ L ∂ w j w_j = w_j - \alpha \frac{\partial L}{\partial w_j} wj=wjαwjL
    其中, α \alpha α表示学习率, ∂ L ∂ w j \frac{\partial L}{\partial w_j} wjL表示模型的梯度。

基本卷积神经网络

  1. AlexNet

    AlexNet是一种由Alex Krizhevsky等人在2012年提出的卷积神经网络,主要用于ImageNet图像识别任务。它包含了5个卷积层和3个全连接层,其中使用了ReLU激活函数和Dropout正则化技术,以提高模型的泛化能力。其结构如下图所示:
    在这里插入图片描述

    其中,卷积层使用ReLU函数作为激活函数,最大池化层的窗口大小为3x3,全连接层使用ReLU函数作为激活函数。
    AlexNet的计算公式为:
    h i ( 1 ) = f ( ∑ j = 1 m w j ( 1 ) x i + j − 1 ( 1 ) + b ( 1 ) ) h_i^{(1)} = f(\sum_{j=1}^{m} w_j^{(1)} x_{i+j-1}^{(1)} + b^{(1)}) hi(1)=f(j=1mwj(1)xi+j1(1)+b(1))
    h i ( 2 ) = f ( ∑ j = 1 m w j ( 2 ) h i + j − 1 ( 1 ) + b ( 2 ) ) h_i^{(2)} = f(\sum_{j=1}^{m} w_j^{(2)} h_{i+j-1}^{(1)} + b^{(2)}) hi(2)=f(j=1mwj(2)hi+j1(1)+b(2))
    h i ( 3 ) = f ( ∑ j = 1 m w j ( 3 ) h i + j − 1 ( 2 ) + b ( 3 ) ) h_i^{(3)} = f(\sum_{j=1}^{m} w_j^{(3)} h_{i+j-1}^{(2)} + b^{(3)}) hi(3)=f(j=1mwj(3)hi+j1(2)+b(3))
    h i ( 4 ) = f ( ∑ j = 1 m w j ( 4 ) h i + j − 1 ( 3 ) + b ( 4 ) ) h_i^{(4)} = f(\sum_{j=1}^{m} w_j^{(4)} h_{i+j-1}^{(3)} + b^{(4)}) hi(4)=f(j=1mwj(4)hi+j1(3)+b(4))
    h i ( 5 ) = f ( ∑ j = 1 m w j ( 5 ) h i + j − 1 ( 4 ) + b ( 5 ) ) h_i^{(5)} = f(\sum_{j=1}^{m} w_j^{(5)} h_{i+j-1}^{(4)} + b^{(5)}) hi(5)=f(j=1mwj(5)hi+j1(4)+b(5))
    h i ( 6 ) = f ( ∑ j = 1 n w j ( 6 ) x i + j − 1 ( 6 ) + b ( 6 ) ) h_i^{(6)} = f(\sum_{j=1}^{n} w_j^{(6)} x_{i+j-1}^{(6)} + b^{(6)}) hi(6)=f(j=1nwj(6)xi+j1(6)+b(6))
    h i ( 7 ) = f ( ∑ j = 1 n w j ( 7 ) h i + j − 1 ( 6 ) + b ( 7 ) ) h_i^{(7)} = f(\sum_{j=1}^{n} w_j^{(7)} h_{i+j-1}^{(6)} + b^{(7)}) hi(7)=f(j=1nwj(7)hi+j1(6)+b(7))
    y = s o f t m a x ( W x ( 8 ) + b ( 8 ) ) y = softmax(Wx^{(8)}+b^{(8)}) y=softmax(Wx(8)+b(8))
    其中, h i ( 1 ) h_i^{(1)} hi(1) h i ( 5 ) h_i^{(5)} hi(5)分别表示第一层到第五层的输出, x ( 1 ) x^{(1)} x(1) x ( 5 ) x^{(5)} x(5)分别表示输入数据和第一层到第五层的权重矩阵, w ( 1 ) w^{(1)} w(1) w ( 5 ) w^{(5)} w(5)分别表示第一层到第五层的卷积核, b ( 1 ) b^{(1)} b(1) b ( 5 ) b^{(5)} b(5)分别表示第一层到第五层的偏置项, f f f表示激活函数, h i ( 6 ) h_i^{(6)} hi(6)表示第六层的输出, x ( 6 ) x^{(6)} x(6)表示第六层的输入数据, w ( 6 ) w^{(6)} w(6)表示第六层的权重矩阵, b ( 6 ) b^{(6)} b(6)表示第六层的偏置项, h i ( 7 ) h_i^{(7)} hi(7)表示第七层的输出, x ( 7 ) x^{(7)} x(7)表示第七层的输入数据, w ( 7 ) w^{(7)} w(7)表示第七层的权重矩阵, b ( 7 ) b^{(7)} b(7)表示第七层的偏置项, s o f t m a x softmax softmax表示Softmax函数, W W W表示第八层的权重矩阵, b ( 8 ) b^{(8)} b(8)表示第八层的偏置项, y y y表示分类结果。

  2. VGGNet

    VGGNet是一种由Karen Simonyan和Andrew Zisserman在2014年提出的卷积神经网络,主要用于ImageNet图像识别任务。它使用了多个小尺寸的卷积核来替代原来的大尺寸卷积核,以提高模型的准确率。其结构如下图所示:
    在这里插入图片描述

    其中,卷积层使用了3x3大小的卷积核,池化层的窗口大小为2x2,全连接层使用了ReLU激活函数和Dropout正则化技术。VGGNet的计算公式为:
    h i ( 1 ) = f ( ∑ j = 1 m w j ( 1 ) x i + j − 1 ( 1 ) + b ( 1 ) ) h_i^{(1)} = f(\sum_{j=1}^{m} w_j^{(1)} x_{i+j-1}^{(1)} + b^{(1)}) hi(1)=f(j=1mwj(1)xi+j1(1)+b(1))
    h i ( 2 ) = f ( ∑ j = 1 m w j ( 2 ) h i + j − 1 ( 1 ) + b ( 2 ) ) h_i^{(2)} = f(\sum_{j=1}^{m} w_j^{(2)} h_{i+j-1}^{(1)} + b^{(2)}) hi(2)=f(j=1mwj(2)hi+j1(1)+b(2))
    h i ( 3 ) = f ( ∑ j = 1 m w j ( 3 ) h i + j − 1 ( 2 ) + b ( 3 ) ) h_i^{(3)} = f(\sum_{j=1}^{m} w_j^{(3)} h_{i+j-1}^{(2)} + b^{(3)}) hi(3)=f(j=1mwj(3)hi+j1(2)+b(3))
    h i ( 4 ) = f ( ∑ j = 1 m w j ( 4 ) h i + j − 1 ( 3 ) + b ( 4 ) ) h_i^{(4)} = f(\sum_{j=1}^{m} w_j^{(4)} h_{i+j-1}^{(3)} + b^{(4)}) hi(4)=f(j=1mwj(4)hi+j1(3)+b(4))
    h i ( 5 ) = f ( ∑ j = 1 m w j ( 5 ) h i + j − 1 ( 4 ) + b ( 5 ) ) h_i^{(5)} = f(\sum_{j=1}^{m} w_j^{(5)} h_{i+j-1}^{(4)} + b^{(5)}) hi(5)=f(j=1mwj(5)hi+j1(4)+b(5))
    h i ( 6 ) = f ( ∑ j = 1 m w j ( 6 ) h i + j − 1 ( 5 ) + b ( 6 ) ) h_i^{(6)} = f(\sum_{j=1}^{m} w_j^{(6)} h_{i+j-1}^{(5)} + b^{(6)}) hi(6)=f(j=1mwj(6)hi+j1(5)+b(6))
    h i ( 7 ) = f ( ∑ j = 1 m w j ( 7 ) h i + j − 1 ( 6 ) + b ( 7 ) ) h_i^{(7)} = f(\sum_{j=1}^{m} w_j^{(7)} h_{i+j-1}^{(6)} + b^{(7)}) hi(7)=f(j=1mwj(7)hi+j1(6)+b(7))
    h i ( 8 ) = f ( ∑ j = 1 m w j ( 8 ) h i + j − 1 ( 7 ) + b ( 8 ) ) h_i^{(8)} = f(\sum_{j=1}^{m} w_j^{(8)} h_{i+j-1}^{(7)} + b^{(8)}) hi(8)=f(j=1mwj(8)hi+j1(7)+b(8))
    y = s o f t m a x ( W x ( 9 ) + b ( 9 ) ) y = softmax(Wx^{(9)}+b^{(9)}) y=softmax(Wx(9)+b(9))
    其中, h i ( 1 ) h_i^{(1)} hi(1) h i ( 8 ) h_i^{(8)} hi(8)分别表示第一层到第八层的输出, x ( 1 ) x^{(1)} x(1) x ( 8 ) x^{(8)} x(8)分别表示输入数据和第一层到第八层的权重矩阵, w ( 1 ) w^{(1)} w(1) w ( 8 ) w^{(8)} w(8)分别表示第一层到第八层的卷积核, b ( 1 ) b^{(1)} b(1) b ( 8 ) b^{(8)} b(8)分别表示第一层到第八层的偏置项, f f f表示激活函数, s o f t m a x softmax softmax表示Softmax函数, W W W表示第九层的权重矩阵, b ( 9 ) b^{(9)} b(9)表示第九层的偏置项, y y y表示分类结果。

  3. ResNet

    ResNet是一种由Kaiming He等人在2015年提出的卷积神经网络,主要用于ImageNet图像识别任务。它采用了残差学习的思想,允许网络中存在跨层连接,解决了深度网络训练时出现的梯度消失和梯度爆炸问题,从而使得网络可以更深更复杂。其结构如下图所示:
    在这里插入图片描述

    其中,ResNet使用了残差块(Residual Block)来构建网络,每个残差块包含了两个卷积层和一个跨层连接,如下图所示:
    在这里插入图片描述

    残差块的计算公式为:
    y = f ( x + F ( x , W ) ) y = f(x + F(x,W) ) y=f(x+F(x,W))
    其中, x x x表示输入数据, F F F表示卷积层和激活函数的组合, W W W表示卷积层的权重矩阵, b b b表示卷积层的偏置项, f f f表示激活函数, + + +表示元素级别的加法。
    ResNet的计算公式为:
    h i ( 1 ) = f ( ∑ j = 1 m w j ( 1 ) x i + j − 1 ( 1 ) + b ( 1 ) ) h_i^{(1)} = f(\sum_{j=1}^{m} w_j^{(1)} x_{i+j-1}^{(1)} + b^{(1)}) hi(1)=f(j=1mwj(1)xi+j1(1)+b(1))
    h i ( 2 ) = f ( ∑ j = 1 m w j ( 2 ) h i + j − 1 ( 1 ) + b ( 2 ) ) h_i^{(2)} = f(\sum_{j=1}^{m} w_j^{(2)} h_{i+j-1}^{(1)} + b^{(2)}) hi(2)=f(j=1mwj(2)hi+j1(1)+b(2))
    h i ( 3 ) = f ( ∑ j = 1 m w j ( 3 ) h i + j − 1 ( 2 ) + b ( 3 ) ) + h i ( 2 ) h_i^{(3)} = f(\sum_{j=1}^{m} w_j^{(3)} h_{i+j-1}^{(2)} + b^{(3)}) + h_i^{(2)} hi(3)=f(j=1mwj(3)hi+j1(2)+b(3))+hi(2)
    h i ( 4 ) = f ( ∑ j = 1 m w j ( 4 ) h i + j − 1 ( 3 ) + b ( 4 ) ) h_i^{(4)} = f(\sum_{j=1}^{m} w_j^{(4)} h_{i+j-1}^{(3)} + b^{(4)}) hi(4)=f(j=1mwj(4)hi+j1(3)+b(4))
    h i ( 5 ) = f ( ∑ j = 1 m w j ( 5 ) h i + j − 1 ( 4 ) + b ( 5 ) ) + h i ( 4 ) h_i^{(5)} = f(\sum_{j=1}^{m} w_j^{(5)} h_{i+j-1}^{(4)} + b^{(5)}) + h_i^{(4)} hi(5)=f(j=1mwj(5)hi+j1(4)+b(5))+hi(4)
    h i ( 6 ) = f ( ∑ j = 1 m w j ( 6 ) h i + j − 1 ( 5 ) + b ( 6 ) ) h_i^{(6)} = f(\sum_{j=1}^{m} w_j^{(6)} h_{i+j-1}^{(5)} + b^{(6)}) hi(6)=f(j=1mwj(6)hi+j1(5)+b(6))
    h i ( 7 ) = f ( ∑ j = 1 m w j ( 7 ) h i + j − 1 ( 6 ) + b ( 7 ) ) + h i ( 6 ) h_i^{(7)} = f(\sum_{j=1}^{m} w_j^{(7)} h_{i+j-1}^{(6)} + b^{(7)}) + h_i^{(6)} hi(7)=f(j=1mwj(7)hi+j1(6)+b(7))+hi(6)
    h i ( 8 ) = f ( ∑ j = 1 m w j ( 8 ) h i + j − 1 ( 7 ) + b ( 8 ) ) h_i^{(8)} = f(\sum_{j=1}^{m} w_j^{(8)} h_{i+j-1}^{(7)} + b^{(8)}) hi(8)=f(j=1mwj(8)hi+j1(7)+b(8))
    h i ( 9 ) = f ( ∑ j = 1 m w j ( 9 ) h i + j − 1 ( 8 ) + b ( 9 ) ) + h i ( 8 ) h_i^{(9)} = f(\sum_{j=1}^{m} w_j^{(9)} h_{i+j-1}^{(8)} + b^{(9)}) + h_i^{(8)} hi(9)=f(j=1mwj(9)hi+j1(8)+b(9))+hi(8)
    y = s o f t m a x ( W x ( 10 ) + b ( 10 ) ) y = softmax(Wx^{(10)}+b^{(10)}) y=softmax(Wx(10)+b(10))
    其中, h i ( 1 ) h_i^{(1)} hi(1) h i ( 9 ) h_i^{(9)} hi(9)分别表示第一层到第九层的输出, x ( 1 ) x^{(1)} x(1) x ( 9 ) x^{(9)} x(9)分别表示输入数据和第一层到第九层的权重矩阵, w ( 1 ) w^{(1)} w(1) w ( 9 ) w^{(9)} w(9)分别表示第一层到第九层的卷积核, b ( 1 ) b^{(1)} b(1) b ( 9 ) b^{(9)} b(9)分别表示第一层到第九层的偏置项, f f f表示激活函数, s o f t m a x softmax softmax表示Softmax函数, W W W表示第十层的权重矩阵, b ( 10 ) b^{(10)} b(10)表示第十层的偏置项, y y y表示分类结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值