【深度学习基础|知识概述】神经网络基础知识:神经网络都包括哪些层?如何进行前向传播?附代码。

【深度学习基础|知识概述】神经网络基础知识:神经网络都包括哪些层?如何进行前向传播?附代码。

【深度学习基础|知识概述】神经网络基础知识:神经网络都包括哪些层?如何进行前向传播?附代码。



欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可关注VX “学术会议小灵通”或参考学术信息专栏:https://blog.youkuaiyun.com/2401_89898861/article/details/145551342


前言

在深度学习中,神经网络是模拟人类大脑神经元之间相互连接的数学模型,它由多个神经元(或称为节点)构成,并通过层次结构组成。每个神经元接收输入,经过处理后输出到下一层神经元。神经网络的训练通过不断调整权重来最小化损失函数,进而优化模型。深度学习中的神经网络可以应用于分类、回归、图像处理、自然语言处理等多种任务。

本文将详细介绍神经网络的基础,包括网络层的组成、前向传播过程,并附带代码和公式。

1. 神经网络的层次结构

神经网络由多个层(Layer)构成,每一层包含多个神经元。神经网络的层通常分为以下几类:

1.1 输入层(Input Layer)

输入层是神经网络的第一层,负责接收外部输入数据。每个神经元对应一个特征,输入数据会直接传递给下一层的神经元。在深度学习中,输入数据常常是图像、文本或表格数据。

  • 示例:如果输入是一张图像(例如28x28像素的灰度图像),输入层就有28x28=784个神经元,每个神经元对应一个像素值。

1.2 隐藏层(Hidden Layer)

隐藏层是神经网络中的中间层,它接受输入层的输出并传递给下一层。隐藏层通过加权求和和激活函数处理信息,学习数据的特征。深度神经网络通常有多个隐藏层,因此“深度”这个术语指的就是网络中包含的隐藏层的数量。

  • 示例:如果网络有两层隐藏层,每层包含 64 个神经元,则该层结构为 64 → 64。

1.3 输出层(Output Layer)

输出层是神经网络的最后一层,负责输出模型的最终预测结果。对于回归问题,输出层通常是一个神经元,输出一个连续值;对于分类问题,输出层的神经元个数通常等于类别数。

  • 示例:对于二分类问题,输出层有 1 个神经元,输出一个概率值;对于多分类问题,输出层有多个神经元,输出每个类别的概率。

1.4 全连接层(Fully Connected Layer)

在全连接层中,每个神经元都与上一层的每个神经元相连接,形成全连接的结构。全连接层通常用于将低维度的特征映射到高维度空间,从而进行更加复杂的特征学习。

1.5 卷积层(Convolutional Layer)

在卷积神经网络(CNN)中,卷积层用于提取局部特征。卷积层通过卷积操作将局部感受野中的信息进行加权求和,从而捕捉图像中的边缘、纹理等低级特征。

1.6 池化层(Pooling Layer)

池化层用于减少卷积操作后的特征图的空间尺寸,从而减少计算量,防止过拟合。常见的池化方法有最大池化和平均池化。

2. 前向传播(Forward Propagation)

前向传播是神经网络中的一个过程,它描述了输入数据从输入层通过隐藏层传递到输出层的过程。在前向传播过程中,每一层的输出会作为下一层的输入,最终得到网络的输出结果。

2.1 前向传播的步骤

  • 输入层到第一隐藏层:每个输入节点与权重相乘并加上偏置,再通过激活函数得到第一层的输出。
  • 第一隐藏层到第二隐藏层:第一层的输出作为输入传递到下一层,重复以上步骤。
  • 最后隐藏层到输出层:最终得到神经网络的输出结果。

2.2 前向传播的公式

对于一个简单的神经网络(只有一个隐藏层),前向传播过程的公式如下:

  • 输入层到隐藏层:

在这里插入图片描述其中 W [ 1 ] W^{[1]} W[1] 是输入层到隐藏层的权重, b [ 1 ] 是偏置, b^{[1]} 是偏置, b[1]是偏置,x$ 是输入数据, a [ 1 ] a^{[1]} a[1]是隐藏层的输出。

  • 隐藏层到输出层:

在这里插入图片描述
最后, a [ 2 ] a^{[2]} a[2] 就是神经网络的输出。

2.3 前向传播的代码实现

以下是一个简单的 Python 代码实现,演示了一个两层的神经网络的前向传播过程:

import numpy as np

# 激活函数(Sigmoid)
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

# 输入数据 x (假设输入有 3 个特征)
x = np.array([0.5, 0.6, 0.7])

# 第一层权重和偏置
W1 = np.array([[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]])
b1 = np.array([0.1, 0.1])

# 第二层权重和偏置
W2 = np.array([[0.1, 0.2], [0.3, 0.4]])
b2 = np.array([0.1, 0.1])

# 前向传播
z1 = np.dot(W1, x) + b1
a1 = sigmoid(z1)

z2 = np.dot(W2, a1) + b2
a2 = sigmoid(z2)

print("隐藏层输出:", a1)
print("输出层输出:", a2)

3. 总结

在深度学习中,神经网络是由多个神经元和层组成的模型每个神经元通过输入、加权求和、激活函数输出信号。神经网络的结构包括输入层、隐藏层和输出层,不同层之间通过权重和偏置进行连接。前向传播是神经网络的核心过程,描述了输入如何经过每一层的计算得到最终输出。理解这些基础知识对于理解神经网络的工作原理和训练过程至关重要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力毕业的小土博^_^

您的鼓励是我创作的动力!谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值