一、机器学习的简单介绍
1. 学习目标
- 介绍深度学习经典和最新模型
- LeNet, ResNet, LSTM, BERT…
- 机器学习基础
- 损失函数、目标函数、过拟合、优化
实践
深度学习基础 — 线性神经网络、多层感知机
- 卷积神经网络 — LeNet,AlexNet,VGG, Inception, ResNet (空间)
- 循环神经网络 — RNN,GRU, LSTM, seq2seq (时间)
- 注意力机制 — Attention, Transformer
- 优化算法 — SGD, Momentum, Adam
- 高性能计算 — 并行,多GPU,分布式
- 计算机视觉 — 目标检测,语义分割
-
3. 你将学到什么
What
- 深度学习里有哪些技术
- How
- 如何实现和调参
- Why
- 背后的原因(直觉、数学的解释)
4. 什么是深度学习
5. 深度学习流程

二、数据预处理
csv文件:(逗号分隔值)
import torch// 生成由数字组成的数组x = torch.arange(12)// 通过张量的shape属性来访问张量的形状和张量中元素个数x.shapex.numel()// 改变张量的形状可以用reshape函数 生成3*4的矩阵x = x.reshape(3,4)// 使用全0、全1、其他常量或者特定分布中随机采样的数字torch.zeros((2,3,4))torch.ones((2,3,4))torch.tensor([[2,1,4,3],[1,2,3,4],[4,3,2,1]])// 张量之间的连接torch.cat((X,Y), dim=0) 根据行进行连接// 对张量中所有元素进行求和会产生只有一个元素的张量X.sum()// 创建一个numpy的多元数组x.numpy()
numpy 存在一个广播机制
即使形状不同,我们仍然可以通过广播机制(broadcasting mechanism)来执行按元素操作
不同形状的矩阵,会因为广播机制,自动复制成相同维度。
矩阵乘法
直观感受:矩阵乘法 —> 空间进行扭曲

特征向量和特征值
// 向量的点积
x = torch.ones(4, dtype=torch.float32)
y = torch.ones(4, dtype=torch.float32)
torch.dot(x,y)
// 矩阵向量的点积
torch.mv(A,x)
// 矩阵乘法
torch.mm(A,B)
// 范数 矩阵或者向量的长度
// l1范数:表示向量元素的绝对值之和
torch.abs(u).sum();
// l2范数:所有的向量元素平方和的平方根
u = torch.tensor([3.0, -4.0])
torch.norm(u)
// 矩阵范数:frobenius norm 是矩阵元素的平方和的平方根
torch.norm(torch.ones((4.9)))
按照特定轴求和
shape:[5,4]
axis = 0, sum: [4]
axis = 1, sum: [5]
shape: [2, 5, 4]
axis = 1, sum: [2, 4]
// keepdims = True 表示原先被剔除的那一维度用 1 来代替
if keepdims = True and axis = 1
sum: [2, 1, 4]
求导


梯度指向的是值变化最大的方向
学习进度
| 日期 | 进度情况 | 内容概要 |
|---|---|---|
| 2022.5.13 | video:00,01,02 | 深度学习的介绍 |
| 2022.5.16 | video:04 | 数据处理 |
| 2022.5.17 | video:05 |
