机器学习笔记:卷积神经网络(CNN)基础知识

一. ImageNet图像分类大赛(ILSVRC)

ImageNet是针对超过1500万个物品的高分辨率图像的数据集,大约有22,000个类别。图像是从网上收集的,并由人工使用Ama-s Mechanical Turk工具进行标记。2010-2017,作为Pascal视觉对象挑战赛的一部分,举办了名为ImageNet大规模视觉识别挑战赛(ILSVRC)的年度比赛。ILSVRC使用ImageNet的一个子集,在1000个类别中分别拥有大约1000个图像。总之,大约有120万个训练图像,50,000个验证图像和150,000个测试图像。
ILSVRC具体细节
Top-5错误率是指:对于一个物品,列出5个可能的分类结果,如果有一个是正确的即判定此次分类正确。
ImageNet图像分类大赛历年top-5错误率
2012年错误率突然大幅下降,正是因为此次的冠军正是使用了CNN这种结构,12年之前的大部分比赛模型使用的都是浅层模型。
传统的图像分类方法往往需要面临的一个问题就是特征提取,对于一种图像分类算法,不同的特征提取方法得到的分类准确度可能大相径庭,而CNN的便利之处就在于可以自动的提取图像的特征。

二. 卷积神经网络结构

一个经典的卷积神经网络结构主要分为五个部分,输入层,卷积层,下采样层,全连接层以及输出层。
在这里插入图片描述
输入层:通常作为CNN的第一层,为了方便卷积运算,输入一般是固定大小的图像。
卷积层:卷积层是CNN的特征提取层,主要对输入层的图像进行卷积运算,提取图像特征;卷积层由一个个的卷积核组成,一般来说特征提取的能力跟卷积核的数量成正比。
下采样层:下采样又叫做池化层,该层通过计算一个区域内像素的平均值,在尽量保护图像信息的前提下对数据进行降维,加快网络的训练速度。
全连接层:全连接层类似于感知机的隐含层部分,全连接层可以有多个,它的作用是整合之前各个部分提取的特征值。
输出层:输出层的节点数跟神经网络的具体应用有关。如果神经网络的任务是分类的话,那么输出层通常是一个分类器。比如softmax分类器,支持向量机等等。

三. 卷积神经网络举例:AlexNet

AlexNet是深度学习教父Hiton和他的学生一同设计的,该网络斩获了2012年ILSVRC的冠军,那篇经典的论文:《ImageNet Classification with Deep Convolutional Neural Networks》仅仅在百度学术上就被引用了2.6万多次。
AlexNet的结构如下,五层的卷积层和三层的全连接层,其中第一、第二、第五层之后跟有下采样层,其是针对1000类物品进行分类的。

在这里插入图片描述
利用MATLAB中的深度学习工具箱可以很方便的调用Alexnet,通常可以很方便的将其应用的自己的分类任务中进行迁移学习,在这里介绍下用Alexnet进行分类的代码。利用Alexnet进行分类的代码如下:

net = alexnet; %调用Alexnet
figure(1)
J = imread('banana1.jpg');%选择要分类的图像
imshow(J)
I = imresize(J,[227,227]); %将其设置为输入层的图像大小
Label = classify(net,I)    %判断图像种类
figure(2)
imshow(I)

原图
处理过后的输入图像
在这里插入图片描述
分类结果显示的是banana(emmm看来网络不能分辨香蕉和香蕉皮)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值