阿里云人工智能ACA(五)——深度学习基础

一、深度学习概述

1. 深度学习概念

1-1. 深度学习基本概念
  • 深度学习是机器学习的一个分支
  • 基于人工神经网络(模仿人脑结构)
  • 通过多层网络自动学习特征
  • 能够处理复杂的模式识别问题
1-2. 深度学习的优点与缺点

优点

  • 强大的特征学习能力
  • 可以处理复杂问题
  • 准确率高
  • 自动化程度高

缺点

  • 需要大量数据
  • 计算资源要求高
  • 训练时间长
  • 可解释性差
1-3. 深度学习与传统机器学习区别

主要区别在于:传统机器学习是人工进行特征提取,深度学习是通过神经网络从数据里提取特征。

对比维度机器学习深度学习
特征提取

• 需要人工设计特征

• 依赖领域专家经验

• 特征工程占据大量工作

• 自动学习特征

• 端到端学习

• 减少人工干预

举例说明

图像识别猫:

• 人工定义特征:耳朵形状、胡须特征等

• 手动提取这些特征

• 基于提取的特征进行分类

图像识别猫:

• 直接输入原始图像

• 网络自动学习关键特征

• 自动完成特征提取到分类的全过程

数据要求

• 数据量要求相对较小

• 可以处理结构化数据

• 需要大量数据

• 特别适合非结构化数据

计算复杂度

• 计算量较小

• 训练速度快

• 计算量大

• 训练周期长

2. 深度学习框架

2-1 深度学习框架定义

深度学习框架是一个软件库,提供了构建、训练和部署深度学习模型所需的工具和接口。它是连接理论与实践的桥梁,使开发者能够更高效地实现深度学习算法。

2-2 TensorFlow框架

利用数据流图进行数值计算的开源软件库;

可以在众多异构的系统上方便移植;

2-3 Torch 框架

很好的学习RNN途径

2-4 PyTorch 框架

2-5 Caffe框架

2-6 框架的选择
特点TensorFlowTorchPyTorchCaffe
开发公司/组织谷歌 (Google)Facebook 人工智能研究院 (FAIR)Facebook 人工智能研究院 (FAIR)伯克利 AI 研究中心 (BAIR)
首次发布2015年2002年(Lua Torch)2016年2014年
编程语言Python、C++、Java、Go 等LuaPython、C++C++
模型构建方式静态计算图(TF 1.x),动态计算图(Eager Execution, TF 2.x)动态计算图动态计算图静态计算图
易用性中等,使用 Keras 可以简化模型构建较低,基于 Lua 语言,学习曲线较陡峭高,API 简洁直观,易于调试中等,模型定义需编写配置文件
性能高,支持 GPU 和 TPU,加上分布式训练中等,性能依赖于 Lua 的效率高,优化良好的动态计算图,支持 GPU 和分布式训练高,专注于图像处理任务,优化良好
生态系统丰富,包含 TensorFlow Hub、TensorFlow Lite、TensorFlow.js 等较小,社区活跃度不及 PyTorch 和 TensorFlow丰富,包含 TorchVision、TorchText、TorchServe 等较小,主要集中在视觉任务
社区和支持广泛的社区支持,丰富的文档和教程社区较小,主要集中在研究人员和特定领域活跃且快速增长的社区,丰富的第三方资源社区规模较小,主要用于特定应用场景
应用领域广泛,涵盖计算机视觉、自然语言处理、强化学习等主要用于计算机视觉和自然语言处理广泛,涵盖研究和生产环境中的各种应用主要集中在计算机视觉领域
调试和可视化工具TensorBoard 提供强大的可视化支持限制较多,缺乏统一的可视化工具支持通过第三方工具如 TensorBoardX 进行可视化基本的可视化工具,功能有限
移动和嵌入式支持TensorFlow Lite 提供优秀的支持支持有限,主要依赖第三方集成支持通过 PyTorch Mobile支持通过 Caffe2(现已合并入 PyTorch)
学习资源丰富的官方教程、文档和在线课程Lua 资源相对较少,需依赖社区贡献丰富的官方教程、文档和社区资源资源较少,主要依赖官方文档和社区贡献
扩展性高,支持自定义操作和模块高,基于 Lua 可灵活扩展高,易于定义自定义层和模块中等,扩展需通过配置文件进行

