Pytorch_深度学习概念(一)

AI-ML——Deep learning

机器学习 支持向量机:特征提取,特征工程
深度学习
 人工神经网络:卷积神经网络和循环神经网络   
 卷积神经网络: 对图像的空间具有不变性--旋转-放缩-远近
 端到端的学习
  梯度消失  梯度爆炸:激活函数以及当前权重耦合产生的综合结
  最大池化技术

pytorch

功能: 图像处理,矩阵运算 
      深度学习 --自动求导系统 自动微分系统
    TF:动态图 在运行过程中定义
        静态图
pip install pytorch	
pytorch

import torch

Tensors-- Math operations and Matrix operations

 Data types   device  item  shape  size  numel
 01. is 是不是:
   >>> x=torch.tensor([1,2,3])
   >>> torch.is_tensor(x)
 02. set_default_dtype 和 get_default_dtype 
 
 03.转换 as 	  from  to
     from_numpy   frombuffer
     asarray   as_tensor  as_strided
 03. Creation create torch.Tensor
   torch.rand() torch.rand_like() torch.randn() torch.randn_like() torch.randint() torch.randint_like() torch.randperm() 
   torch.empty()  empty_like empty_strided eye  full  full_like
   zeros zeros_like
   ones ones_like
   range arange  linspace logspace
 04.Indexing, Slicing, Joining, Mutating Ops
 05.Serialization
     load   save
 06.Pointwise Reduction Comparison  Spectral   BLAS and LAPACK 
深度学习
01.自动微分 梯度
 torch.no_grad(), torch.enable_grad(), and torch.set_grad_enabled()  is_grad_enabled()
 requires_grad=True
 
 张量计算 和自动求导机制
   张量计算引擎(tensor computation
   自动求导机制(autograd):定制反传或修改梯度
 
 
 02.torch.nn
   卷积层 池化层 激活函数 循环层 全连接层
   自定义 Module
     forward 和 backward 的输入和输出都是 Tensor 对象
   
   
 03.损失函数-目标函数-代价函数
   torch.nn 
      标准损失函数
	  自定义损失函数
 
 04.优化方法 和学习率
     torch.optim 
	     
	 
 05.网络参数初始化
 
###数据操作和预处理
  Dataset  DataLoader
数据增强 

具体应用

图像检测
    backbone neck  head
    分类-回归	
指标
   mAP、mAP50、mAP75后面的数字表示NMS过程中设定IoU阈值的参数
训练
  learning rate	

原理

图像:
 卷积计算规则
 卷积层:
   输入:  W H C
    核尺寸
      filter(大小和个数) filter 的权值
      S Stride  P pading
	   卷积核高度、卷积核宽度、输入通道数、输出通道数(卷积核个数) 步长
	    每个卷积核都还有一个 Bias 参数
   输出: W  H  Depth
   局部连接和权值共享--参数数量
 Pooling 层-下采样
    通过去掉 Feature Map 中不重要的样本,进一步减少参数数量
     Max Pooling。Max Pooling 实际上就是在 n*n 的样本中取最大值,作为采样后的样本值
	  3×3 或 2×2,步长为 1 或 2
 激活函数 非线性-单调-可微性
    用非线性来逼近任意函数
    激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类
	  (0,1)  sigmoid 
	  (-1,1) tanh
	  [0,+∞) Relu  单侧抑制,稀疏激活性 相对宽阔的兴奋边
	   (0,+∞) SoftPlus 
	   (-∞,+∞) Leak Relu
	   归一化指数函数,或称Softmax函数-将多分类的结果以概率的形式展现出来
 
 超参数
    学习率(learning rate)、梯度下降法迭代的数量(iterations)、
	 隐藏层数目(hidden layers)、隐藏层单元数目、
	 激活函数( activation function)
	 
Batch_Size 	 
参数重写(Reparameterization) 归一化 局部响应归一化 Batch Normalization
   批量归一化(Batch Normalization,以下简称 BN) Batch Normalization 是对网络某一层输入数据进行 normalization
   群组归一化 Group Normalization (简称 GN)
   
用别人的参数、修改后的网络和自己的数据进行训练,使得参数适应自己的数据,这样一个过程,通常称之为微调(fine tuning)
   finetune 的过程相当于继续训练,跟直接训练的区别是初始化的时候,直接训练是按照网络定义指定的方式初始化,直接训练是按照网络定义指定的方式初始化
偏差初始化陷阱 
正则化 Dropout: Dropout可以随机删除网络中的神经单元 dropout率 
随机丢弃技术(dropout)选择性地忽略训练中的单个神经元,避免模型的过拟合

 梯度下降法是一个广泛被用来最小化模型误差的参数优化算法。梯度下降法通过多次迭代,并在每一步中最小化成本函数	
    learning_rate end_learning_rate alpha
	decay_rate  decay_steps
	分段常数衰减   指数衰减   自然指数衰减  多项式衰减 余弦衰减

数据增强

	Color Jittering 
    Random Scale  Random Crop	
    Label Shuffle		

训练

 学习率、初始化权重、以及尽可能细致的参数更新策略		
posted @ 2023-02-08 15:43  辰令  阅读(43)  评论(0编辑  收藏  举报