|
|
本帖最后由 晨枫 于 2026-4-10 19:44 编辑 * B! N4 n! B5 k, O
% Z; G. z7 e2 m& J& u. w
谁都知道,AI会挖坑。但AI不是有意挖坑,因为AI没有那么“意”。坑了你,AI也不觉得得意或者惭愧。AI根本没有情感。但AI确实会坑你。
3 X& I5 d$ q- w$ m* W
$ K0 `7 y7 K; D7 m, m0 i! |0 rAI挖坑的机制并不清楚,以下只是一个猜想。- F E, m$ I* S
/ V5 x+ g4 Q; f7 r
哪怕是生成式AI,AI并不“发明”知识或者数据。AI的“生成”只是根据已有的知识、数据“揉和”出来的。比如说,“用印象派技法画一张慈禧太后像”,印象派技法是现有知识,尽管数据化需要很多功夫;慈禧太后的形象则有历史图片。这是人类也做得到的,在艺术上是原创,但谈不上创造发明。同样,“用印象派技法画一张杨贵妃像”,由于没有杨贵妃的画像,只能凭有限的文字描述,画出来像不像,那就天知道了,和警方根据真人描述画嫌疑人像其实一个意思。凭空捏造则本来就是AI不应该做的。
6 w3 F2 Q* B3 q/ T
9 l- T. r% `7 ^4 }: W5 X. H8 H人类早就会编农历,然后根据农历,就知道大致什么时候天气会怎么样,该干什么农活了。在中国叫农历,外国也有,换一个叫法而已。埃及人的农历的最大用处就是用来预测尼罗河水泛滥的。7 R' q/ y( l' e- W( i) q) S
; a( ^3 T( y2 R" _这是查表法。根据经验或者观察或者计算,编制成表,使用的时候根据当前情况查表找结果。在数学上,这叫非参数方法,最大好处是不需要定义有多少参数、什么模型结构。什么样的数据集都能100%精确地使用查表法。最大的坏处是在数据点之间,需要内插。中小学里学的是线性内插,比如查表可知,输入为1的时候,输出为2,输入为2的时候,输出为3,那么,输入为1.5的时候,输出在表上没有,但“毛估估”就应该是2.5。这就是线性内插。
1 K- d/ n/ W. g+ V% k; c* t
8 A' O8 I L5 K. E* q( Z; v/ R数学上还有其他的内插方法。
: W4 P2 g$ ]1 Q |7 \/ M% R: @
$ x! p+ Y/ G( e6 M, I与内插相对应的是外推。如果数据集的最后两点是(10,11)和(11,12),那输入为12的时候,数据集里已经超过界限了,没有数据,但输出“毛估估”起来就“应该”为13,这就是外推,而且是线性外推。
4 p7 }# ?8 i9 k* a/ j F! A! B9 T2 `/ m. z2 |
内插和外推已经不是100%精确了,因为在内插和外推的地方,原本没有数据点,内插准不准,一要靠一点运气,二要取决于数据点相对密集,中间需要内插的空隙不大。越是靠近数据点,内插越精确。外推更加“玄”,只有在接近数据集端点的地方,才有一点准头,更远就是开盲盒了。
: Y4 E. O7 u' k2 z# Z" a3 h- @: ? b. H3 l
不过人类文明发展就是动态的。根据已有观察构成的数据集永远只能解决已有的问题,新问题在不断出现,需要不断解决。有些新问题是在已有问题“之间”,这需要某种内插;更多新问题在以后问题“之外”,需要某种外推。3 L# r2 a6 x1 N
+ Y, c- t8 l# K5 f+ E' s! a单输入、单输出的数据集构成二维表格,用起来方便,内插也好理解。多个输入、多个输出的数据集就构成高维表格,看是没法看了,内插也不再直观,但道理是一样的。
3 l0 d8 q5 `. L7 b& B& H9 c, v4 v$ M. ~$ ^$ x6 Q& E
从表格法进一步,就是参数方法。也就是说,假定一个模型结构,假定一些模型参数,然后用这个模型去“套”数据集,通过模型参数的不断调整,使得模型输出与数据集尽量符合。在达到一定的精度要求后,就认为模型可以代表数据集,而模型就“自然”可以代替内插和外推,在整个参数范围内无间隙地计算输入-输出关系。, ]) [0 g" L4 p* Y$ f6 M( F
9 d2 { P; y& r- w0 x
模型就是数学公式,简单点就是线性的,如y=ax+b,复杂的就“上不封顶”了。
3 F" g9 a2 Q' G$ G6 Z
4 p _+ A7 R1 I) l模型法的好处是紧凑。一个好的模型就那么简简单单一个公式,而且具有抽象的优点,超脱于具体的问题。牛顿的F=ma就是经典。要用表格表述,那需要对各种问题各种场景统统列表了。这是不可能的。1 }! ^0 H q4 |' O' q, [3 X: X
7 U( C9 N5 p4 s% h4 D( q9 I+ ~- `, x模型法的坏处是必须对问题的本质有精确、深刻的理解。模型结构必须反映现象的本质,足和履天然就珠联璧合,否则用再多的参数去“套”,总有出纰漏的一天,因为削足适履了。/ U* I9 C) p7 f, b
' ^2 m! b! \. F3 O这些问题在AI时代之前就知道,AI其实没有改变问题的本质,只是模型结构高度复杂了。
. U* ^* i0 x7 j; M9 N, J2 l2 [! _$ m$ D6 t! B. X3 q
AI在最底层就是神经元,这是sigmoid函数,呈S型。简单sigmoid函数有两个参数,增广sigmoid函数有4个参数,其他变形当然还可以有更多参数。
3 ]2 L7 }6 N2 s7 }
2 l: c( T u) j3 n9 M# i R6 W1 c通过参数的调整,可以“拉长”成接近线性的函数,用于描述连续的数值变化;或者“压扁”呈接近阶跃的开关函数的样子,用于描述断续的逻辑状态。把一个个sigmoid函数并排,就是一层神经元,一层层神经元叠起来,就是一个神经元网络,这就是基本的AI模型。由于sigmoid函数可以同时模拟数值特性和逻辑特性,神经元网络可以复现非常复杂的特性。4 C' c3 |8 a1 X3 a/ z
( _( l, f" j( J6 c H! J5 H6 c
大模型就是高度复杂的AI模型,每一层都可以有非常多的神经元,可以有非常多的层,还可以有比简单的层叠更加复杂的拓扑结构,以提供更加复杂的数据行为,并用海量参数适配高度复杂的数据集,参数数量可以从几百万个到上万亿个。这是现代大模型的基础。
! Y2 ]. i$ Z2 ?$ M6 A
5 \1 J$ l. f: S* Q5 R" P/ y8 o从“套”数据、模型拟合的角度来说,就是可以通过高度过参数化(overparameterization)避开传统的模型结构和参数选择难题,相当完美地“捕捉”几乎所有数据点。换句话说,传统拟合要是“模型形状”与“数据形状”高度符合,拟合才有意义。在此基础上,用最少的模型参数避免数值计算问题。但用神经元网络模型后,什么奇形怪状的数据集都可以拟合,而且符合度相当高,而参数数量随着算力的急剧增加和算法的高度优化,也不再是个问题。
4 u' @" y9 Q4 S0 y% _# a% Y0 l. _% ^$ V3 H
问题是,神经元网络用过参数化的方式绕过模型结构问题,出来混总是要还的。还债的地方就在内插和外推的地方。由于神经元模型几乎无限的“柔性”,在数据点之间的行为高度不可测。比如说,线性内插的结果总是在两个端点之间,好比一根棍子架在两点之间。但神经元就不一定了,可以是一根纱线搭在两点之间,内插值偏离很远。由于神经元的行为(纱线形状)高度不可测,什么时候偏离还根本不知道。* j, a5 ~; V) l8 W- ]
7 @* J) K I" `$ [& J( \1 U
外推也是一样,线性或者一般外推是根据端点附近的趋势加以延伸,但神经元可以一过端点就突然飙升或者断崖式下降,同样没有多少预警。
! ^9 y T! [% ~) ~5 y
3 x( P- F* {/ Z和“古典建模”一样,数据集很密集,内插问题就不大;避免远离边界,外推问题也较小。但这都是可遇而不可求的。
8 C6 n: C% p; Q' H
- M) S6 s9 _) v/ M一个办法是对“数据行为”规范化,比如把数据排成具有明显的上升、下降趋势,避免曲里拐弯。但大模型的数据集浩如烟海,除了有限的“主要数据”,这样的排序在实际上不可能。而且输入、输出关系高度复杂,对一个变量排好了,可能对另一个变量就是曲里拐弯了。最终还是只能“有什么吃什么”。
; k" I' B& A& `. d( p, J) P% p X5 B+ N& X p" c' ^; n
简单做法是对数据点之间和端点之外的行为加以约束,比如规定一个“走廊”,不能跑到外面去,但这其实就是对模型结构化了,有违非结构化的初衷。而且模型一复杂,有那么多地方需要“划线”、“定调”,顾不过来,但遗漏就可能是坑,而且不到踩上还不知道这里有坑。; \+ v$ m* ]" f' D
: n6 r" A Y9 u7 x* e4 v/ P+ s U [* i, i大模型对于数据点上的数据相当精确,比如要问一个yes or no的问题,或者什么东西多少钱、哪国什么时候GDP多少之类的事实问题,一般比较可靠。但要是数据集里不存在这个数据点,那就要难说了。
5 q; m _8 y7 j" |; |) {: }: ]! r6 s$ H4 Y" [+ T: q
好在世上大模型有很多,各家的“纱线”不同,同样的数据点之间的行为也因此而不同。
1 Z, G. ]+ e+ I! c& s
/ T) k$ [& k2 ]有人拿不同的大模型互相“拷问”,最后得出较为靠谱的结论。这个方法不错,但依然不能绝对保证。毕竟这好比有限次数的试错法,踩中了坑就能发现,没踩中还是不知道。 |
评分
-
查看全部评分
|