《数学之美》第30章 Google大脑和人工神经网络

1  人工神经网络

    人工神经网络是一个分层的有向图,第一层接收输入的信息,也称为输入层。第二层的节点照此将数值向后面传递,直到第三层节点,如此一层层传递,直到最后一层,最后一层又称为输出层。

2 训练神经网络

    人工神经网络分为有监督的训练和无监督的训练两种。

    有了训练数据,定义一个成本函数C,然后按照梯度下降法找到让成本达到最小值的那组参数。

3 人工神经网络与贝叶斯函数的关系

    共同点:

        1. 它们都是有向图,每一个节点的取值只取决于前一级的节点,而与更前面的节点无关,也就是说遵从马尔可夫假设。

        2. 它们的训练方法相似。

        3. 对于很多模式分类问题,这两种方法在效果上相似,也就是说很多利用人工神经网络解决的问题,也能用贝叶斯网络解决,反之亦然。

        4. 它们的训练计算量都特别大。

    不同点:

        1. 神经网络是在结构上是完全标准化的,而贝叶斯网络更灵活。

        2. 虽然神经网络为非线性函数,但是各个变量只能先进行线性组合,最后对一个变量进行非线形转换。而在贝叶斯网络中,变量可以组合成任意的函数,毫无限制,在获得灵活性的同时,也增加了复杂性。

        3. 贝叶斯网络更容易考虑前后的相关性,因此可以解码一个输入的序列。

4 Google大脑

    “Google大脑”说穿了是一种大规模并行处理的人工神经网络。其创新之处也在于利用了云计算的并行处理技术。

    Google大脑为什么要采用人工神经网络而不是其他机器学习的技术呢?

        第一,从理论上讲,人工神经网络可以在多维空间“画出”各种形状的模式分类边界,因此它有很好的通用性。

        第二,人工神经网络的算法非常稳定,几乎没有怎么变过。

        第三,并非所有的机器学习算法都容易并行化,人工神经网络的训练算法相对简单,容易并行实现。

    Google大脑在减少计算量方面做了两个改进。

        首先是降低每一次迭代的计算量,采用随机梯度下降法。

        第二是减少训练的迭代次数。采用L-BFGS方法,可以根据离最后目标的“远近”距离调整每次迭代的步长。


阅读更多
个人分类: 数学之美
上一篇《数学之美》第29章 各个击破算法和Google云计算的基础
下一篇《数学之美》第31章 大数据的威力--谈谈数据的重要性
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