深度学习基础(一)

advanced topics in visual computing

deep learning fundamentals:part1

 

 

 

深度学习基础、数学推导

深度学习的应用:人脸识别、物体检测、图像检索、图像去噪

low level image processing :图像去噪、图像增强

HDR:高动态范围显示(8-bit RGB数据    ->16bit表示一个像素的灰度值:灰度值范围65536)

HDR将图像中的每个像素点处的灰度值动态范围很大,让图片更好看

 

神经网络可以理解为是一些很powerful的technology(技术)堆叠在一起,如卷积、relu、softmax、batch normalization、dropout。

back propagation反向传播算法训练神经;

SVM(支撑向量机),手推SVM公式(支撑向量机)

SVM的本质是一个分类器,SVM(support vector machine)要寻找一些支撑向量(support vector),在SVM的基础上加入kernel就是kernel版本的SVM,SVM并不具备提取特征的能力,它只能对于已经提取好的特征进行分类。比如,对于一张输入图片,用传统的特征提取算法或者用深度学习中神经网络模型提取到特征后,每一张图片都会对应一个特征向量,或者对于HOG特征,每一张图片就会对应一个直方图分布,再度量任意两个特征向量之间的相似性(先要将特征向量进行L2-normalization,再计算similarity,可以计算两个特征向量之间的内积),SVM并不具备对于特征的学习能力,用卷积神经网络对于输入图像进行分类的一般模型:input image-CNN-softmax-cross entropy,对于CNN提取到的特征,送入softmax+cross entropy进行分类,则SVM就相当于softmax+cross entropy这个分类器。

使用深度学习神经网络对于输入图像进行分类可以实现端到端方式,对于输入图像进行特征提取和对提取后的特征向量进行分类可以one-stage training,而使用传统方法进行图像分类,必须使用传统的特征提取算法提取到特征后,再将特征送入SVM中,对于SVM分类器进行训练,无法实现端到端。SVM可以实现线性分类和非线性分类,SVM在凸优化问题中通常可以得到全局最优解,SVM实际上是一个极度非线性的模型。

凸问题和非凸问题

凸问题:二阶导数大于等于0,就是图凸问题,它的曲线模型通常是:即存在全局最优解(全局极大值点或者全局极小值点)

凸问题:无论初始位置在哪里,使用梯度下降法一定能走到全局最优解的位置,凸问题只有唯一解,唯一解就是最优解

非凸问题:非凸问题的解与初始化的区域/位置相关,只能找到局部最优解,当然,可能最终找到的解是全局最优解,但是你不知道它是不是全局最优解。

对于深度神经网络,如果对于每一层神经元经过线性变换之后的数值进行非线性函数的激活,则最终,神经网络的输出相对于神经网络的输入很大程度上是一个非凸函数,无法找到全局最优解。support vector machine本身是一个凸问题,因为它存在全局最优解,全局最优就是将数据集样本点的support vectors找出来。

f(h(g(x))):多层非线性函数叠加,得到的是非凸问题

 

 

Alexnet2012:深度学习爆发点   Milestone work of CNN

 

Long-short term memory(LSTM)长短时记忆网络    Recurrent neural network递归神经网络

LSTM和RNN通常用于语音识别和自然语言处理

例如,对于文本分类问题的网络结构为:

当前层的输入不仅与当前层的输入有关,还和上一层的输出(可以认为是上一阶段所传入的记忆信息)有关,这样可以实现信息的流动。假设文本特征(先对于文本进行全连接提取特征向量)的长度为N,第N个时间节点的输出与第N-1,……一直到第0时刻的时间节点的输出值都相关,这样的网络模型同样存在梯度消失问题,中间节点是否有输出取决于模型所要解决的具体问题。比如是要做文本分类,则中间隐藏节点可以没有输出,只在最后一个节点/最后一层处有输出(输出值为分类类别置信度,就是二分类问题,是文本还是不是文本);如果是做图像描述问题,则先将图像送入CNN网络中提取到特征图,再将特征按照时时序展开,送入LSTM,LSTM中的每一个隐藏层都可以有输出,(当然也可以经过若干个隐藏层之后,输出一个节点的值——机器翻译)。

将RNN模型倒过来的模型和FPN结构相同,可以将x0、x1、……xN理解成是(N+1)个不同尺度的特征图,分辨率从小到大(特征图层次由深到浅),当前层的输出特征图=上一层的输出特征图进行upsamling  与   当前层的输入特征图  进行concatenate操作之后的输出。

CNN可以理解为空序展开的网络,RNN是时序展开的模型,RNN模型的深度是时间序列的长度。

 

neural network:图像分类,语音识别和自然语言处理/机器翻译。

 

 

Matrix calculus:矩阵积分:矩阵的链式求导(维基百科)

notation of matrix derivatives矩阵求导的两种形式:

基于分子的形式和基于分母的形式,通常使用的是基于分母的形式,它们的主要区别如下:

 

 

如果对于输入图像为M*M*3的图像(一般而言送入卷积神经网络中的图像都是长宽相等的),如果经过一层卷积层:参数设置为:kernel size=3,stride=2,padding=1,output_channel=64,则输出的特征图尺寸为(M/3)*(M/3)*64,

对于卷积神经网络而言,隐藏层的节点数量就是输出特征图尺寸像素数,如(M/3)*(M/3)*64,这是相对应于全连接层来看的,全连接层可可视层(输入层)和隐藏层之间是全连接结构,算上偏置项的话,隐藏层节点个数就等于偏置向量的维数,则对应到卷积神经网络,不同数值的偏置等于output_channel,但是对于输出特征图的每一个通道上,对每一个3*3*3的图像块应用3*3卷积,都会加上一个偏置值,对于同一个特征图通道,这个偏置数值是相等的,添加了(M/3)*(M/3)个偏置值,在对于64个通道,共有64个不同的偏置数值,每个数值被加了(M/3)*(M/3)次,故而对于CNN,每一层的节点数目就等于输出特征图尺寸像素个数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值