AI数学基础13——深层和浅层神经网络(上)

宠物知识 2024-07-05 09:53:59

AI数学基础13——深层和浅层神经网络

来源于Andrew Ng, 《Why deep representations?》

AI数学基础13——深层和浅层神经网络(上)AI数学基础13——深层和浅层神经网络(上)


AI数学基础13——深层和浅层神经网络(上)


浅层(shallow)神经网络,顾名思义就是层数很少的神经网络,比如隐藏层的层数为1,如下所示:

深层(Deep)神经网络,顾名思义就是层数很多的神经网络,如下所示:

使用深层(Deep)神经网络的机器学习,就是深度学习,按照Andrew Ng的意思,Deep Learning 是一个带有更多市场宣传意味的词,在工程实践中,还是要从层数比较少的神经网络开始,慢慢的加深,直到有效的解决问题。

深层神经网络相对于浅层神经网络的优势有:

1, 提取更加复杂的特征。

在一个神经网络中,位于较浅位置的神经元从输入中提取的是较为简单的一些特征信息,而随着层次的加深,神经元将提取愈加复杂的特征信息,从而使得神经网络能够做出更准确的判断。

2, 避免神经元数量指数增加

神经网络可以按什么分类

1、按照网络拓朴结构分类网络的拓朴结构,即神经元之间的连接方式。按此划分,可将神经网络结构分为两大类:层次型结构和互联型结构。 扩展资料 层次型结构的神经网络将神经元按功能和顺序的不同分为输出层、中间层(隐层)、输出层。输出层各神经元负责接收来自外界的输入信息,并传给中间各隐层神经元;隐层是神经网络的内部信息处理层,负责信息变换。根据需要可设计为一层或多层;后一个隐层将信息传递给输出层神经元经进一步处理后向外界输出信息处理结果。

而互连型网络结构中,任意两个之间都可能存在连接路径,因此可以根据网络中的连接程度将互连型网络细分为三种情况:全互连型、局部互连型和稀疏连接型

2、按照网络信息流向分类

从神经网络内部信息传递方向来看,可以分为两种类型:前馈型网络和反馈型网络。

单纯前馈网络的结构与分层网络结构相同,前馈是因网络信息处理的方向是从输入层到各隐层再到输出层逐层进行而得名的.。前馈型网络中前一层的输出是下一层的输入,信息的处理具有逐层传递进行的方向性,一般不存在反馈环路。因此这类网络很容易串联起来建立多层前馈网络。

反馈型网络的结构与单层全互连结构网络相同。在反馈型网络中的所有都具有信息处理功能,而且每个既可以从外界接受输入,同时又可以向外界输出。

深度学习架构包括

深度学习架构包括如下:

1、AlexNet

AlexNet是深度架构,它由深度学习先驱GeoffreyHinton及其同僚共同引入。AlexNet是一个简单却功能强大的网络架构,为深度学习的开创性研究铺平了道路。分解后的AlexNet像是一个简单的架构,卷积层和池化层层叠加,上层是全连接层。

2、VGGNet

VGG网络由牛津可视化图形组开发,因此其名称为VGG。该网络的特点是金字塔形,与图像近的底层比较宽,而顶层很深。

3、GoogleNet

GoogleNet或Inception网络是谷歌研究者设计的一种架构。GoogleNet是ImageNet2014的冠军,是当时强大的模型。该架构中,随着深度增加它包含22层,而VGG只有19层,研究者还开发了一种叫作Inception模块的新型方法。

4、ResNet

ResNet是一个妖怪般的架构,让我们看到了深度学习架构能够有多深。残网络(ResNet)包含多个后续残模块,是建立ResNet架构的基础。

5、ResNeXt

ResNeXt据说是解决目标识别问题的技术。它建立在inception和resnet的概念上,并带来改进的新架构。

6、R(基于区域的)

基于区域的架构据说是所有深度学习架构中对目标检测问题有影响力的架构。为了解决检测问题,R尝试在图像中所有物体上画出边界框,然后识别图像中的物体。

7、YOLO(YouOnlyLookonce)

YOLO是当前深度学习领域解决图像检测问题的实时系统。如下图所示,YOLO首先将图像划分为规定的边界框,然后对所有边界框并行运行识别算法,来确定物体所属的类别。确定类别之后,yolo继续智能地合并这些边界框,在物体周围形成边界框。

8、SqueezeNet

SqueeNet架构是在移动平台这样的低宽带场景中极其强大的一种架构。这种架构只占用4.9 MB的空间,而Inception架构大小为100MB。这种巨大的距由一种名为FireModule的特殊结构引起。

9、SegNet

SegNet是一个用于解决图像分割问题的深度学习架构。它包含处理层(编码器)序列,之后是对应的序列,用于分类像素。

10、

是神经网络架构中完全不同的类别。中,一种神经网络用于生成全新的、训练集中未曾有过的图像,但却足够真实。

30分钟讲清楚深度神经网络

这两年神经网络各种火。但对很多人而言,只是听着觉得各种高大上,究其本质,还是听不懂。下面我们花三十分钟把这个事情讲清楚。

神经网络算法是早来源于某神经生理学家和某数学家联合发表的一篇论文,他们对人类神经运行规律的提出了一个猜想,并尝试给出一个建模来模拟人类神经元的运行规律。

