卷积神经网络 part1
【任务一】视频学习心得及问题总结
根据下面三个视频的学习内容,写一个总结,最后列出没有学明白的问题。
【任务二】代码练习
在谷歌 Colab 上完成代码练习,关键步骤截图,并附一些自己的想法和解读。
【任务三】展望学习
结合论文自学谷歌提出的 Inception V1 至 V4, 以及 MobileNets,整理一个学习心得。
【任务四】实战练习
AI研习社新上了一个比赛 “ 工业表面纹理缺陷检测 ”,奖金3000元。比赛链接:https://god.yanxishe.com/80
比赛时间为7月24日至8月22日,来自德国海德堡大学图像处理合作项目,提交结果只要大过标准分40就有奖金。
1. 视频学习
● 深度学习的数学基础
(下载地址:https://www.jianguoyun.com/p/DStBQ98QrKKIBhis-K4D)
● 卷积神经网络
(下载地址:https://www.jianguoyun.com/p/DaAOf94QrKKIBhi1-K4D)
主要内容包括:
- CNN的基本结构:卷积、池化、全连接
- 典型网络结构:AlexNet、VGG、GoogleNet、ResNet
● 京东专家结合 pytorch 代码讲解 ResNet
B站链接:https://www.bilibili.com/video/BV1o7411f7UM
主要内容包括:残差学习的基本原理、恒等映射和Shotcut、使用 pytorch 实现 ResNet152
所有视频下载链接2020年7月30日自动过期,请抓紧时间下载。
【任务一解答】视频学习心得及问题总结
视频学习心得:
● 深度学习的数学基础
一、机器学习(深度学习)中的数学基础
二、机器学习三要素:模型、策略、算法
1.概率/函数形式的统一
2.“最优”的策略设计
3.损失函数
三、频率学派 & 贝叶斯学派
四、Beyond深度学习
1.因果推断
2.群体智能
● 卷积神经网络
一、绪论
1.卷积神经网络的应用
(1)基本应用
分类、检索、检测、分割
(2)具体运用
人脸识别、表情识别、图像生成(Image to Image、Text to Image)、图像风格转化、自动驾驶
2.传统神经网络vs卷积神经网络
(1)深度学习三部曲
step1.搭建神经网络结构
step2.找到一个合适的损失函数
如:交叉熵损失(cross entropy loss),均方误差(MSE),......
step3.找到一个合适的优化函数,更新参数
如:反向传播(BP),随机梯度下降(SGD),.......
(2)one-hot
真实的位置为1,其他地方都为0。
(3)损失函数
分类损失中,yi:真实类别 yip:预测类别 y:真实类别 f(x):预测结果
回归损失中,yi:真实位置 yip:预测位置
(4)传统神经网络和卷积神经网络的区别
传统神经网络中的每一层采用的都是全连接层,这样就会造成参数太多,导致过拟合;
卷积神经网络采用卷积核达到局部关联和参数共享的效果,中间有卷积层、激活层、池化层、全连接层等。
二、基本组成结构
1.卷积
(1)卷积涉及到的基本概念
(2)特征图大小计算公式
(N+padding*2-F)/stride+1
(输入图大小+padding*2-卷积核大小)/步长+1
(3)卷积举例
(4)卷积的可视化理解
浅层时卷积核更关注整体的信息,深层时卷积核更关注局部某个特征的信息,不同的卷积核关注不同的信息。
2.池化
(1)池化的特征
a.池化相当于在做一个缩放,它在保留了主要特征的同时减少参数和计算量,防止过拟合,提高模型泛化能力;
b.它一般处于卷积层与卷积层之间,全连接层与全连接层之间。
(2)池化的类型
Max pooling:最大值池化
Average pooling:平均池化
(3)实验中常用的池化参数
a.分类任务中常用最大值池化
b.filter大小一般设置为2*2或3*3
c.步长一般设置为2
3.全连接
a.两层之间所有神经元都有权重连接
b.通常全连接层在卷积神经网络尾部
c.全连接层参数量通常最大
三、卷积神经网络典型结构
1.AlexNet
2.ZFNet
3.VGG
4.GoogleNet
5.ResNet
四、代码实战:Tensorflow-CNN
● 京东专家结合 pytorch 代码讲解 ResNet
2. 代码练习
代码练习需要使用谷歌的 Colab。
● MNIST 数据集分类
构建简单的CNN对 mnist 数据集进行分类。同时,还会在实验中学习池化与卷积操作的基本作用。
链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/05_01_ConvNet.ipynb
要求: 把代码输入 colab,在线运行观察效果
● CIFAR10 数据集分类
使用 CNN 对 CIFAR10 数据集进行分类
链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/05_02_CNN_CIFAR10.ipynb
要求: 把代码输入 colab,在线运行观察效果
● 使用 VGG16 对 CIFAR10 分类
链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/05_03_VGG_CIFAR10.ipynb
要求: 把代码输入 colab,在线运行观察效果
● 使用VGG模型迁移学习进行猫狗大战
链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/05_04_Transfer_VGG_for_dogs_vs_cats.ipynb
要求:这部分为 Kaggle 于 2013 年举办的猫狗大战竞赛,使用在 ImageNet 上预训练的 VGG 网络进行测试。因为原网络的分类结果是1000类,所以这里进行迁移学习,对原网络进行 fine-tune (即固定前面若干层,作为特征提取器,只重新训练最后两层)。
仔细研读AI研习社猫狗大战赛题的要求:https://god.yanxishe.com/41 (目前比赛已经结束,但仍可做为练习赛每天提交测试结果)
下载比赛的测试集(包含2000张图片),利用fine-tune的VGG模型进行测试,按照比赛规定的格式输出,上传结果评测。
【任务二解答】代码练习
● MNIST 数据集分类
● CIFAR10 数据集分类
● 使用 VGG16 对 CIFAR10 分类
● 使用VGG模型迁移学习进行猫狗大战
3. 展望学习
- 阅读《大话CNN经典模型》,链接:https://my.oschina.net/u/876354/blog/1637819
Google团队的 Inception网络:
1. 为了捕获多个感受野的信息,使用了多个尺寸卷积核来并行处理;
2. 大尺寸的卷积核可以由小的卷积核组合替换(经如1个 5x5 的卷积可以由2个 3x3 的卷积来替换);
3. 使用了非对称卷积。
- 阅读谷歌2017年的论文:《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications》
MobileNet:使用了深度可分离卷积,把标准卷积分解为 depth-wise 和 point-wise 卷积。具体细节可以参考知乎文章:https://zhuanlan.zhihu.com/p/80041030
- 阅读《HybridSN: Exploring 3-D–2-D CNN Feature Hierarchy for Hyperspectral Image Classification》
HybridSN: 思考二维卷积和三维卷积的区别?
【任务三解答】展望学习
● GoogLeNet(从Inception v1到v4的演进)
● MobileNets
● HybridSN
4. 实战练习
卷积神经网络 part1的更多相关文章
- 卷积神经网络提取特征并用于SVM
模式识别课程的一次作业.其目标是对UCI的手写数字数据集进行识别,样本数量大约是1600个.图片大小为16x16.要求必须使用SVM作为二分类的分类器. 本文重点是如何使用卷积神经网络(CNN)来提取 ...
- tensorflow学习笔记五:mnist实例--卷积神经网络(CNN)
mnist的卷积神经网络例子和上一篇博文中的神经网络例子大部分是相同的.但是CNN层数要多一些,网络模型需要自己来构建. 程序比较复杂,我就分成几个部分来叙述. 首先,下载并加载数据: import ...
- Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN
http://m.blog.csdn.net/blog/wu010555688/24487301 本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep le ...
- [DL学习笔记]从人工神经网络到卷积神经网络_2_卷积神经网络
先一层一层的说卷积神经网络是啥: 1:卷积层,特征提取 我们输入这样一幅图片(28*28): 如果用传统神经网络,下一层的每个神经元将连接到输入图片的每一个像素上去,但是在卷积神经网络中,我们只把输入 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...
- lecture5-对象识别与卷积神经网络
Hinton第五课 突然不知道object recognition 该翻译成对象识别好,还是目标识别好,还是物体识别好,但是鉴于范围性,还是翻译成对象识别吧.这一课附带了两个论文<Convolu ...
- Deep learning with Theano 官方中文教程(翻译)(四)—— 卷积神经网络(CNN)
供大家相互交流和学习,本人水平有限,若有各种大小错误,还请巨牛大牛小牛微牛们立马拍砖,这样才能共同进步!若引用译文请注明出处http://www.cnblogs.com/charleshuang/. ...
- [转]Theano下用CNN(卷积神经网络)做车牌中文字符OCR
Theano下用CNN(卷积神经网络)做车牌中文字符OCR 原文地址:http://m.blog.csdn.net/article/details?id=50989742 之前时间一直在看 Micha ...
- Caffe(卷积神经网络框架)介绍
Caffe(卷积神经网络框架)Caffe,全称Convolution Architecture For Feature Extraction caffe是一个清晰,可读性高,快速的深度学习框架.作者是 ...
随机推荐
- sql-exists、not exists的用法
exists : 强调的是是否返回结果集,不要求知道返回什么, 比如:select name from student where sex = 'm' and mark exists(select 1 ...
- ssh安全远程管理
1.什么是ssh SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效 ...
- 机器学习实战基础(十三):sklearn中的数据预处理和特征工程(六)特征选择 feature_selection 简介
当数据预处理完成后,我们就要开始进行特征工程了. 在做特征选择之前,有三件非常重要的事:跟数据提供者开会!跟数据提供者开会!跟数据提供者开会!一定要抓住给你提供数据的人,尤其是理解业务和数据含义的人, ...
- 数据可视化之DAX篇(十四)DAX函数:RELATED和RELATEDTABLE
https://zhuanlan.zhihu.com/p/64421378 Excel中知名度最高的函数当属VLOOKUP,它的确很有用,可以在两个表之间进行匹配数据,使工作效率大大提升,虽然它也有很 ...
- The Modules of Event-driven
常用的时间驱动模型(Windows和Linux都有)有三种: 1.select 对于读(Read)事件.写(Write)事件和异常(Exception)事件分别创建事件描述符集合,分别用来收集读事件的 ...
- 微信小程序支付、小程序支付功能、小程序支付方法、微信小程序支付方法
相信大家在做小程序的时候不可避免的会碰到支付功能小程序的支付和pc的是有区别的小程序的支付方法为 wx.requestPayment wx.requestPayment({ timeStamp: '' ...
- P3406 海底高铁 (洛谷)
题目背景 大东亚海底隧道连接着厦门.新北.博艾.那霸.鹿儿岛等城市,横穿东海,耗资1000亿博艾元,历时15年,于公元2058年建成.凭借该隧道,从厦门可以乘坐火车直达台湾.博艾和日本,全程只需要4个 ...
- vue配置 less 全局变量
在使用Vue开发的过程中,通常会用到一些样式的全局变量,如果在每个组件中引入就太繁琐了,维护性也不好,因此全局引入是个不错的想法.下面以less为例,记录一下全局引入less变量的步骤: 1.首先安装 ...
- nc - 网络工具箱中的「瑞士军刀」
nc 是 Linux下强大的网络命令行工具,主要用于 TCP.UDP.UNIX域套接字 相关的操作 它被设计成可以由其他程序灵活驱动可靠的后台工具,拥有 "瑞士军刀" 的美称,每个 ...
- Maven原理学习
文章目录 一.Maven概述 二.maven依赖管理 三.maven文件结构 四.maven仓库的种类以及彼此联系 五.maven标准目录结构 六.mvn命令 七.maven生命周期 八.maven的 ...