前言
PyTorch是什么
在学习pytorch之前,我们需要了解一下PyTorch是什么,pytorch在学习过程中扮演着什么角色。
官网解释是PyTorch是一个由 Facebook开发的开源机器学习框架,主要用于深度学习和科学计算。简单来说,pytorch是我们在学习深度学习过程的一个工具,它提供了各种工具和接口,能够快速搭建模型,并且能够进行模型训练,模型测试,模型保存,模型加载等操作。就像木匠需要锯子和锤子一样,深度学习研究者需要 PyTorch这样的工具来构建和优化模型。
机器学习
在日常生活中,我们常常能听到机器学习和深度学习这两个概念,对此我产生过疑问,两者到底有什么区别是什么关系呢?
两者的关系是包含和被包含的关系。人工智能 ⊃ 机器学习 ⊃ 深度学习
机器学习(ML):
是让计算机通过算法从数据中学习规律,并做出预测或决策的技术。传统机器学习需要人工提取数据特征(如统计特征、纹理特征等),再训练模型(如决策树、SVM等)。
深度学习(DL):
是机器学习的一个子领域,核心是使用多层神经网络自动从原始数据中学习特征(无需人工干预)。它属于"表示学习"或"端到端学习"。
下面从多个维度进行比较。
对比维度 | 机器学习(ML) | 深度学习(DL) |
---|---|---|
定义 | 通过算法从数据中学习模式的AI技术 | ML的子集,使用多层神经网络自动学习特征 |
特征处理 | 依赖人工特征工程(如统计量、纹理提取) | 自动从原始数据中学习多层次特征(端到端) |
数据需求量 | 小规模数据即可(千~十万级样本) | 需要海量数据(百万级样本以上) |
计算资源 | CPU可运行,资源消耗低 | 依赖GPU/TPU,训练成本高 |
典型算法 | 决策树、SVM、随机森林、线性回归 | CNN、RNN、Transformer、ResNet |
模型复杂度 | 模型较简单(通常<1MB) | 极深网络(如GPT-3有1750亿参数) |
训练时间 | 分钟~小时级 | 小时~天级(大模型需数月) |
可解释性 | 高(可分析特征重要性) | 极低("黑箱"特性) |
硬件依赖 | 普通服务器 | 需高性能计算集群(如NVIDIA A100) |
适用场景 | 结构化数据、小样本分类/回归 | 非结构化数据(图像、语音、文本) |
代码示例 | sklearn 库(Python) | TensorFlow/PyTorch 框架 |
代表应用 | 信用卡欺诈检测、房价预测 | 人脸识别、ChatGPT、自动驾驶 |
传统机器学习,像教孩子认数字时,先告诉他规则(如“7”是一横一竖),再让他根据规则判断。而深度学习,直接给孩子看大量数字图片,让他自己总结规律。