06 卷积神经网络CNN-学习笔记-李宏毅深度学习2021年度
上一篇:05 Classification-学习笔记-李宏毅深度学习2021年度
下一篇:07 Self Attention-学习笔记-李宏毅深度学习2021年度
本节内容及相关链接
CNN的相关概念
课程笔记
卷积神经网络(Convolutional Neural Network,CNN)是专门为图片识别设计的,当然也可以用在其他的任务上
卷积层:将图片各区域依次与多个Filter进行内积(inner product)操作,最终获取一个新的图片
Filter: 一个( h × w × channels h\times w \times \text{channels} h×w×channels )的Tensor,通常宽高一致,且不宜过大,取 3 × 3 × channels 3\times 3 \times \text{channels} 3×3×channels 即可,其中channel要和图片的channel保持一致
Filter是用来提取图片的特征的
例如,对一张彩色图片做卷积,则Filter的维度可以设置为:
3
×
3
×
3
3\times 3 \times 3
3×3×3
Filter也是有bias的,一个Filter有一个Bias,只不过通常不
stride:步长,只卷积过程中,Filter每次往后移动多少步;stride通常不会太大,1或2即可
卷积后生成的图片矩阵称为Feature Map
卷积的过程,可以使用神经网络完成
- Filter中的数对应神经网络的权重
- 图片中的数对应神经网络的输入
- 多个Filter相当于有多个神经元
Subsample(下采样): 将图片缩小,减小参数个数。在CNN中,称为Pooling
最常见的Pooling策略:
- Max-Pooling:在某区域的像素中,采取像素值最大,其他的都丢弃
整个CNN过程如下:
- 将图片转为Tensor
- 使用多个Filter对图片Tensor进行卷积
- 对卷积后的Feature Map进行Pooling,也可以不进行Pooling,视情况而定
- 可以对(2),(3)步进行多次
- 将Tensor转为Vector,即将图片拉平,该动作称为Flatten
- 将第5步生成的Vector输入到Fully Connected Neural Network,进行接下来的事情
CNN的局限:泛化能力差,例如对图片进行放大后,可能就识别不出来了
假设都是使用第一种类型的图片进行训练,那么CNN对第二种就无法识别
相关文章
- 简明 Python 教程学习笔记_2_函数
- 神经网络与机器学习 笔记—核方法和径向基函数网络(下)
- 神经网络与机器学习 笔记—复制器(恒等)映射
- 云风的Blog 学习神经网络的一点笔记
- GSON学习笔记之初识GSON
- 【学习笔记74】弹出框——单例模式
- nrf52810学习笔记——二
- kali 服务篇-Linux存储 学习笔记
- 机器学习笔记之前馈神经网络(四)反向传播算法[数学推导过程]
- 机器学习笔记之前馈神经网络(二)非线性问题
- 机器学习笔记之前馈神经网络(一)基本介绍
- Linux学习笔记——如何使用echo指令向文件写入内容
- Tomcat 7源码学习笔记 -5 web app自动reload
- Android学习笔记——文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)学习
- 粤嵌GEC6818-学习笔记2-屏幕相关及音频播放
- 学习笔记——进程间通信之管道详解
- 吴恩达机器学习笔记 —— 9 神经网络学习
- 图神经网络论文学习笔记-Graph Neural Networks: A Review of Methods and Applications
- 神经网络基础学习笔记(五) 与学习相关的技巧
- 神经网络基础学习笔记(三)神经网络的学习
- [javase学习笔记]-7.6 thiskeyword的原理
- Struts2学习笔记1
- Linux下汇编语言学习笔记65 ---
- Arduino学习笔记27