擅长:python、mysql、java
<p><code>First I thought using rescale=1./255 only works when dealing with a pretrained vgg16 model, but I keep seeing examples where it is being used with pre-trained resetnet50, inception etc. as well.</code></p>
<p>这样做的原因是您需要规范化您的输入。通常,最小最大规格化的公式为</p>
<p><a href="https://i.stack.imgur.com/zxk6t.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zxk6t.png" alt="enter image description here"/></a></p>
<p>相当于</p>
<p><code>1./255</code></p>
<p>因为图像的像素值在0和1之间</p>
<p>规范化输入的原因与数值稳定性和收敛性有关(从技术上讲,你不需要它,但有了它,神经网络收敛的几率更高,而梯度下降/adam算法更可能稳定)</p>
<p>根据<code>Does this only make a difference when using pretrained-models i.e. with loaded weights vs training from scratch?</code>不,它不只是与预先训练的模型相联系,它是在机器学习中使用某些算法(神经网络就是其中之一)时的常用技术。在</p>
<p>如果您有兴趣真正了解这一切背后的原因以及规范化为何如此重要,我强烈建议您使用<a href="https://www.coursera.org/learn/machine-learning" rel="nofollow noreferrer">Andrew Ng course on machine learning</a></p>