Day 16 - 卷积神经网络 CNN (1)-壹页AI战国史

历史重要性

CNN历史已发生,为何要花时间了解它?个人认为了解CNN历史可以让我们选择以同方式解决不同问题,如下图(来源: 成功大学 连震杰 教授)我们可利用较现代方式(VGG19 19层),亦可以较古老方式 (1998 LeNet 5层或 2012 AlexNet 8层),取决於我们拥有多少资源(电脑多强、训练需多久......)和不同目的而定,我们一定不想杀鸡用牛刀吧。

What is CNN ?

专门解决图像问题的机器现在大多使用 CNN 来消化处理影像,其相当於眼睛的角色,用以辨识不同物体。我们可把它看作特徵提取层,可以最大利用图像的局部信息并将局部特徵拼接起来,从而得到整幅图的特徵。其概念类似於通过拼图来还原图像。原文网址

CNN 历史-改变人类在AI的进展

从1980年代便开始快速发展的 CNN,是当今自动驾驶车、石油探勘及核融合研究的先锋,也使我们能更快速地在医学影像里找出疾病和拯救生命。

https://ithelp.ithome.com.tw/upload/images/20201211/2013060143C4Xw3PgS.png
来源: 成功大学 连震杰 教授

AI战国时代

注:
1.下文中的专有词,之後文章会有说明,此处是快速整理供日後参考
2.MNIST(Modified National Institute of Standards and Technology) : 手写数字资料库 0-9. (60,000 training samples, 10,000 testing samples)
3.ILSVRC(ImageNet Large Scale Visual Recognition Challenge) : 年度图像识别挑战赛,挑战物体检测和图像分类的算法。有十种目录供辨识,目的是使研究人员可以比较各方的检测速度,另一个目的是测量电脑视觉辨识的发展进度。使用资料 ImageNet (1,200,000 samples)

  • LeNet (1998, Yann LeCun)

    • 数字辨识 (0-9)
    • 3层Conv(卷积层)+2层FC(全连结层)
    • 使用资料 MNIST
    • CNN 的 Hello World
  • AlexNet (2012 , Alex Krizhevsky)

    • 基本架构跟LeNet大致上相同可以算是LeNet的加强版,主要的新技术与应用有将ReLU、Dropout、LRN加到model中,并用GPU来加快training效率以及data augmentation增加训练资料集
    • 拿下ILSVRC”12的冠军让CNN重返荣耀,其将top-5 error减少至16.4%
  • VGG (2014 , Visual Geometry Group)

    • AlexNet的延伸版CNN model,其架构仍为Conv layer + FC layer,特点是conv kernel皆为3x3奠定了使用3x3 conv kernel的趋势,而pooling kernel为2x2
    • 最广为人知的是VGG-16、VGG-19 (层数为16或19)
    • ILSVRC top-5 error减少至7.3%
  • GoogLeNet (2014 , Going Deeper with Convolutions)

    • 虽然因为较复杂所以较没有VGG那麽受欢迎
    • 要改善神经网路准确度最直觉的方式就是直接加大神经网路,藉此增加可能找到最佳参数的机会,然而这个直观的解法是相当简单也相当困难的,为什麽会这麽说呢?这是因为当你加大神经网路时,同时伴随着参数过多会导致过拟合(over-fitting)的问题,因此有技巧的加大神经网路就变成重要的议题。GoogLeNet就是基於此概念催生出的神经网路,不仅网路架构变得更深,同时也变得更宽,这发展出的架构被命名「Inception」
    • 22 层
    • ILSVRC top-5 error减少至6.7%
  • ResNet (2015 , Deep Residual Learning for Image Recognition)

    • 超过 150 层
    • 发现电脑负担过重
    • ILSVRC top-5 error减少至3.6% , 比人类辨识力更强 (人类是5.1%)

https://ithelp.ithome.com.tw/upload/images/20201216/20130601d5pErkuRPQ.png

注:本文是搜寻数个网站及各种不同来源之结果,着重在学习,有些内容已难办别出处,我会尽可能列入出处,若有疏忽或出处不可考,请联络我, 我会列入, 尚请见谅。

<<:  【资料结构】图的表示方式与基本运作

>>:  Windows Web Form(C#) import Web API

30天程序语言研究

今天是30天程序语言研究的第十天,研究的语言一样是python,今天主要学习的是module的使用和...

[Day 27] 没有 connection pool 支援怎麽办?谈 HikariCP

在资料库连线中,如果连线数越来越多,在进行管理时常常会使用 connection pool 进行管理...

#16 数据上的各种距离(1)

讲到大数据就免不了提及一些演算法,但在我们开始介绍演算法之前,先介绍在数据中各种距离代表得含义 闵可...

Day23 设定Alerts

今日我们要来使用Kibana内的警报功能,看如何设定Alert让我们能收到异常的通知。 设定Aler...

Python 列印

我们终於进到写程序的部分了,前几天我们都在教学基本的使用,今天就让我来教大家吧!我们就先开到程序档的...