1 人工神经网络
人工神经网络是一个分层的有向图,第一层接收输入的信息,也称为输入层。第二层的节点照此将数值向后面传递,直到第三层节点,如此一层层传递,直到最后一层,最后一层又称为输出层。
2 训练神经网络
人工神经网络分为有监督的训练和无监督的训练两种。
有了训练数据,定义一个成本函数C,然后按照梯度下降法找到让成本达到最小值的那组参数。
3 人工神经网络与贝叶斯函数的关系
共同点:
1. 它们都是有向图,每一个节点的取值只取决于前一级的节点,而与更前面的节点无关,也就是说遵从马尔可夫假设。
2. 它们的训练方法相似。
3. 对于很多模式分类问题,这两种方法在效果上相似,也就是说很多利用人工神经网络解决的问题,也能用贝叶斯网络解决,反之亦然。
4. 它们的训练计算量都特别大。
不同点:
1. 神经网络是在结构上是完全标准化的,而贝叶斯网络更灵活。
2. 虽然神经网络为非线性函数,但是各个变量只能先进行线性组合,最后对一个变量进行非线形转换。而在贝叶斯网络中,变量可以组合成任意的函数,毫无限制,在获得灵活性的同时,也增加了复杂性。
3. 贝叶斯网络更容易考虑前后的相关性,因此可以解码一个输入的序列。
4 Google大脑
“Google大脑”说穿了是一种大规模并行处理的人工神经网络。其创新之处也在于利用了云计算的并行处理技术。
Google大脑为什么要采用人工神经网络而不是其他机器学习的技术呢?
第一,从理论上讲,人工神经网络可以在多维空间“画出”各种形状的模式分类边界,因此它有很好的通用性。
第二,人工神经网络的算法非常稳定,几乎没有怎么变过。
第三,并非所有的机器学习算法都容易并行化,人工神经网络的训练算法相对简单,容易并行实现。
Google大脑在减少计算量方面做了两个改进。
首先是降低每一次迭代的计算量,采用随机梯度下降法。
第二是减少训练的迭代次数。采用L-BFGS方法,可以根据离最后目标的“远近”距离调整每次迭代的步长。