深度学习——神经网络

Posted 记性不好,多记记吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习——神经网络相关的知识,希望对你有一定的参考价值。

目录

  • 神经网络表示
  • 激活函数
  • 不要把所有参数都初始化为0
  • 反向计算求导

一、神经网络表示

神经网络层数= 隐藏数+输出层(1)

输入不算是一层,可以说是第0层

第i层的值:W[1]可以用来表示是第1层的参数

激活值:当前层会传递给下一层的值如a[0]表示输入层会传给第一层的值

每一层中有多个神经元,然后它们可以做相同的事,比如第一层中有3个参数,用下标来区分

二、激活函数

sigmoid: $a = \\frac{1}{1+e^{-z}}$ 只用于二元分类输出层

缺点:不是以0为中心;当$x$很大/小时,梯度趋于0

 

tanh: $a = \\frac{e^z - e^{-z}}{e^z + e^{-z}}$

分布以0为中心点

缺点:和sigmoid一样当z很大/小时斜率趋于0,使得梯度下降效果弱

ReLU:$a = max(0,z)$  一般会采用这个

优点:右侧是线性的,求梯度简单且收敛速度快

为什么要用非线性激活函数:线性函数得出的关系比较简单,不足以描述现实中复杂的关系

三、不能把所有参数都初始化为0

如果把w初始化为0,那么多个神经元的计算就会是一样的(对称性),归纳可得不管多少次后也是一样的结果,则一层中多个神经元也变得没有意义

随机初始化:W=np.randm.radn((2,2))*0.01 这里0.01是因为希望得到的W不要太大,因为激活函数在变量绝对值较大的位置变化比较平缓

四、反向计算求导

正向计算(黑色),反向求导计算(红色)

 

以上是关于深度学习——神经网络的主要内容,如果未能解决你的问题,请参考以下文章

什么是深度学习?深度学习能用来做什么?

深度学习入门 2022 最新版 深度学习简介

深度学习 | 简析深度学习和神经网络算法的基本思路

深度学习(001)-深度学习简介

深度学习神经网络介绍

深度学习“深度学习”-概念篇