3 神经网络

3-1 神经网络基础

3-2 神经网络租车

4. 激活函数

4-1 激活函数定义:
  • 激活函数是一种在人工智能神经网络的神经单元桑运行的函数
  • 激活函数是神经网络中引入非线性变换的数学函数
  • 旨在帮助网络学习数据中的复杂模式
  • 负责将神经元节点的输入映射到输出端。
  • 用于决定神经元是否应该被激活。
4-2 常见激活函数:
Sigmoid激活函数

ReLU

Tanh

4-3 sigmoid激活函数
 4-4 Tanh激活函数
 4-5 ReLU激活函数

二、多层感知机

1. 感知机概述

2. 多层感知机

2-1 多层感知机概述

多层感知机是一种前馈神经网络,是最基础和经典的深度学习模型之一。

多层感知机由三类层构成:

  • 输入层:接收原始数据
  • 隐藏层:可以有一层或多层,负责特征提取和转换
  • 输出层:产生最终预测结果

多层感知机主要特点:

  • 每层神经元都与下一层全连接
  • 使用非线性激活函数(如ReLU、sigmoid等)
  • 通过反向传播算法训练
  • 可以用于分类和回归问题

3. BP神经网络

类别说明
基本定义BP(Back Propagation)神经网络是一种基于误差反向传播算法的多层前馈神经网络
工作原理

前向传播

• 输入数据从输入层向前传递

• 经过隐藏层处理

• 最终在输出层产生结果

反向传播

• 计算实际输出与期望输出的误差

• 误差从输出层向输入层反向传播

• 不断调整网络权重和偏置

学习过程

1. 初始化网络权重和偏置

2. 输入训练样本

3. 计算实际输出

4. 计算误差

5. 反向传播更新参数

6. 重复步骤2-5直到满足条件

主要特点

• 具有非线性映射能力

• 自学习和自适应能力

• 泛化能力强

• 容错性好

关键参数

• 学习率

• 隐藏层数量

• 每层神经元数量

• 激活函数

• 迭代次数

优点

• 适用性广

• 拟合能力强

• 可以解决复杂的非线性问题

缺点

• 可能陷入局部最小值

• 训练时间可能较长

• 网络结构难以确定

• 可能出现过拟合

应用领域

• 模式识别

• 预测分析

• 图像处理

• 语音识别

• 自动控制

三、卷积神经网络

1. 卷积神经网络概述

2. 卷积神经网络层次结构

2-1 输入层
 2-2 卷积层

 2-3 池化层

2-4  全连接层

 2-5 输出层

3. 经典卷积神经网络 

4. 卷积神经网络的应用 



四、循环神经网络

1.

2. 循环神经网络的结构



3. 循环神经网络的类别

4 经典循环神经网络

4-1 长短期记忆网络 LSTM
4-2 LSTM的核心
  • Ct 为长期记忆
  • ht 为短期记忆

4-3 LSTM的流程



 5. 循环神经网络的应用

  • 处理序列数据问题

五、生成对抗网络

1.  生成对抗网络概述

GAN通过两个神经网络——生成器(Generator)和判别器(Discriminator)——之间的对抗训练,实现数据的生成与逼真化。

2. 生成对抗网络主要组成部分

  • 生成器(Generator)

    • 功能:负责生成看似真实的假数据。
    • 输入:通常为随机噪声向量(如高斯噪声)。
    • 输出:与真实数据相同维度的合成数据(例如图像)。
    • 给定输入数据时,理解输入,生成类似的输出。
  • 判别器(Discriminator)

    • 功能:判断输入的数据是真实的还是由生成器生成的假数据。
    • 输入:真实数据和生成器生成的假数据。
    • 输出:一个介于0和1之间的概率值,表示输入数据为真实数据的概率。

生成器通过带噪声的数据生成了假的图像,判别器通过训练集和假的图像 识别真假。生成器和判别器通过这个过程不断进步。

