深度学习课程学习笔记2

常用深度学习平台

常用的深度学习平台包括TensorFlow、PyTorch、Caffe、JAX、MXNet、Paddle和MMdetection等,其具体对比如下:
在这里插入图片描述
在这里插入图片描述

PyTorch

PyTorch是一个基于Python的科学计算库,它主要用于深度学习领域。PyTorch提供了张量计算和动态计算图的实现,具有灵活性和高效性,使得用户可以快速地构建神经网络模型。PyTorch的主要特点包括:

  1. 张量计算:PyTorch提供了高效的张量运算,支持CPU和GPU的计算,能够满足多种计算需求。

  2. 动态计算图:PyTorch使用动态计算图,允许用户在计算图中使用条件语句、循环等结构,具有更灵活的建模能力,同时也能够更方便地进行调试和优化。

  3. 自动求导:PyTorch能够自动计算梯度,无需手动编写反向传播算法,可以大大减轻用户的工作负担。

  4. 灵活性:PyTorch提供了灵活的模块化设计,用户可以自由地组合和拓展模块,满足不同的建模需求。

  5. 社区支持:PyTorch拥有庞大的社区支持,用户可以快速地获取技术支持和学习资源。
    总之,PyTorch是一个灵活、高效、易用的深度学习框架,广泛应用于学术界和工业界,是深度学习领域的重要组成部分。

卷积神经网络

卷积神经网络(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表示模型的梯度

LeNet-5

LeNet-5是由Yann LeCun等人在1998年提出的卷积神经网络,是深度学习中的经典模型之一。它主要用于手写数字的识别任务,但也可以应用于其他图像识别任务。LeNet-5共有7层,其中包括2个卷积层、2个池化层和3个全连接层,其结构如下图所示:
LeNet-5
LeNet-5的计算公式为:
C 1 = R e L U ( W 1 ∗ x + b 1 ) C_1 = ReLU(W_1 * x + b_1) C1=ReLU(W1x+b1)
S 2 = M a x P o o l ( C 1 ) S_2 = MaxPool(C_1) S2=MaxPool(C1)
C 3 = R e L U ( W 3 ∗ S 2 + b 3 ) C_3 = ReLU(W_3 * S_2 + b_3) C3=ReLU(W3S2+b3)
S 4 = M a x P o o l ( C 3 ) S_4 = MaxPool(C_3) S4=MaxPool(C3)
F 5 = R e L U ( W 5 ∗ S 4 + b 5 ) F_5 = ReLU(W_5 * S_4 + b_5) F5=ReLU(W5S4+b5)
F 6 = R e L U ( W 6 ∗ F 5 + b 6 ) F_6 = ReLU(W_6 * F_5 + b_6) F6=ReLU(W6F5+b6)
y = s o f t m a x ( W 7 ∗ F 6 + b 7 ) y = softmax(W_7 * F_6 + b_7) y=softmax(W7F6+b7)
其中, x x x表示输入数据, W 1 W_1 W1表示第一层的权重矩阵, b 1 b_1 b1表示第一层的偏置项, C 1 C_1 C1表示第一层的卷积结果, R e L U ReLU ReLU表示激活函数, S 2 S_2 S2表示第二层的池化结果, W 3 W_3 W3表示第三层的权重矩阵, b 3 b_3 b3表示第三层的偏置项, C 3 C_3 C3表示第三层的卷积结果, S 4 S_4 S4表示第四层的池化结果, W 5 W_5 W5表示第五层的权重矩阵, b 5 b_5 b5表示第五层的偏置项, F 5 F_5 F5表示第五层的全连接结果, W 6 W_6 W6表示第六层的权重矩阵, b 6 b_6 b6表示第六层的偏置项, F 6 F_6 F6表示第六层的全连接结果, W 7 W_7 W7表示第七层的权重矩阵, b 7 b_7 b7表示第七层的偏置项, s o f t m a x softmax softmax表示Softmax函数, y y y表示分类结果。
LeNet-5的特点在于,它采用了卷积层和池化层的结构,通过减少网络中的参数数量和共享权重来减少过拟合的风险。此外,它还使用了ReLU激活函数和全连接层来提高模型的准确性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值