一、机器学习的简单介绍

1. 学习目标

  • 介绍深度学习经典和最新模型
    • LeNet, ResNet, LSTM, BERT…
  • 机器学习基础
    • 损失函数、目标函数、过拟合、优化
  • 实践

    • 使用pytorch实现介绍的知识点
    • 在真实数据上体验算法效果

      2. 学习内容

  • 深度学习基础 — 线性神经网络、多层感知机

  • 卷积神经网络 — LeNet,AlexNet,VGG, Inception, ResNet (空间)
  • 循环神经网络 — RNN,GRU, LSTM, seq2seq (时间)
  • 注意力机制 — Attention, Transformer
  • 优化算法 — SGD, Momentum, Adam
  • 高性能计算 — 并行,多GPU,分布式
  • 计算机视觉 — 目标检测,语义分割
  • 自然语言处理 — 词嵌入, BERT

    3. 你将学到什么

  • What

    • 深度学习里有哪些技术
  • How
    • 如何实现和调参
  • Why
    • 背后的原因(直觉、数学的解释)

4. 什么是深度学习

image.png

5. 深度学习流程

image.png

二、数据预处理

csv文件:(逗号分隔值)

  1. import torch
  2. // 生成由数字组成的数组
  3. x = torch.arange(12)
  4. // 通过张量的shape属性来访问张量的形状和张量中元素个数
  5. x.shape
  6. x.numel()
  7. // 改变张量的形状可以用reshape函数 生成3*4的矩阵
  8. x = x.reshape(3,4)
  9. // 使用全0、全1、其他常量或者特定分布中随机采样的数字
  10. torch.zeros((2,3,4))
  11. torch.ones((2,3,4))
  12. torch.tensor([[2,1,4,3],[1,2,3,4],[4,3,2,1]])
  13. // 张量之间的连接
  14. torch.cat((X,Y), dim=0) 根据行进行连接
  15. // 对张量中所有元素进行求和会产生只有一个元素的张量
  16. X.sum()
  17. // 创建一个numpy的多元数组
  18. x.numpy()

numpy 存在一个广播机制
即使形状不同,我们仍然可以通过广播机制(broadcasting mechanism)来执行按元素操作
不同形状的矩阵,会因为广播机制,自动复制成相同维度。

矩阵乘法

直观感受:矩阵乘法 —> 空间进行扭曲

image.png

特征向量和特征值
image.png

// 向量的点积
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]

求导

image.png
image.png
梯度指向的是值变化最大的方向

学习进度

日期 进度情况 内容概要
2022.5.13 video:00,01,02 深度学习的介绍
2022.5.16 video:04 数据处理
2022.5.17 video:05