《深度学习:基于python理论与实现》读后笔记整理

实现方法和步骤:
该方法称为随机梯度下降法(stochastic gradient descent),由于

  1. 取样,利用mini-batch,在训练数据中取样,数量过多,可以采用批量化随机抽取,其中以下使用的方法有平均化(正规化) 目标是减少损失函数的数值
  2. 计算梯度→表示损失函数的值减少最多的方向
  3. 更新参数:将权重参数沿梯度方向进行微小的更新
  4. 重复上述1、2、3步,之后得到在一定范围内损失函数最小的理论真值,从而获得相对准确的权重W和偏置b,特别提醒:权重和偏置往往不是一个数,而是一个数组形式表示的数据集合。
    目标:求出最优解
 self.W = np.random.randn(2,3)#表示用高斯分布进行初始化取值,取值范围在2~3之间

超参数:指的是学习率取<1的随机数

过拟合是指,虽然训练数据中的数字图像能被正确辨别,但是不在训练数据中的数字图像却无法被识别的现象。

epoch是一个单位。一个 epoch表示学习中所有训练数据均被使用过一次时的更新次数。
在这里插入图片描述

计算图的优点是,可以通过正向传播和反向传播高效地计算各个变量的导数值。计算图通过未知的结果推到相关的瞬间变化量。

1、 ReLU层
在这里插入图片描述

2.Sigmoid层
在这里插入图片描述
3、Affine层:神经网络的正向传播中,为了计算加权信号的总和,使用了矩阵的乘积运算
Y=X ·W+B

np.sum()对第0轴(以数据为单位的轴,axis=0)方向上的元素进行求和

4、Softmax-with-Loss 层
 考虑到这里也包含作为损失函数的交叉熵误差(cross entropy error),所以称为“Softmax-with-Loss层”。

神经网络中进行的处理有推理(inference)和学习两个阶段。神经网络的推理通常不使用 Softmax层。比如,用图 5-28的网络进行推理时,会将最后一个 Affine层的输出作为识别结果。神经网络中未被正规
化的输出结果(图 5-28中 Softmax层前面的 Affine层的输出)有时被称为“得分”。也就是说,当神经网络的推理只需要给出一个答案的情况下,因为此时只对得分最大值感兴趣,所以不需要 Softmax层。
不过,神经网络的学习阶段则需要 Softmax层

在这里插入图片描述

在这里插入图片描述

经常会比较数值微分的结果和误差反向传播法的结果,以确认误差反向传播法的实现是否正确。确认数值
微分求出的梯度结果和误差反向传播法求出的结果是否一致(严格地讲,是非常相近)的操作称为梯度确认(gradient check)。

1.Momentum
在这里插入图片描述

class Momentum:
 def __init__(self, lr=0.01, momentum=0.9):
 self.lr = lr
 self.momentum = momentum
 self.v = None
 def update(self, params, grads):
 if self.v is None:
 self.v = {}
 for key, val in params.items():
 self.v[key] = np.zeros_like(val)
 for key in params.keys():
 self.v[key] = self.momentum*self.v[key] - self.lr*grads[key]
 params[key] += self.v[key]

实例变量v会保存物体的速度。初始化时,v中什么都不保存,但当第一次调用update()时,v会以字典型变量的形式保存与参数结构相同的数据。

2.AdaGrad
在这里插入图片描述

class AdaGrad:
 def __init__(self, lr=0.01):
 self.lr = lr
 self.h = None
 def update(self, params, grads):
 if self.h is None:
 self.h = {}
 for key, val in params.items():
 self.h[key] = np.zeros_like(val)
 for key in params.keys():
 self.h[key] += grads[key] * grads[key]
 params[key] -= self.lr * grads[key] / (np.sqrt(self.h[key]) + 1e-7)

3.Adam

集成学习、学习率衰减、Data Augmentation(数据扩充)等都有助于提高识别精度。

偏向0和1的数据分布会造成反向传播中梯度的值不断变小,最后消失。这个问题称为梯度消失
资料:
 1.Batch Normalization 的算法
 2.VGG是由卷积层和池化层构成的基础的CNN:VGG中需要注意的地方是,基于3×3的小型滤波器的卷积层的运算是连续进行的。重复进行“卷积层重叠2次到4次,再通过池化层将大小减半”的处理,最后经由全连接层输出结果
 3.物体检测、物体识别、 图像分割
 4.一个基于深度学习生成图像标题的代表性方法是被称为NIC(Neural Image Caption)的模型:NIC由深层的CNN和处理自然语言的RNN(Recurrent Neural Network)构成。RNN是具有循环连接的网络,
经常被用于自然语言、时间序列数据等连续性的数据上
5.A Neural Algorithm of Artistic Style
6. DCGAN(Deep Convolutional Generative Adversarial Network)
7. 自动驾驶
8.  Deep Q-Network(强化学习)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值