Pytorch学习笔记-(一)基础入门

一、认识神经网络

1、什么是神经网络?

  见:AI学习笔记(一)-初识AI

2、常见的深度学习算法

  • BP:Back-Propagation(反向传播算法),基本思想为‘信号正向传播’与‘误差反向传播’;即 输入样本从 输入层经 隐藏层传播到 输出层。若输出层的实际输出与期望不符,则误差将反向传播,误差以‘修正权值’的形式分摊给各层的所有神经元。存在的问题:①梯度消失(gradient vanishing)和梯度爆炸(gradient explosion)问题,②无法从没标签的数据中进行学习,③梯度下降方法导致陷入局部最优,神经网络层数到达适当的层数后再增加层数效果变差。
    • BPTT:BP Through Time(随时间反向传播算法)。
    • RTRL:Real-Time Recurrent Learning(实时循环学习),前向传播算法。
  • DNN:Deep Neural Networks(深度神经网络),也叫“深度前馈网络”;包括多个隐藏层和大量的神经元,DNN比NN(神经网络)多了一些隐层;
  • SRN:Simple Recurrent Network(简单循环网络),从单层“深度前馈网络出发构建递归连接;
  • CNN:Convolutional Neural Network(卷积神经网络),CNN的结构可以分为3层:卷积层池化层全连接层;但仍需要处理梯度消失梯度爆炸问题;
    • ResNet:Deep Residual Network(深度残余网络),是由微软亚洲研究院提出;通过引入残差模块(residual block)处理梯度消失和梯度爆炸等问题,成功地训练了高达152层的深度神经网络,成为了深度学习领域的经典模型之一。
  • RNN:Recurrent Neural Network(递归神经网络/循环神经网络),它比DNN,CNN多了'记忆'功能。但是任然需要处理梯度消失梯度爆炸问题;
    • Bi-RNN:Bidirectional RNN(双向循环神经网络)。
    • LSTM:Long Short-Term Memory networks(长短期记忆网络);引入了输入门、遗忘门、输出门的概念,用于处理梯度消失和梯度爆炸问题。
    • BLSTMBidirectional LSTM(双向长短期记忆网络)。
    • GRU:Gated Recurrent Unit networks(门控循环单元网络),该方法是LSTM之后另一个受到关注的RNN门控构架。
  • GAN:Generative Adversarial Networks(生成对抗网络)。
  • GNN:Graph Neural Networks(图卷积神经网络)。

3、神经网络的进化图

4、机器学习名词

(1)分类:

  • 分类算法用于将数据点划分到不同的类别中,预测一个或多个离散变量的取值
  • 分类算法的目标是找到一个最佳的决策边界,使得该边界可以在训练数据上最大化正确分类的数量,并在测试数据上具有良好的泛化能力。
  • 常见的分类算法包括:
    • 逻辑回归
    • 决策树
    • 支持向量机
    • 逻辑回归
    • ...
  • 常用于构建垃圾邮件过滤图像识别金融风控等离散变量的预测模型。

(2)聚类:

  • 聚类算法用于将数据点分成不同的组,每个组包含相似的数据点,预测无标签数据集中的数据点所属的群组
  • 聚类算法的目标是找到一种最佳的方式来划分数据点,使得同一组内的数据点相似度最高,不同组之间的相似度最低。
  • 常见的聚类算法包括:
    • K均值聚类
    • 层次聚类
    • DBSCAN
    • ...
  • 聚类算法常用于用户行为分析市场细分等无标签数据集的分析任务。例如,可以使用K均值聚类算法对客户进行分组,以便针对不同群体制定不同的营销策略,或者使用层次聚类算法将新闻文章按照主题进行分类,以便用户更方便地查找相关内容。

(3)回归:

  • 回归算法用于建立两个或多个变量之间的关系模型,通过对数据进行拟合,预测一个或多个连续变量的值
  • 回归算法的目标是找到一条最佳拟合曲线(直线、二次曲线等),使得该曲线在训练数据上的误差最小化。
  • 常见的回归算法包括:
    • 线性回归:寻找一条直线来预测数据;
    • 岭回归:在线性回归的基础上加入L2正则化项,以防止过拟合;
    • Lasso回归:在线性回归的基础上加入L1正则化,以防止过拟合;
    • ...
  • 回归算法常用于预测房价股票价格等连续变量的值;或使用线性回归模型预测某个城市未来一段时间内的平均温度,使用岭回归或Lasso回归模型预测销售额与广告投放费用之间的关系。

5、神经网络名词

(1)输入层、隐藏层、输出层、卷积层、池化层、全连接层

  • 输入层:

  • 隐藏层:

    • 卷积层(Convolutional Layer):主要作用是提取特征;
    • 池化层(Max Pooling Layer) :主要作用是向下采样;
    • 全连接层(Fully Connected Layer) :主要作用是分类;
  • 输出层:

(2)张量

  在Pytorch中,张量可以是一个数或一个数组(一维或更高维度)。Pytorch深度学习的相关计算与优化都会用到‘张量’。

(3)激活函数

 

(4)自动微分

 

(5)特征

  特征是指样本特性,比如识别一个苹果,苹果的颜色、形状就是它的特征。我们在提取特征时一般遵循以下原则:

  • 特征颗粒度:不是越细越好,比如识别一个自行车,特征颗粒度精确到“像素”不如精确到“车把、车轮所在的像素区域”
  • 特征鲜明:灵活选择‘浅层特征’与‘结构性(高层)特征’区分如下图;比如学校与住宅都是由‘混凝土构件’组成,我们可以按照‘混凝土构件’建成的风格进行区分。

  

(6)感知机与多层感知器

 

(7)梯度消失梯度爆炸

  • 梯度消失(gradient vanishing):

  • 梯度爆炸(gradient explosion):

6、深度学习需要注意的问题

(1)神经元数量

(2)选择最佳层数

(3)训练时间过长

(4)过拟合

 

7、Pytorch常见的类库或方法

  • 计算梯度:Tensor;

  •  

 

后续计划

  构造一个神经元

  构建一个神经网络

 

 

 

posted @   ꧁执笔小白꧂  阅读(171)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2022-10-14 WPF-结合阿里巴巴矢量图标库使用ttf格式的图标字体
点击右上角即可分享
微信分享提示