感知机
输入:来自其他 n 个神经元传递过来的输入信号
处理:输入信号通过带权重的连接进行传递, 神经元接受到总输入值将与神经元的阈值进行比较
输出:通过激活函数的处理以得到输出
感知机由两层神经元组成, 输入层接受外界输入信号传递给输出层, 输出层是M-P神经元(阈值逻辑单元)
若感知机对训练样例 (x,y) 预测正确,则感知机不发生变化;否则根据错误程度进行权重的调整。
若两类模式线性可分, 则感知机的学习过程一定会收敛;否则感知机的学习过程将会发生震荡,单层感知机的学习能力非常有限, 只能解决线性可分问题。
多层感知机
输出层与输入层之间的一层神经元, 被称之为隐层或隐含层, 隐含层和输出层神经元都是具有激活函数的功能神经元。
感知机-多层前馈神经网络
误差逆传播算法(Error BackPropagation, 简称BP)
参数个数:d个输入神经元连接q个隐层神经元 d*q,q个隐层神经元连接l个输出神经元 q*l,再加 q+ l个阈值,最终结果是(d+l+q)*q+l。
工作流程:
(1)将输入示例提供给输入层神经元,逐层将信号前传,直到产生输出结果
(2)计算输出层与真实值的误差,将误差使用BP算法传播到整个网络,对连接权重及阈值进行调整。
(3) 该迭代过程循环进行,直到达到某些停止条件为止。(例如训练误差达到了很小的值,或者整个数据集运行了20轮)
多层前馈网络表示能力 :只需要一个包含足够多神经元的隐层, 多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数 。
多层前馈网络局限 :神经网络由于强大的表示能力, 经常遭遇过拟合。表现为:训练误差持续降低, 但测试误差却可能上升 。如何设置隐层神经元的个数仍然是个未决问题.。
实际应用中通常使用“试错法”调整 缓解过拟合的策略 。
早停:在训练过程中, 若训练误差降低, 但验证误差升高, 则停止训练 。
正则化:在误差目标函数中增加一项描述网络复杂程度的部分, 例如连接权值与阈值的平方和。
卷积神经网络
卷积:平移不变模式,提取局部特征。
池化:对图像进行缩放。
卷积网络一般框架:卷积层+激活函数+池化层+全连接层。
卷积+激活+池化:出现多次,用于提取特征。
全连接层:最后一次出现,用于分类。
输入层
输入层:输入层是对数据进行预处理的阶段,将输入的数据(图像/文字)转换成网络能够计算的数字。
卷积层
卷积层(Convolutional layer),卷积神经网络中每层卷积层由若干卷积单元(卷积核)组成,每个卷积单元的参数都是通过反向传播算法优化得到的。
卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。
- 卷积核(filter/kernel):用于对输入图像进行共享权值的遍历
- 步长(stride):卷积核在图片上移动的大小
- 填充(padding):满足输出的图像的维度要求
激活层
往模型中加入非线性元素,可以更好地解决复杂的问题。
池化层
池化层的主要的作用是压缩数据和参数的量(保持最显著的特征),通过去掉上一层的输出中不重要的信息,进一步减少参数数量。Pooling的方法很多,常用方法有最大池化与均值池化。
全连接层(Fully Connected Layer,简称FC层)
- 特征整合:全连接层将前一层的所有输出与当前层的每个神经元连接,能够整合前一层的局部或全局特征,生成新的特征表示。【将多层的特征映射成一个一维的向量】
- 非线性变换:通过激活函数(如ReLU、Sigmoid等),全连接层引入非线性,增强模型的表达能力,使其能够拟合更复杂的函数。
- 输出转换:在分类任务中,全连接层通常作为最后的输出层,将高维特征映射到类别空间。【对卷积层获得的不同的特征进行加权,最终目的是得到一个可以对不同类别进行区分的得分】【输出层就是获得对应每个类别的得分】
- 参数学习:全连接层通过大量可训练参数(权重和偏置)学习数据的内在规律,提升模型的性能。
输入:前一层的所有输出。
输出:每个神经元的加权和经过激活函数后的结果。
参数:权重矩阵 WW和偏置向量 b,通过反向传播优化。
卷积网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。卷积神经网络的训练过程与传统神经网络类似,也是参照了反向传播算法。
循环神经网络
循环神经网络是一种对序列数据建模的神经网络。
RNN不同于前向神经网络,它的层内、层与层之间的信息可以双向传递,更高效地存储信息,通常用于处理信息序列的任务。
RNN主要用来处理序列数据,在传统的神经网络模型中,每层内的节点之间无连接,但是循环神经网络中当前神经元的输出与前面的输出也有关,网络会对前面的信息进行记忆并用于当前神经元的计算中。
...
LSTM
这里包含两个部分。首先,sigmoid 层称 “输入门层” 决定将要存放在细胞状态的信息量的大小。然后,一个 tanh 层创建一个新的候选值向量会被加入到状态中。下一步,我们会将这两个信息来产生对状态的更新。
激活函数
Softmax
Softmax 是一种常用的激活函数,主要用于多分类任务中,将神经网络的输出转换为概率分布。
它的核心作用是将一组任意实数转换为概率值,这些概率值的总和为 1,便于表示每个类别的预测概率。
Softmax 的特性:
输出为概率分布:
Softmax 的输出是一个概率分布,每个类别的概率值在 [0,1] 之间,且所有类别的概率之和为 1。
例如,对于 3 个类别,Softmax 的输出可能是[0.2,0.7,0.1]。
放大差异:
Softmax 通过指数运算放大高分值的类别,抑制低分值的类别,使得高分值的类别概率更接近 1,低分值的类别概率更接近 0。
可导性:
Softmax 是连续可导的,便于通过梯度下降法优化模型。
Softmax 的应用场景
多分类任务:
在神经网络的最后一层使用 Softmax,将输出转换为类别概率分布。
例如,图像分类任务中,Softmax 可以将卷积神经网络的特征映射为每个类别的概率。
损失函数结合:
Softmax 通常与交叉熵损失函数(Cross-Entropy Loss)结合使用,用于衡量预测概率分布与真实标签之间的差异。
它通过指数运算和归一化,将原始得分映射为概率值,便于模型训练和预测。
我们希望模型输出y(j)可以视为属于类j的概率,然后选择具有最大输出值的类别argmaxy(j)作为我们的预测。softmax:最大概率的标签,能够将未规范化的预测变换为非负数,并且总和为1,同时能够让模型保持可导。