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

监督学习

监督学习就像老师教学生做题,老师给你一套带答案的练习题。你通过反复练习这些题目,总结出解题规律。之后遇到新题目时,你就能根据学到的规律给出答案。

监督学习需要标签数据,学会从输入预测输出。

无监督学习

无监督学习就像孩子自己整理玩具,没有老师教你,而是给你一堆没有标签的玩具,你的任务是自己发现规律——比如按颜色、形状或大小把玩具分成几组,或者找出哪些玩具经常一起出现。

监督学习只有原始数据,发现数据的隐藏结构。

强化学习

强化学习就像训练小狗学技能,训练一只小狗做动作,小狗通过试错,记住哪些动作能获得零食,最终学会听指令。

强化学习没有标准答案,没人直接告诉小狗“怎么坐下”,它自己尝试。延迟反馈,可能试了很多次才偶然做对,然后强化记忆。

参考资料

动手学深度学习