本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。
合集完整版请参考这里。
推理和训练是深度学习中两个非常重要的概念。很多初学者可能不太清楚,但是很好区分也很好理解。
如果我们把一个神经网络模型比作一个人的话,那么训练过程就相当于初中、高中的学习, 而推理过程相当于去参加高考。
初中高中阶段,我们通过学习大量的知识来训练自己的大脑。在去参加高考的过程中,我们已经不需要去学习新的知识,而是利用已训练好的大脑去解决问题。
神经网络的推理和训练也是这个过程。因此一个AI模型,想要真正可以运行,可以完成推理,必须要先经过训练。
训练(Training)
学术一点讲,训练是指通过给定的训练数据集,利用深度学习算法来不断地调整和优化神经网络模型的参数,使其能够从数据集中学习并形成对未知数据的预测能力。
这个过程中,训练数据集就相当于我们在初中高中学习的书本上的知识,在学习过程中不断调整大脑对于知识的认知,也就类比于模型不断调整和优化参数。
通过训练,模型就能够拥有对未知数据的预测能力,就好像我们看到一张从未见过的试卷,一样可以把题做出来。
做训练时,需要对训练数据集进行标注,俗称打标签。
假设想训练一个模型,让它可以完成图像分类。那么就需要对训练数据集中每一张图像打上类别标签,然后让神经网络不断的去识别这张图像,直到最终模型可以认识所有的图像,此时模型也就训练完成。
不同的任务打标签的方式也是不一样的。图像分类只需要给图像打上类别标签,而检测任务则需要给图像打上坐标标签,使得图像在最终的推理过程中可以用展示框将物体在图像中的位置给标注出来。
下图从左到右分别展示了:图像分类、图像分类+目标检测、物体识别、物体分割的使用场景。
推理(Inference)
相比于训练,推理就很好理解了。推理是指在经过训练后,将已经训练好的模型应用到真实的数据上,让模型对真实的数据进行预测或分类。
这是因为模型一旦训练完成,那么学到的参数,类似于我们人脑学到的知识就会固定在模型中、此后就可以用它来完成一些特定的任务推理,如图像分类或者图像分割等。