热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

经典的卷积神经网络(LeNet5AlexNetVGGGoogLeNetInceptionNetMobileNet)

ImageNet大规模视觉识别挑战赛(ILSVRC)ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库2017年为最后一届在2010-


ImageNet大规模视觉识别挑战赛(ILSVRC)


ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库


2017年为最后一届


 



在2010-2011年比较shallow的网络,中间层2-4层


在2012年那一篇爆炸性的paper出来,AlexNet(8层)在2012年ImageNet挑战赛上把错误率一下子降低了近10个百分点,也就是准确率提升了10个百分点。这在当时产生了很大的影响,从而使得大家开始关注深度学习


然后14年是19层的VGG和22层的GoogleNet。GoogleNet是第一名,VGG是第二名


15年微软亚洲研究院的华人学者何恺明提出了到现在为止非常有名气的,使用非常广泛的ResNet


 


 


LeNet5


94年提出,作者是Yann LeCun


LeNet-5 这个网络虽然很小,但是它包含了深度学习的基本模块:卷积层,池化层,全连接层。是其他深度学习模型的基础




①卷积层  ②下采样  ③卷积层  ④下采样  ⑤全连接  ⑥全连接  ⑦高斯连接


2个卷积层+后面3个全连接层    一共5层


也有7层的说法


 


因为MNIST数据集非常简单很容易就把准确率提得很高,当时LeNet5直接把准确率做到了99.2%


达到了这个准确率就可以很成熟得使用起来了


所以在当时美国的支票识别、邮编识别,当时的LeNet5直接垄断是50%的市场




 



AlexNet


第一个把深度学习引爆的神经网络结构


《ImageNet Classification with Deep Convolutional Neural Networks》这篇著名论文提出AlexNet


共8层,是在ImageNet数据集上跑的,这是一个非常大的数据集


当时是在2块GTX 580上跑的


目前AlexNet这种做法我们已经不使用了


ImageNet数据集是224*224,AlexNet的卷积核是11*11的




 


AlexNet有着和LeNet5类似的网络结构,但又新的地方


①首次引入pooling池化层(Max pooling) 和 ReLu


        这是Relu第一次引进来,之前是sigmoid或者一些不可导的接替函数


②使用了GPU实现


       因为网络结构的参数量已经达到了60M,所以使用了GPU加速。当时是训练了一个星期


③首次使用dropout regulation


抑制过拟合


 


 



VGG


由牛津大学的Visual Geometry Group小组提出,所以叫vgg


《Very Deep Convolutional Networks for Large-Scale Image Recognition》


 


VGG一共6个版本,有vgg11,vgg16,vgg19,vgg34等


VGG16包含16层,VGG19包含19层。一系列的VGG在最后三层的全连接层上完全一样,整体结构上都包含5组卷积层,卷积层之后跟一个MaxPool。所不同的是5组卷积层中包含的级联的卷积层越来越多。




AlexNet中每层卷积层中只包含一个卷积,卷积核的大小是11*11。在VGGNet中每层卷积层中包含2~4个卷积操作,卷积核的大小是3*3,卷积步长是1,池化核是2*2,步长为2,。


VGGNet最明显的改进就是降低了卷积核的尺寸,增加了卷积的层数


探索出大卷积核并没有很大的优势,反而小窗口能降低计算量,计算速度也更快


目前3*3,1*1是我们使用得非常广泛的卷积核size



可以看到卷积核的趋势是长宽越来越小,但是深度越来越多,即channel越来越多


 


 


 


 



GoogLeNet


google公司发明的,为了纪念LeNet,将L大写了组成后面的LeNet


22层


googlenet的创新点在于探索出同一层可以使用不同的卷积核得出的结果再拼接



 



operations就是计算量


 



InceptionNet

我们前面说过,alexnet-> vgg-net是使得网络变得更深和更宽
vgg-net再加深网络会遇到问题,它的精度不会再提升了
这时候就出现了resnet可以继续加深网络的层次


另一个解决这个问题的方向就是InceptionNet,同样可以解决网络层次不能再加深的问题


 


InceptionNet有多种版本,v1,v2,v3,v4,都是由Google研发的


 


深层网络遇到的问题


也就是InceptionNet解决的问题



 


InceptionNet V1结构


把输入经过一个1*1的卷积层去做分组,分组之后其通道数目就变成了原来的1/3




Inception分组卷积的优势


①一层上同时使用多种卷积核,看到各种层级的feature


②不同组之间的feature不交叉计算,减少了计算量




 


InceptionNet V2结构



 


V3结构



就是说我这一个格子本来是能看到一个3*3的视野域的,我现在只看到一个1*3的视野域,同时这个1*3的视野域的每个格子能看到3*1的视野域,这样我最后的神经元还是能看到3*3的视野域,但是参数能够降低33%


 


有了3*3的替换之后还可以替换n*n的



 


V4结构


引入skip connection



 



MobileNet

也是由Google开发的


能保证精度损失在可控的范围之内,大幅降低参数量和计算量


引入深度可分离卷积




可见MobileNet是分到极致


 


 



 


但是网络层数并不是越多越好,20多层应该是一个临界值,再往上反而效果会变差



 


 


 


 




推荐阅读
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
  • Visualizing and Understanding Convolutional Networks(ZFNet网络)论文阅读笔记
    VisualizingandUnderstandingConvolutionalNetworksZFNet网络架构论文阅读笔记2022.4.4论文地址https:arxiv ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
    无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 视觉图像的生成机制与英文术语解析
    近期,Google Brain、牛津大学和清华大学等多家研究机构相继发布了关于多层感知机(MLP)在视觉图像分类中的应用成果。这些研究深入探讨了MLP在视觉任务中的工作机制,并解析了相关技术术语,为理解视觉图像生成提供了新的视角和方法。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • Kali Linux 渗透测试实战指南:第24章 客户端安全威胁分析与防御策略
    客户端安全威胁分析与防御策略主要探讨了终端设备(如计算机、平板电脑和移动设备)在使用互联网时可能面临的各种安全威胁。本章详细介绍了这些设备如何作为信息和服务的提供者或接收者,以及它们在与服务器等其他系统交互过程中可能遇到的安全风险,并提出了有效的防御措施。 ... [详细]
  • Panabit应用层流量管理解决方案
    Panabit是一款国内领先的应用层流量管理解决方案,提供高度开放且免费的专业服务,尤其擅长P2P应用的精准识别与高效控制。截至2009年3月25日,该系统已实现对多种网络应用的全面支持,有效提升了网络资源的利用效率和安全性。 ... [详细]
  • 中文分词_中文分词技术小结几大分词引擎的介绍与比较
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了中文分词技术小结几大分词引擎的介绍与比较相关的知识,希望对你有一定的参考价值。笔者想说:觉得英文与中文分词有很大的区别, ... [详细]
  • 大数据环境下的存储系统构建:挑战、方法和趋势
    大数据环境下的存储系统构建:挑战、方法和趋势陈游旻,李飞,舒继武清华大学计算机科学与技术系,北京100084摘要:互联网规模的迅速扩展促使 ... [详细]
  • 在 Visual Studio 中,未选中文本时,使用 `Ctrl+X` 可以剪切并删除当前行,适用于快速删除整行代码;`Ctrl+C` 用于复制当前行的代码;`Ctrl+L` 则用于删除当前行。此外,通过组合键 `Ctrl+K, Ctrl+C` 可以注释选定的代码行,提升代码编辑效率。这些快捷键和技巧能够显著提高开发者的生产力,建议开发者熟练掌握并灵活运用。 ... [详细]
author-avatar
隔壁小王
刚开始
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有