MLP
冷知识:从神经元到深度学习
在深度学习中,多层感知机(MLP)是一个基本的神经网络结构,它由一个或多个全连接层组成,每个层包含许多神经元。这种网络结构由于其广泛应用和解决实际问题的能力而备受推崇,但鲜为人知的是,它的发展历程却十分曲折。
MLP的神经元
首先,我们从MLP的神经元开始讲起。神经元是神经网络中最基本的单元,它接收多个输入,计算它们的加权和,并通过一个激活函数进行转换。在传统的MLP中,每个神经元的输出被直接连接到下一层的所有神经元的输入,这个连接称为全连接。
MLP的出现可以追溯到20世纪50年代,当时人们开始使用简单的感知机来进行二元分类任务或线性回归。然而,这些感知机的局限性非常明显:它们只能解决线性可分问题。这导致了人工智能的“冬天”,神经网络得到了一段时间的遗忘。
深度人工神经网络的出现
直到1986年,科学家们开始利用多层感知机来解决非线性问题。这一年,Hinton等人发表了一篇名为“分布式表示和拉普拉斯规范下的自联想学习”(Distributed Representations and Self-Organizing Maps Under Laplacian Constraints)的论文,通过对模式识别任务的研究,发现多层感知机的深度可以提高模型的学习能力。在这篇论文中,他们提到了一个关键概念,即误差反向传播算法,该算法被广泛应用于训练深度神经网络。
误差反向传播算法作为一种有效的训练方法,在深度学习中大放异彩。它以一个初始的随机权重值开始,通过与训练数据集进行反向传播,更新权重。这一过程反复循环,直到误差最小化,得到一个神经网络模型。
深度学习的瓶颈与突破
然而,在神经网络的深度加深的过程中,会出现梯度消失或梯度爆炸的问题。这个问题导致我们无法通过正常的误差反向传播算法来训练深度网络。这也是神经网络发展的催化剂,它促使了一系列突破:
- 使用更好的激活函数。在传统的MLP中,sigmoid函数是最常见的激活函数之一,但在深度学习中,ReLU是一种更有效的激活函数,它解决了梯度消失问题,并大大加速了训练过程。
- 优化算法的的发展。梯度下降算法是深度学习中最常用的优化算法之一,然而它只是一种基本的算法,存在很多改进空间,如:Momentum、NAG、Adagrad、Adadelta、RMSprop和Adam。
- 使用卷积神经网络(CNN)和递归神经网络(RNN)来应对不同类型的数据。CNN主要用于图像处理领域和自然语言处理领域中的文本分类问题,它可以提取图像和文本中的局部特征。RNN主要用于时序预测和语言建模,它可以记忆历史信息并生成序列输出。
结论
代表着深度学习基本的神经网络结构的多层感知机从20世纪50年代的感知机之路开始到1986年的误差反向传播算法,再到近年来的巨大突破,其发展历程曲折,但它代表着深度学习的本质精髓:提高模型的预测能力,同时降低训练的难度。在未来的发展中,相信MLP及其新的变体仍将扮演重要角色,成为人工智能领域的基石之一。