为了表示诚意,先把这个简明扼要的道理放在这里:神经网络是由大量相互连接的神经元组成的计算模型。非常复杂?其实很简单。相信看完之后,你会感叹——但也仅此而已。什么是神经网络?运营模式。什么是运营模式?描述如何从一组输入值计算出一组输出值的模型。比如二元线性方程z=2x+3y+5就是一个运算模型,输入是x和y,输出是z。根据z=2x+3y+5,给定x和y,我们可以得到z,这是一个运算模型。请注意,输出可以是多个值。比如输入是x和y,输出可以是z1和z2的两个值,其中,z1=2x+3y+5,z2=6x+8y+8,这也是一种运算模型。神经网络如何表示操作模型?大量的神经元,相互连接。下图显示了一个神经网络。最左边的垂直行神经元(蓝色节点)称为输入层,负责导入输入值。最右边的垂直行神经元(绿色节点)称为输出层,负责导出输出值。中间垂直的两排神经元(黑色节点)称为隐藏层,这些神经元连同它们之间的联系代表了操作模型。例如,二元线性方程z=2x+3y+5可以用下图中的神经网络表示。图中2和3称??为权重值,5称为偏置值。一般来说,只有隐藏层神经元的连接(如标记为2和3的连接)有权重值,只有隐藏层神经元(标记为5的神经元)有偏置值。权重值和偏移值在神经网络中一般不标注。在神经网络中,神经元的数量可以是任意的,神经元之间的连接也可以是多种多样的。神经元的转换及其与数学公式的联系这里不再具体介绍。请记住,神经网络本质上是一种计算模型。只要神经元的数量足够大,就可以表示非常复杂的操作,即非常复杂的输入输出关系。至此,“神经网络是由大量相互连接的神经元组成的计算模型”的定义应该很明确了。为什么使用神经网络来表示操作模型?直接用数学公式不是很好吗?神经网络针对的情况是我们只知道输入值和输出值,但不知道输入值和输出值之间的关系。例如,我们只知道x=1时,y=2,z=13,x=2时,y=1,z=12,却不知道由x和y计算z的公式。面对简单的投入产出关系,我们或许可以直接求解方程。但是极其复杂的输入和输出呢?例如,如果输入是此图像的像素,则输出是图像中的所有字母。这也是一个典型的图像识别任务。这时候就需要神经网络了。只要神经网络足够复杂(足够多的神经元,以及适当的神经元连接),我们就可以相信这个神经网络有能力表示我们想要获得的输入值和输出值之间的关系。“能”是指有特定的权重值和偏置值,让这个神经网络能够准确地表示输入值和输出值之间的关系。然而,我们可能并不知道这些权重值和偏差值。假设神经网络足够强大,您如何获得权重和偏差?这就是请来人工智能最重要的技术,机器学习中的监督学习!首先随机猜测权重值和偏置值,然后用迭代的方法逐步更新这些参数,使得在给定的输入值下,神经网络的输出值与实际已知输出值的差异逐渐减小。直到这个神经网络能够粗略准确的表示出输入值和输出值之间的关系,也就是我们希望得到的运行模型。
