Lee‘s way of Deep Learning 深度学习笔记

跟随吴恩达教授的深度学习课程,在这记录笔记。

B站视频:[双语字幕]吴恩达深度学习deeplearning.ai_哔哩哔哩_bilibili

一、神经网络

1.什么是神经元:

中间圆圈代表神经元,在这个神经元中可以完成从size到price的变化,也就是说神经元起到一个函数作用。

神经元中经常出现这个函数,称为“Relu函数”,意为“修正”,舍去所有负值,将其变为0。

 往往影响输出y的因素有很多个,由不同的神经元组成:

 二、监督学习

 现阶段的神经网络基本上都是以监督学习为基础

三、Deep Learning

深度学习基于机器学习,神经网络训练样本越多,结果越准确、

sigmoid函数:

对于使用“梯度下降法”,当激活函数为sigmoid时,在最左侧和最右侧梯度几乎为零,速度很慢;Relu函数左侧梯度为零,右侧梯度恒为1,速度快,但增加计算。 

四、二分类

logistic回归是一个用与二分分类的算法。

对于一个64x64大小的图片,则有大小为64x64x3的特征向量X。

 n可以代表维度,此图中有64x64x3=12288维。 

在二分类问题中,目标是训练出一个分类器,以x为输入,预测结果y为输出(1、0)

x->y 

 

 

m为样本数,nx为矩阵高度 

五、logistic回归

一般来说输入为x,输出为y,我们往往用一个y^来代表y=1时的概率,因为是线性函数,有y^=Wx+b,但是这样的输出y^往往不是0-1之间,就不代表概率,所以我们使用sigmoid激活韩式,来规范区间:

y^=sigmoid(Wx+b)

横轴为z

sigmoid(z)=

由图中我们就会得到一个概率

若要知道w和b,需要定义一个成本函数(cost function)

 六、logistic回归损失函数

损失函数(lost function):用来定义y^和y的实际值到底有多接近

 

 两种情况,想要y=1时,根据损失函数计算,需要让y^越大;

y=0时,需要让y^越小。

损失函数代表的是单个样本的标新情况,而成本函数J代表的是全体样本。

成本函数(cost function)

 logistic回归可被看做一个很小的神经网络

七、梯度下降法

使用梯度下降法来训练或学习训练集上的参数w和b

 八、计算图

九、m个样本的梯度下降

成本函数J

 此时对全部样本进行求解导数时,

 代码实现logistic回归:

 理解:(1)上标i代表每一个训练样本,成本函数J代表的是全局均值

            (2)dz其实就是代表的函数z的变化率,x*dz表示在这期间w变化成了多少

            (3)每一个样本都都相应的变化率,最终结果为求和取平均

            (4)w代表影响预测结果的特征,需要使用for循环来完成wi的计算

单纯的使用for循环会使得运算量极大且运行速度慢,于是便有向量化来解决这个问题。

十、向量化

传统方法使用wi*xi来计算再累加,太慢

向量化:z=np.dot(w,x)+b(矩阵乘法)

十一、神经网络

 从左往右:输入层、神经网络隐藏层、输出层

向量x表示输入特征,也可以用a[0]表示,a也有激活的意思

隐藏层用a[1]表示

输出层用a[2]表示,最后y^=a[2]

以上双层神经网络(单隐层神经网络),不算输入层

隐藏层的节点涵盖了logistic回归的操作

依次计算隐藏层的每一个节点: 

 在实际计算中,需要得到每一个z值,使用向量化计算更直接:

 在多样本神经网络中,a[2](2)     [2]代表第二层,(2)代表第二个样本

十二、计算机视觉

1.卷积

6x6的矩阵与3x3的filter进行卷积得到4x4的矩阵

 -5=3x1+0x0+1x-1+1x1+5x0+8x-1+2x1+7x0+2x-1

同理得到其他数值

边缘检测示例:

 边缘处有明显的灰度值过渡,经过卷积核卷积后,便能得到边缘轮廓

2.padding

正常的卷积过后得到的图像都要比先前的小,如果有深层网络,那么最后会得到一个很小的图像,为了解决这个问题,在矩阵外围套上一圈0,最后得到的图像大小不变

 Valid 与 Same卷积

Valid代表不扩充,最后得到(n-f+1)*(n-f+1)大小的矩阵;

Same代表扩充,最后大小不变

3.步长Stride

卷积核向右、向下移动的距离 

nxn * fxf 步长为s  最后得到  

 此符号代表向下取整:

 

 4.三维卷积

对于RGB图像有三个通道,其对应的卷积核也应该有三通道,二者卷积生成一张通道为1的图像

 道理与灰度图像卷积相同,只不过是三通道最后得到的数是27个相乘结果相加

 使用一个滤波器最终输出只能有垂直检测的图像,若要同时显示水平检测,需要再加上一个滤波器,最终输出两层叠加到一起的图像。

 十三、卷积网络

1.单层卷积网络

卷积层的各种标记:

 第l层过滤器大小 fxf

第l层padding的数量

 第l层步长大小

 输入Input:

 上一层的n和通道数nc

输出Output:

输出大小:

过滤器数量nc:

过滤器数量必须与输入图像的通道数相同,即与上一个图像输出的通道数相同

一个激活值:

 m个样本:

bias:(1,1,1,nc[l])

 2.简单的卷积网络

 三通道,大小为39x39,

 滤波器为3x3,步长为1,padding为0,10个滤波器。得到:

 大小为37x37,通道数为10,再进行卷积:.

 ………………………………

最后得到:

 在进行平滑处理得到1960个单元进行logistic回归/softamx,判断是否有猫:

 卷积网络的趋势:图片面积在不断减小,通道数在不断增加,卷积其实就是特征提取器

 卷积网络通常有三层:卷积层(conv)、池化层(Pool)、全连接层(FC)

 3.池化层(Pooling)

使用池化层来缩减模型大小,提高训练速度,提高鲁棒性

 

 看起来像使用了一个2x2的过滤器,步长为2,得到了后面的图像

最大池化(Max pooling):选取该区域最大值,前后通道数不变

平均池化(Average pooling):选取该区域平均值,前后通道数不变

 

 池化的超级参数Hyperparameters:

f:过滤器大小;

s:步长

最大池化或平均池化

 4.卷积神经网络

卷积层和池化层为同一层, 经过两层网络后变成400个元素的单排列,后接上全连接层,全连接层的概念与单神经网络类似

最后接上softmax,包含10各元素(0,1,2,……,9 )

 十四、经典网络

1.LeNet-5

使用LeNet-5网络来识别手写数字,针对灰度图像,只有单通道

 2.AlexNet

 3.VGG-16

十五、激活函数

tanh函数:a=tanh(z)=

 

  tanh函数比sigmoid函数更出色,除了二分类任务在输出层输出0,1.

如果z很大或很小时,斜率更容易为0,此时使用Relu函数(修正线性单元)更合适

a=max(0,z) 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值