李宏毅ML lecture-10 CNN

CNN比DNN更为简单
CNN过滤器,目的就是寻找一种pattern,这种pattern远远小于整个图片的大小,同时是和图片中大小,位置无关的.
在这里插入图片描述

Convolution

卷积运算的核心就是用卷积核(Filter),也叫滤波器,扫描完整的图片并且输出扫描后的结果.
在这里插入图片描述
filter 与 图片扫描处做內积.意思就是对应位置相乘,最后相加.
一个卷积层的filter数量是要预先设定的.换言之就是超参数.
一个2维矩阵经过有n个filter的卷积层后会输出1+n维矩阵,称为Feature Map.

在这里插入图片描述
从这张图可以看出Convolution是简化版Full Connected.同时,颜色相同不是权重相同.
意思是filter在一次扫描中filter内的值不变.对比全连接层就是权重共享Sharedeights.
同时,filter是有深度的.等同于输入图片的深度.
例如输入彩色图片 64 × 64 × 3 64\times64\times3 64×64×3,则filter应为 x × x × 3 x\times x\times3 x×x×3.
例如经过若干conv层后输入 64 × 64 × 50 64\times64\times50 64×64×50,则filter应为 x × x × 50 x\times x\times50 x×x×50.
一个filter会把输入对应位置相乘并相加,同时每一层相加的结果再次相加.一个filter只出一层.

stride

stride为卷积核扫描图片移动的步长.
假 设 s t r i d e = 1 , 3 × 3 的 F i l t e r 在 过 滤 输 入 矩 阵 为 6 × 6 之 后 会 得 到 4 × 4 的 输 出 矩 阵 假设stride=1, 3\times3的Filter在过滤输入矩阵为6\times6之后会得到4\times4的输出矩阵 stride=1,3×3Filter6×64×4
假 设 s t r i d e = 2 , 3 × 3 的 F i l t e r 在 过 滤 输 入 矩 阵 为 6 × 6 之 后 会 得 到 2 × 2 的 输 出 矩 阵 假设stride=2, 3\times3的Filter在过滤输入矩阵为6\times6之后会得到2\times2的输出矩阵 stride=2,3×3Filter6×62×2

padding

padding层将信息浓缩
但是现在普遍不使用了.

MaxPooling

在这里插入图片描述
在这里插入图片描述
最 大 池 化 如 图 所 示 , 选 择 矩 阵 中 一 定 范 围 内 的 最 大 值 输 出 . 假 设 p a d d i n g = 2 × 2 , 输 入 矩 阵 为 4 × 46 之 后 会 得 到 2 × 2 的 输 出 矩 阵 最大池化如图所示,选择矩阵中一定范围内的最大值输出.假设padding=2\times2, 输入矩阵为4\times46之后会得到2\times2的输出矩阵 ,.padding=2×2,4×462×2

flatten

把矩阵拉直.n维矩阵变为一维向量.

Fully Connected Feedforward

flatten输出的一维向量shape巨大,通过全连接层可以把一维向量shape缩小到某一个值
如果是二分类这个值就是1,就是说最终输出一个数,加一个sigmoid函数就可以分类了;
如果是多分类,例如手写数字识别,这个值就是10.通过softmax函数概率归一.

CNN的直观理解

CNN的核心就是filter或者叫kernel在图像中识别特征,在视频中可以直观看到每一个filter所识别的pattern是不同的.但是也是相似的.在fully connected Feedforward后每一个神经元识别的模式也是相似而不同的.
在输出层通过实验每一个神经元对于数字的识别准确率达到98%,但是明显是非数字的雪花图片也可以识别为数字,说明CNN学习到知识仍然与人类有巨大的区别.
通过增加先验知识,可以勉强辨认出一些数字.
x ∗ = argmax ⁡ x ( y i − ∑ i , j ∣ x i , j ∣ ) x^*=\operatorname{argmax}_x(y^i-\sum_{i,j}|x_{i,j}|) x=argmaxx(yii,jxi,j)
x ∗ 表 示 某 一 张 图 片 , 可 以 使 神 经 元 的 输 出 值 最 大 , 通 过 增 加 L 1 正 则 化 , 让 雪 花 图 片 变 为 可 以 模 糊 辨 认 的 图 片 x^*表示某一张图片,可以使神经元的输出值最大,通过增加L1正则化,让雪花图片变为可以模糊辨认的图片 x,使,L1,
在这里插入图片描述

相关论文

在这里插入图片描述

在这里插入图片描述

理解CNN

Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps
ICLR论文,可视化CNN

Visualizing and Understanding Convolutional Networks
ECCV论文,可视化并理解CNN

Deep Dream
DeepDream是Google 开源了用来分类和整理图像的 AI 程序。
大牛博客解析
官方地址

DeepStyle用于图像风格迁移
A Neural Algorithm of Artistic Style

深度强化网络

alpha Go->alphaGo Zero->alpha Zero
deepMind团队的阿尔法狗世人皆知.
本科毕设就是做的alpha Zero,真的强大,深度强化神经网络一定是通往强人工智能的钥匙.
我们知道alpha Go赢了世界冠军
现在思考为什么CNN可以下围棋,这就回到了文章的开头
CNN过滤器,目的就是寻找一种pattern,这种pattern远远小于整个图片的大小,同时是和图片中大小,位置无关的.
围棋中(或者说棋类游戏中)也存在着这样的模式,所以在alpha Go的第一个卷积层使用 5 × 5 5\times5 5×5的192个filter.
根据领域特性,不使用MaxPooling的架构

论文好像现在要收费了,网上随便找找就有了
Mastering the game of Go with deep neural networks and tree search可在线预览
Mastering the game of Go without human knowledge可在线预览
A general reinforcement learning algorithm that masters chess, shogi and Go through self-play可下载

CV

AlexNet

ImageNet Classification with Deep Convolutional Neural Networks
12年论文,AlexNet

R-CNN

Rich feature hierarchies for accurate object detection and semantic segmentation
CVPR论文,工业级目标检测模型, fast-CNN, faster-CNN的基石

NLP

语言识别

情感分析

Training Deep Convolutional Neural Network for Twitter Sentiment Classification

其他论文

128篇论文,21大领域,深度学习最值得看的资源全在这里
github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值