深度学习|入门知识

一、什么是深度学习

1.普通程序:人写死规则,机器照着执行

特点:规则明确,不会自己学习

2.机器学习:人不给死规则,给数据,让机器自己找规律

特点:从数据里学习,能处理复杂,模糊的事

3.深度学习:机器学习的分支,复杂+缺乏可解释性

二、了解深度学习组成模块

六大模块:所需库+参数解析+模型+训练+评估+主函数

1.所需库模块(requirements.txt)

import XXX
import XXX as YYY
from XXX import ZZZ

2.参数解析模块(调参侠,第三优化部分)

不是要学习的参数,而是针对训练过程或者程序运行所作的一些限制性超参数

data-dir、batch_size、epochs、lr、checkpoint、train、download、visualize、limit-train、

num-workers、device等等

3.模型模块(第一优化部分)

4.训练模块(第二优化部分)

(1)损失函数:评分标准,明确什么是好的表现

(2)优化器:训练教官,负责指导与改进

(3)训练循环:训练周期,循序渐进地提升技能

5.评估模块(领域内统一)

根据任务场景选择合适的评估指标

6.主函数模块(确定程序执行流)

类似与C语言的main()函数

三、了解深度学习常用框架和模型

基本所有任务可以使用框架+模型进行描述

1.框架

(1)将框架理解为“巨大的”“完整的”库函数

(2)不同框架设计理念不同

2.一句话描述主流深度学习框架

PyTorch 以动态图为核心,语法贴近 Python 原生写法,上手简单、调试灵活,更适合科研探索和快速原型开发;

TensorFlow 原生侧重静态图,工业级部署工具链完善,对大规模训练、多平台落地支持更好,更适配生产环境需求。

2.模型

(1)基础模型就是适应不同数据类型的贪心函数/优化器

(2)基础模型只有那几个,更多的都是改进

3.一句话描述最基础的深度学习模型

MLP(全连接神经网络)

最基础的神经网络,由输入层、隐藏层、输出层全连接组成,适用于简单分类与回归

CNN(卷积神经网络)

利用卷积提取局部特征、池化降维,主要处理图像,具有权值共享和局部感受野特性

RNN(循环神经网络)

适用于处理序列数据,但容易梯度消失

LSTM(长短时记忆网络)

用遗忘门、输入门、输出门解决长序列依赖问题,适合文本、时序。

Transformer

完全基于自注意力机制,并行处理序列,是现在所有大模型的基础架构

AutoEncoder

无监督特征学习,通过编码压缩,解码还原,适用于降维、去噪、特征提取

GAN(生成对抗网络)

由生成器和判别器对抗训练,让生成数据逼近真实分布,是生成模型的基础

四、参考资料(优先完成算法思想学习)

1.吴恩达-机器学习-前37讲-2天(算法思想)

2.李宏毅-深度学习-前63讲(37+26)-5天(算法思想)

3.小土堆-pytorch-7天(代码实现)

4.刘二大人-pytorch-14天(代码实现)

发表评论