首页 > 其他分享 >对深度学习概念的基础理解与认识

对深度学习概念的基础理解与认识

时间:2024-09-06 22:22:59浏览次数:6  
标签:梯度 网络 学习 概念 神经网络 理解 深度 神经元

一、神经网络的组成

人工神经网络(Artificial Neural Networks,简写为ANNs)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。

这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的,并具有自学习和自适应的能力。神经网络类型众多,其中最为重要的是多层感知机。为了详细地描述神经网络,我们先从最简单的神经网络说起。

感知机

感知机是1957年,由Rosenblatt提出会,是神经网络和支持向量机的基础。

感知机是有生物学上的一个启发,他的参照对象和理论依据可以参照下图:(我们的大脑可以认为是一个神经网络,是一个生物的神经网络,在这个生物的神经网络里边呢,他的最小单元我们可以认为是一个神经元,一个neuron,这些很多个神经元连接起来形成一个错综复杂的网络,我们把它称之为神经网络。

当然我们现在所说的,在深度学习包括机器学习指的神经网络Neural Networks实际上指的是人工神经网络Artificial Neural Networks,简写为ANNs。我们只是简化了。

我们人的神经网络是由这样一些神经元来构成的,那么这个神经元他的一些工作机制呢就是通过这样一个下面图的结构,首先接收到一些信号,这些信号通过这些树突(dendrite)组织,树突组织接收到这些信号送到细胞里边的细胞核(nucleus),这些细胞核对接收到的这些信号,这些信号是以什么形式存在的呢?

这些信号比如说眼睛接收到的光学啊,或者耳朵接收到的声音信号,到树突的时候会产生一些微弱的生物电,那么就形成这样的一些刺激,那么在细胞核里边对这些收集到的接收到的刺激进行综合的处理,当他的信号达到了一定的阈值之后,那么他就会被激活,就会产生一个刺激的输出。

那么就会形成一个我们大脑接收到的进一步的信号,那么他是通过轴突这样的输出计算的,这就是我们人脑的一个神经元进行感知的时候大致的一个工作原理。)

对深度学习概念的基础理解与认识_深度学习

简单的感知机如下图所示:

对深度学习概念的基础理解与认识_神经网络_02

对深度学习概念的基础理解与认识_神经网络_03

对深度学习概念的基础理解与认识_深度学习_04

多层感知机

对深度学习概念的基础理解与认识_机器学习_05

对深度学习概念的基础理解与认识_神经网络_06

输出层可以不止有1 11个神经元。隐藏层可以只有1 11层,也可以有多层。输出层为多个神经元的神经网络例如下图所示:

对深度学习概念的基础理解与认识_机器学习_07

二、神经网络的常用模型结构

下图包含了大部分常用的模型:

对深度学习概念的基础理解与认识_神经网络_08

三、如何选择深度学习的开发平台

现有的深度学习开源平台主要有 PyTorch, MXNet, CNTK, Theano, TensorFlow, Keras, PaddlePaddle等。那如何选择一个适合自己的平台呢?

参考1:与现有编程平台、技能整合的难易程度

主要是前期积累的开发经验和资源,比如编程语言,前期数据集存储格式等。

参考2: 与相关机器学习、数据处理生态整合的紧密程度

深度学习研究离不开各种数据处理、可视化、统计推断等软件包。考虑建模之前,是否具有方便的数据预处理工具?建模之后,是否具有方便的工具进行可视化、统计推断、数据分析。

参考3:对数据量及硬件的要求和支持

深度学习在不同应用场景的数据量是不一样的,这也就导致我们可能需要考虑分布式计算、多GPU计算的问题。

例如,对计算机图像处理研究的人员往往需要将图像文件和计算任务分部到多台计算机节点上进行执行。当下每个深度学习平台都在快速发展,每个平台对分布式计算等场景的支持也在不断演进。

参考4:深度学习平台的成熟程度

