为什么当我为相同的选项和相同的数据库训练网络模型时,我得到的训练模型和结果却不同,结果的分类却不同。
1)我有一个循环来训练n次神经网络模型
2)我设置了相同的训练选项
3)我有相同的数据库要训练和测试
4)我使用相同的预训练模型(例如google net)
最后,每次(n = 1,2,3),我都有不同的分类结果。差异甚至等于10个百分点
数据库-人脸图像(总是随机读取同一数据库) 模型-我使用了从Matlab进行预训练并仅在github上的面部图像上进行过预训练的模型。
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid">
<div class="row">
<div class="col-6 order-1">Section 1</div>
<div class="col-6 order-3"> Section 2 Content. Lorem ipsum dolor sit amet consectetur adipisicing elit. Ea animi, vero et ratione asperiores cumque aspernatur. Laudantium dolorum odit culpa maxime officiis aperiam necessitatibus enim eveniet, reprehenderit deserunt molestias in. </div>
<div class="col-6 order-2"> Section 3</div>
<div class="col-6 order-4"> Section 4</div>
</div>
</div>
如果未标识某些选项,则表示是默认选项。
答案 0 :(得分:0)
您提到的参数并未完全定义您的脚本。 此外,还涉及随机种子。使用预训练模型时,应重新初始化最后几层。使用完整的预训练参数通常会导致收敛到不良的局部最小值。
也许您已经这样做了,那么随机性就来自那里。另外我假设你分批训练。如果您不指定随机种子,则每次运行的批次都是不同的,因为每个批次包含的实例是根据随机种子选择的。
将训练实例以不同顺序呈现给NN会导致不同的结果。