训练一个 AI 模型,本质上就是把一堆乱七八糟的数据,当成一块不知该往哪扔的泥巴,试图用数学公式把它捏成一块能听人讲话的石头。
这事儿最Not爽的地方在于,你往哪用力,石头往哪变,实际上跟你的想法彻底倒挂。 想象一下,你在扔一个装满泥巴的篮子。你用力往上抛,它能飞多高?你往右边投,它会不会偏?这挂的绳子到底松紧?反正都没个定论。
哪怕你扔了千万次,每次的结局都不一样,但你总当作最终扔完,这篮子该落在哪个点,心里得有个大约的数。可现实是,每次扔完,那个篮子里到底剩啥,比扔之前还难猜。 这就好比你要训练一个分类器,让你去分辨狐狸和兔子。你扔给它一堆混入狐狸和兔子的照片。你训练的时候,它是想从这堆数据里“悟”出狐狸和兔子的区别。但你得承认,你扔给它的照片质量可能参差不齐,有的图背景忒闷,有的图光线忒足,就连有的图里根本没混东西,全是白底黑字。你给它扔了十万张图,它悟出了 99% 的狐狸,剩下的 1% 就是那些噪音。
这时候你心里有个公式:准率 = 对狐狸的识别率 + 对兔子的识别率。
这个公式看着顺眼,实际上是把两个彻底没关系的技能强行拼凑在一起。 你给它的图,质量差,它大约率只学会了背景,学不到狐狸和兔子的本质区别。
这时候,它学来的知识,就像一块泥巴,你扔回去问它:“你为啥认定这是狐狸?”它肯定会说:“出于背景像这样,颜色像那样,我刚刚扔的时候认定它挺像。”你问:“那要是有张图,背景像,颜色像,但它实际上是兔子,你咋知道?”它可能会说:“出于我之前见过兔子,认定它也有如此个样子。” 这就好比你拿着一本凌乱的说明书,想教机器人识别车。说明书上写着:要是车身是红色的,就是轿车;要是车身是黑色的,就是SUV。你把说明书扔给机器人,它照着说明书去读。你给它扔一堆乱七八糟的车图,有的车颜色不对,有的图背景有墙,有的图没车。机器人读着说明书,把红色当成轿车,黑色当成SUV。 结局呢?它学会的,是“红色=轿车”和“黑色=SUV"这两个孤立的知识点。它没学会“这是啥车”这个核心逻辑。出于它扔给它的数据,质量忒差,本身就带着噪音。
这时候算它的准率,你算的是“它记住了红色是轿车”,还是“它记住了红色是轿车,黑色是SUV"?要是算前者,那它实际上彻底没学会如何识别。
要是算后者,那它的准率就是 0% 了,出于它没学会这个逻辑。 这就是为啥在训练 AI 时,我们一辈子算不出一个完美的胜率公式。出于数据里本身就藏着陷阱,模型也根本不知道陷阱在哪。你给它的图,可能是不清楚的;它学的时候,是带着幻觉的。你扔给它的数据,它学出来的知识,大量实际上是幻觉。 这时候,要是你拿它跑卡,拿它去干活,结局可能惨不忍睹。出于它扔出来的知识,可能是对的,也可能是错的。它可能会说:“这是车。”实际上那是个画饼。
要是你拿一个画饼的模型,去识别一张真的图,你认定它准率是 95% 吧?那它就是幻觉了。 故此,你没法用“扔了多少张图”去算胜率,也没法用“它记住了多少个分类规则”去算。你需求用更粗糙的指标。
比方说,你跟模型比赛,扔给它 10 张图,它猜对 5 张,那胜率就是 50%。但这 50% 的胜率里,可能有一半是出于模型只是记住了“红色=轿车”这个孤立的知识点,另一半是出于它确实理解了这个逻辑。 你没法区分这两局部,也没法把两局部加起来。你只能看着比赛的结局,心里数数:“哦,这次它猜对了,这次它又猜错了。”但这数字,既不是它悟出的知识量,也不是它扔的数据质量,它就是比赛的结局。 当你训练完了,看着模型在测试集上跑,你心里那个“胜率公式”早就烂在肚子里了。
你看着那个数字,可能是 60%,但你知道这 60% 里面,有 40% 是它瞎猜的,80% 是它学坏了。你没办法从里面剥离出真正学到了多少东西,也没办法算出它应当会多少,出于你不知道它接下来会扔啥图,不知道数据里到底藏着啥。 这就好比你要造一艘船,你手里只有一个图纸,图纸上画着船但画得不准。你按图纸造了 1000 艘,结局有 500 艘漏水,500 艘开不了。
这时候你算胜率,认定你盖了 50% 的船?不对,那是你盖了 500 艘船。你盖了 1000 艘,其中一半是坏的,一半是好的。但你没法知道,那剩下的 50% 里,有多少是坏的,有多少是好的。 故此,你没法用公式算胜率,出于胜率不是一个能够量化的东西,它是一个状态。它是你在比赛里打得赢的比例,是模型在面对未知数据时的表现。你没法把它写成公式,只能看着比赛的流水账,看着模型的预测结局,一点点猜。 你给模型扔数据,它学知识,扔知识,知识又变数据。
这是个循环,是个死循环。你扔的数据质量拍板了它学东西的质量,但你一辈子不知道哪个数据是好的,哪个数据是坏的。你扔了 10 万张图,扔了 5 万张是假的,扔了 5 万张是确实,你认定你学会了 100% 的图。
实际上你只学会了 10% 的图,剩下的 90% 都是幻觉。 你没法算出这 10% 的比例,也没法算出它真正会干啥。你只能看着它预测的结局,看着它在测试集上跑出的分数。当你把模型扔出去,它启动工作,你看着它的输出,那一刻,你才算真正知道它的胜率是多少。 这就是训练 AI 最折磨人的地方。你拼命往模型里扔数据,拼命给它灌知识,拼命让它学东西,可你一直无法用公式去衡量它的学习成果。你只能看着比赛的结局,看着它猜对了几张图,看着它预测错了又错了。你只能猜,只能靠经验,靠直觉,靠那一堆烂数据里的偶然性,去拼凑出一个大约的胜率。 你一辈子不知道,那个胜率公式里,有多少是它瞎猜的,有多少是它真懂的。你一辈子不知道,它下次会扔啥图,它又会猜对几张。你只能看着它走过的路,看着它留下的痕迹,去拼凑它到底是个啥样的模型。 你没法算,你只能看。你只能看着那堆扔进模型的数据,看着模型吐出来的预测,看着它预测错了又错了,看着它猜对了几张。你只能看着那串数字,看着它预测的准率,看着它一步步往回退,一步步往坏的地方退。你只能看着它,看着它慢慢变坏。 这就是训练 AI 的真相。你没法算胜率,你只能看着它,看着它如何跑,看着它如何猜,看着它如何错,看着它如何对。你只能看着,看着,看着。