成熟程度的考量是一个比较主观的考量因素,这些因素可包括:社区的活跃程度;是否容易和开发人员进行交流;当前应用的势头。

参考5:平台利用是否多样性?

有些平台是专门为深度学习研究和应用进行开发的,有些平台对分布式计算、GPU 等构架都有强大的优化,能否用这些平台/软件做其他事情?

比如有些深度学习软件是可以用来求解二次型优化;有些深度学习平台很容易被扩展,被运用在强化学习的应用中。

一般来说,现在做科学研究和竞赛用Pytorch较多,工业级的用Tensorflow较多。

四、为什么深层神经网络比较难训练

1.梯度消失:

梯度消失是指通过隐藏层从后向前看,梯度会变的越来越小,说明前面层的学习会显著慢于后面层的学习,所以学习会卡住,除非梯度变大。

梯度消失的原因受到多种因素影响,例如学习率的大小,网络参数的初始化,激活函数的边缘效应等。在深层神经网络中,每一个神经元计算得到的梯度都会传递给前一层,较浅层的神经元接收到的梯度受到之前所有层梯度的影响。如果计算得到的梯度值非常小,随着层数增多,求出的梯度更新信息将会以指数形式衰减,就会发生梯度消失。下图是不同隐含层的学习速率:

对深度学习概念的基础理解与认识_神经网络_09

2.梯度爆炸

在深度网络或循环神经网络(Recurrent Neural Network, RNN)等网络结构中,梯度可在网络更新的过程中不断累积,变成非常大的梯度,导致网络权重值的大幅更新,使得网络不稳定;在极端情况下,权重值甚至会溢出,变为N a N NaNNaN值,再也无法更新。

3.权重矩阵的退化导致模型的有效自由度减少。

参数空间中学习的退化速度减慢,导致减少了模型的有效维数,网络的可用自由度对学习中梯度范数的贡献不均衡,随着相乘矩阵的数量(即网络深度)的增加,矩阵的乘积变得越来越退化。在有硬饱和边界的非线性网络中(例如 ReLU 网络),随着深度增加,退化过程会变得越来越快。

Duvenaud等人2014年的论文里展示了关于该退化过程的可视化:

对深度学习概念的基础理解与认识_深度学习_10

随着深度的增加,输入空间(左上角所示)会在输入空间中的每个点处被扭曲成越来越细的单丝,只有一个与细丝正交的方向影响网络的响应。沿着这个方向,网络实际上对变化变得非常敏感。

五、深度学习与机器学习的差异或区别

机器学习:利用计算机、概率论、统计学等知识,输入数据,让计算机学会新知识。机器学习的过程,就是训练数据去优化目标函数。

深度学习:是一种特殊的机器学习,具有强大的能力和灵活性。它通过学习将世界表示为嵌套的层次结构,每个表示都与更简单的特征相关,而抽象的表示则用于计算更抽象的表示。

传统的机器学习需要定义一些手工特征,从而有目的的去提取目标信息, 非常依赖任务的特异性以及设计特征的专家经验。而深度学习可以从大数据中先学习简单的特征,并从其逐渐学习到更为复杂抽象的深层特征,不依赖人工的特征工程,这也是深度学习在大数据时代受欢迎的一大原因。

对深度学习概念的基础理解与认识_神经网络_11

对深度学习概念的基础理解与认识_深度学习_12

标签:梯度,网络,学习,概念,神经网络,理解,深度,神经元
From: https://blog.51cto.com/u_15641375/11940289

