人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。
例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关,最终的输出由这些权重加总来决定。
神经网络的常见应用场景有图像物体识别、视频目标识别等。例如图像中的红绿灯物体识别,将组成一个红绿灯的要素分解,绿色、红色、黄色、金属边框、圆形、静止标识等,然后利用神经元学习,即进行“检查“。完成学习后,将有待识别的图像输入,神经网络的任务就是给出结论,图像中到底有没有红绿灯。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。
回过头来看这个红绿灯的例子。神经网络是调制、训练出来的,时不时还是很容易出错的。它最需要的,就是训练。需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。
只有这个时候,我们才可以说神经网络成功地自学习到一个红绿灯的样子。