Pytorch学习笔记-(一)基础入门
1.Pytorch学习笔记-(一)基础入门
2.Pytorch学习笔记-(二)搭建Pytorch环境(Pytorch2.1+CUDA12.1+Anaconda3_2023+Pycharm2023)3.YoloV5_RuntimeError: CUDA out of memory. Tried to allocate 100.00 MiB (GPU 0; 2.00 GiB total capacity; 1.15 GiB already allocated; 0 bytes free; 1.19 GiB reserved in total by PyTorch)4.Pytorch学习笔记-(三)张量一、认识神经网络
1、什么是神经网络?
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(长短期记忆网络);引入了输入门、遗忘门、输出门的概念,用于处理梯度消失和梯度爆炸问题。
- BLSTM:Bidirectional 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;
-
后续计划
构造一个神经元
构建一个神经网络
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/p/17764682.html
合集:
Pytorch深度学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2022-10-14 WPF-结合阿里巴巴矢量图标库使用ttf格式的图标字体