一文搞懂全连接神经网络

全连接神经网络

      • 单个神经元
      • 感知机
      • 全连接神经网络

单个神经元

  人们根据生物神经元(Neuron)的结构抽象出了神经元的的数学模型。
一文搞懂全连接神经网络_第1张图片
  神经元输入向量 x = [ x 1 , x 2 , . . . , x n ] T \bm{x}=[x_1,x_2,...,x_n]^T x=[x1,x2,...,xn]T,经过函数映射: f θ : x → y f_\theta: x →y fθ:xy 后得到输出 y y y,其中 θ \theta θ 为函数 f f f 自身的参数。
  考虑一种简化的情况,即线性变换: f ( x ) = w T x + b f(x)=\bm{w^Tx} + b f(x)=wTx+b,展开为标量形式:
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w n x n + b f(\bm{x})=w_1x_1+w_2x_2+...+w_nx_n + b f(x)=w1x1+w2x2+...+wnxn+b参数 θ = { w 1 , w 2 , . . . , w n , b } \theta= \{w_1,w_2,...,w_n,b\} θ={w1,w2,...,wn,b} 确定了神经元的状态。这就是神经元线性模型(单神经元模型)

感知机

  1943 年,美国神经科学家 Warren Sturgis McCulloch 和数理逻辑学家 Walter Pitts 从生物神经元的结构上得到启发,提出了人工神经元的数学模型,这进一步被美国神经物理学家 Frank Rosenblatt 发展并提出了感知机(Perceptron)模型
一文搞懂全连接神经网络_第2张图片
  感知机接受长度为n的一维向量 x = [ x 1 , x 2 , . . . , x n ] T \boldsymbol{x}=[x_1,x_2,...,x_n]^T x=[x1,x2,...,xn]T,每个输入节点通过权值为 w i w_i wi, [1,n]的连接汇集为变量 z z z,即:
z = w 1 x 1 + w 2 x 2 + . . . + w n x n + b z=w_1x_1+w_2x_2+...+w_nx_n + b z=w1x1+w2x2+...+wnxn+b
  其中 称为感知机的偏置(Bias),一维向量 w = [ w 1 , w 2 , . . . , w n ] T \boldsymbol{w} = [w_1,w_2,...,w_n]^T w=[w1,w2,...,wn]T 称为感知机的权值(Weight), z z z称为感知机的净活性值(Net Activation)。感知机是线性模型,并不能处理线性不可分问题。通过在线性模型后添加激活函数后得到活性值(Activation) a a a :
a = σ ( z ) = σ ( w T x + b ) a = \sigma(z) = \sigma(\boldsymbol{w^Tx} + b) a=σ(z)=σ(wTx+b)
  其中激活函数可以是阶跃函数(Step function),也可以是符号函数(Sign function)。添加激活函数后,感知机可以用来完成二分类任务。但是,阶跃函数和符号函数在 z z z = 0处是不连续的,其他位置导数为 0,所以无法利用梯度下降算法进行参数优化。
  阶跃函数:
  在这里插入图片描述
  符号函数:
  在这里插入图片描述
  以感知机为代表的线性模型不能解决异或(XOR)等线性不可分问题,这直接导致了当时新兴的神经网络的研究进入了低谷期。

全连接神经网络

  感知机模型的不可导特性严重约束了它的潜力,使得它只能解决极其简单的任务。实际上,现代深度学习动辄数百万甚至上亿的参数规模,但它的核心结构与感知机并没有多大差别。它在感知机的基础上,将不连续的阶跃激活函数换成了其它平滑连续可导的激活函数,并通过堆叠多个网络层来增强网络的表达能力。
  通过替换感知机的激活函数,同时并行堆叠多个神经元,可以实现多输入、多输出的网络层结构。例如,构建一个3输入节点、2输出节点的网络层。
一文搞懂全连接神经网络_第3张图片
整个网络层可以通过矩阵关系式表达:
在这里插入图片描述
O = X @ W + b \bm{O} = \bm{X@W+ b} O=X@W+b
@ 表示矩阵乘法。

  由于每个输出节点与全部的输入节点相连接,这种网络层称为全连接层(Fully-connected Layer),或者稠密连接层(Dense Layer), w \bm{w} w矩阵叫做全连接层的权值矩阵,向量叫做全连接层的偏置向量。
  通过层层堆叠全连接层,保证前一层的输出节点数与当前层的输入节点数匹配,即可堆叠出任意层数的网络。这种由神经元相互连接而成的网络就叫做全连接神经网络
一文搞懂全连接神经网络_第4张图片
  由于感知机模型与神经元模型的本质是一样的,所以有时候多层全连接神经网络也被叫做多层感知机(MLP)

你可能感兴趣的:(深度学习)