当前位置: 首页 > news >正文

优化model我们可能会怎么做(具体)

在选择模型方面

  1. 资源推荐

    • 建议访问 torchvision.models 查看可用的模型结构列表
    • 或者访问 timm (PyTorch Image Models) 获取最新的模型结构
  2. 重要限制

    • 明确规定不允许使用预训练权重,必须设置 pretrained=False
    • 这可能是为了确保学习过程的公平性或教学目的
  3. 分类模型选项: 图片列出了可用于图像分类的几种经典模型架构:

    • AlexNet:2012年提出的开创性CNN架构
    • VGG:以简单而深的结构著称
    • ResNet:引入残差连接解决深度网络训练问题
    • SqueezeNet:轻量级模型,设计用于资源受限环境

数据增强方面

  1. 目的

    • 通过修改图像数据,确保每个训练周期(epoch)模型接收到的都是非完全相同的输入
    • 这种方法有效防止模型过拟合,提高泛化能力
  2. 资源推荐

    • 建议访问torchvision.transforms库,查看各种可用的图像变换方法及其效果
    • 强调多样性的重要性,鼓励组合多种变换方法以获得更好的结果
  3. 实现提示

    • 提供了代码提示:需要填写train_tfm部分来实现数据增强效果
  4. 示例效果

    • 图片底部展示了同一张宇航员图像经过不同数据增强处理后的效果:
      • 原始图像
      • 颜色变换(蓝色调整)
      • 原始图像(可能是对照)
      • 亮度/对比度调整(灰度效果)
      • 颜色变换(绿色调整)

其中有一个mix up,是将两个图片叠加起来,

MixUp是一种先进的数据增强技术,它通过线性组合两个不同的训练样本及其标签来创建新的训练数据。图片中解释了实现这一技术需要的关键步骤:

  1. 图像混合

    • 在torch.utils.Dataset类的__getitem__()方法中,需要返回两个图像的线性组合
    • 通常形式为:λ·图像A + (1-λ)·图像B,其中λ是一个在0到1之间的随机值
  2. 标签混合

    • getitem()方法还需要返回一个向量形式的标签,而不是单一类别
    • 这个向量为每个类别分配概率值,反映混合后的图像属于各个类别的可能性
    • 例如,如果图像A的标签是[1,0,0],图像B的标签是[0,1,0],混合后的标签可能是[0.7,0.3,0]
  3. 损失函数调整

    • 标准的CrossEntropyLoss不支持多标签(软标签)情况
    • 需要手动实现交叉熵损失函数的数学公式来处理这种情况
    • 通常需要计算:-∑(真实概率分布·log(预测概率分布))

MixUp技术的优势在于它能够:

  • 增强模型的泛化能力
  • 减少对抗样本的影响
  • 提高模型对噪声的鲁棒性
  • 帮助模型学习更平滑的决策边界

接下来是test time augmentation,测试时数据增强

测试时数据增强是一种高级技术,它在模型推理阶段(而不仅仅是训练阶段)应用数据变换,以提高预测准确性。图片解释了这一技术的关键点:

  1. 标准测试方法的局限性

    • 传统方法仅使用确定性的"测试变换"(通常只是简单的归一化和调整大小)
    • 这限制了模型对测试图像的理解
  2. TTA的核心思想

    • 对同一测试图像应用多种变换,创建多个变体
    • 对每个变体进行预测
    • 将所有预测结果集成(通常通过平均或投票)得到最终预测
  3. 实现步骤

    • 需要修改train_tfm(训练变换)
    • 更改test_dataset的增强方法
    • 修改预测代码以处理多个变体并集成结果
  4. 图示说明

    • 左侧展示了训练时使用的各种变换后的图像
    • 中间显示了标准测试图像
    • 右侧表示TTA后的最终预测结果
    • 底部箭头表示将多个预测结果集成为最终预测

TTA的优势:

  • 减少单一视角带来的偏差
  • 提高模型对细微变化的鲁棒性
  • 通常能显著提升模型性能,特别是在测试数据与训练数据分布略有差异时

testing的权重多一点会好一点

cross validation

用多的vali其实没啥用

模型集成是机器学习中的一种强大技术,它通过组合多个模型的预测结果来获得比单个模型更好的性能。图片解释了两种主要的集成方法:

  1. 逻辑值或概率平均法

    • 这种方法对多个模型输出的原始逻辑值(logits)或概率值进行平均
    • 优点:需要保存详细的输出信息,结果更精确,减少歧义
    • 例如:如果三个模型对某类别的预测概率分别是0.7、0.6和0.8,平均后为0.7
  2. 投票法

    • 每个模型对样本进行分类,最终分类结果由"多数表决"决定
    • 优点:实现简单,计算量小
    • 缺点:需要处理平票情况(当不同类别获得相同票数时)
    • 例如:如果三个模型分别预测类别A、A和B,最终结果为A
  3. 实现提示

    • 可以使用NumPy或PyTorch等库中的基本数学运算来实现集成
    • 对于平均法,可以使用np.mean()或torch.mean()
    • 对于投票法,可以使用np.bincount()或类似函数统计票数

模型集成的优势:

  • 减少单个模型的过拟合风险
  • 提高预测的稳定性和可靠性
  • 捕捉不同模型捕获的不同数据特征和模式
  • 通常能显著提升最终性能

相关文章:

  • 正则表达式进阶(三):递归模式与条件匹配的艺术
  • HarmonyOS5云服务技术分享--云存储SDK文章整理
  • 数据库基础
  • 【[特殊字符] Vue 3 实现动态加载子组件并缓存状态完整指南】
  • uniapp生成的app,关于跟其他设备通信的支持和限制
  • 48、c# 中 IList 接⼝与List的区别是什么?
  • 深入解析Spring Boot与Redis的缓存集成实践
  • Spark Core基础与源码剖析全景手册
  • Java转Go日记(四十一):Gorm删除
  • 【iOS】类结构分析
  • 中间件-seata
  • [Linux] Linux线程信号的原理与应用
  • (二十四)Java网络编程全面解析:从基础到实践
  • 在 Excel 中使用通义灵码辅助开发 VBA 程序
  • LeetCode 1345. 跳跃游戏 IV(困难)
  • ZooKeeper 原理解析及优劣比较
  • Gartner《AI Infrastructure WithKubernetes参考架构》学习心得
  • LabVIEW下AI开发
  • 杰里7006d日志分析
  • 前端混色实现半透明效果
  • 海南省市监局与香港标准及检定中心签署合作协议,加快检验检测国际化
  • 印尼总统20年来首次访泰:建立战略伙伴关系,加强打击网络诈骗等合作
  • 人民日报:不能层层加码,要层层负责
  • 新疆巴音郭楞州和硕县发生4.6级地震,震源深度10千米
  • 六旬老人举报违建后遭蒙面袭击续:海南陵水县住建局已暂停俩房产项目网签
  • 去年上海60岁及以上户籍老年人口占总人口的37.6%