全连接神经网络思想与基本原理

全连接神经网络

宏观上来讲,基本的权利建设网络分为输入计算和输出三个部分,其中输入和输出均为矩阵,计算过程为矩阵的计算,通过神经网络内部的参数将输入的矩阵转换为输出的矩阵,当神经网络刚创建时,内部的参数是随机的,从而产生的输出也是随机的。

通过神经网络可以实现两大目的,预测和聚类预测是通过输入得到连续的结果,车磊是通过输入得到离散的结果,传统神经网络算法一般是通过有监督的学习,也就是通过给定的输入输出来训练神经网络参数,从而当参数趋于稳定后,可以对一定的输入得到一定的输出。

我们将训练参数的过程称为训练,将训练参数使用的方法称为优化器,有不同优化算法的选择,其中最基础的是反向传播算法,通过计算出神经网络正向计算过程中每一点每一个计算节点对应于最后计算误差所占的比值。

其中最基础的是反向传播算法反向传播算法,利用损失函数计算出每一个计算节点的损失,从而优化一次参数损失的函数的计算,是将训练过程中得到的输出与期望的输出进行比较,从而得到损失,再通过反向传播算法,也就是为了求出计算过程中每个节点对损失所产生的权重,通过偏导数的方法计算出每一个群点群每一个节点对应的损失值,再将该点的参数减去这个损失值可以得到优化后该点的参数,我们将每一次优化成为一次训练,通过多次训练可以将神经网络优化至趋于稳定。

此时,神经网络对给定收入的计算结果会与预期结果较为接近。

下面阐述多层神经网络的概念,单层神经网络是将输入矩阵通过一次点乘运算得到一个输入矩阵,我们将进行点乘的矩阵,称为该层的参数儿,多层神经网络是有多个矩阵参数用于点成,将输入的举证一次与这些参数矩阵进行计算,从而得到输出举证,我们将这样的模型称为多层神经网络,由于举证运算过程是可可以求导的,我们可以通过偏微分计算反向传播,从而优化每一个矩阵的参数。

神经网络的训练

过拟合现象 

当网络参数较小而训练数据较大的时候,会训练次数都会出现过拟合情况,就是网络对训练训练数据表现很好,但对测试数据表现很糟糕,这时,为了消除过拟合的影响,我们会在损失函数后加上一个惩罚函数,在神经网络训练中称为正则化[]。另一方面,若每个epoch只将单次的数据作为输入单位,容易出现神经网络“死记硬背”的过拟合情况,将数据按批次输入则可以一定程度上抑制这种情况,更进一步,还可以参考 在线处理[]方法或者STORM+方法[]

局部最小值

通过反向传播算法很容易陷入局部最优解而无法达到全局的小值,我们可以通过改进损失函数或者增加神经网络数量来克服,一般使用带有动量的损失函数,用这样包含几次历史损失函数信息的方法来更稳定的接近最优解,或者使用群体优化[]算法。

数据规范化

现实数据往往具有大量噪音,这样的数据制作成数据集的时候需要先筛选掉过于混乱的数据。为了减小人为标注数据集的工作量,通常使用无监督的聚类算法将数据做划分,再人为贴上标签。为了数据更适应神经网络数学模型,通常要进行归一化,来扩大神经网络可行解的范围。

维归约

对于设计网络的训练数据,比如在在语言处理中可能存在输入矩阵过于稀疏的情况。这是我们可以使用一些无监督的学习方法,比如主成分分析来达到维归一。

训练消耗计算资源过大

近年来随着自然语言处理技术的发展,源1.0及GPT3[]等巨量模型,神经网络参数动辄是GB级别,迁移学习[]和预训练模型变得愈加重要,这样也能极大的减少训练所需的数据量。

你可能感兴趣的:(神经网络,深度学习,机器学习)