- 博客(8)
- 收藏
- 关注
原创 snn可用代理梯度方法实现反向传播
对于ReLU激活函数,常见的替代函数是"softplus"函数,它是平滑和可微的,在大多数情况下近似了ReLU的行为。1. **非可微激活函数**:在许多神经网络架构中,使用非可微的激活函数,如ReLU(修正线性单元)或二进制阶跃函数。3. **梯度计算**:不再计算关于不可导激活函数的梯度,而是计算关于代理函数的梯度。2. **替代函数**:为了解决不可导性问题,引入了一个替代函数或代理函数。5. **反向传播**:使用微积分的链式法则,将梯度向后传播到网络中,允许计算关于模型权重和偏置的梯度。
2023-10-05 12:11:11
642
原创 有偏梯度估计器
1. 随机梯度下降(Stochastic Gradient Descent,SGD):SGD通常使用小批量样本来估计梯度,因此每次估计的梯度都是不完全准确的,但由于随机性,可以在训练中找到较好的解。有偏梯度估计器是指一种梯度估计方法,其估计值在某些情况下会引入一定的偏差或误差,与真实梯度值不完全一致。这种偏差可能会影响优化算法的性能和训练过程的稳定性。3. 基于采样的梯度估计器:一些方法使用采样技术来估计梯度,例如蒙特卡洛采样或重要性采样,这些方法通常具有更高的方差,因此可能引入更大的偏差。
2023-10-04 17:18:53
214
1
原创 Lookahead 优化器
optimizer.sync_lookahead()` 的作用是同步主要优化器和 Lookahead 优化器之间的状态,以确保它们的状态保持一致。这样可以避免主要优化器和 Lookahead 优化器之间的不同步,以获得更好的训练效果。2. Lookahead 优化器:它在主要优化器的基础上进行操作,具有额外的状态和操作,旨在改善优化的稳定性和收敛性。例如,可以是常见的优化器如 Adam、SGD 等。Lookahead 是一种优化器的扩展技术,不是所有的深度学习框架和优化器都支持。
2023-09-23 16:44:49
328
1
原创 functional.reset_net(model)
但在某些情况下,需要在每个批次之间重置这些统计信息,以避免对统计信息的过度累积,特别是在训练过程中使用了模型的指数移动平均版本(EMA)时。`functional.reset_net(model)` 通常会遍历模型的所有层,检查是否有 Batch Normalization 层,然后对这些层的统计信息进行重置。这样,在每个训练周期的开始,模型的 Batch Normalization 层的统计信息都将被重置,以便进行新的训练。此外,该函数通常在特定的训练流程中被调用,而不是在通用的深度学习代码中频繁使用。
2023-09-23 16:30:18
211
1
原创 数据增强的目的
**亮度、对比度和色彩调整**:随机调整图像的亮度、对比度和色彩,模拟不同光照条件。- **随机旋转**:对图像进行随机旋转操作,模拟不同角度的拍摄。- **随机裁剪**:随机裁剪图像的一部分,改变图像的尺寸和内容。- **词汇替换**:随机替换文本中的一些词汇,以增加多样性。- **尺寸调整**:改变图像的大小,模拟不同分辨率的输入。- **水平或垂直翻转**:随机翻转图像,改变图像的方向。- **随机删除**:随机删除文本中的一些单词或字符。- **平移**:对数据进行平移操作,改变数据的位置。
2023-09-17 21:21:44
230
1
原创 channels_last 和 channels_first
对3D数据而言,"channels_last"假定(conv_dim1, conv_dim2, conv_dim3, channels),"channels_first"则是(channels, conv_dim1, conv_dim2, conv_dim3)。对2D数据来说,"channels_last"假定维度顺序为 (rows,cols,channels), 而"channels_first"假定维度顺序为(channels, rows, cols)。
2023-09-17 20:25:09
206
1
原创 为什么将数据集拆分
1. **引入多样性**:数据集拆分允许在训练期间引入更多的多样性。通过对每个拆分应用不同的数据增强方法,可以生成多个版本的训练样本,这些样本在视觉特征、纹理、光照等方面略有不同。通过在多个拆分上应用不同的增强方法,可以使模型更难以受到对抗攻击,因为攻击者难以生成适用于所有数据增强版本的对抗样本。通过在不同的数据增强版本上进行训练,可以平衡模型在不同数据样本之间的训练过程,减少梯度爆炸或消失等问题。2. **提高鲁棒性**:多样性的训练数据可以提高模型的鲁棒性。num_splits将数据集拆分。
2023-09-17 20:04:32
503
1
原创 _logger.info 的作用
的作用是生成一条信息级别的日志消息,并将该消息记录到指定的日志输出位置,例如控制台、文件等,以便程序员或系统管理员可以在需要时查看这些消息,从而帮助调试和监控程序的行为。这个对象用于在程序中记录各种事件、状态或消息,以便在运行过程中了解程序的行为和问题。是日志级别,表示信息级别的日志消息。Python 的日志系统通常支持不同的日志级别,包括。通常是一个 Python 日志记录器(Logger)对象,通常是通过标准库中的。,这些级别分别用于不同程度的日志记录,从详细的调试信息到严重的错误信息。
2023-09-17 11:04:48
1092
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人