超腾开源博客 - 第15页 | 了解网站最新动态,分享最新技术
本文介绍了PyTorch中常用的深度学习优化器,包括Adadelta、Adafactor、Adagrad、Adam、AdamW、SGD等。文章分析了每种优化器的特点、优缺点和适用场景。核心观点是:快速试验推荐Adam,追求泛化性能首选带动量的SGD,需要更好正则化效果可选用AdamW。对于稀疏特征任务,Adagrad和SparseAdam更合适;大模型训练中Adafactor可节省内存。文章强调,实际应用中大多数任务从Adam或SGD开始尝试即可,理解各优化器原理有助于高效训练模型。
329
0
创建于2025年3月12日
本文介绍了PyTorch中常用的损失函数,按任务类型分类讲解。回归任务包括MSELoss(均方误差)、L1Loss(平均绝对误差)、SmoothL1Loss和HuberLoss;分类任务涵盖CrossEntropyLoss(交叉熵)、BCEWithLogitsLoss(推荐用于二分类)、NLLLoss及KLDivLoss等;特殊任务如CTCLoss用于序列对齐,TripletMarginLoss用于度量学习。文章还给出了任务与损失函数的匹配建议,并提醒注意输入张量形状、是否内置softmax以及正负样本平衡问题。
354
0
创建于2025年3月12日
本文介绍了PyTorch中常用的激活函数及其功能,强调激活函数为神经网络引入非线性,使其能学习复杂模式。文章详细说明了ReLU、Sigmoid、Tanh、LeakyReLU、PReLU、ELU、GELU、SiLU、Mish等函数的公式、特点与使用示例,并介绍了概率激活函数如Softmax和其余辅助函数。最后提供了场景选择建议,如隐藏层通用推荐ReLU,分类输出用Sigmoid或Softmax,并建议从ReLU开始尝试,遇到问题再转向LeakyReLU或ELU。
313
0
创建于2025年3月12日
本文系统介绍了PyTorch中torch.nn模块的常用层类型及其功能,包括容器(Sequential等)、线性层、卷积层、池化层、正则化层、Dropout层、循环层(LSTM等)、Transformer层、稀疏层(Embedding)和视觉层,并通过代码示例展示了各层的使用方法。文章强调,理解这些层是构建神经网络的基础,最后通过一个完整的CNN分类网络示例综合演示了多种层的配合使用,并建议查阅官方文档获取更详细的信息。
338
0
创建于2025年3月12日
本文介绍了生成对抗网络(GAN)的基本原理,并使用PyTorch实现了一个用于生成动漫人物头像的完整模型。文章详细讲解了GAN的生成器和判别器结构,通过两者相互博弈的训练方式,生成器能生成逼真的图像。作者提供了数据集准备、模型定义、训练代码及图像生成代码,并使用了标签平滑、训练技巧等优化方法。训练100个epoch后,模型可生成发色、表情多样的动漫头像。文章还给出了提升生成质量的优化建议,适合初学者实践GAN项目。
438
0
创建于2025年3月10日