学习AI有许多前置的知识要学习,我从一篇论文出发一步步的向前发掘我没有掌握的知识
一、 梯度
梯度是一个向量表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大。
梯度和导数在概念上容易混淆,尤其是在单变量的时候,梯度可简单理解为导数。
当变量为两个或以上时就和导数区分开了。
在一个三维直角坐标系,该函数的梯度就可以表示为公式如下,分别求对应偏导数即可求得梯度
二、 梯度下降
梯度下降是迭代法的一种,可以用于求解最小二乘问题。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数。梯度下降法和梯度上升法是可以互相转化的。
梯度前加一个负号,就意味着朝着梯度相反的方向前进。梯度的方向实际就是函数在此点上升最快的方向。而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号;那么如果时上坡,也就是梯度上升算法,当然就不需要添加负号了。
简单来说,我们在一座山上,现在要向山下走,但我们不知道下山的路,于是我们决定走一步看一步。也就是说每到达一个位置,求解当前梯度,向当前最陡峭的方向走一步。这样一直走就可以走到我们人为地山脚。
步长(Learning rate):步长是在梯度下降过程中,每一步沿梯度负方向前进的长度。步长就是在当前这一步所在位置沿着最陡峭的方向走的那一步的长度。
特征(feature):是样本中的输入y=x+1,即(x1,y1)x1v为输入,y1为输出。
假设函数(hypothesis function):在机器学习中,为了拟合输入样本而假设的函数,记为hθ(x)。比如对于单个特征的n个样本,存在(xi,yi)i<=n。假设函数可以是hθ(x)=θ0+θ1x。
损失函数(loss function):通常用损失函数来评估模型拟合的好坏。损失函数越小意味着拟合程度越好,对应的模型参数越优。在线性回归中,损失函数通常为样本输出和假设函数的差取平方。
假设现在有y=x^2
求导得y’=2x
取初始x=1,步长为0.4根据步长下降公式x1=x0+ α*grad(x)
经过四轮迭代之后x4<0.002我们认为到达最小值。
三、 softmax函数
我们知道max函数,假如说我输入两个数,a和b,并且a>b,那么就一定会输出a,没有第二种情况。但我想有更多的可能性,因为这样会造小的那个永远没有被输出的可能。所以我希望值大的那一项经常输出,值小的那一项也有机会输出。那么softmax就可以满足我的想法,softmax的工作原理是,假如我现在有三个数分别是3,1,-3根据函数si=ei/(e1+e2+…+ej). 映射成为(0,1)的值,分别为softmax(3)=0.88,softmax(1)=0.12,softmax(-3)=0,而这些值的和为1。那么我们就可以将它理解成概率,在最后选取输出结点的时候,我们就可以选取概率最大也就是输出3。
四、feature map
在CNN里,Feature Map是使用卷积核计算出来的,使用不同的卷积核乘以原图会得到不同的结果,就会得到各种各样的feature map。可以理解为从多个角度分析图片。而不同的特征提取会提取不同的feature。模型的目的是解一个最优化,来找到最为匹配的一组卷积核。
同一个卷积层中的 Feature Map有什么区别?
在卷积神经网络中,我们希望用一个网络模拟视觉通路的特性,分层的概念是自底向上构造简单到复杂的神经元。
描述一个人时我们通过描述身高、体重、相貌等,在卷积网络中也是如此。在同一层,我们希望得到一张图片的多种角度描述,具体来说就是用多种不同的卷积核对图像进行计算,得到不同特征上的响应,获取同一个图片在同一个层次上的不同的描述。
下层的核主要是一些简单的边缘检测器。上层的核主要是一些简单核的叠加。
在每个卷积层,数据都是以三维形式存在的。你可以把它看成许多个二维图片叠在一起,其中每一个称为一个feature map。在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。层与层之间会有若干个卷积核(kernel),上一层和每个feature map跟每个卷积核做卷积,都会产生下一层的一个feature map。
五、卷积
什么是卷积:
图像中不同数据窗口的数据和卷积核作内积的操作叫做卷积。其计算过程又称为滤波(filter),本质是提取图像不同频段的特征。
什么是卷积核:
也称为滤波器filter,带着一组固定权重的神经元,通常是n*m二维的矩阵,n和m也是神经元的感受野。n*m 矩阵中存的是对感受野中数据处理的系数。一个卷积核的滤波可以用来提取特定的特征(例如提取物体轮廓、颜色深浅等)。通过卷积层从原始数据中提取出新的特征的过程又称为feature map(特征映射)。filter_size是指filter的大小,例如3*3;filter_num是指每种filter_size的filter个数,通常是通道个数
什么是卷积层:
多个滤波器叠加便成了卷积层。
通道(chennel)怎么理解:
通道可以理解为视角、角度。例如同样是提取边界特征的卷积核,可以按照R、G、B三种元素的角度提取边界,RGB在边界这个角度上有不同的表达;再比如需要检查一个人的机器学习能力,可以从特征工程、模型选择、参数调优等多个方面检测
几个参数:
a. 深度depth:神经元个数,决定输出的depth厚度。同时代表滤波器个数。
b. 步长stride:决定滑动多少步可以到边缘。
c. 填充值zero-padding :在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。