깊은 Qiuxi 펭 학습 신경 네트워크와는 피드 포워드 신경망 연구 노트를 4 장 전

인공 신경망은 생물학 및 신경 과학에서 영감을 수학적 모델의 시리즈입니다. 이 장에서는 초점 오류 다시 전파 신경망의 학습 신경망 모델을 학습 기계로, 즉, 수행됩니다. 기계 학습의 관점에서, 신경망은 일반적 신경망 높게되었다 그래서, 뉴런의 다수간에 연결하여 비선형 신경 활성 기능을 갖는 기본 단위 비선형 모델로서 간주 될 수있다 비선형 모델. 매개 변수가 신경을 배울 필요가 사이의 연결 가중치가 그라데이션 하강 방법으로 학식, 당신은 기계 프레임으로 배울 수 있습니다.

 

4.1 뉴런

인공 신경 세포, 뉴런, 입력 신호를 생성 출력의 세트를 수신하는 아날로그 뉴런의 기본 구조 및 생물학적 특성 인 뉴럴 네트워크를 구성하는 기본 단위 칭함.

는 D 입력을 수용 신경 X를 가정 1. , X 2 , ..., X D , 벡터 = X되도록 [X 1. , X 2 , ..., X D는 , 입력의 세트, 및 인터넷 입력 Z를 나타내는 X ∈ R은 가중 의해 얻어진 신경의 입력 신호를 나타낸다

[상기 식에서 W = W 1. , W (2) , ..., W D가 ] ∈R D는 디 - 차원 가중 벡터의 중량이고, B ∈ R 바이어스이다.

Z는 비선형 함수 F를 통하여 입력 순 (.), 그 결과 신경 세포 활성도 값 A, A = F (z)

 상기 비선형 함수 F (.) 만 활성화 함수라고한다.

다음 그림은 뉴런의 구조의 전형적인 예를 나타낸다.

 

 

 일부 활성화 기능에는 다음과 같은 속성이 필요합니다

(1) 연속 안내 비선형 함수의 활성화 기능이 네트워크 파라미터 학습 수치 최적화의 방법에 의해 직접 설정 될 수있다 (비 도통하는 점 소수 허용).

(2) 활성화 함수 및 그 유도체 함수는 가능한 한 간단하게되도록, 그것은 네트워크 컴퓨팅의 효율성을 향상시킬 것이다.

기능 (3)의 범위 유도체 그렇지 않으면 효율성과 안정성 훈련에 영향을 미칠 것이다, 적절한 범위 내에서 너무 크지도 너무 작지 않은 기능을 활성화합니다.

여기에 신경 네트워크의 일반적인 활성화 기능입니다.

 

4.1.1 S 상 형 함수

시그 모이 드 함수 타입이 S 형 곡선 함수, 포화 함수 양단을 말한다. S 상 유형 일반적으로 사용되는 기능 TANH 물류 기능과 기능을 가지고있다.

물류 기능의 정의 :

 

 

 로지스틱 함수는 "스퀴즈"함수의 실수 입력 필드 "스퀴즈"는 (0,1)로 볼 수있다. 입력 값이 0 근방 인 경우, 시그 모이 드 함수를 선형 함수로 근사화 입력되어 상기 입력 값이 입력 금지의 양단에 근접 할 때. 입력 작고 0에 가까울 상기 더 가까이 1 입력.

때문에 이러한 장비 뉴런 물류 활성화 함수의 성질 로지스틱 방정식은 다음과 같은 두 가지 특성을 갖는다 : (1) 출력은 확률 분포로 알 수있는 직접 신경망 더 학습하고 통계 모델들이 결합되도록. 다른 신경 출력 정보의 양을 제어하기위한 소프트 게이트로 간주 될 수있다 (2).

 

TANH 함수 정의 :

 

 

 

 TANH 기능 중심의 출력이 제로이며, 비제로 출력 라이벌 0 로지스틱 방정식에 출력은 입력 층 뉴런의 중심이 바이어스 후속 발생 오프셋되도록, 또한 이도록 그레디언트 하강의 수렴 속도 느리게. 도의 형상 및 TANH 로지스틱 함수의 작용.

 

 

 

4.1.1.1 하드 물류 기능과 기능 하드 TANH

유도체, 예를 들면 로지스틱 함수 σ (x)는, 년 . 1 차 테일러 전개의 로지스틱 방정식은 0 근처

 

 

 

 

이러한 구분은 로지스틱 방정식 하드 물류 (x)에 의해 근사 될 수있다

 

 

 마찬가지로 TANH 함수 근사 하드 TANH (X)를 구분 수도

 

 

 

다음 그림에서 볼 형상 및 기능 하드 로지스틱 함수 하드 TANH

 

 

4.1.2 ReLU 함수

RELU 활성화 함수는 종종 다음과 같이 정의 ReLU 사용 신경망의 깊이의 함수이다 :

 

 

장점 : ReLU 뉴런은 곱셈, 추가 및 비교 연산,보다 효율적인 계산 만하면됩니다. 어느 정도 ReLU 함수는 기울기 하강 수렴 속도를 가속화 그래디언트 신경망의 소실의 문제를 완화.

缺点:ReLU函数的输出是非零中心化的,给后一层的神经网络引入偏置偏移,会影响梯度下降的效率。

 

4.1.2.1 带泄漏的ReLU

带泄漏的ReLU在输入x < 0 时,保持一个很小的梯度λ。这样当神经元非激活时也能有一个非零的梯度可以更新参数,避免永远不能被激活。带泄漏的ReLU的定义如下:

 

 

 其中r是一个很小的常数,比如0.01。当r <1时,带泄漏的ReLU也可以写为

 

 

4.1.2.2 带参数的ReLU

带参数的ReLU(Parametric ReLU,PReLU)引入一个可学习的参数,不同神经元可以有不同的参数。对于第i个神经元,其PReLU定义为

 

 

 

4.1.2.3 ELU函数

ELU(指数线性单元)是一个近似的零中心化的非线性函数,其定义为

 

 

 

4.1.2.4 Softplus函数

定义如下:

 

 

 具有单侧抑制、宽兴奋边界的特性,却没有稀疏激活性

下图给出了ReLU、Leaky ReLU、ELU以及Softplus函数的示例

 

 

 

4.1.3 Swish函数

Swish函数是一种自门控激活函数,定义为

 

 

 

 下图给出了Swish函数的示例

 

 

 

4.1.4 高斯误差线性单元

高斯误差线性单元(GELU)和Swish函数比较类似,也是一种通过门控机制来调整其输出值的激活函数。

GELU(x) = xP(X <= x)

其中P(X <= x)是高斯分布的累积分布函数。GELU可以用Tanh函数或Logistic函数来近似。

 

4.1.5 Maxout单元

Maxout单元也是一种分段线性函数。Sigmoid型函数、ReLU等激活函数的输入是神经元的净输入z,是一个标量。而Maxout单元的输入是上一层神经元的全部原始输出,是一个向量。

每个Maxout单元有K个权重向量w∈ RD和偏置bk。对于输入x,可以得到K个净输入zk,1 <= k <= K

  

Maxout单元的非线性函数定义为

 

 

 

 

 

 

4.2 网络结构

通过一定的连接方式或信息传递方式进行协作的神经元可以看作是一个网络,就是神经网络。

目前常用的神经网络结构有以下三种:

 

4.2.1前馈网络

前馈网络中各个神经元按接收信息的先后分为不同的组。每一组可以看作一个神经层,每一层中的神经元接受前一层神经元的输出,并输出到下一层神经元。整个网络中的信息是朝一个方向传播,没有反向的信息传播,可以用一个有向无环路图表示。

前馈网络可以看作一个函数,通过简单非线性函数的多次复合,实现输入空间到输出空间的复杂映射。这种网络结构简单,易于实现。

 

4.2.2 记忆网络

记忆网络,也称为反馈网络,网络中的神经元不但可以接收其他神经元的信息,也可以接收自己的历史信息。记忆网络包括循环神经网络、Hopfield网络、玻尔兹曼机、受限玻尔兹曼机等。

记忆网络可以看作一个程序,具有更强的计算和记忆能力。

 

 4.2.3 图网络

图网络是定义在图结构数据上的神经网络。图中每个结点都由一个或一组神经元构成。节点之间的连接可以是有向的,也可以是无向的。每个节点可以收到来自相邻节点或自身的信息。

 

下图给出了前馈网络、记忆网络和图网络的网格结构示例,其中圆形节点表示一个神经元,方形节点表示一组神经元。

 

 

 

4.3 前馈神经网络

在前馈神经网络中,各神经元分别属于不同的层。每一层的神经元可以接收前一层神经元的信号,并产生信号输出到下一层。第0层称为输入层,最后一层称为输出层,其他中间层称为隐藏层、整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无环图表示。下图给出了前馈神经网络的示例。

 

 

 符号定义:

 

令a(0) = x,前馈神经网络通过不断迭代下面公式进行信息传播:

  

 

 

 可以合并为以下式子:

 

 

4.3.1 通用近似定理

 

 

4.3.2 应用到机器学习

给定一个训练样本(x,y),先利用多层前馈神经网络将x映射到φ(x),然后再将φ(x)输入到分类器g(.)

 

 其中g(.)为线性或非线性的分类器,θ为分类器g(.)的参数,y为分类器的输出。

如果分类器g(.)为Logistic回归分类器或Softmax回归分类器,那么g(.)也可以看成是网络的最后一层,即神经网络直接输出不同类别的后验概率。

 

4.3.3 参数学习

如果采用交叉熵损失函数,对于样本(x,y),其损失函数为

 

 给定训练集D,将每个样本x(n)输入给前馈神经网络,得到网络输出为,其在数据集D上的结构化风险函数为:

 

 ||W||F2是正则化项,用来防止过拟合。这里的||W||F2一般使用Frobenius范数:

 

 网络参数可以通过梯度下降法来进行学习。第l层的参数W(l)和b(l)参数更新方式为

 

 α为学习率。

 

4.4 反向传播算法

先计算L关于参数矩阵中每个元素的偏导数,根据链式法则,

 

从上式可以看出,第l层的误差项可以通过第l+1层的误差项计算得到,这就是误差的反向传播。

使用误差反向传播算法的前馈神经网络训练可以分为以下三步:

(1)前馈计算每一层的净输入z(l)和激活值a(l),直到最后一层

(2)反向传播计算每一层的误差项δ (l)

(3)计算每一层参数的偏导数,并更新参数。

 

 

4.5 自动梯度计算

 因为手动求导并转换为计算机程序的过程非常琐碎并容易出错,导致实现神经网络变得十分低效。实际上,参数的梯度可以让计算机来自动计算。目前,主流的深度学习框架都包含了自动梯度计算的功能,即我们可以只考虑网络结构并用代码实现,其梯度可以自动进行计算,无需人工干预,这样可以大幅提高开发效率。

自动计算梯度的方法可以分为以下三类:数值微分、符号微分和自动微分。

4.5.1 数值微分

数值微分是用数值方法来计算函数f(x)的导数。函数f(x)的点x的导数定义为

 

 然而在实际应用中,经常使用下面公式来计算梯度,可以减少截断误差。

 

 4.5.2 符号微分

符号微分是一种基于符号计算的自动求导方法。符号计算也叫代数计算,是指用计算机来初六带有变量的数学表达式。

4.5.3 自动微分

自动微分可以直接在原始程序代码进行微分,因此自动微分成为目前大多数深度学习框架的首选。自动微分的基本原理是所有的数值计算可以分解为一些基本操作,包含+,-,×,/和一些初等函数exp,log,sin,cos等,然后利用链式法则来自动计算一个复合函数的梯度。

举例:

 

连边上的红色数字表示前向计算时复合函数中每个变量的实际取值。

 

 

 

 那么

 

 

4.6 优化问题

神经网络的参数学习比线性模型更加困难,主要原因有两点:(1)非凸优化问题和(2)梯度消失问题

 

4.7 总结和深入阅读

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

추천

출처www.cnblogs.com/coderying/p/12332877.html