学了这些基础算法,人工智能就算入门了

说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系 。
人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能是人造的——人工智能不必具备生物特性 。

学了这些基础算法,人工智能就算入门了

文章插图
 
人工智能的目标是使计算机可以如人脑一样工作,但这并不意味着人工智能需要在方方面面都向人脑看齐 。某个人工智能算法与人脑真实功能的匹配程度称为“生物似真性” 。
艾伦脑科学研究所(Allen Institute of Brain Science)的首席科学官Christof Koch曾断言大脑“是已知宇宙中最复杂的东西” 。而在人工智能的学科背景下,大脑本质上就是一种深奥、繁复的技术,我们有必要对它进行研究,通过逆向工程来解析它的工作原理和机制,从而模仿它的功能 。
学了这些基础算法,人工智能就算入门了

文章插图
 
在进一步深入学习之前,还要介绍一些与人工智能算法交互的通用概念 。人工智能算法也称为“模型”, 本质上是一种用以解决问题的技术 。现在已经有很多特性各异的人工智能算法了,最常用的有神经网络、支持向量机、贝叶斯网络和隐马尔科夫模型等 。
对于人工智能从业者来说,如何将问题建模为人工智能程序可处理的形式是至关重要的,因为这是与人工智能算法交互的主要方式 。接下来我们将以人类大脑与现实世界的交互方式为引,展开关于问题建模基本知识的讲解 。
01
对输入/输出建模
 
机器学习算法实际上就是给定输入,产生输出,而输出又受到算法本身的长短期记忆影响 。下图展示了长短期记忆如何参与产生输出的过程 。
学了这些基础算法,人工智能就算入门了

文章插图
【学了这些基础算法,人工智能就算入门了】 
机器学习算法抽象图示
如图所示,算法接受输入,产生输出 。大多数机器学习算法的输入和输出是完全同步的,只有给定输入,才会产生输出,而不像人脑,既可以对输出做出响应,偶尔也能够在没有输入的情况下自行产生输出 。
到目前为止,我们一直在抽象地谈论输入/输出模式,你一定很好奇输入/输出到底长什么样儿 。实际上,输入和输出都是向量形式,而向量本质上就是一个如下所示的浮点数组:
Input:[-0.245,.283,0.0]Output:[0.782,0.543]绝大多数机器学习算法的输入和输出数目是固定的,就像计算机程序中的函数一样 。输入数据可以被视作函数参数,而输出则是函数的返回值 。就上例而言,算法会接受3个输入值,返回两个输出值,并且这些数目一般不会有什么变化,这也就导致对特定的算法而言,输入和输出模式的元素数量也不会改变 。
要使用这种算法,就必须将特定问题的输入转化为浮点数数组,同样,问题的解也会是浮点数数组 。说真的,这已经是大多数算法所能做的极限了,机器学习算法说穿了也就是把一个数组转换为另一个数组罢了 。
在传统编程实践中,许多模式识别算法有点儿像用来映射键值对的哈希表,而哈希表在很大程度上与字典又有些相似之处,因为它们都是一个条目对应一个含义 。哈希表一般长下面这样儿:
● “hear” ->“to perceive or Apprehend by the ear”;
● “run” ->“to go faster than a walk”;
● “write” ->“to form (as characters or symbols) on a surface with an instrument (as a pen)” 。
上例这个哈希表是一些单词到定义的映射,其中将字符串形式的键映射为同样是字符串形式的值 。你给出一个键(单词),哈希表就会返回一个值(对应单词的定义),这也是大多数机器学习算法的工作原理 。
在所有程序中,哈希表都由键值对组成,机器学习算法输入层的输入模式可以类比为哈希表中的“键”,而输出层的返回模式也可以类比为哈希表中的“值”——唯一的不同在于机器学习算法比一个简单的哈希表更为复杂 。
还有一个问题是,如果我们给上面这个哈希表传入一个不在映射中的键会怎么样呢?比如说传入一个名为“wrote”的键 。其结果是哈希表会返回一个空值,或者会尝试指出找不到指定的键 。而机器学习算法则不同,算法并不会返回空值,而是会返回最接近的匹配项或者匹配的概率 。比如你要是给上面这个算法传入一个“wrote”,很可能就会得到你想要的“write”的值 。


推荐阅读