损失函数
神经网络里的标准和人脑标准相比较 相差多少的定量表达。
最小二乘法
首先要搞明白两个概率模型是怎么比较的。有三种思路,最小二乘法、极大似然估计,交叉熵

当一张图片人脑判断的结果是 x1,神经网络判断的结果是 y1,直接把它们相减 |x1−y1| 就是他们相差的范围。我们将多张图片都拿过来判断加起来,当最终值最小的时候,min∑ni=1|xi−yi| 就可以认定两个模型近似。
但是绝对值在定义域内不是全程可导的,所以可以求平方 min∑ni=1(xi−yi)2
就这是最小二乘法,但是只用它判断两个概率模型差别有多少,去作为损失函数会比较困难。所以引入极大似然估计
极大似然估计

似然值是真实的情况已经发生,我们假设它有很多模型,在这个概率模型下,发生这种情况的可能性就叫似然值。
挑出似然值最大的,那可能性也就越高,此时的概率模型应该是与标准模型最接近的。
P(C1,C2,C3,…,C10∣θ)P(x1,x2,x3,x4,…,xn∣W,b)
θ 是抛硬币的概率模型,W,b 是神经网络的概率模型。前者结果是硬币是正还是反,后者结果是图片到底是不是猫。
P(x1,x2,x3,x4,…,xn∣W,b)=∏ni=1P(xi∣W,b)
在神经网络是这样的参数下,输入的照片如果是猫概率是多少、如果不是猫概率是多少,所有图片判断后,相乘得到的值就是似然值。取到极大似然值就是最接近的值。
但在训练的时候 W、b 无论输入什么样的照片都是固定的值,如果我们都用猫的照片来确定的话标签都是1,那就没有办法进行训练,理论可行却没有操作性。但是我们还可以利用条件,训练神经网络的时候既可以得到 xi 也可以得到 yi, yi 的输出结果依赖 W,b 。每次输入照片不一样,yi 的结果也就不一样。
=∏ni=1P(xi∣W,b)=∏ni=1P(xi∣yi)
xi 的取值是 0、1 ,符合二项伯努利分布,概率分布表达式为
f(x)=px(1−p)1−x={p,x=11−p,x=0
x=1 就是图片为猫的概率。而 p 就是 yi (神经网络认定是猫的概率),将其带入替换 P(xi∣yi)
=n∏i=1yxii(1−yi)1−xi
我们更喜欢连加,在前面加 log ,并化简
log(∏ni=1yxii(1−yi)1−xi)=∑ni=1log(yxii(1−yi)1−xi)=∑ni=1(xi⋅logyi+(1−xi)⋅log(1−yi))
所以,求极大似然值,就是求如下公式
max(∑ni=1(xi⋅logyi+(1−xi)⋅log(1−yi)))min−(∑ni=1(xi⋅logyi+(1−xi)⋅log(1−yi)))

复习一下对数
- loga(1)=0
- loga(a)=1
- 负数与零无对数
- logab∗logba=1
- loga(MN)=logaM+logaN
- loga(M/N)=logaM−logaN
- logaMn=nlogaM(M,N∈R)
- loganM=1nlogaM
- alogab=b
交叉熵
要想直接比较两个模型,前提是两个模型类型是同一种,否则就不能公度。概率模型如果想要被统一衡量,我们需要引入熵(一个系统里的混乱程度)。
信息量
我们想获取信息量的函数,就要进行定义。并找寻能让体系自洽的公式。
f(x):= 信息量 f(阿根廷夺冠)=f(阿根廷进决赛)+f(阿根廷赢了决赛)f(18)=f(14)+f(12)P( 阿根廷夺冠 )=P( 阿根廷进决赛 )⋅P (阿根廷赢了决赛 )
将上面的第四条公式带入第三条得到如下第二条。为了使信息量定义能让体系自洽,我们给定定义 log,这样符合相乘变相加的形式。
f(x):=?log?xf(x1⋅x2)=f(x1)+f(x2)
为了符合我们最直观的感觉,因为概率越小,信息量越大。而 log 函数单调递增,我们转换方向。
f(x):=−log2xf(x1⋅x2)=f(x1)+f(x2)
看计算机里多少位数据,给计算机输入一个16位数据,输入之前随便取的值是 1/216 的概率 ,输入之后的概率直接变为了 1 。信息量就是 16 比特。
信息量可以理解为一个事件从原来不确定到确定它的难度有多大,信息量大,难度高。
熵不是衡量某个具体事件,而是整个系统的事件,一个系统的从不确定到确定难度有多大
它们都是衡量难度,单位也可以一样都是比特。

系统熵的定义
将上方对系统贡献的信息量可以看成是期望的计算。

KL散度



KL散度绝对是大于等于0的,当Q、P相等的时候等于0,不相等的时候一定大于0
为了让Q、P两个模型接近,所以必须使交叉熵最小
交叉熵中 m 是两个概率模型里事件更多的那个,换成 n 是图片数量。
对m选择的解释:假如p的事件数量是m,q的事件数量是n,m>n,那么写成∑求和,用较大的m做上标。就可以分解为,∑1到n+∑n+1到m,那么对于q来说,因为q的数量只有n,那么对应的q的部分∑n+1到m都等于0。
H(P,Q)=∑mi=1pi⋅(−log2qi)=∑ni=1xi⋅(−log2qi)=−∑ni=1(xi⋅log2yi+(1−xi)⋅log2(1−yi))
P 是基准,要被比较的概率模型,我们要比较的人脑模型,要么完全是猫要么不是猫。
xi 有两种情况,而 yi 只判断图片有多像猫,并没有去判断相反的这个猫有多不像猫,而公式里的 xi 与 qi 要对应起来,当 xi 为 1 ,要判断多像猫,当 xi 为 0 的时候,要判断不像猫的概率。
最后我们推导出来,公式跟极大似然推导出来的是一样的。但是从物理角度去看两者是有很大不同的,只是形式上的一样。
- 极大似然法里的 log 使我们按习惯引入的,把连乘换成相加。而交叉熵的 log 是写在信息量定义里的,以 2 为底,计算出来的单位是比特,是有量纲的。
- 极大似然法求的是最大值,我们按习惯求最小值。而交叉熵负号是写在定义里的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!