机器学习想解决什么问题?答案是机器学习的野心很大,希望用机器解决一切人们期望解决的问题,比如文字/语音/图像识别、与人对话、完成科研任务等等,总之希望机器可以具备甚至超越人类智慧。
虽然现阶段机器学习还不具备超越人类的智慧,但随着 ChatGPT 的发布,大家都看到,机器已基本具备人类智慧,甚至在某些领域已部分超越了人类智慧。可能在几年前,人们还在质疑当前机器学习方向是否正确,但随着近期取得的巨大突破,人们的信念变得坚定,越来越多的顶级聪明人投入了这个方向。
所以在这个时代,任何人最好都了解一些机器学习的原理,就算被机器超越,也要知道个明白。
机器学习就是找函数
以我对机器学习的理解,认为其本质就是 找函数。我需要从两个角度解释,为什么机器学习就是找函数。
第一个角度,为什么要找函数。因为人解决问题与机器解决问题本质的不同,人能解决问题,但不一定能说清楚背后的原因,而机器解决问题靠的是计算,是可以重复执行且逻辑精确的。所以用机器解决人类解决的问题,也必须找到精确的函数,即便这个函数会非常复杂。
第二个角度,为什么相信能找到函数。我们凭什么认为人类智慧才能完成的任务,可以找到函数解?现实就是 ChatGPT 找到了,所以说明可以找到函数解!也许因为 ChatGPT 背后的神经网络是高维函数,高维函数投影到我们低维的时空能解决所有问题,说明我们被降维打击了。
以上只是一些随口说的感慨,接下来我们进入干货阶段。
假设世间所有问题都抽象为输入、输出
既然我们相信能找到解决一切问题的函数,那这个问题也必须能描述为输入,输出的模式。比如:
文字识别:输入图像,输出文字。
语音合成:输入语音,输出语音。
做题:输入题目,输出答案。
就像知乎的 slogan "有问题就会有答案",世界上绝大部分需要人类解决的问题,似乎都能通过输入、输出解决。
好,当我们觉得世间所有问题都能抽象为输入输出,那如果我们找到了一个函数,对于每一种输入,结果输出都是人类认可的正确答案,那这个函数不就是一个超级智慧大脑吗?
假设我们发现了一个函数 f(x):
f("小红有3个苹果,给了小明1个,还剩几个?") = "2个"
f("我真是谢谢你们的服务,烤冷面外卖送到的时候真成了冷面。这句话是正面还是负面评价?") = "负面"
那就认为,对这两个例子来说,函数 f(x) 就是机器学习要找的函数。
那么难点来了,怎么找到这个函数呢?
如何找到这个完美函数
ChatGPT 几乎已经找到了这个完美函数,它可以几乎解决一切问题,这也是我们学习机器学习的动力。但作为初学者,只盯着火箭是永远也学不会的,让我们先从拧螺丝开始。
我们降低一下目标,把要找的函数设定为 y = 3x,即我们要找一个函数 f(x),