论人工智能之二

​​​接着上一讲。

1.1神经网络的工作原理

我们现在有了神经网络,要做到让机器人抓起桌子上的杯子的话,我们思考一下还需要准备些什么?神经网络需要输入,来得到输出。那么什么可以作为输入?显然是图像数据,就像人眼一样,图像经过视网膜传到视神经系统,然后大脑的视觉神经中枢经过分析处理,识别出待抓取的物体,以供下一步抓取。神经网络也和人眼一样,将图像数据按像素值作为输入,层层的神经网络就像视觉神经中枢,层层处理和分析,最后得到目标物体的位置等信息。

当然,刚开始,我们的神经网络并不知道怎么识别,所以需要先提供一些已经准备好的数据集。这些数据集直接告诉神经网络什么样的图片对应什么样的输出,比如一张苹果的图片,通过神经网络后,得到一个值,同时数据集告诉这个值代表的是苹果,以此类推。这个过程称为训练。上述的数据集称为训练集。经过训练集训练之后,神经网络就相当于学习完成了,这个之后我们就会拿一些没有标记好的数据集来测试神经网络是否能够输出正确的值,这个过程成为测试,这个数据集称为测试集。

一般来说,我们通常把总的数据集分成两部分,一部分作为训练集,一部分作为测试集。这是常规操作。在实际应用上,我们还经常使用交叉验证的方法。怎么通俗地理解交叉验证呢?首先将总共的数据集分成k份,我们只需要其中1份作为测试集,而剩下的k-1份作为训练集,学过排列组合的同学都知道,从k个对象中选取1个对象,有k种取法。所以这里选取测试集的方法也有k种,即依次有放回地取出每份数据集作为测试集,其他的作为训练集,这样,原来的数据集就有了k种训练和测试方式,这样是不是提高了数据的利用率,同时又保证数据均匀地被利用了?这就是k折交叉验证。

总之,神经网络就是由一层层神经元相互连接成的网络,可以用来拟合任意非线性函数,通过训练可以使其输入和输出满足给定训练集的分布关系,而且又能够自适应调整的一类表示方法。神经网络具体的种类也有很多,如卷积神经网络(CNN)、循环神经网络(RNN)等。具体研究神经网络的学问我们称之为深度学习(Deep Learning)

1.2 人工智能的具体研究领域

上面通过神经网络的例子介绍了人工智能一般的应用过程。可以看出人工智能的核心问题主要包括预测、分类、控制等。人工智能可以利用的工具也不仅仅是神经网络,还有其他很多种方法,主要包括监督和无监督两类。监督就指的是和上面神经网络的例子一样,训练集提供标签。而无监督学习则是只有训练集,要求学习器学出训练集的特征来。监督学习方法还包括最基本的线性分类器、决策树、贝叶斯分类器、支持向量机等,而无监督的学习方法则主要包括聚类方法等。

另外,还有一些试图利用学习方法来做自动控制的一些方法,这类方法试图通过最大化目标状态的奖励来使得控制器达到最佳状态。这类方法称为强化学习。

欲知后事如何,且听下回分解。​​​​

相关推荐