python - 性能不佳的迁移学习 ResNet50
问题描述
我有一个标记为语义分割的 11k 图像数据集。大约 8.8k 属于“组 1”,其余属于“组 2”
我试图模拟如果我们无法访问“第 1 组”图像而不是从它们训练的网络会发生什么。
所以我只在第 1 组训练了 ResNet50。然后将该网络用作仅训练组 2 的起点。
结果基本上比不使用第 2 组图像进行训练(平均每类准确率 3%)略好,但比我刚开始使用 imagenet 权重时好不到 1%。我测试了 resnet50 的冻结块和一系列学习率。
第 1 组和第 2 组属于同一问题域,但略有不同。它们是在不同的区域拍摄的(实际上整个集合覆盖了一堆区域,但第 1 组和第 2 组在这方面是不相交的)和不同的相机/分辨率。尽管这个固定大小更接近第 1 组的平均大小,但它们被调整为固定大小。
它们与 imagenet 图像非常不同。它们是单色的、矩形的,本质上是我正在分割的一种对象。
我并不是想获得与一次对所有图像进行训练的结果相同的结果,但与仅从 imagenet 进行训练相比,这样做肯定会有一个障碍。
解决方案
我已经阅读了几篇关于同一主题的文章 - 我有来自 3 个类别的 12k jpeg 图像,并且在 3 个 epoch 之后,精度下降到 0。我正在等待交付新显卡以提高性能(目前每个需要 90 - 120 分钟epoch)并希望提供更多反馈。我只是想知道这个模型是为 ImageNet 及其 21k 类设计的脸是否可能是问题的一部分——它太宽太深,因此对权重的变化太敏感......会对其他人感兴趣意见
推荐阅读
- java - 从本机模块获取 OutOfMemoryError
- google-apps-script - 使用 AppScript 快速获取大量 G Suite 用户的用户信息
- django-rest-framework - Django Rest Framework Swagger 停止工作
- here-api - HERE Isoline Traffic:Disabled - 如何计算路线
- mysql - 在python中的sql中格式化%
- reactjs - 无法获得对 MapView 的引用 - react-native-maps
- sql - 如何根据布尔值更改表?
- paypal - Sylius 1.5:支付成功后更改订单状态
- python-3.x - 熊猫计算每小时滚动平均值
- java - @TableGenerator for mybatis