相关文章

  • 常见概念 -- 非线性效应
    什么是非线性效应        光纤的非线性效应是指在强光场作用下,光波信号和光纤介质相互作用的一种物理效应。它主要包括两类:一类是由于散射作用而产生的非线性效应,例如受激拉曼散射及布里渊散射;另一类是由于光纤的折射指数随光强度变化而引起的非线性效应,例如自相位调......
  • Android 开发避坑经验(2):深入理解Fragment与Activity交互
    在Android开发过程中,Fragment和Activity之间的交互是一个常见的难题,处理不当会引发UI更新问题、生命周期混乱、数据丢失等问题。这篇文章将深入探讨如何避免这些常见坑点,提供可靠的解决方案,并通过示例代码展示最佳实践。1.坑点:Fragment和Activity的生命周期差异......
  • flutter 的一些概念三
    本文同步发布于公众号:stringwu的互联网杂谈:flutter的一些概念三1Stream与Future的关系Stream和Future都是Flutter中常用的异步编程模型,Future适用于一次性异步操作,Stream适用于连续的异步操作1.1FutureFuture一次性的操作,只会返回一个结果;可以使用await和asy......
  • 理解在同一数据库连接上并发发起多个事务的问题
    在现代应用程序中,数据库是数据存储和管理的核心。为了确保数据的一致性和完整性,数据库事务提供了原子性、一致性、隔离性和持久性(ACID)特性。然而,在编写代码时,许多开发者可能会陷入一个常见的误区:在同一个数据库连接(DB对象)上并发发起多个事务。本文将探讨这个问题的原因、后果及解......
  • 基础篇:到底应该怎么理解“平均负载”
    root@Test-MySQL:/home/zoom/test#uptime08:41:38up3days,5:40,2users,loadaverage:0.00,0.03,0.02我相信你对前⾯的⼏列⽐较熟悉,它们分别是当前时间、系统运⾏时间以及正在登录⽤户数。⽽最后三个数字呢,依次则是过去1分钟、5分钟、15分钟的平均负载(LoadAvera......
  • 进程间通信(IPC):概念、分类与信号机制(2)
    文章目录进程间通信(IPC):概念、分类与信号机制引言IPC的分类信号机制信号周期信号的产生信号的发送信号的接收信号处理示例IPC的其他方法管道通信消息队列共享内存套接字通信服务器端代码客户端代码优点与缺点优点缺点结论进程间通信(IPC):概念、分类与信号机制引言......
  • 探索EasyCVR与AI技术深度融合:视频汇聚平台的新增长点
    随着5G、AI、边缘计算、物联网(IoT)、云计算等技术的快速发展,万物互联已经从概念逐渐转变为现实,AIoT(物联网人工智能)的新时代正在加速到来。在这一背景下,视频技术作为信息传输和交互的重要手段,其重要性日益凸显。旭帆科技EasyCVR视频汇聚平台,作为一款基于云-边-端一体化架构的视频融......
  • 直播美颜SDK与主播美颜工具:实时美颜技术的深度解析
    本篇文章,笔者将深入解析直播美颜SDK的核心技术与主播美颜工具的开发原理。 一、什么是直播美颜SDK?通过集成美颜SDK,开发者可以在直播应用中快速实现脸部优化、滤镜添加、皮肤调整等功能,帮助主播在直播过程中实时呈现最佳状态。不同于传统的后期处理,直播美颜SDK依靠强大的实时处理能......
  • 【AI大模型】AI大模型热门关键词解析与核心概念入门
    关注公众号ai技术星球回复88即可领取技术学习资料目录导航热门AI大模型关键词解析热门AI大模型关键词解析大模型代码语言:javascript复制-"大模型"的是大型的人工智能模型,特别是在深度学习领域中。这些模型因其庞大的参数数量、复杂的网络结构和在多种任务上的......
  • 快速理解视频内容并回答问题,视频理解描述模型 Flash-VStream 上线!
    Flash-VStream是一种模拟人类记忆机制的视频语言模型。它能够实时处理极长的视频流,并同时响应用户的查询。与现有模型相比,Flash-VStream显著降低了推理延迟和VRAM消耗,这与执行在线流视频的理解密切相关。使用云平台:OpenBayeshttp://openbayes.com/console/signup?r=sony_0m6v登录到......