当前位置: 首页 > article >正文

人工智能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. 卷积神经网络的应用 



四、循环神经网络

五、生成对抗网络

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


http://www.kler.cn/a/449411.html

相关文章:

  • 第十四章 C++ 数字
  • 工控触摸屏用winForms来构建框架,效果还是很不错的
  • 为什么要用云电脑玩游戏?5大好处揭秘,ToDesk云机性能强又易用
  • 解析mysqlbinlog
  • LeetCode 209. 长度最小的子数组 (C++实现)
  • systemverilog中task的disable用法
  • 深入理解构造函数:C++ 编程中的基石
  • C#中var关键字
  • 【MySQL篇】聚合查询,联合查询
  • 南开大学师唯教授团队:配位聚合物和金属-有机框架在电池中的应用
  • 从零开始C++棋牌游戏开发之第二篇:初识 C++ 游戏开发的基本架构
  • 基础8:可调用对象类型
  • Trim_Galore_User_Guide
  • 【AI日记】24.12.23 kaggle 比赛 2-11
  • Slate文档编辑器-TS类型扩展与节点类型检查
  • 详细解读sedex验厂
  • 【微信小程序】1|底部图标 | 我的咖啡店-综合实训
  • 搭建Elastic search群集
  • 利用Matlab绘制心性函数
  • ChatGPT生成接口文档实践案例(二)
  • ubuntu开机进入initramfs状态
  • Java基础面试题20:Java语言sendRedirect()和forward()方法有什么区别?
  • linux普通用户使用sudo不需要输密码
  • [创业之路-206]:《华为战略管理法-DSTE实战体系》- 6-关键成功因素法CSF
  • FreeMarker语法
  • 【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题