Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter3:Basic of Neual Networks

3、Basic of Neural Network

神经网络是机器学习中最重要的模型之一。人工神经网络由众多的神经元组成,相互之间有联系,其结构与生物神经网络有很大的相似之处。神经网络的学习方式如下:以随机权重或数值启动,神经元之间的连接通过反向传播算法反复更新其权重或数值,直到模型表现相当精确。最后,神经网络学习到的知识以数字方式存储在连接中。大多数关于神经网络的研究都试图改变它的学习方式(用不同的算法或不同的结构),目的是提高模型的泛化能力。

3.1、Neural (神经元)

神经网络最基本的单元是神经元, 他可以接收一系列输入并返回相应的输出。 一个景点的神经元如图3.1所示,其中神经元接收nn个输入x1,x2,,xnx_1,x_2, \cdots, x_n,对应的权重分别为ω1,ω2,,ωn\omega_1,\omega_2,\cdots,\omega_n, 以及偏移量bb。然后加权求和的结果y=i=1nωixi+by = \sum_{i=1}^n\omega_ix_i+b经过**函数ff得到神经的最终输出z=f(y)z=f(y)。需要注意的是,这个输出将会成为下个神经元的输入值。**函数 是一种将实数映射到0~1之间的数字(有极少数的例外)的函数,他代表神经元的**情况,其中0代表失活,1代表完全**。在神经网络中常用的集中**函数如下:
Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter3:Basic of Neual Networks

  • Sigmod函数(图3.2所示)
    σ(x)=11+ex(3.1)\sigma\left(x\right)=\frac{1}{1+e^{-x}} \tag{3.1}
    Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter3:Basic of Neual Networks

  • Tanh函数(图3.3所示)
    tanh(x)=exexex+ex(3.2)tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} \tag{3.2}

Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter3:Basic of Neual Networks

  • ReLU(Rectified Linear Unit)函数 (图3.4所示)
    ReLU(x)={0x0xx>0(3.3)ReLU(x)=\left\{\begin{array} {ll} 0 & x\leq 0 \\ x & x > 0 \end{array} \right. \tag{3.3}

Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter3:Basic of Neual Networks

事实上,还有很多其他的**函数,每个**函数同样有自己相应的导数。但是,一个好的**函数总是平滑的(也就是说其是一个连续可微分的函数)以及容易计算的(使神经网络中计算复杂性最低)。在神经网络的训练过程中,**函数的选择对网络最终的表现至关重要。

3.2 Back Propagation(反向传播)

在神经网络的训练过程中,最常用的是反向传播算法。它是一种基于梯度下降来优化模型中参数的算法,以上述说明的单神经元模型为例。假设输出zz的优化目标是z0z_0,将通过调参数ω1,ω2,,ωn,b\omega_1,\omega_2,\cdots,\omega_n,b来接近。总的来说,后向传播的处理过程包含如下两个步骤:

  • Forward calculation:给定一组参数和一个输入,神经网络以正向传播的方式计算每个神经元的值;
  • Backward propagation: 计算每个待优化变量的误差,并以反向传播的方式计算相应的导数并更新参数。

3.3 Neural Networks(神经网络)

近年,机器学习(尤其是深度学习)领域出现了蓬勃发展的态势,其代表是各种神经网络结构的出现。虽然差异很大,但目前的神经网络结构可以分为几类:前馈神经网络、卷积神经网络、循环神经网络和GNN。

  • Feedforward neural network(前馈神经网络): 前馈神经网络(FNN,如图3.5所示)是人工神经网络中第一个也是最简单的网络结构。FNN通常包含一个输入层,若干个隐藏层和一个输出层。FNN具有清晰的层次结构,其由多层神经元组成,每层神经元只与其相邻层相连,同时在FNN中没有环路。

Introduction to Graph Neural Network(图神经网络概论)翻译:Chapter3:Basic of Neual Networks

  • Convolutional neural network(卷积神经网络): 卷积神经网络(CNN)是FNN的一种特殊形式。FNN通常是一种全连接网络,而CNN保留了局部连接。CNN架构通常包含卷积层、池化层和若干全连接层。存在几种经典的CNN架构,如LeNet5 [LeCun et al., 1998], AlexNet [Krizhevsky et al., 2012] (Figure 3.6), VGG [Simonyan and Zisserman, 2014], and GoogLeNet [Szegedy et al., 2015]. CNN被广泛应用于计算机视觉领域,并被证明在许多其他研究领域是有效的。

  • Recurrent neural network(递归神经网络): 与FNN相比,RNN中的神经元除了接收其他神经元的信号和输入外,还要接收自身的历史信息。RNN中的记忆机制有助于模型有效的处理数据。然后,RNN通常存在长期依赖的问题[Bengio et al., 1994, Hochreiter et al., 2001].。有人提出了几种变体,通过加入门机制来解决这个问题,如GRU [Cho et al., 2014] 和 LSTM [Hochreiter and Schmidhuber, 1997]。RNN被广泛应用于语音和自然语言处理领域。

  • Graph nerual network(图神经网络): GNN是专门为处理图结构数据而设计的,如social network、molecular structure、knowledge graphs等等。关于GNN的详细描述将在本书后面的章节中进行。