2-2 GAN的优化目标
  • 生成器的目标

    • 生成逼真数据:生成器的主要任务是从随机噪声中生成看似真实的数据(如图像、音频等)。
    • 欺骗判别器:通过不断改进,生成器希望生成的数据能够以假乱真,使判别器难以区分其生成的数据和真实数据。
  • 判别器的目标

    • 区分真假数据:判别器的任务是准确判断输入的数据是真实的还是由生成器生成的。
    • 提高辨别能力:通过不断学习,判别器提升其区分真实数据和生成数据的能力。
2-3 最终目标
  • 平衡状态:在理想情况下,GAN 达到一种平衡状态,即生成器生成的数据与真实数据在统计分布上难以区分,判别器在判断时只能给出接近 50% 的概率。

  • 优化生成器:尽管判别器在训练过程中不断优化,但最终的目标是生成器能够独立生成高质量、逼真的数据。这意味着即使判别器不再参与,生成器依然能够产生令人信服的合成数据。

 3. 生成对抗网络工作流程

生成器生成的样本作为假的样本,接收样本为真的样本,目的 使生成器生成的样本更逼近真的样本,同时提高判别的器的性能。

3-2 对抗性优化过程
  • 对抗训练:GAN 的训练过程本质上是一个博弈,生成器和判别器互相竞争。生成器试图生成更逼真的数据以“欺骗”判别器,而判别器则努力提升辨别真假数据的能力。

  • 交替优化

    • 训练判别器:使用真实数据和生成器生成的假数据来训练判别器,使其更好地区分二者。
    • 训练生成器:通过反馈判别器的判别结果,调整生成器的参数,使其生成的数据更加逼真。

4. 生成对抗网络 与传统神经网络的区别

 5. 生成对抗神经网络类别

6. 生成对抗网络应用场景

六、机器学习PAI平台简单实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/496122.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器工作原理与实践-12|栈空间和堆空间:数据是如何存储的

