输入层 中间层 (隐藏层)输出层
神经网络就结构而言和感知器没有太大的区别
激活函数
激活函数个人理解:这个神经网络会被激活以及激活之后信号传输的形式。
引入非线性:激活函数使神经网络能够学习非线性函数。如果没有激活函数,多层神经网络就只是一系列线性变换的叠加,无法学习和表示复杂的非线性关系。
控制神经元的激活状态:激活函数根据输入的加权和来决定神经元是否激活以及激活的程度。这种激活状态影响着神经网络中信号的传播。
非线性映射:激活函数将输入映射到不同的输出空间,从而使得神经网络能够处理各种复杂的输入数据,并在输出端产生适当的响应。
阶跃函数和 Sigmoid 函数都是常见的激活函数,它们在神经网络中起着不同的作用。下面我来简要介绍一下这两个函数:阶跃函数(Step Function)
阶跃函数是最简单的激活函数之一,其数学表达式如下:
step(𝑥)={0if 𝑥<01if 𝑥≥0step(x)={01if x<0if x≥0
阶跃函数的输出是一个阶梯状的函数,当输入大于等于0时,输出为1;当输入小于0时,输出为0。阶跃函数具有不连续性,因为在输入值从负数变为正数时,输出会突然从0变为1,这种性质使得它在神经网络中的应用受到限制。
Sigmoid 函数
Sigmoid 函数是另一种常见的激活函数,其数学表达式如下:
𝜎(𝑥)=11+𝑒−𝑥σ(x)=1+e−x1
Sigmoid 函数将输入值映射到一个范围在 0 到 1 之间的连续输出。它具有平滑的 S 形曲线,且在任何输入值处都有定义。Sigmoid 函数的输出在输入为负无穷时趋近于0,在输入为正无穷时趋近于1,而在输入为0时输出为0.5。Sigmoid 函数的连续性和可微性使得它在神经网络中的应用更为广泛。
ReLU(Rectified Linear Unit)函数是一种常用的非线性激活函数,在深度学习中得到了广泛的应用。它的数学表达式如下:
ReLU(𝑥)=max(0,𝑥)ReLU(x)=max(0,x)
简单来说,ReLU 函数的作用是将输入 𝑥x 转换为输出 𝑦y,如果输入 𝑥x 大于等于0,则输出与输入相同;如果输入 𝑥x 小于0,则输出为0。
ReLU 函数的优点包括:
非线性特性:ReLU 函数引入了非线性特性,使神经网络能够学习和表示复杂的非线性关系。
稀疏激活性:ReLU 函数在输入为负时输出为0,这意味着它可以引入稀疏性,即在网络的某些神经元上引入不活跃的特性,从而提高模型的泛化能力。
计算高效:ReLU 函数的计算简单高效,不涉及复杂的数学运算,使得神经网络的训练速度更快。
softmax函数
输入向量:Softmax 函数接收一个包含 𝐾K 个元素的实数向量 𝑧=(𝑧1,𝑧2,...,𝑧𝐾)z=(z1,z2,...,zK),这个向量通常是神经网络的输出层在进行分类任务时的原始输出。
指数转换:对输入向量中的每个元素 𝑧𝑖zi 进行指数转换,得到一个新的向量 𝑒=(𝑒𝑧1,𝑒𝑧2,...,𝑒𝑧𝐾)e=(ez1,ez2,...,ezK),其中 𝑒e 是自然对数的底。
归一化:对指数转换后的向量进行归一化,即计算每个元素的指数值与所有元素指数值之和的比例,得到一个新的向量 𝑝=(𝑝1,𝑝2,...,𝑝𝐾)p=(p1,p2,...,pK),其中
𝑝𝑖=𝑒𝑧𝑖∑𝑗=1𝐾𝑒𝑧𝑗pi=∑j=1Kezjezi
个人理解:softmax,将权重转为一定指数形式,然后和求比重一样,把全部数字相加,然后指数权重除以总的数字,你就得到一个比较小的数字,每个数字相加最终结果就是一,这样才能将他们视作为概率。


