最常见的前馈神经网络有哪些?他们收到什么样的输入?例如,他们是否接收二进制数、实数、向量或矩阵?有这样的分类法吗?
最常见的前馈神经网络有哪些?
什么是神经网络?
许多神经网络可以定义为一个函数, 在哪里.
等效地,许多神经网络也可以定义为一组相互连接的单元(也称为神经元或节点)接收一些输入并产生输出,即, 在哪里. 实际功能是可变的,取决于您要解决的应用程序或问题。例如,可以只是输入的线性组合,即, 在哪里是权重向量(又名参数或系数)。线性组合也可以跟随非线性函数,例如 sigmoid 函数。
如果神经网络(更准确地说,它的单元)不包含循环(也称为循环)连接,那么它可以称为前馈神经网络(FFNN)。
最常见的前馈神经网络有哪些?
感知器
最简单的(非二进制)FFNN 是感知器,其中输入直接连接到输出。感知器执行输入的线性组合,然后进行阈值操作,因此感知器只能表示直线函数,因此它们只能用于数据线性可分的分类或回归问题。事实上,感知器无法解决 XOR 问题。
在感知器出现之前,McCulloch 和 Pitts引入了生物神经元的简化模型,其中所有信号都是二进制的,以试图密切模仿它们的生物对应物。感知器实际上可以看作是这项工作的延伸。事实上,一个感知器可以被看作是一个单一的人工神经元。
多层感知器
在输入和输出之间具有更多层(单元)的 FFNN 通常称为多层感知器(MLP)。中间的层通常表示为隐藏层。MLP不仅可以表示线性函数(即直线),还可以利用非线性函数来表示更复杂的函数,例如sigmoid。
卷积神经网络
您可以使用其他形式的 FFNN 来执行其他操作。
例如,如果卷积神经网络(CNN) 不包含循环连接,则它是执行卷积操作(通常也是子采样操作)的 FFNN。因此,它们特别适合处理图像(和视频)。(如果您熟悉图像处理和计算机视觉的基础知识,这应该不足为奇,我认为情况并非如此)
但是,请注意 CNN 也可以有循环连接,但通常情况并非如此。
残差神经网络
还有残差神经网络,即某一层的一个节点的神经网络。可以连接到层中的其他节点, 为了,而不是仅连接到层中的节点, 这是典型的情况。
自动编码器
自动编码器是压缩输入然后解压缩的神经网络。这个问题的答案可能会帮助您理解为什么 AE 会有用。
他们收到什么样的输入?
他们收到什么样的输入?例如,他们是否接收二进制数、实数、向量或矩阵?
原则上,这些 FFNN 中的每一个都可以接收二进制或实数或向量(实数或二进制数)。但是,某些 NN 更适合处理某些输入。例如,CNN 更适合图像(通常表示为矩阵或张量)。
您如何进一步对 NN 进行分类?
根据Raul Rojas所著的 Neural Networks - A Systematic Introduction (1996) 一书的第 2 章,您还可以将神经网络分为其他类别
- 未加权(即二进制,例如 McCulloch 和 Pitts 的模型)与加权(例如感知器)
- 同步 vs 异步(例如 Hopfield 网络,虽然它是循环神经网络)
- 存储状态的神经网络与不存储状态的神经网络
您还可以根据学习算法区分 FFNN。如今,广泛使用的 NN 是通过梯度下降(和反向传播来计算梯度)进行训练的,但还有其他方法可以训练 NN,例如进化算法或 Hebbian 学习。此外,您还可以区分计算确定性函数的神经网络和内部具有一些随机性或随机性的神经网络(例如贝叶斯神经网络)。可能还有更多可能的细分。