深度学习-神经网络

embedded/2024/12/22 20:14:58/

文章目录

  • 一、基本组成单元:神经元
  • 二、神经网络
  • 三、偏置与权重
  • 四、激活函数
    • 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/embedded/111457.html

相关文章

【学习笔记-opencv yolov8】

将机械手的串口通讯改为以太网通讯,并提供一个更加详细的计划。以下是更新后的为期一个月的学习计划: ### 第一周:基础知识 #### 目标:掌握Python基础与OpenCV入门 - **第1天**: - 学习Python基础语法:变…

使用Pandas读取和写入数据库的Python函数实现

使用Pandas读取和写入数据库的Python函数实现 Pandas是一个强大的数据处理和分析库,广泛应用于数据科学和机器学习领域。结合数据库操作,Pandas可以极大地简化数据的读取和写入过程。本文将详细介绍如何使用Pandas实现读取和写入数据库的函数,涵盖数据库连接、数据读取、数…

Linux技术04-IPVS

IPVS简介 IPVS(IP Virtual Server)是一种基于Linux内核的四层负载均衡技术。它是LVS(LinuxVirtualServer)框架的一部分,基于Netfilter的内核空间的工具,专门用于处理大规模网络服务的负载均衡。相比于Iptab…

React基础

一、组件 React 应用程序是由 组件 组成的。一个组件是 UI(用户界面)的一部分,它拥有自己的逻辑和外观。组成网页单个部分的一组代码,如按钮、导航栏、卡片等,也可以大到整个页面。它是组成网页单个部分的一组代码,如按钮、导航栏…

开源免费的工贸一体行业ERP管理系统

引言 在当今数字化浪潮汹涌澎湃的时代,中小企业面临着前所未有的挑战与机遇。如何实现数字化转型发展,成为了众多中小企业主心头的大事。 据相关数据显示,目前我国中小企业数量已经超过了 4000 万户,然而成功实现数字化转型的比例…

【鸿蒙】HarmonyOS NEXT星河入门到实战6-组件化开发-样式结构重用常见组件

目录 1、Swiper轮播组件 1.1 Swiper基本用法 1.2 Swiper的常见属性 1.3 Swiper的样式自定义 1.3.1 基本语法 1.3.2 案例小米有品 2、样式&结构重用 2.1 Extend:扩展组件(样式、事件) 2.2 Styles:抽取通用属性、事件 2.3 Builder:自定义构建函数(结构、样式、事…

重修设计模式-结构型-装饰器模式

重修设计模式-结构型-装饰器模式 在不修改原有类代码的情况下,通过创建包装类(即装饰器)给对象添加一些额外的功能。 装饰器模式(Decorator Pattern)允许在不修改原有类代码的情况下,通过创建一系列包装类来…

fpga入门名词(1)

这是第一代FPGA ,在 FPGA(现场可编程门阵列)设计中,LCA(逻辑单元阵列)通常由几个关键组件构成,包括 IOB、CLB 和 Interconnect。以下是这些组件的简要说明: 1. IOB(Input/Output B…