实例分析神经网络传播过程

本文详细介绍了神经网络的前向传播和反向传播过程,通过一个包含单层隐藏层的神经网络实例,展示了从输入数据到误差计算的完整流程。在前向传播中,博主给出了TensorFlow的实现代码,并在反向传播部分解释了如何根据梯度下降策略更新权重和偏置,以优化网络参数。总结中提到了梯度消失问题及其解决方法,并提供了相关资源链接。
摘要由CSDN通过智能技术生成
  • 神经网络简介
  • 博客主要内容
  • 神经网络框架
  • 神经网络前向传播实例
  • 神经网络反向传播实例
  • 总结
  • 引用

一.神经网络简介

今天,神经网络(nerual networks)已经是一个相当大的、多学科交叉的学科领域[1]。它不能用简单的用“一个算法”,“一个框架”,来总结它的内容。从早期神经元(neuron),到感知器(Perceptron),再到Bp神经网络,然后到今天的深度学习(deep learning),这是它的大致的一个演变的过程。虽然不同的年代换了不同的说法,不过,大致的思想,比如前向数值传播,反向误差传播等思想是大体一致的。

二.主要内容

本博客主要详细介绍神经网络的前向传播误差的传播过程,通过简单的只有单层隐藏层的神经网络,然后利用详细的数值实例来进行演示。而且,每一个步骤,博主都提供了tensorflow[2]的实现代码。

三.神经网络框架

这里写图片描述

图1-单隐藏层的NN

这里写图片描述

对于一个神经元有

这里写图片描述

tensorflow的代码

def multilayer_perceptron(x , weights , bias):
    layer_1 = tf.add(tf.matmul(x , weights["h1"]) , bias["b1"])
    layer_1 = tf.nn.sigmoid(layer_1)
    out_layer = tf.add(tf.matmul(layer_1 , weights["out"]) , bias["out"])
    layer_2 = tf.nn.sigmoid(out_layer)
    return layer_2

四.神经网络前向传播实例

(1)确定输入数据和GD

X = [[1 , 2] , [3 , 4]]
Y = [[0 , 1] , [0 , 1]]

很明显 batch_size = 2. 其中第一次batch_size
X1 = 1
X2 = 2

(2)初始化权重和偏执

从图1看出 weights数目为8 偏执为4

weights = {
    'h1': tf.Variable([[0.15 , 0.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值