当我们决定要用人工智能解决问题的时候,首先要确认我们要预测的答案是什么数据类型。
如果要预测一个数值型的东西,会用回归模型;如果预测的东西是一些类别,可以用分类模型。
可能刚接触人工智能(机器学习)这块的小伙伴就连什么是分类、什么是回归也搞不清楚,举例来说:
假如要分辨一张图片是否是猫,就会用到一个分类模型。“是”和“否”即模型要输出的结果。
可以用YOLO来检测图中的猫
假如要预测明天股市或房价走势,就会用到回归模型。明天的价格就是模型要输出的结果。
股票走势图,预测股价是一个回归模型
现在你应该懂了吧,是不是很简单!
但是,别忘了,并不是我们选择好模型输出的类型就万事大吉了。刚接触人工智能的同学可能都有一些天真的想法,人工智能嘛,自然是很聪明的,那么就该是自动学习咯,还需要我吗,真的是“人工智Z”还差不多。
定好模型的输出类型只是第一步。接下来,我们要确认输入数据是怎么样的。意思就是说,你要教会人工智能学会一些技能,你就要给它大量的训练样本(例子)。比如,还是刚才说到猫那个例子,你得给很多有猫的图片和没猫的图片给它,并且每一张图片都要有对应的答案,是(1)或否(0),通过学习你给的这些例子后,它就知道分辨图片里面到底是有猫还是没猫了。
是不是还是感觉它挺笨的?这么简单的任务搞得这么复杂。
最烦的是,我还要提供那么多例子给它就感觉不是一件容易的事情,不过开源是个好东西,它不光给我们提供模型,还提供训练样本(例子)。我们只需要拿过来用就行了,不过现成的东西有可能不满足我们的要求。
比如,你要检测工件有没有瑕疵,为了节省人力成本,你决定用视觉检测。但是这么特殊的场景肯定不会有直接开源的东西可用,你还得自己训练。
那是不是说,我得从头开始训练呢?并不是,就以我们人学习举例,人在学习的时候,有一个基础知识的概念,有基础的学起来很快,没有基础的可能都没法学。比如,读了小学后才能学习初中的知识,而不读小学直接就学初中知识呢,能不能学懂,我想不言而喻了,对吧!
在人工智能这块,也有相似的概念,就是“预训练模型”。通过大量资料进行无监督的学习,模型学到了这个领域的大量的知识表示。从某种意义上说,它已经是这个领域的专家,从而让下游的学习变得更容易。
比如图像领域有一个预训练模型叫YOLO,如果我们要做图像的一些检测可以用YOLO可以起到事半功倍的作用,它能检测一些常规的物体。而如果像上面说的那样你要用来检测工件瑕疵,则需要继续学习特定领域的知识。首先用它来做特征提取器,然后接一个下游线性层来检测是否有瑕疵的分类就能达到我们的目的,这便是所谓的微调(fine-tuning)。
又比如,你要做一些文本的情感分类,判断一段文本是否是恶意的,你可以用BERT模型接一个线性层来完成这个分类任务。
由于预训练模型已经学到了大量该领域的知识表达,在特定任务上我们只需要喂给它少量的训练样本就能得到较好的效果。“预训练 微调”的模式已经成为现代机器学习的典范。
但是,并不是我说这两个就能满足你的所有需求,实际情况多种多样,你都可以去找AI问一下,什么什么的预训练模型,一定能找到令你满意的结果。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved