Alex Net(ImageNet Classification with Deep Convolutional Neural Networks)

本文深入剖析了AlexNet模型的关键创新,包括ReLU激活函数、Dropout正则化技术、数据增强方法等,并详细介绍了其网络结构及各层的具体配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Alex Net

目录

参考:
  文章重点解析:【卷积神经网络-进化史】从LeNet到AlexNet
  模型框架分析:神经网络模型之AlexNet的一些总结
  全连接层解释:解释一下全连接层


Novel Idea

  • ReLU
  • Dropout
  • Dataset Augmentation

ReLU

Sigmoid 是常用的非线性激活函数,把输入的连续实值压缩到0和1之间。特别的,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1.
但是它有一些致命的缺点:

  • Sigmoids saturate and kill gradients.
      sigmoid 有一个非常致命的缺点,当输入非常大或者非常小的时候,会有饱和现象,使神经元的梯度是接近于0。如果初始值很大,梯度在反向传播时因为需要乘上一个sigmoid 的导数,所以会变得越来越小,这会导致网络变的很难学习。
  • Sigmoid 的 output 不是0均值.
  •   这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。如果数据进入神经元的时候是正的: x>0elementwiseinf=wTx+b ,那么 w 计算出的梯度也会始终都是正的。

      当然,如果是按batch去训练,那么那个batch可能得到不同的信号,所以这个问题可以缓解一下。因此,非0均值这个问题虽然会产生一些不好的影响,不过跟上面提到的 kill gradients 问题相比还是要好很多。

    ReLU 的数学表达式如下:

    f(x)=max(0,x)

    很显然,从图左可以看出,输入信号<0时,输出都是0,>0 的情况下,输出等于输入。w 是二维的情况下,使用ReLU之后的效果如下:
    这里写图片描述

    Dropout

    结合预先训练好的许多不同模型来进行预测,是一种非常成功的减少测试误差的方式。但因为每个模型的训练都需要花好几天时间,因此这种做法不适用于大型神经网络。

    AlexNet 提出了一个非常有效的模型组合版本,它在训练中只需要花费两倍于单模型的时间。这种技术叫做Dropout:对每个隐层神经元都以0.5的概率将其输出设置为零。以这种方式“dropped out”的神经元既不参与前向传播,也不参与反向传播。

    所以每次输入一个样本,就相当于该神经网络就尝试了一个新的结构,但是所有这些结构之间又共享权重。因为神经元不能依赖于其他特定神经元而存在,所以这种技术降低了神经元复杂的互适应关系。

    正因如此,网络需要被迫学习更为稳定的特征,这些特征在结合其他神经元的一些不同随机子集时有用。在测试时,将所有神经元的输出都乘以0.5,对于获取指数级dropout网络产生的预测分布的几何平均值,这是一个合理的近似方法。

    Data Augmentation

    • 对256*256的原始图像进行随机crop,抽出224*224的块,并翻转
      • 将数据扩大了2048倍(32*32*2,32为256 - 224)
    • 对RGB信道进行扰动
      • 利用PCA得到的矩阵计算出特征值 pi 与特征向量 λi 并利用由 U(0,0.1) 产生的随机值 αi 进行扰动: Ixy=Ixy+[p1,p2,p3][α1λ1,α2λ2,α3λ3]T

    Analyse of the Architecture

    文中的架构如下:

    附公式:
    输入图片大小: W×W
    Filter大小: F×F
    步长: S
    卷积时填充的像素数:P

    N=WF+2PS+1

    • 第一层:
      Convolution:第一层图像大小为224*224*3,卷积核大小为11*11*3,数量为96,步长为4,用上述公式计算可得: 22411+2P4+1=55 ,可以得出在卷积前,对图像进行了填充的预处理,让图像大小变为228*228*3(原博客中为227*227*3,但是padding时对两侧同时增加两列零向量可能更直观)。输出为55*55*48(分为两个GPU)。
      ReLU、LRN(正则化)
      Max pooling:输入为55*55*48(对其中一个GPU分析),池化层大小为3*3,步长为2,经过处理后得到的图像大小为 5532+1=27 ,即27*27*48(两个GPU)。
    • 第二层:
      Convolution:输入图像大小为27*27*48,卷积核大小为5*5*48,数量为256,步长为1,用上述公式计算可得: 275+2P1+1=27 ,可以得出在卷积前,每幅像素层的左右两边和上下两边都要填充2个像素。输出为27*27*128(分为两个GPU)
      ReLU、LRN(正则化)
      Max pooling:输入为27*27*128(对其中一个GPU分析),池化层大小为3*3,步长为2,经过处理后得到的输出大小为 2732+1=13 ,即13*13*128(两个GPU)。
    • 第三层:
      Convolution:输入图像大小为13*13*128,卷积核大小为3*3*128,数量为384,步长为1,类似前述过程,经过填充(P = 1)用上述公式计算可得: 133+21+1=13 。输出为13*13*192(分为两个GPU)
      ReLU、LRN(正则化)
      Max pooling:该层没有进行池化,输出图像为13*13*192(两个GPU)
    • 第四层:
      Convolution:输入图像大小为13*13*192,卷积核大小为3*3*192,数量为384,步长为1,类似前述过程,经过填充(P = 1)用上述公式计算可得: 133+21+1=13 。输出为13*13*192(分为两个GPU)
      ReLU、LRN(正则化)
      Max pooling:该层没有进行池化
    • 第五层:
      Convolution:输入图像大小为13*13*192,卷积核大小为3*3*192,数量为256,步长为1,类似前述过程,经过填充(P = 1)用上述公式计算可得: 133+21+1=13 。输出为13*13*128(分为两个GPU)
      ReLU、LRN(正则化)
      Max pooling:输入为13*13*128(对其中一个GPU分析),池化层大小为3*3,步长为2,经过处理后得到的输出大小为 1332+1=6 ,即6*6*128(两个GPU)。
    • fc6(全连接层):
      输入图像为13*13*256(总共),经过4096个13*13*256大小的卷积核,最后得到的输出为1*1*4096。
    • fc7:
      输入为1*1*4096,经过4096个1*1*4096大小卷积核的卷积,得到1*1*4096的输出。
    • fc8:
      输入为1*1*4096,经过全连接,得到1000个神经元。

    Rest Part

    • 利用多GPU进行训练
    • 迭代池化(Overlapping Pooling)
    • 局部响应正则化(Local Response Normalization)
    • 参数模型调整:以0.01开始,每次除以10
内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值