python - CNN:在 1 个 epoch 中训练 300.000 张图像还是在 1000 个 epoch 中训练 300 张图像更好?
问题描述
这个问题与卷积神经网络(尤其是YoloV3)有关
由于一个 epoch 是所有训练示例的一次前向传递和一次反向传递,因此对于模型正确收敛,它是否相同(在精度和收敛时间方面):
- 在m 个时期内使用n*k 个图像进行训练?
- 在m*k 时期训练n 幅图像?
解决方案
不,它们不一样。
*您向网络展示的示例数量定义了它要寻找的内容 - 具有更多示例的网络往往更通用。例如,如果有 1000 张不同狗的图片,而你只显示 300/300000 张图片,则网络(平均)只能识别一种特定的狗,无法挑选出所有狗的共同特征.
*一个epoch基本上是在一小步内修改网络,这里的关键词是小——采取太大的步骤可能会超出我们对网络参数的目标值。由于我们正在采取小步骤,因此我们必须采取其中的几个步骤才能到达我们想要的地方。
推荐阅读
- vba - 如何正确处理 VBA 中的 FollowHyperlink 错误?
- php - 在php中提取ZIP,覆盖所有内容
- css - 带有文本的悬停效果到菜单项
- node.js - Postgres 连接池大小超出 AWS 中的配置值。可能是什么原因?
- vba - VBA 用户窗体 - 动态文本框默认值
- ios - FirebaseUI Firestore 未在 iOS 上检索数据
- c# - 使用 NAudio 播放 FFMPEG 音频有很多噪音
- javascript - 如何将数组转换为数学计算表达式?
- wordpress - Laravel 从 Wordpress 获取 cookie
- python - IndexError:使用带有 keras 的 TimeDistrbuted 列出超出范围的索引