李宏毅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 ,则filter应为 x × x × 3 x\times x\times3 .
例如经过若干conv层后输入 64 × 64 × 50 64\times64\times50 ,则filter应为 x × x × 50 x\times x\times50 .
一个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的输出矩阵
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的输出矩阵

padding

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

MaxPooling

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

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 , 使 , L 1 , 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 的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

猜你喜欢

转载自blog.csdn.net/Arron_hou/article/details/87837062
今日推荐