机器学习-神经网络

    技术2022-07-12  78

    一、简介 从大脑获得非常“宽松”灵感的模型家族,用于近似依赖于大量输入的函数。 (是一个非常好的模式识别模型)。神经网络是非线性假设的示例,其中模型可以学习对更为复杂的关系进行分类。 对于大量功能,它的扩展性也优于Logistic回归。它是由人工神经元组成的,这些神经元是分层组织的。 我们有3种类型的图层:输入层、隐藏层、输出层。 我们根据神经网络的隐藏层数及其连接方式对神经网络进行分类,例如,上面的网络具有2个隐藏层。 同样,如果神经网络有/没有循环,我们可以将其分类为递归或前馈神经网络。来自2个以上隐藏层的神经网络可以视为深度神经网络。 使用更深层的神经网络的优势在于可以识别出更复杂的模式。

    二、神经网络 在下面,我们有一个2层前馈人工神经网络的示例。 想象一下,神经元之间的连接是训练期间将学习的参数。 在此示例中,层L1将是输入层,层L2 / L3是隐藏层,层L4是输出层:

    脑差异 现在,在开始思考可以创建一个巨大的神经网络并调用强大的AI之前,请记住以下几点(只是一个清单): 人工神经元的发射与大脑完全不同,人脑具有1000亿个神经元和100万亿个连接(突触),并以20瓦的功率运行(足以运行昏暗的灯泡)-相比之下,最大的神经网络在16,000个CPU(约300万个)上具有1000万个神经元和10亿个连接 瓦特)。从5种感官中,大脑仅限于5种类型的输入数据。孩子们不会通过查看100,000张标有“牛”和“非牛”的图片来了解母牛是什么,但这就是机器学习的原理。可能我们无法通过计算与我们的初始概念相关的每个神经元的偏导数来学习。 (顺便说一句,我们不知道我们如何学习)

    真正的神经元: 人工神经元: 单个人工神经元将在w和x之间做一个点积,然后加上一个偏差,结果传递给激活函数,该函数将增加一些非线性。 神经网络将由那些人工神经元形成。非线性将允许分别学习同一类别的对象的不同变化。 与线性分类器相比,这是一种不同的行为,线性分类器试图在一组权重上学习同一类别的所有不同变体。 越多的神经元和越多的层总是更好,但是需要更多的数据来训练。每层都从上一层学习一个概念。 因此,拥有更深的神经网络比拥有广泛的神经网络更好。

    激活功能 在神经元完成输入和权重之间的点积运算后,它还会对该结果施加非线性。 该非线性函数称为激活函数。 过去,激活功能的流行选择是S型和tanh。 最近发现,由于称为消失梯度的问题,ReLU层对深度神经网络具有更好的响应。 因此,您可以考虑仅使用ReLU神经元。 为什么比逻辑回归更好 将神经网络视为逻辑回归的级联链,其中每一层的输入就是前一层的输出。 对此进行思考的另一种方式是,每一层都通过上一层的输出来学习一个概念。 这很好,因为该层不需要立即学习整个概念,而是实际上构建了可构建该知识的一系列功能。

    深度神经网络的影响 如前所述,在识别性能方面,拥有更深,更大的神经网络总是更好,但更复杂的模型也会出现一些问题。 1、更深入,更复杂的神经网络,需要更多的数据进行训练(参数数量的10倍) 2、过度拟合可能会成为问题,正则化也会出现问题(Dropout,L2正则化) 3、预测时间会增加。

    神经网络作为计算图 为了计算反向传播,如果开始将假设表示为计算图会更容易:

    Processed: 0.027, SQL: 9