人工智能是什么
到目前为止,我没有看到一篇文章能够把现目前下的人工智能讲清楚,我是指用通俗的语言,在我的知识结构下,我能听得懂的解释。我们用落地的思维问一个问题,人工智能的原理是什么,它是如何工作的。就一个程序而言,需要得到一个参数,然后通过函数计算,最后输出一个结果。比如,我问程序1+1等于几,实际操作中我会在特定的位置向电脑输入对应的参数,程序会调用sum()函数输出2这个结果。但是人工智能的出现颠覆了我的认知,因为我输入的不是简单的参数,可能是一段话,它能“理解”我的意思,知道我想问的是1+1等于几。
当下的“弱人工智能”最终结果还是程序,只是它的程序不再那么死板,能处理更模糊的问题,我是指它能更理解我的需求,那么,它是如何做到的,这个问题我始终想不明白,网上找了很多资料也没明白它的原理。
大概能猜测的是,通过人为设定的对自然语言的拆分,提取当中的关键词,再通过概率推导出用户意思,这个过程又需要很多实际的操作进行反馈不断优化程序中的特定参数,俗称训练,比如概率论当中的特征向量,最终通过算法理解到用户的真实意图。
这当中用到了句子的切片,概率统计分析,突然让我想到了一个很有趣的话题,我们大学学到的高等数学、线性代数、概率论以及数理统计等高级数学,最终都用在了哪里。
我家小宝在学方程以前,学校布置的思考题,当拿给我做的时候,如果仅仅是想得到答案,列方程是最简单的,但是他们那个阶段是不能用方程的,需要的是思维和逻辑,用他们能用的方法来解答,直到他们学了方程后,再使用方程。显然方程的计算过程更简单,降低了人的思维要求,但是方程对他们那个时候更难理解。那大学里的数学是不是同样的道理,更加难理解,但是对解题更容易,记得在大一考试的时候,我甚至用的是高中的办法去答题,因为那个时候高数学得很差。于是乎,在编程的世界里,这种将实际问题转化为数学问题的过程,我理解为算法。
最终,我得到的答案是,所谓的人工智能,就是将大学或者以上学到的数学本领用在了编程上,将我们现实中的问题,转化为了数学问题,由计算机再帮助我们来完成,与传统过程不同的是,这个过程更通用。以往我们各个专业领域同样涉及到很复杂的公式计算,比如材料力学计算中,要求出某个温度下的热胀冷缩造成的二次应力,这同样是个复杂的过程,需要反复迭代计算,人力几乎不可能,通过计算机能很容易得到结果,再往后出现了“有限元分析”,将材料分解为许多个点,每个点相互碰撞计算出结果。但这条路径还是需要人为的给出具体的参数需求,电脑再使用程序计算结果,这个需求很明确,就像在没有学习方程以前需要人为给出具体的计算方法一样。那么程序始终需要明确的需求和调用什么函数,则成就了今天的“弱人工智能”。
我在网络上搜索线性代数的应用,高等数学在生活中的应用,以及概率论在生活中的应用,结果是,我看不懂。现实中,或许高中的知识已经能应付绝大多数的工作了,但科技的发展需要更高级的知识,当初在大学学到的知识都还给学校了,更重要的是由实际问题转化为数学问题的能力。