神经网络|前馈神经网络与反向传播算法

欢迎关注”生信修炼手册”!
在单层感知器的基础上,引入隐藏层即可得到多层感知器和深度神经网络,结构如下
神经网络|前馈神经网络与反向传播算法
文章图片

在上述网络中,信号从输入层开始,经过线性组合和激活函数的处理,输入到下一层的神经元,信号依次经过各个隐藏层的处理,最终输出到输出层,这样的信号传递是一个正向传递的过程,这种结构的神经网络称之为前馈神经网络。
对比循环神经网络RNN, 更能体会前馈神经网络的这一特性
神经网络|前馈神经网络与反向传播算法
文章图片

在RNN中,存在一层循环神经元,信号在自身进行递归,而前馈神经网络中信号是层层传递的,从输入层依次传输到输出层。
对于前馈神经网络而言,其参数训练的过程通过反向传播算法来实现。反向传播,对应的英文为Back proprgation, 与前馈神经网络中信号的正向传递相对应,图示如下
神经网络|前馈神经网络与反向传播算法
文章图片

反向传播算法将均方误差作为模型训练的代价函数,本质上是梯度下降法。和信号从输入层到隐藏层到输出层的正向传播相反,误差值从输出层传递到隐藏层再到输入层,这也是其名称中反向传播的由来。
下面通过一个实际的例子来感受下反向传播算法,神经网络结构如下
神经网络|前馈神经网络与反向传播算法
文章图片

在输入层和隐藏层中,每一层都添加了一个值为1的神经元,这样的神经元称之为bias, 类比线性拟合中随机误差对应的常数项。首先随机初始化各条边的权重值,结果如下
神经网络|前馈神经网络与反向传播算法
文章图片

神经网络训练的目标是调整各条边的权重,使得模型输出值与真实值o1,o2的误差最小。类比机器学习,这个目标可以用损失函数来定量描述,这里采用均方根误差。
根据初始权重值,通过正向传播,可以计算隐藏层h1和h2的值,这里激活函数采用sigmod函数,计算过程如下
神经网络|前馈神经网络与反向传播算法
文章图片

接着计算输出层的输出
神经网络|前馈神经网络与反向传播算法
文章图片

根据输出层的计算结构和真实值的差异,可以计算损失函数的值
神经网络|前馈神经网络与反向传播算法
文章图片

接下来进行反向传播,对于神经网络而言,由于其参数很多,损失函数的求解通过梯度下降法来实现。以w5这个权重为例,根据链式法则,其偏导数如下
神经网络|前馈神经网络与反向传播算法
文章图片

依次计算链式展开的各个子项,结果如下
神经网络|前馈神经网络与反向传播算法
文章图片

神经网络|前馈神经网络与反向传播算法
文章图片

神经网络|前馈神经网络与反向传播算法
文章图片

学习率设定为0.5,则更新后的w5参数值计算如下
神经网络|前馈神经网络与反向传播算法
文章图片

其他隐藏层的权重值计算过程是一样的,隐藏层计算完之后,再传播到输入层,按照同样的方式来调整输入层的权重。在每次迭代中,信号正向传播,利用更新后的权重值来计算输出层的总体误差,然后误差反向传播,依次更新更层神经元对应的权重值。
·end·
—如果喜欢,快分享给你的朋友们吧—
原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!
本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
更多精彩

  • KEGG数据库,除了pathway你还知道哪些
  • 全网最完整的circos中文教程
  • DNA甲基化数据分析专题
  • 突变检测数据分析专题
  • mRNA数据分析专题
  • lncRNA数据分析专题
  • circRNA数据分析专题
  • miRNA数据分析专题
  • 单细胞转录组数据分析专题
  • chip_seq数据分析专题
  • Hi-C数据分析专题
  • HLA数据分析专题
  • TCGA肿瘤数据分析专题
  • 基因组组装数据分析专题
  • CNV数据分析专题
  • GWAS数据分析专题
  • 机器学习专题
  • 2018年推文合集
  • 2019年推文合集
  • 2020推文合集
写在最后
转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。
扫描下方二维码,关注我们,解锁更多精彩内容!
神经网络|前馈神经网络与反向传播算法
文章图片

一个只分享干货的
【神经网络|前馈神经网络与反向传播算法】生信公众号

    推荐阅读