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

asp 网站支持多语言想建立一个网站

asp 网站支持多语言,想建立一个网站,大型网站开发框架有哪些,宁波互联网公司简介 简介:这次学习的OpenGAN主要学习一个思路,跳出传统GAN对于判断真假的识别到判断是已知种类还是未知种类。重点内容不在于代码而是思路,会简要给出一个设计的代码。 论文题目:OpenGAN: Open-Set Recognition via Open Data …

简介

简介:这次学习的OpenGAN主要学习一个思路,跳出传统GAN对于判断真假的识别到判断是已知种类还是未知种类。重点内容不在于代码而是思路,会简要给出一个设计的代码。

论文题目:OpenGAN: Open-Set Recognition via Open Data Generation(基于开放数据生成的开放集识别)

期刊:IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE(if=20.8,超级Top)

摘要:现实世界的机器学习系统需要分析可能与训练数据不同的测试数据。 在K-way分类中,这被清晰地表述为开集识别,其核心是区分K个闭集类之外的开集数据的能力。 开集判别的两个概念是:1)通过利用一些离群数据作为开集判别学习开-闭二元判别器; 2)利用GAN的判别器作为开集似然函数,对闭集数据分布进行无监督学习。 然而,由于对训练异常值的过度拟合,前者对各种开放测试数据的泛化效果较差,而训练异常值不太可能详尽地跨越开放世界。 后者不能很好地工作,可能是由于gan的训练不稳定。 在上述的激励下,我们提出了OpenGAN,它通过将每种方法与几个技术见解相结合来解决每种方法的局限性。 首先,我们证明了在一些真实的离群数据上精心选择的gan鉴别器已经达到了最先进的水平。 其次,我们用对抗合成的“假”数据增强真实开放训练样本的可用集。 第三,也是最重要的,我们在封闭世界K-way网络计算的特征上建立了鉴别器。 这使得OpenGAN可以通过建立在现有K-way网络之上的轻量级鉴别器头来实现。 大量的实验表明,OpenGAN显著优于先前的开集方法。

问题背景的具体例子

想象你要训练一个自动驾驶汽车的视觉系统:

  • 训练数据:汽车、行人、红绿灯、建筑物等19个类别
  • 现实问题:路上突然出现婴儿车、街头小摊等训练时没见过的物体
  • 危险后果:系统可能把婴儿车错误识别为"摩托车",导致不当的避让策略

OpenGAN的具体操作流程

第一步:准备基础设施

1. 已有一个训练好的K类分类器(比如识别19种交通场景物体)
2. 从这个分类器的倒数第二层提取特征(不是直接用原始图片)
3. 收集少量"其他"类别的数据作为已知的异常样本

为什么用特征而不用像素?

  • 原始图片:1024×2048×3 = 600万维度,太复杂
  • 提取的特征:可能只有512维,包含了高级语义信息
  • 就像人类识别物体时关注的是形状、纹理,而不是每个像素点

第二步:构建OpenGAN架构

OpenGAN包含两个核心组件:

判别器D(Discriminator)

  • 输入:特征向量
  • 输出:该特征属于"已知类别"的概率
  • 作用:区分"已知"vs"未知"

生成器G(Generator)

  • 输入:随机噪声
  • 输出:假的"未知类别"特征
  • 作用:生成更多样的"未知"样本来训练判别器

第三步:对抗训练过程

这是核心!OpenGAN使用三种数据同时训练:

# 伪代码展示训练过程
for epoch in training:# 1. 真实的已知类别数据real_closed_features = extract_features(known_class_images)# 2. 真实的未知类别数据(少量)real_open_features = extract_features(outlier_images)# 3. 生成器创造的假未知数据noise = random_noise()fake_open_features = Generator(noise)# 训练判别器:让它学会区分已知和未知d_loss = - log(D(real_closed_features))           # 已知类别应该得高分- λ_o * log(1-D(real_open_features))     # 真实未知应该得低分  - λ_G * log(1-D(fake_open_features))     # 生成未知应该得低分# 训练生成器:让它生成能骗过判别器的"未知"特征g_loss = - log(1-D(Generator(noise)))  # 生成的特征要能骗过判别器

关键参数解释

  • λ_o:控制真实异常数据的重要性
  • λ_G:控制生成假数据的重要性
  • λ_o=0时,就是OpenGAN-0(不使用真实异常数据)

第四步:模型选择的巧妙方法

传统GAN的问题

  • 训练到最后,生成器太强了,判别器分不出真假
  • 判别器失去了区分"已知"和"未知"的能力

OpenGAN的解决方案

  1. 在训练过程中保存多个判别器快照
  2. 用少量真实的异常数据作为验证集
  3. 选择在验证集上表现最好的判别器
# 模型选择过程
best_auroc = 0
best_discriminator = Nonefor checkpoint in training_checkpoints:discriminator = load_checkpoint(checkpoint)auroc = evaluate_on_validation_set(discriminator, validation_outliers)if auroc > best_auroc:best_auroc = aurocbest_discriminator = discriminator# 使用最佳判别器进行最终预测

第五步:实际应用

在测试时

def predict_open_set(test_image):# 1. 提取特征features = pretrained_classifier.extract_features(test_image)# 2. 用OpenGAN判别器打分confidence = best_discriminator(features)# 3. 做决策if confidence > threshold:# 进行正常的K类分类class_prediction = pretrained_classifier(test_image)return class_predictionelse:return "UNKNOWN_OBJECT"  # 未知物体

http://www.dtcms.com/a/540375.html

相关文章:

  • Spring Boot3零基础教程,Spring Security 简介,笔记80
  • 调试技巧:从 IDE 调试到生产环境定位问题,提升调试效率的全方位指南
  • 服务器和docker容器时间不一致相关问题
  • Vue+Element Plus 表格工具栏组件:动态按钮 + 搜索控制的优雅实现​
  • 上海网站建设平台什么是seo标题优化
  • 网络编程之WebSocket(1)
  • Electron_Vue3 自定义系统托盘及退出二次确认
  • 为什么 Electron 项目推荐使用 Monorepo 架构 [特殊字符][特殊字符][特殊字符]
  • BLIP2 工业实战(一):从零实现 LAVIS 跌倒检测 (微调与“踩坑”指南)
  • NPM下载和安装图文教程(附安装包)
  • 2025 年台湾 5 大 CDP 平台推荐比较
  • 【数据结构】栈(Stack)详解——数据结构的“后进先出”
  • Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用
  • Bootstrap4 安装使用指南
  • 怎么建设购物网站免费入驻的网站设计平台
  • vue2 将接口返回数据导出为 excel 文件
  • Java 使用 Spire.XLS 库合并 Excel 文件实践
  • Vultr × Caddy 多站点反向代理 + 负载均衡网关系统实战
  • 【数据结构】(C++数据结构)查找算法与排序算法详解
  • @pytest.fixture函数怎么传变量参数
  • Excel高性能异步导出完整方案!
  • 网站正在建设 敬请期待免费的cms模板
  • 输电线路绝缘子缺陷检测图像数据集VOC+YOLO格式1578张3类别
  • 跨文化理解的困境与AI大模型作为“超级第三方“的桥梁作用
  • JDK版本管理工具JVMS
  • 【JUnit实战3_18】第十章:用 Maven 3 运行 JUnit 测试(上)
  • SQLite 核心知识点讲解
  • JAiRouter v1.1.0 发布:把“API 调没调通”从 10 分钟压缩到 10 秒
  • 自建网站如何赚钱c2c模式为消费者提供了便利和实惠
  • Lua-编译,执行和错误