一句话解释概念----深度学习入门(未完 //TODO)

仅为方便理解和回忆,并不严谨。
要真的理解还是老老实实看书,推公式,画图,写代码。

深度学习的过程

找到一个或一组函数,能从输入得到输出,比如从图像得到所属类别,然后优化这些函数,找到一个最好的。

神经网络其实是个什么?

是个线性变换,多维向量×权重矩阵+偏置得到新的多维向量

编码和解码

输入维度高,输出维度低,编码,相当于提取出了特征
反之就是解码喽

学习的目标

损失函数

怎样使损失函数minimize

确定神经网络中的各种参数

神经网络里面有什么参数

权重值和偏置(y = wx + b)

如何找到使损失函数最小化的参数

可以使用梯度下降法(梯度:损失函数对参数的一阶偏导数)

反向传播是用来做什么的

用来计算梯度(链式法则)

为什么需要偏置

没有偏置最后拟合出来的函数都是过原点的诶

神经网络中每个节点输入和输出之间的关系

输入是激活函数里面的自变量x,输出是因变量y。

激活函数是什么

激活函数是一个神经元输入和输出之间的关系

训练一个深度神经网络需要些什么

选择合适的损失函数(如平方差,交叉熵),选择mini-batch,选择激活函数,使用自适应的学习率,使用momentum动量

使用softmax层作为输出层的时候使用交叉熵

softmax是什么?

一张图解决问题
这里写图片描述

batch是什么?

你遍历多少数据之后算一次损失函数并更新参数

为什么要选mini-batch?

遍历完所有数据再更新参数,很慢;每看一个数据就更新一次,虽然很快但效果不好;
所以折中一下,一批一批地更新参数

epoch是什么?

遍历完一次数据集是一个epoch

sigmoid激活函数有什么问题

梯度消失的问题,会有输入大但输出小的问题,限制了网络加深

梯度消失又是什么?

接近输出层的地方,梯度大学习快趋于收敛,接近输入层的地方,梯度小学习慢趋于随机(//TODO)

流行什么激活函数?

ReLU修正线性单元 及其变种(leaky ReLU, parametric ReLU)

除了ReLU之外还有什么?

MaxOut, ReLU是MaxOut的一种特殊形式,注意MaxOut里面group的概念

学习率是啥

w <—- w - 学习率×梯度(损失函数对w的一阶偏导数)
每次用梯度的多少来更新参数

学习率大小对于训练的影响

学习率太大了可能更新梯度之后梯度不下降,学习率太小的话更新的又很慢

怎么让学习率适应于训练过程

可以根据不同的参数选择不同的学习率,比如说Adagrad,学习率的计算与参数有关。

物理学里面的Momentum动量跟深度神经网络有什么关系?(//TODO)

什么叫过拟合?

怎样防止结果过拟合?

早点儿停下来 Early Stopping
正则化 如权值衰减
Dropout

Early Stopping什么时候停?

validation set上损失函数不再下降的时候停下来

权值衰减

像人的大脑一样,砍掉神经元间无用的连接(//TODO)

Dropout

每次更新参数之前,就丢掉一些神经元不要了。比如说每一次mini-batch丢掉p%的神经元,那么所有的权重值就要乘上(100-p)%,如p=30,也就是每次更新参数的时候丢掉30%的神经元。最后test的时候要记得再乘上(100-p)%。

卷积是什么?

神经网络可以提取特征,当输入为二维数据的时候,卷积操作可以保留位置信息。
卷积核在input feature map上,对应相乘并求和
输出的大小 = (image size - filter size)/ stride + 1
如果有padding
输出的大小 = (image size + 2 * padding size - filter size )/ stride +1

参考
http://www.hankcs.com/ml/understanding-the-convolution-in-deep-learning.html
自己还是应该将基础重新过一遍,把知识串联起来会有更大的收获
插播:
图像处理中边缘检测卷积核或者滤波核
【-1 -1 -1
-1 8 -1
-1 -1 -1】
高斯滤波核 图像平滑
【1/16 1/8 1/16
1/8 1/4 1/8
1/16 1/8 1/16】

反卷积是什么?

卷积让高维变低维,反卷积让低维变高维。
图片来源https://blog.csdn.net/panglinzhuo/article/details/75207855
这里写图片描述
这里写图片描述
//todo

池化是什么?

1)使feature map变小,降低计算复杂度
2)压缩feature map ,提取最主要特征
最大池化和平均池化比较常用,输出大小计算方式跟卷积一样
输出的大小 = (image size - filter size)/ stride + 1

全连接层

全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的
例如在VGG16中,第一个全连接层FC1有4096个节点,上一层POOL2是7*7*512 = 25088个节点,则该传输需要4096*25088个权值,需要耗很大的内存。
CNN网络中前几层的卷积层参数量占比小,计算量占比大;而后面的全连接层正好相反,大部分CNN网络都具有这个特点。因此我们在进行计算加速优化时,重点放在卷积层;进行参数优化、权值裁剪时,重点放在全连接层。
连接层实际就是卷积核大小为上层特征大小的卷积运算,卷积后的结果为一个节点,就对应全连接层的一个点。
假设最后一个卷积层的输出为7×7×512,连接此卷积层的全连接层为1×1×4096。
连接层实际就是卷积核大小为上层特征大小的卷积运算,卷积后的结果为一个节点,就对应全连接层的一个点。如果将这个全连接层转化为卷积层:
1.共有4096组滤波器
2.每组滤波器含有512个卷积核
3.每个卷积核的大小为7×7

4.则输出为1×1×4096

若后面再连接一个1×1×4096全连接层。则其对应的转换后的卷积层的参数为:
1.共有4096组滤波器
2.每组滤波器含有4096个卷积核
3.每个卷积核的大小为1×1
4.输出为1X1X4096
相当于就是将特征组合起来进行4096个分类分数的计算,得分最高的就是划到的正确的类别。

而全连接层的坏处就在于其会破坏图像的空间结构,
因此人们便开始用卷积层来“代替”全连接层,
通常采用1×1的卷积核,这种不包含全连接的CNN成为全卷积神经网络(FCN),
FCN最初是用于图像分割任务,
之后开始在计算机视觉领域的各种问题上得到应用,
事实上,Faster R-CNN中用来生成候选窗口的CNN就是一个FCN。
FCN的特点就在于输入和输出都是二维的图像,并且输入和输出具有相对应的空间结构,
在这种情况下,我们可以将FCN的输出看作是一张热度图,用热度来指示待检测的目标的位置和覆盖的区域。
在目标所处的区域内显示较高的热度,
而在背景区域显示较低的热度,
这也可以看成是对图像上的每一个像素点都进行了分类,
这个点是否位于待检测的目标上。
参考https://blog.csdn.net/gyh_420/article/details/78570415

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值