Skip to content

前言

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”是一横一竖),再让他根据规则判断。而深度学习,直接给孩子看大量数字图片,让他自己总结规律。