深度学习-神经网络

ops/2024/12/23 5:10:16/

文章目录

  • 一、基本组成单元:神经元
  • 二、神经网络
  • 三、偏置与权重
  • 四、激活函数
    • 1.激活函数的作用
    • 2.常见的激活函数
      • 1).Sigmoid
      • 2).Tanh函数
      • 3).ReLU函数
  • 五、优点与缺点
  • 六、总结

神经网络(Neural Network, NN)是一种模拟人类大脑工作方式的计算模型,它是深度学习和机器学习领域的基础。神经网络的构造是一个复杂但系统的过程,涉及多个关键组件和步骤。

一、基本组成单元:神经元

神经网络的基本组成单元是神经元,它模拟了生物神经元的结构和功能。每个神经元接收来自其他神经元的输入信号,通过加权求和、加上偏置项,并应用激活函数,最终产生输出信号。
在这里插入图片描述

二、神经网络

神经网络由多个层组成,包括输入层、隐藏层和输出层。

  • 输入层:接收原始数据作为输入,不进行任何计算,只是将数据传递给隐藏层。
  • 隐藏层:位于输入层和输出层之间,可以有一层或多层。隐藏层的神经元对输入数据进行加权求和、加上偏置项,并通过激活函数产生输出,这些输出将作为下一层的输入。隐藏层是神经网络进行复杂计算和信息处理的关键部分。
  • 输出层:神经网络的最后一层,负责产生最终的输出结果。输出层的神经元数量通常与任务的具体需求相关,例如,在分类任务中,输出层的神经元数量可能与类别数相同。
    在这里插入图片描述

三、偏置与权重

  • 偏置:加到加权和上的一个常数,可以看作是每个神经元的一个额外输入。偏置允许神经元即使在所有输入都为零时也有非零的输出。
  • 权重:连接不同神经元的参数,代表一个神经元输出对另一个神经元输出的影响力。在训练过程中,神经网络通过调整权重来学习数据中的模式。
  • 权重和偏置的初始化
    在训练神经网络之前,通常需要初始化权重和偏置。初始化的方法有很多种,比如将权重和偏置都初始化为0、小的随机数、或者根据某种特定的分布(如正态分布或均匀分布)来初始化。不同的初始化方法可能会对网络的训练过程和最终性能产生不同的影响。
    在这里插入图片描述

四、激活函数

激活函数是神经网络中的非线性元素,它使得神经网络能够解决非线性问题。

1.激活函数的作用

  • 引入非线性:激活函数为神经网络引入了非线性因素,使得网络能够拟合各种复杂的函数或映射,从而解决线性模型表达能力不足的问题。
  • 归一化:激活函数通常会将神经元的输出限制在一个特定的范围内,如Sigmoid函数的输出范围在(0,
    1)之间,这有助于限制数据的扩张,防止数据过大导致的溢出风险。
  • 增强特征:激活函数能够增强输入的有效特征,去除或降低噪音特征,从而提高模型的泛化能力。

2.常见的激活函数

1).Sigmoid

在这里插入图片描述
公式:
s i g ( t ) = 1 1 + e − t sig(t)= \frac{1}{1+e^{-t}} sig(t)=1+et1

特点:Sigmoid函数将输入值映射到(0, 1)之间,输出值可以解释为概率或激活程度。它适合用于二分类问题的输出层。然而,Sigmoid函数存在梯度消失和计算量大的问题,且在深层网络中容易导致梯度消失,影响训练效果。

2).Tanh函数

在这里插入图片描述

公式:
t a n h : a = e z − e − z e z + e − z tanh : a= \frac{e^z-e^{-z}}{e^z+e^{-z}} tanh:a=ez+ezezez

特点:Tanh函数将输入值映射到(-1, 1)之间,且输出以0为中心,这有助于加速收敛。与Sigmoid函数相比,Tanh函数在收敛速度和梯度传播方面表现更好。但是,它同样存在梯度消失和计算量大的问题。

3).ReLU函数

在这里插入图片描述

公式:
f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
特点:ReLU函数在正输入时保持输入不变,负输入时输出为0。这种特性使得ReLU函数在计算速度上远快于Sigmoid和Tanh函数,且能够有效缓解梯度消失问题。

