什么是神经网络?一文看懂
神经网络是模仿生物神经系统构建的计算模型,基于层层连接的神经元处理信息,能从数据中学习复杂模式,是人工智能领域的核心技术之一。

神经网络
什么是神经网络?
神经网络,全称为人工神经网络(Artificial Neural Network, ANN),是一种模仿生物神经网络(特别是大脑)的结构和功能构建的数学模型或计算模型 。核心思想是基于模拟生物神经元之间的连接和信息传递方式,实现对复杂函数进行估计或近似 。神经网络由大量相互连接的人工神经元组成,神经元分层排列,并基于加权的连接来传输和处理数据 。简单来说,我们把神经网络看作一个由许多小型计算单元(神经元)组成的复杂网络,计算单元协同工作,共同完成特定的任务,比如识别图像、理解语言或者预测趋势。
神经网络是机器学习的一个分支,也是深度学习模型的核心组成部分 。从训练数据中学习模式和关系,不断调整和改进,运用所学知识做出预测或决策 。
神经网络的设计灵感来源于生物大脑中神经元的网络结构,模拟大脑神经元之间的连接和信息传递过程实现智能 。神经网络基于分析大量示例数据来学习如何执行任务,学习过程类似于人类通过经验积累知识。例如,给神经网络展示成千上万张猫的图片,学习识别猫的特征,在从未见过的图片中识别出猫 。这种学习能力使得神经网络在图像识别、语音识别、自然语言处理等领域取得巨大成功,成为推动人工智能发展的重要技术之一。
为什么神经网络如此重要?
神经网络之所以重要,是因为神经网络具有强大的学习和泛化能力。基于从大量数据中学习,能自动提取有用的特征,发现数据中隐藏的复杂模式,无需人工编写特定的规则 。使神经网络在处理图像、语音、文本等非结构化数据时表现出色。例如,在图像识别任务中,神经网络能学习到从边缘、纹理到物体部件的层次化特征,实现高精度的识别 。神经网络具有高度的并行处理能力。结构中的大量神经元能同时进行计算,能高效处理大规模数据集,在现代并行计算硬件(如GPU)上获得显著的加速。
神经网络是现代人工智能,特别是深度学习的核心。深度学习模型,如卷积神经网络(CNN)和循环神经网络(RNN),本质上都是具有特定结构的深层神经网络,在计算机视觉、自然语言处理、语音识别等领域取得了突破性进展 。例如,大型语言模型(如ChatGPT)和AI图像生成器(如DALL-E)都严重依赖于神经网络技术 。神经网络的另一个重要特点是适应性。基于调整网络结构、激活函数、损失函数等超参数,及采用不同的训练策略,神经网络能应用在各种不同的任务,包括分类、回归、聚类、生成等。这种灵活性使神经网络成为解决各种现实世界问题的通用框架。
神经元
生物神经元与人工神经元
要理解人工神经网络,需要了解灵感来源——生物神经元。生物神经元是构成动物大脑和神经系统的基本单元,基于复杂的连接网络来处理和传递信息 。一个典型的生物神经元主要由细胞体、树突和轴突三部分组成 。树突是细胞体向外延伸的众多分支状结构,负责接收来自其他神经元或外部环境的电信号 。细胞体是神经元的核心,负责对接收到的信号进行整合处理。当细胞体接收到的信号强度累积超过某个阈值时,神经元就会被激活,产生一个电脉冲(动作电位) 。电脉冲基于轴突——一条从细胞体延伸出来的较长纤维传递出去 。轴突的末端有许多轴突末梢,与其他神经元的树突形成连接点,称为突触 。神经递质基于突触从一个神经元的轴突末梢释放,传递给下一个神经元的树突,实现神经元之间的信息传递 。
人工神经元,也称为节点或单元,是对生物神经元的简化和模拟 。具有接收输入、处理信息并产生输出的功能。人工神经元的输入(类似于生物神经元的树突)能是一个或多个数值,每个输入都带有一个权重(weight),表示输入的重要性或强度 。神经元内部对所有加权输入进行求和,加上一个偏置项(bias) 。加权和随后被送入一个激活函数(activation function)进行处理 。激活函数的作用类似于生物神经元的阈值机制,决定神经元是否被激活及激活的程度,将处理后的结果作为神经元的输出(类似于生物神经元的轴突)传递给下一层或其他神经元 。
神经网络的层级结构
神经网络能处理复杂的任务,关键在于精心设计的层级结构,让网络能从原始输入数据中逐步提取有用的特征,输出有意义的结果。典型的神经网络包含三种类型的层级:输入层、隐藏层和输出层 。每一层都由若干并行的神经元(或称为节点)组成,神经元是网络进行计算和信息处理的基本单元。层与层之间基于带有权重的连接相互关联,权重决定信号在层间传递时的强度和影响。信息在网络中是单向流动的,从输入层开始,逐层向前传递,经过一个或多个隐藏层的处理,最终到达输出层,得到网络的预测或分类结果。
输入层
输入层是神经网络的起点,也是唯一直接与外部数据交互的层级。主要接收原始输入数据,用一种网络能理解和处理的形式传递给后续的隐藏层。输入层中的每个神经元对应输入数据中的一个特征。
例如,在处理图像数据时,如果图像是28×28像素的灰度图,输入层就可能包含784个神经元,每个神经元代表一个像素的灰度值 。如果图像是彩色的,且采用RGB模式,每个像素点将由红、绿、蓝三个通道的数值表示,输入层的神经元数量将是图像宽度、高度和通道数的乘积(例如,28x28x3)。
对于表格数据,每一列通常代表一个特征,输入层的神经元数量就等于表格的列数(即特征数量)。重要的是,输入层本身并不执行任何计算或转换操作,只将接收到的原始数据原封不动地传递给下一层 。
输入层的设计直接取决于输入数据的维度和类型,确保数据准确无误地进入网络是后续所有计算和分析的基础。
隐藏层
隐藏层是神经网络中位于输入层和输出层之间的一个或多个中间层级,是神经网络进行复杂计算和特征学习的核心所在 。之所以称为“隐藏层”,是因为层级的输出并不直接暴露给外界,而是作为网络内部状态的一部分,用在逐步抽象和提取输入数据中的高层次特征 。一个神经网络可以没有隐藏层(如单层感知器),也能有一个或多个隐藏层。隐藏层的数量和每个隐藏层中神经元的数量(即网络的宽度和深度)是神经网络的关键超参数,它们直接决定网络的复杂度和学习能力 。
输出层
输出层是神经网络的最后一层,主要功能是将经过前面所有隐藏层处理和转换后的信息汇总,生成最终的输出结果,结果就是神经网络对输入数据的预测或分类 。输出层中神经元的数量及所采用的激活函数类型,都取决于具体要解决的问题类型。例如,在二分类问题中(如判断一封邮件是否为垃圾邮件),输出层只包含一个神经元,并用Sigmoid作为激活函数,神经元的输出值能解释为属于某一类别的概率 。对于多分类问题(如手写数字识别,共有10个类别),输出层包含与类别数量相同的神经元(例如10个神经元),用Softmax激活函数,Softmax函数能将每个神经元的输出转换为对应类别的概率,且确保所有类别概率之和为1 。
对于回归问题(如预测房价),输出层只有一个神经元,且一般不使用激活函数,或者用线性激活函数,直接输出一个连续的数值作为预测结果 。在某些复杂的回归任务中,例如需要同时预测一个物体的边界框(bounding box)的坐标和大小,输出层包含多个神经元(例如4个,分别对应边界框的高度、宽度、x坐标和y坐标),每个神经元都输出一个连续的数值 。输出层的设计直接关系到网络能否给出符合问题需求的、有意义的预测。在选择输出层的结构和激活函数时,必须充分考虑任务的性质和目标。