神经网络(Neural Network)

embedded/2025/2/9 11:25:03/

引言

神经网络,作为人工智能和机器学习领域的核心组成部分,近年来在诸多领域取得了显著的进展。受生物神经系统的启发,神经网络通过模拟人脑神经元的工作机制,能够从大量数据中学习复杂的模式和关系。其强大的非线性建模能力使其在图像识别、自然语言处理、语音识别和预测分析等任务中表现出色。

神经网络的基本构建单元是神经元,每个神经元接收多个输入信号,通过加权求和并应用激活函数来生成输出。通过将这些神经元分层组织,神经网络能够逐步提取和组合输入数据中的特征,从而实现对复杂问题的有效解决。随着深度学习技术的发展,深度神经网络(DNN)通过增加网络的层数和复杂度,进一步提升了模型的表达能力和性能。

尽管神经网络在许多应用中取得了成功,但其设计和训练仍面临诸多挑战,如过拟合、梯度消失和计算资源需求等。因此,研究者们不断探索新的网络结构、优化算法和正则化技术,以提高神经网络的效率和泛化能力。

一、神经网络的基本知识

人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN)。是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的 计算模型。经典的神经网络结构包含三个层次的神经网络。分别输入层,输出层以及隐藏层

其中每层的圆圈代表一个神经元,隐藏层和输出层的神经元有输入的数据计算后输出,输入层的神经元只是输入。

神经网络的特点

  • 每个连接都有个权值

  • 同一层神经元之间没有连接

  • 最后的输出结果对应的层也称之为全连接层FC

那么为什么设计这样的结构呢?首先从一个最基础的结构说起,神经元。以前也称之为感知机。神经元就是要模拟人的神经元结构。

1943 年,McCulloch 和 Pitts 将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的 M-P 神经元模型。把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。一个简单的神经元如下图所示:

  1. 输入分量:a1,a2,⋯ ,an 表示神经网络的各个输入分量。

  2. 权重参数:w1,w2,⋯ ,wn表示与每个输入分量对应的权重参数。

  3. 偏置:b′ 表示神经元的偏置。

  4. 激活函数:f表示激活函数,常见的激活函数包括 tanh、sigmoid 和 relu。

  5. 神经元输出:t表示神经元的输出。

使用数学公式表示神经元的输出为:

可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果。

二、感知机( PLA: Perceptron Learning Algorithm )

感知机就是模拟这样的大脑神经网络处理数据的过程。感知机模型如下图:

感知机是一种最基础的分类模型,类似于逻辑回归。感知机最基础是这样的函数,而逻辑回归用的sigmoid。这个感知机具有连接的权重和偏置  

感知机的激活函数是符号函数:sign(z) = +1 (if z >=0) else -1。

感知机的作用:

把一个n维向量空间用一个超平面分割成两部分,给定一个输入向量,超平面可以判断出这个向量位于超平面的哪一边,得到输入时正类或者是反类,对应到2维空间就是一条直线把一个平面分为两个部分。

  • 单层神经网络 是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目。示意图如下:

 三、多层神经网络

多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了层的概念,常见的多层神经网络有如下结构:

  • 输入层(Input layer),众多神经元(Neuron)接受大量输入消息。输入的消息称为输入向量。

  • 输出层(Output layer),消息在神经元链接中传输、分析、权衡,形成输出结果。输出的消息称为输出向量。

  • 隐藏层(Hidden layer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐层可以有一层或多层。隐层的节点(神经元)数目不定,但数目越多神经网络的非线性越显著,从而神经网络的强健性(robustness)更显著。 示意图如下:

输入层的节点数:与特征的维度匹配

输出层的节点数:与目标的维度匹配。

中间层的节点


http://www.ppmy.cn/embedded/160796.html

相关文章

【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第一部分:引言与模型架构

论文原文链接:DeepSeek-V3/DeepSeek_V3.pdf at main deepseek-ai/DeepSeek-V3 GitHub 特别声明,本文不做任何商业用途,仅作为个人学习相关论文的翻译记录。本文对原文内容直译,一切以论文原文内容为准,对原文作者表示…

RabbitMQ 从入门到精通:从工作模式到集群部署实战(四)

#作者:闫乾苓 系列前几篇: 《RabbitMQ 从入门到精通:从工作模式到集群部署实战(一)》:link 《RabbitMQ 从入门到精通:从工作模式到集群部署实战(二)》: lin…

38、【OS】【Nuttx】OSTest分析(3):参数传递

背景 接之前 blog 36、【OS】【Nuttx】OSTest分析(2):环境变量测试 37、【OS】【Nuttx】OSTest分析(2):任务创建 分析完环境变量测试,和任务创建的一些关键要素,OSTest 进入下一阶段…

【数据结构】(7) 栈和队列

一、栈 Stack 1、什么是栈 栈是一种特殊的线性表,它只能在固定的一端(栈顶)进行出栈、压栈操作,具有后进先出的特点。 2、栈概念的例题 答案为 C,以C为例进行讲解: 第一个出栈的是3,那么 1、…

python实现物体轮廓提取及标注【含源码方案及演示】

python实现物体轮廓提取及标注 效果源码方法 效果 源码 图中的实现源码放在了这里,下载后可直接运行:https://download.csdn.net/download/qq_43474959/90355704 资源内附带示例图和调好的代码,下载后可以直接进行运行调试 方法 本方法使用…

python Excel 表读取合并单元格以及清除空格符

读取合并单元格并保留合并信息 读取合并单元格并保留合并信息清除各单元格的空格和换行符,并去除列名中的空格和换行符 读取合并单元格并保留合并信息 当我们只是使用 pandas 的 read_excel 方法读取 Excel 文件时,我们可能会遇到一个很棘手的问题&…

java-list源码分析

List底层: List 是 Java 中的一个接口,具体的底层实现取决于它的实现类。最常见的 List 实现类是 ArrayList 和 LinkedList,它们的底层原理完全不同。下面我们分别分析这两种实现类的底层原理。 ArryList原理: ArrayList 是基于…

基于DeepSeek的具身智能高校实训解决方案——从DeepSeek+机器人到通用具身智能

一、 行业背景 具身智能作为人工智能领域的新兴方向,为机器人与环境交互赋予了全新的内涵和能力,它不再局限于传统的编程式指令执行,而是朝着像人类一样理解和适应环境的方向发展。 在具身智能的发展历程中,DeepSeek的出现成为了…