Task 03(前馈神经网络

总框架及基本知识点参考: liu-yang-前馈神经网络

神经元模型

神经元(M-P)

参考:

[McCulloch-Pitts Neuron — Mankind’s First Mathematical Model Of A Biological Neuron](McCulloch-Pitts Neuron — Mankind’s First Mathematical Model Of A Biological Neuron | by Akshay L Chandra | Towards Data Science)

多个输入,进行线性组合( w ⋅ x w \cdot x wx​),加上一个偏置( − b -b b​),得到一个数 w ⋅ x + b w \cdot x + b wx+b​,通过激活函数 f f f,到达下一个神经元。

大致是这样的结构。

抽象到计算公式为:
f ( ∑ i = 1 n [ l − 1 ] w i j [ l ] x i [ l − 1 ] − θ j [ l ] ) , j = 1 , 2 , ⋯ n [ l ] f(\sum_{i=1}^{n^{[l-1]}} w_{ij}^{[l]} x_i^{[l-1]} - \theta_j^{[l]}), j = 1,2, \cdots n^{[l]} f(i=1n[l1]wij[l]xi[l1]θj[l]),j=1,2,n[l]
关于权重 w i j [ l ] w_{ij}^{[l]} wij[l]代表的是当前层到这一层的权重, x i [ l − 1 ] x_i^{[l-1]} xi[l1]代表上一层的输出, θ j [ l ] \theta_j^{[l]} θj[l]代表的是这一层的偏置,函数 f f f​​是当前层所选择的激活函数。​​

img

大致是这样的,是从网上找的图片,地址[在这里](10807-27549-01.jpg (592×340) (eetrend.com))

网络结构

对神经元结构的抽象,并且对应的神经元的个数增加。

网络结构乃是上面多个具有交叉的模型所构成。

查看源图像

图片具体地址[在这里](2019-0486-2_mini.jpg (1575×824) (zafu.edu.cn)).

注意:第一层不算作层数,如上图所示,在指定 x [ l ] x^{[l]} x[l]时, l l l l = 0 , 1 , 2 , 3 l=0, 1, 2, 3 l=0,1,2,3,最后一层的层数一般指的是第三层,第一层 l = 0 l=0 l=0一般说作输入层。​

感知器

单层感知器和多层感知器

单层感知器,在神经网络中,一般是指代只具有一个输入层和一个输出层的网络。其中网络抽象表达式为:
f ( w ⋅ x + b ) = s i g n ( w ⋅ x + b ) f(w\cdot x + b) = {\rm{sign} }(w \cdot x + b) f(wx+b)=sign(wx+b)
其中 x x x可以是多维的 x = ( x 1 , x 2 , ⋯   , x m ) x = (x_1, x_2, \cdots, x_m) x=(x1,x2,,xm), 输出 y y y一般是一维的,激活函数为 s i g n \rm sign sign, 是一个阶梯函数:
s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 {\rm sign}(x)=\left\{ \begin{aligned} +1, \quad x \ge 0 \\ -1, \quad x < 0\\ \end{aligned} \right. sign(x)={+1,x01,x<0
img

图片来源在这里[在这里](v2-48f8a8034abe107a585556193be4c365_1200x500.jpg (731×248) (zhimg.com))

一、当在线性可分的时候,往往使用单层感知机模型就可以;

二、如果有某些点不可分的时候,可以实当放低对准确度的要求(即要求完全分开的要求),得到上图第二个分割平面;

三、如果还是不可分,即对应第三个图,1. 则需要使用类似于传统机器学习的SVM(使用非线性核将原始数据映射到高维空间中去),2. 在这里使用多层感知器,并且定义损失函数为非线性损失函数(后面会继续定义)来达到非线性可分的效果。

单层 VS 多层

原来只有一个sum求和,进行激活输出;

现在有多个sum求和,放到一个层中,再相互连接,传到下一层去。

想简单解释一下为什么要引入多层的神经网络。因为多层神经网络能够表示的计算更加强大。比如最简单的逻辑运算,AND, OR, NOT, 使用简单的一层神经元,即单个感知器就可以实现,因为他们往往只是涉及到一个判断,但是对于XOR感知器,需要进行两个判断,有两个输入x1, x2, 当且仅当x1, x2取值不相等的时候,它是线性不可分的,这里的取值不相等时需要使用一个分线性函数,即一个弯曲的曲线来将红色的点和绿色的点分开。

关于具体的神经网络,也作为一个TODO来完成吧。

See the source image

图片来源:在这里

BP算法

BP算法的基本过程

向前传播,计算损失函数,计算损失函数关于参数的梯度,使用梯度下降法(动量法,自适应方法)来更新参数。

使用更新之后的参数继续往后传,继续前一步的过程,直到损失函数收敛,并且达到理想精度。

激活函数

常见的激活函数sigmoid, 阶梯函数,ReLU, tanh, Leaky Relu, Prelu, Selu

激活函数的分类:

1、linear function

linear function, identity function

2、Step function

sign function is a special case of this functions.

step激活函数

Thereshold step function
H ( x ) = { 0 , i f    x < 0 1 , i f    x ≥ 0 H(x)=\left\{ \begin{aligned} 0, \quad {\rm if} \; x < 0 \\ 1, \quad {\rm if} \; x \ge 0\\ \end{aligned} \right. H(x)={0,ifx<01,ifx0

Bipolar Step function

3、Hockey-stick functions

ReLU, prelu( α \alpha α, x)

在这里插入图片描述

PRelu:
P R e L U ( α , x ) = { α x , i f    x < 0 x , i f    x ≥ 0 , α > 0. PReLU(\alpha, x)=\left\{ \begin{aligned} \alpha x, \quad {\rm if} \; &x < 0 \\ x, \quad {\rm if} \; &x \ge 0, \qquad \alpha >0.\\ \end{aligned} \right. PReLU(α,x)={αx,ifx,ifx<0x0,α>0.
ELU(Exponential Linear Units), SELU(Scaled Exponential Linear Units)

在这里插入图片描述

4、Sigmoid functions
TODO

5、Bumped-type functions

6、Classification functions

categorical_crossEntropy

TODO:介绍每个激活函数是怎么发展来的,即前面的有什么需要改进的地方。

BP算法示例

这个自己就不举例子了,可以举一个简单的例子,两层的网络,一个输入层,一个隐藏层,一个输出层,用作回归来进行分析。自己指定每一层的激活函数,以及最后一层的损失函数来进行分析。

优化问题

TODO:细化

难点:

  • 可能面临非凸问题
  • 损失函数不容易收敛

需求:

  • 计算速度
  • 计算资源
  • 数据量的满足

非凸优化问题

  • 如何解决非凸优化的问题

梯度消失问题

  • 如何解决梯度消失的问题

    可以从损失函数中着手

梯度爆炸问题

  • 也从损失函数着手。

其它参考

latex中把公式中一部分斜体变为直体_xiaotao_1的博客-CSDN博客_latex 直体

LaTeX大括号公式和一般括号总结_miao0967020148的专栏-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值