PyTorch🔨
凡是模仿人的神经网络构建出来的数学模型,都叫神经网络,或者人工神经网络。
神经网络可以归为三块:
- BP 神经网络(Backpropagation Neural Network)
神经网络非常多,今天你根据生物神经网络构建一个模型,明天我根据生物神经网络构建一个。1986 年,Romelhart 和 Mcclelland,提出了一个特殊的结构,使用了反向传播(Backpropagation)算法,并命名:BP 神经网络。
BP 神经网络提出后,瞬间崛起后当了主力军。在不特指时,往往说神经网络都是指 BP 神经网络。
- 全连接神经网络(Fully Connected Neural Network)
全连接神经网络,是一种最基础、最经典的神经网络结构。它的特点是:网络中相邻两层的所有神经元之间都有连接。也就是说,前一层的每个神经元都与后一层的每个神经元相连。信息只从输入层流向隐藏层,再流向输出层,没有"跳过"中间层的连接。这种网络是最早被广泛研究和使用的神经网络类型,也是理解深度学习的基础。
由多个全连接层组成的前馈神经网络,也称为多层感知机(Multi-Layer Perceptron, MLP)。
- 深度学习(Deep Learning)
BP 神经网络虽然很好用,但当要处理图象、音频、文字等问题时,却不行了,BP 神经网络的参数会随着输入个数指数增长。例如一个 50 * 50 像素的图象,就有 2500 个输入。假设有 100 个隐节点,则 2500 个输 入在第一层的权重参数就有 2500 * 100 个,参数个数量级太爆炸,导致 BP 在求解时,很难找到优秀解就宕机了。这本来是个没办法的事,但偏偏图象、音频这些问题,它的输入存在很严重的相关性(例如相邻像素的值总是相近的)因此,可以根据这个业务特性,进行输入个数压缩,或者在求解时根据这个业务特性进行特殊讨巧(例如相邻输入对应的权重参数共享)使 BP 神经网络又可以解决这类问题了。问题解决了,BP 还是 BP,挂个名:深度学习!你可以把深度学习看作是 BP 神经网络的一种加强版,解决输入极极极极多的问题。
神经元与神经元之间是以神经冲动的模式进行传值,信号到了神经元,都是以电信号的形式存在,当电信号在神经元积累到超过阈值时,就会触发神经冲动,将电信号传给其它神经元。正是根据这个思路,就构造出了以上的神经网络结构。