神经网络基础

引言:

神经网络是一种受到生物神经系统启发的人工智能模型,它重现了大脑中神经元之间相互连接的方式。神经网络在诸多领域中取得了显著成就,如图像识别、自然语言处理和语音识别等。这篇博客将为您解释神经网络的构造,让您能够理解这个令人着迷的领域的基本工作原理。

第一部分:神经元 - 生物的灵感

在理解神经网络之前,我们首先需要了解神经元,这是神经网络的基本构建块。神经元是生物神经系统的工作单位,也是人工神经网络的灵感来源。

1.神经元的结构:每个神经元都由细胞体、树突和轴突组成。细胞体包含核心部分,树突接收来自其他神经元的信号,而轴突将信号传递给其他神经元。

2.信号传递:神经元之间的通信是通过电化学信号完成的。当信号通过树突传递到细胞体时,如果达到一定阈值,神经元就会触发并将信号传递给下一个神经元。

第二部分:人工神经元 - 数学的力量

现在,让我们将生物神经元的概念转化为数学模型,即人工神经元。人工神经元是神经网络的基本构建块,负责对输入进行处理和传递信号。输入可以类比为神经元的树突,而输出可以类比为神经元的轴突,计算则可以类比为细胞核。

输入和权重:人工神经元接收多个输入,每个输入都有一个相关联的权重,这相当于人工神经网络的记忆。这些权重决定了每个输入对神经元的影响程度。

激活函数:在人工神经元中,激活函数决定了神经元是否激活(发送信号)。常见的激活函数包括Sigmoid、ReLU和Tanh。

RELU激活函数

神经网络:是由大量的节点(或称"神经元")和之间相互的联接构成。而由两层神经元组成的神经网络称之为--"感知器"(Perceptron),感知器只能线性划分数据。在输入和权值的线性加权和叠加了一个函数g(激活函数),加权计算公式为:

g(W * x) = z

第三部分:神经网络 - 层层堆叠

现在我们可以将多个人工神经元组合在一起,形成神经网络。神经网络由多个层组成,包括输入层、隐藏层和输出层,也称为多层感知器。

在神经网络中需要默认增加偏置神经元(节点),这些节点是默认存在的。它本质上是一个只含有存储功能,且存储值永远为1的单元。在神经网络的每个层次中,除了输出层以外,都会含有这样一个偏置单元。(如下图)

输入层 隐含层 (每条线对应一个权重) 输出层

输入层:接收原始数据的输入,例如图像像素或文本单词。

隐藏层:这是神经网络的核心部分,包含多个层次的神经元。隐藏层负责从输入中学习特征并生成有用的表示。

输出层:根据学到的特征生成最终的输出,可以是分类标签、数值或其他任务相关的结果。

如何设计:

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

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

中间层的节点数:目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。
注意事项:

1、设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;

2、神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;

3、结构图里的关键不是圆圈(代表"神经元"),而是连接线(代表"神经元"之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

第四部分:训练神经网络 - 损失函数和反向传播算法

神经网络的关键部分之一是训练过程。在训练中,神经网络通过与真实数据进行比较来调整权重,以使其能够做出准确的预测。

  1. 反向传播算法:是训练神经网络的核心算法。它通过计算误差并反向传播,以更新每个神经元的权重和偏差,从而减小预测误差。具体过程如何实现,可以看我的这篇博客:(了解BP神经网络:从原理到应用-CSDN博客)
  2. 损失函数:损失函数用于度量预测和实际值之间的差异。训练的目标是最小化损失函数。具体过程如何实现,可以看我的这篇博客:(交叉熵损失函数)

结论:

神经网络是人工智能领域的关键技术,它们的构造基于神经元的灵感,并结合了数学、统计和机器学习的原理。通过构建和训练神经网络,我们能够解决各种各样的问题,从图像识别到自然语言处理。希望这篇博客能够帮助您更好地理解神经网络的构造和工作原理。

转载自:深入了解神经网络:构建人工智能的基石_智能建造的神经网络-CSDN博客

相关推荐
〖是♂我〗3 分钟前
OpenCV中的识别图片颜色并绘制轮廓
人工智能·opencv·计算机视觉
AI视觉网奇7 分钟前
图像拼接 边缘色差, 轮廓平均值修复
人工智能·opencv·计算机视觉
菜狗woc12 分钟前
opencv-python的简单应用
人工智能·python·opencv
CSBLOG26 分钟前
Day25 - 大模型的三大架构
人工智能·深度学习
weixin_5436628637 分钟前
BERT的中文问答系统55
人工智能·python·bert
m0_676099581 小时前
OpenCV图片添加水印
人工智能·opencv·计算机视觉
IT猿手1 小时前
基于Q-Learning的机器人栅格地图路径规划,可以更改地图大小及起始点,可以自定义障碍物,MATLAB代码
人工智能·深度学习·算法·机器学习·matlab·机器人·智能优化算法
野蛮的大西瓜1 小时前
大模型呼出机器人能够解决哪些问题?
java·人工智能·语言模型·自然语言处理·机器人·信息与通信
和小潘一起学AI2 小时前
自然语言处理:我的学习心得与笔记
人工智能·笔记·自然语言处理