大家好呀,“1805拱火王”又回来啦!!最近沉迷审稿和写论文,过程中接触了一些损失函数,相信对于新手小伙伴来说刚接触机器学习并不明白损失函数的本质和作用时什么?那我们接下来几片文章就来细细道来有关损失函数的科普。
本文开始会陆陆续续给大家讲解有关损失函数的内容,是一个新坑啊,本人平时嘻嘻哈哈,重度拖延症+真理癌(学什么都喜欢从0开始,当然这是自己总结的),所以文章比较啰嗦,大家就当看娱乐小说一样,一边开心一边长知识吧!!
1 什么是损失函数
由于本人学识浅薄,所以就局限在深度学习进行讲解。为什么会提出损失函数这个东西?
在模型的学习过程中,本质上算法也好模型也罢,都是在观察我们喂入模型的信息(文本信息,图像数据,语音流以及视频流等等)。模型通过不断的提取更加抽象的高维特征来学习给出数据的知识(这里的知识本质上就是我们平时提到的“经验”),最终以数据特征的角度来学习内容,总结知识。
我给他一堆狗的图像,网络会经过多层的卷积(为了简单起见,我们先这样说)不断的提取这堆图像的高维特征,比如用(3x3)的矩阵来代表鼻子,眼睛,耳朵,嘴等。。。结合这些特征数据综合地对狗这一类进行知识总结。
那么问题来了,网络总结的这些知识(特征)到底和我们人类感官总结的经验知识是否统一呢?换句话说,网络学习了一通,他认为这玩意就是狗了,但是结果到底是不是我们人类认为的狗呢?毕竟网络是为人类服务的,要遵循我们的知识体系,不能让我们对它妥协。
因此,用来衡量模型学习到的知识与人类经验的差距这个问题就被伟大的科学家提上日程(鼓掌👏👏👏)。现在相信大家已经慢慢的有点感觉了,损失函数就是来评估模型学习到的知识与我们的经验还差多少,强行的给他纠正到人类的知识体系。既然是还差多少,那我们天朝人手一个博士文凭的小伙伴就知道自然是越小越好,我真是个大聪明!
这里模型学习到的知识就是特征,我们的经验就是给他的标签label,画个图开心一下()。
新成员,左边的是丢丢,右边的是旺财。都是我家的神兽。给大家打声招呼!!
来描述一下这个过程
这就是模型的训练阶段,让模型知道给定的数据中它认出来没有?认出来多少?离我们给的知识还有多少差距,让模型不断的纠正参数。所以,损失函数的差值还有一个功效,那就是看模型是不是在收敛,收敛好了没有。
当训练过程中,损失值(Loss)在不断的趋向于变小,那就说明模型在不断的学习,离我们要的结果越来越接近。直到Loss不再下降,说明它开始学恶心了,抗拒了。那么这也是提示我们火候到了,该停了。
以上就是对损失函数的简单科普,下一节还是用极其简单的描述来科普有哪些常见的损失函数,他们是如何工作的!