五、优点与缺点

  • 优点:
    • 自动特征提取:无需人工设计特征,能够自动从数据中提取关键特征。
    • 强大的数据拟合能力:能够捕捉数据中的非线性关系,提高模型预测的准确性
    • 广泛的应用场景:适用于图像识别、语音识别、自然语言处理等多个领域。
  • 缺点:
    • 依赖大量训练数据:模型性能受数据量影响,数据量不足可能导致过拟合或欠拟合。
    • 计算资源要求高:训练大规模神经网络需要高性能计算资源。
    • 可解释性差:神经网络的决策过程难以解释,缺乏透明度。

六、总结

本文主要介绍了神经网络部分组成,例如基本单元、网络层、偏置、权重与激活函数等组成部分。其中简述了网络层的三部分,即输入层、输出层与隐藏层,然后讲到了神经网络中的可训练参数,即偏置与权重,它们共同决定了网络的行为和性能。其次我们介绍了神经网络常用的几种激活函数,通过图像与公式为大家展示了几种激活函数的异同。最后我们为大家讲述了神经网络的优缺点,以便让大家合理的运用神经网络


http://www.ppmy.cn/ops/110388.html

相关文章

Vue: 创建vue项目

目录 一.创建项目 二.项目添加 三.添加成功 一.创建项目 打开本机终端输入npm create vuelatest 二.项目添加 1. 项目名称: Project name: one_vue 2.是否添加TypeScript支持:Add TypeScript? Yes 3.是否添加JSX支持:Add JSX Suppor…

Spring 定时任务与 XXL-JOB 灵活切换方案

在使用XXL—JOB的实现定时任务过程中,有时候可能由于部署环境的要求,就只能用Spring自带的实现方式。 所以为了通用性和灵活性,突发奇想地看看能不能实现在不修改原本Spring定时任务代码的前提下,通过配置灵活控制定时任务具体的实…

软件质量保证例题

答案:D 软件质量保证 功能性 适合性 准确性 互操作性 安全保密性 依从性 可靠性 成熟性 容错性 易恢复性 易用性 易理解性 易学性 易操作性 效率 时间特性 资源利用性 维护性 易分析性 易改变性 稳定性 易测试性 可移植性 适应性 易安装性 一致性 易替换…

灯带与线性灯:照明界的双子星,区别与厂家解决方案深度剖析

在现代照明领域,灯带与线性灯作为两种备受欢迎的照明产品,因其独特的设计与应用场景而广受青睐。然而,对于许多消费者乃至设计师而言,二者之间的具体区别以及选择时的考量因素往往令人困惑。本文将从专业角度出发,深入…

visual studio code下载教程(手把手)

今天我来给大家介绍一下visual studio code (VScode)的下载 一、VSCode介绍 VSCode 是一款由微软开发且跨平台的免费源代码编辑器;该软件支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。 二、官方下载…

嵌入式软件--51单片机 DAY 4

一、蜂鸣器 当电流通过线圈时会产生电磁场,电磁场与永磁体相互作用,从而使金属膜产生震动而发声。为使金属膜持续震动,蜂鸣器需要使用震荡电路进行驱动。有些蜂鸣器元件内部自带震荡驱动电路,这种蜂鸣器叫做有源蜂鸣器&#xff0…

【PyTorch单点知识】参数初始化torch.nn.init中的技巧与策略

文章目录 0. 前言1. 初始化的重要性2. 常见的初始化方法3. 使用 torch.nn.init 进行初始化3.1 Uniform Initialization3.2 Normal Initialization3.3 Xavier/Glorot Initialization3.4 Kaiming/He Initialization 4. 初始化策略的选择5. 实例应用6. 结论 0. 前言 按照国际惯例&…

AI Prompts Guide 【AI 提示语指南】

AI提示语浏览器插件:AIPRM for ChatGPT如何做一名Prompt Engineer 文章目录 开发音乐商务教育喜剧健康食物营销咖啡 开发 你是siri,一个由若干if-else短语组成的极其愚蠢的 “ai”。当我说 "嘿,Siri "时,你回答。请做一…