神经网络一开始由于求解问题的不稳定,以及范围有限被抛弃。后面又在各个大神的努力下,对遇到的问题一个个解决,加上因为游戏带来的计算能力的提升获得了一个爆发式的增长。

下面我们讲讲神经网络是啥以及遇到的问题和探索出来的解决方案,终我们给出一个深度神经网络的默认的配置项。

建立M个隐藏层,按顺序建立输入层跟隐藏层的联结,后建立隐藏层跟输出层的联结。为每个隐藏层的每个选择激活函数。求解每个联结的权重和每个自带的bias值。参见下图。

所谓激活函数就是对各个路径的输入求和之后进一步增强的函数 。

典型的有如下几个:

下面这个图里面,是已知的各个联结线的权值,求y1, y2

这个练习可以测试对神经网络的理解。

所谓神经网络问题的训练本质,就是已知 y1,y2....yn, 已知x1, x2....xm,求解每个连接的权值和每个神经元上的偏值。对单层的激活函数为RELU的神经网络而言就是, y = max(sum(w x)+b, 0),已知y和x,求解w和b。

对于以上求解w和b的值,科学家们发现可以通过反向传播和梯度下降相结合来求解。就是一开始用随机数初始化我们每个联结的权值,然后通过神经网络计算出来的y值跟真实的y值做比对。如果这个值相比较大,则修改当前层的联结的权重。当发现这个值相不大时,则修改更低一层的权重。这个步骤一直重复,逐步传递到层的权值 。

三大问题:

针对这三个问题,大拿们开始了一场探索之旅。

神经网络的求解是通过反向传播的技术来解决的。通过梯度下降法。问题是,反向传播从输出层开始一步一步传到Layer 1时,越到低层,联结的权值变化越小,直到没变化。这种叫梯度消失。还有一些呢?则是越到层,变化越来越大。这种叫梯度爆炸。常见于RNN。

解决方案探索如下:

目前来说,通常用1+2 多于 3 多于 4。就是现在一般使用He initialization跟ReLU的演进版本作为作为激活函数来解决梯度消失和爆炸的问题,其次才使用Batch Normalization,后使用Gradient Clipping。

通常来说,我们很难获得足够的标记好的训练数据。常用解决方案如下:

对于大规模数据的训练,很多时候速度很慢。除了解决梯度消失或爆炸的问题之外,还有使用AdamOptimizer替代GradientDescentOptimizer会大大加快收敛速度 。

我们后面会教大家用tensorflow构造出一个神经网络并求解。

什么是深度神经网络的大模型和小模型?

大模型(Large Model)是指具有数百万或数十亿个参数的深度神经网络模型,这种模型经过专门的训练过程,能够对大规模数据进行复杂的处理和任务处理。

大模型需要占用大量的计算资源、存储空间、时间和电力等资源来保证它的训练和部署。相比之下,小模型(Small Model)是指具有较少参数的深度神经网络模型。小模型常常运行速度更快,也更加轻便,适用于一些计算资源和存储空间较少的设备或场景,例如移动设备或嵌入式设备。

在实际应用中,选择大模型或小模型取决于需要解决的问题和可用资源。大模型通常在自然语言处理、计算机视觉、系统等方面表现良好,它们通常需要高性能计算资源的支持,例如标准的GPU或云端集群。

小模型适合解决一些简单的、小规模的问题,例如欺诈检测等,它们具有更快的推理速度,可以在低功耗设备上运行,例如智能手机或物联网设备。

大模型能解决的问题

大规模预训练可以有效地从大量标记和未标记的数据中捕获知识,通过将知识存储到大量的参数中并对特定任务进行微调,极大地扩展了模型的泛化能力。在应对不同场景时,不再从0开始,只需要少量的样本进行微调。

再比如BERT已经训练好了,我们要做下游任务,做一个句子的情感分析。那么就会在BERT的输入token中加入一个 class token,这个和vit的做法一样,encoder以后用class token的向量做一下linear transoformation 和softmax和gt做损失训练,所以这一步可以直接初始化BERT模型的预训练参数做finetune,效果要更好。收敛的又快,loss又低。

bp神经网络,把它分为很多层,可以算深度学习嘛?

深度神经网络在上的定义是:一种具备至少一个隐含层的神经网络,与浅层神经网络相似,通常都是前馈神经网络,但也有循环(递归)神经网络。故其定义可以简单理解为多层前馈神经网络都是深度神经网络,而深度神经网络是深度学习的基本结构。传统的神经网络只有两层或者三层的神经网络,而深度学习网络具有更多层数的神经网络。所以层数较多的BP神经网络属于深度学习的一部分,只不过利用BP算法训练容易产生问题。

1、BP神经网络,指的是用了“BP算法”进行训练的“多层感知器模型”。

2、感知器(MLP,Multilayer Perceptron)是一种前馈人工神经网络模型,其将输入的多个数据集映射到单一的输出的数据集上,可以解决任何线性不可分问题。

3、多层感知器就是指得结构上多层的感知器模型递接连成的前向型网络。BP就是指得反向传播算法

版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 a13828211729@163.com 邮箱删除。