12|栈空间和堆控件:数据是如何存储的 JavaScript内存机制 function foo(){var a 1var b aa 2console.log(a) // 2console.log(b) // 2 } foo()function foo(){var a {name:"极客时间"}var b aa.name "极客邦"console.log(a) // {name:&…

计算机网络习题(第1章 概论 第2章 数据通信基础)

第1章 概论 1、计算机网络 2、互联网 3、计算机网络体系结构 分层模型 OSI/RM 7层模型 TCP/IP 5层模型 协议、PDU、SDU、SAP等术语 数据封装(计算) 第2章 数据通信基础 1、数据通信系统组成 2、主要性能指标 数据传输速率 码元速率 时延 …

CS 144 check7: putting it all together

Exercises 经验:两边的TCP连接建立得尽快,如果服务器端启动了,客户端没有紧接着启动就连不上。 这是什么神奇的bug呢? 和我之前给域控刷SOC的版本一样。如果域控启动了,在我本地的电脑没有马上和域控的SOC通上信&…

kubernetes存储架构之PV controller源码解读

​ kubernetes存储之PV controller源码解读 摘要 本文介绍kubernetes存储架构的基础,并重点对PV controller的源码进行了学习 引入 从一个业务场景出发,假如你所在的公司,有个物理机,上面部署了web服务器,随着业务…

springboot497基于java国产动漫网站设计和实现(论文+源码)_kaic

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差&#x…

音视频入门知识(二)、图像篇

⭐二、图像篇 视频基本要素:宽、高、帧率、编码方式、码率、分辨率 ​ 其中码率的计算:码率(kbps)=文件大小(KB)*8/时间(秒),即码率和视频文件大小成正比 YUV和RGB可相互转换 ★YUV(原始数据&am…

Windows下C++使用SQLite

1、安装 进入SQLite Download Page页面,下载sqlite-dll-win-x86-*.zip、sqlite-amalgamation-*.zip、sqlite-tools-win-x64-*.zip三个包,这三个包里分别包含dll文件和def文件、头文件、exe工具。 使用vs命令行工具生成.lib文件:进入dll和def文…

[代码随想录23回溯]回溯的组合问题+分割子串

前言 回溯是什么&#xff1f; 题目链接 39. 组合总和 - 力扣&#xff08;LeetCode&#xff09; 40. 组合总和 II - 力扣&#xff08;LeetCode&#xff09; 131. 分割回文串 - 力扣&#xff08;LeetCode&#xff09; 一、组合问题 private:vector<vector<int>>r…

xinput1_3.dll放在哪里?当xinput1_3.dll丢失时的应对策略:详细解决方法汇总

在计算机系统的运行过程中&#xff0c;我们偶尔会遇到一些令人困扰的问题&#xff0c;其中xinput1_3.dll文件丢失就是较为常见的一种情况。这个看似不起眼的动态链接库文件&#xff0c;实则在许多软件和游戏的正常运行中发挥着至关重要的作用。一旦它丢失&#xff0c;可能会导致…

运行Zr.Admin项目(后端)

1.下载Zr.Admin代码压缩包 https://codeload.github.com/izhaorui/Zr.Admin.NET/zip/refs/heads/main 2.打开项目 我这里装的是VS2022社区版 进入根目录&#xff0c;双击ZRAdmin.sln打开项目 3.安装.net7运行时 我当时下载的代码版本是.net7的 点击安装 点击安装&#xff0…

MySQL 锁概述

1.锁的分类 根据不同的分类角度可将锁分为&#xff1a; 按是否共享分&#xff1a;S 锁、X 锁按粒度分&#xff1a;表级锁、行级锁、全局锁&#xff08;锁整个库&#xff09;、页锁&#xff08;锁数据页&#xff09;意向锁&#xff1a;意向 S 锁、意向 X 锁&#xff1a;都是表…

记Fastjson2的一个报ConcurrentModificationException的bug

错误背景&#xff1a;fastjson2的parseObject方法&#xff0c;在spring webflux项目中被调用&#xff0c;有时会报java.util.ConcurrentModificationException错误。报错处的代码如下图&#xff1a; 改了半天与并发安全相关的代码&#xff0c;还是会报此错误。后来改变思路搜…

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么&#xff1f; CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台&#xff0c;包括VSCode、IDER、Chrome插件、Web和APP等&#xff0c;支持插件安装&#xff0c;尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…

音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…

docker-compose搭建sfpt服务器

1. 搭建 创建sftp目录&#xff0c;进入该目录创建docker-compose.yml文件内容如下&#xff1a; version: 3.7services:sftp:image: atmoz/sftpcontainer_name: sftpports:- "122:22"volumes:- ./sftp-data:/homeenvironment:SFTP_USERS: "liubei:liubei161:10…

散斑/横向剪切/迈克尔逊/干涉条纹仿真技术分析

摘要 本博文提供了多种数据类型的干涉条纹仿真&#xff0c;并展示了它们对应的散斑干涉条纹。还分别给出了横向剪切干涉以及剪切散斑干涉条纹的仿真。 一、迈克尔逊干涉与散斑干涉仿真 下图为干涉条纹与对应的散斑干涉条纹的仿真示意图。其中&#xff0c;干涉条纹可认为是源…

Go快速开发框架2.6.0版本更新内容快速了解

GoFly企业版框架2.6.0版本更新内容较多&#xff0c;为了大家能够快速了解&#xff0c;本文将把更新内容列出详细讲解。本次更新一段时间以来大伙反馈的问题&#xff0c;并且升级后台安全认证机制&#xff0c;增加了RBAC权限管理及系统操作日志等提升后台数据安全性。 更新明细…

通过GRE协议组建VPN网络

GRE&#xff08;Generic Routing Encapsulation&#xff0c;通用路由封装协议&#xff09;协议是一种简单而有效的封装协议&#xff0c;它在网络中的广泛应用&#xff0c;比如在构建VPN网络。   GRE是一种封装协议&#xff0c;它允许网络层协议&#xff08;如IP&#xff09;的…

论文阅读 - 《Large Language Models Are Zero-Shot Time Series Forecasters》

Abstract 通过将时间序列编码为数字组成的字符串&#xff0c;我们可以将时间序列预测当做文本中下一个 token预测的框架。通过开发这种方法&#xff0c;我们发现像GPT-3和LLaMA-2这样的大语言模型在下游任务上可以有零样本时间序列外推能力上持平或者超过专门设计的时间序列训…

16 循环语句——for循环

#字符串是可以进行迭代的 for 循环: for 变量 in 可迭代的东西: 代码 把可迭代的东西中的每一项内容拿出来&#xff0c;挨个的赋值给变量&#xff0c;每一次的赋值都要执行一次循环体(代码) s "你好呀&#xff0c;我叫赛利…