通俗易懂介绍机器学习与深度学习的差别-程序员宅基地

技术标签: YOLO  python  机器学习  计算机视觉  深度学习  目标检测  人工智能  

机器学习和深度学习变得越来越火。突然之间,不管是了解的还是不了解的,所有人都在谈论机器学习和深度学习。无论你是否主动关注过数据科学,你应该已经听说过这两个名词了。
为了展示他们的火热程度,我在 Google trend 上搜索了这些关键字:

如果你想让自己弄清楚机器学习和深度学习的区别,请阅读本篇文章,我将用通俗易懂的语言为你介绍他们之间的差别。下文详细解释了机器学习和深度学习中的术语。并且,我比较了他们两者的不同,别说明了他们各自的使用场景。

什么是机器学习和深度学习?

让我们从基础知识开始:什么是机器学习?和什么是深度学习?如果你对此已有所了解,随时可以跳过本部分。

什么是机器学习?
一言以蔽之,由 Tom Mitchell 给出的被广泛引用的机器学习的定义给出了最佳解释。下面是其中的内容:

“计算机程序可以在给定某种类别的任务 T 和性能度量 P 下学习经验 E ,如果其在任务 T 中的性能恰好可以用 P 度量,则随着经验 E 而提高。”

是不是读起来很绕口呢?让我们用简单的例子来分解下这个描述。

示例 1:机器学习和根据人的身高估算体重

假设你想创建一个能够根据人的身高估算体重的系统(也许你出自某些理由对这件事情感兴趣)。那么你可以使用机器学习去找出任何可能的错误和数据捕获中的错误,首先你需要收集一些数据,让我们来看看你的数据是什么样子的:

图中的每一个点对应一个数据,我们可以画出一条简单的斜线来预测基于身高的体重

例如这条斜线:
Weight (in kg) = Height (in cm) - 100
…这些斜线能帮助我们作出预测,尽管这些斜线表现得很棒,但是我们需要理解它是怎么表现的,我们希望去减少预测和实际之间的误差,这也是衡量其性能的方法。
深远一点地说,我们收集更多的数据 (experience),模型就会变得更好。我们也可以通过添加更多变量(例如性别)和添加不同的预测斜线来完善我们的模型。


示例2:飓风预测系统

我们找一个复杂一点的例子。假如你要构建一个飓风预测系统。假设你手里有所有以前发生过的飓风的数据和这次飓风产生前三个月的天气信息。
如果要手动构建一个飓风预测系统,我们应该怎么做?

首先我们的任务是清洗所有的数据找到数据里面的模式进而查找产生飓风的条件。

我们既可以将模型条件数据(例如气温高于40度,湿度在80-100等)输入到我们的系统里面生成输出;也可以让我们的系统自己通过这些条件数据产生合适的输出。
我们可以把所有以前的数据输入到系统里面来预测未来是否会有飓风。基于我们系统条件的取值,评估系统的性能(系统正确预测飓风的次数)。我们可以将系统预测结果作为反馈继续多次迭代以上步骤。
让我们根据前边的解释来定义我们的预测系统:我们的任务是确定可能产生飓风的气象条件。性能P是在系统所有给定的条件下有多少次正确预测飓风。经验E是我们的系统的迭代次数。

什么是深度学习?

深度学习的概念并不新颖。它已经存在好几年了。但伴随着现有的所有的炒作,深度的学习越来越受到重视。正如我们在机器学习中所做的那样,先来看看深度学习的官方定义,然后用一个例子来解释。
“深度学习是一种特殊的机器学习,通过学习将世界使用嵌套的概念层次来表示并实现巨大的功能和灵活性,其中每个概念都定义为与简单概念相关联,而更为抽象的表示则以较不抽象的方式来计算。”
这也有点让人混乱。下面使用一个简单示例来分解下此概念。

示例1: 形状检测

先从一个简单的例子开始,从概念层面上解释究竟发生了什么的事情。我们来试试看如何从其他形状中识别的正方形。

我们眼中的第一件事是检查图中是否有四条的线(简单的概念)。如果我们找到这样的四条线,我们进一步检查它们是相连的、闭合的和相互垂直的,并且它们是否是相等的(嵌套的概念层次结构)。
所以,我们完成了一个复杂的任务(识别一个正方形),并以简单、不太抽象的任务来完成它。深度学习本质上在大规模执行类似逻辑。

示例2: 猫 vs. 狗

我们举一个动物辨识的例子,其中我们的系统必须识别给定的图像中的动物是猫还是狗。阅读下此文,以了解深度学习在解决此类问题上如何比机器学习领先一步。

机器学习和深度学习的对比

现在的你应该已经对机器学习和深度学习有所了解,接下来我们将会学习其中一些重点,并比较两种技术。
数据依赖性
深度学习与传统的机器学习最主要的区别在于随着数据规模的增加其性能也不断增长。当数据很少时,深度学习算法的性能并不好。这是因为深度学习算法需要大量的数据来完美地理解它。另一方面,在这种情况下,传统的机器学习算法使用制定的规则,性能会比较好。下图总结了这一事实。

硬件依赖
深度学习算法需要进行大量的矩阵运算,GPU 主要用来高效优化矩阵运算,所以 GPU 是深度学习正常工作的必须硬件。与传统机器学习算法相比,深度学习更依赖安装 GPU 的高端机器。

特征处理
特征处理是将领域知识放入特征提取器里面来减少数据的复杂度并生成使学习算法工作的更好的模式的过程。特征处理过程很耗时而且需要专业知识。
在机器学习中,大多数应用的特征都需要专家确定然后编码为一种数据类型。
特征可以使像素值、形状、纹理、位置和方向。大多数机器学习算法的性能依赖于所提取的特征的准确度。
深度学习尝试从数据中直接获取高等级的特征,这是深度学习与传统机器学习算法的主要的不同。基于此,深度学习削减了对每一个问题设计特征提取器的工作。例如,卷积神经网络尝试在前边的层学习低等级的特征(边界,线条),然后学习部分人脸,然后是高级的人脸的描述。更多信息可以阅读神经网络机器在深度学习里面的有趣应用。

问题解决方式
当应用传统机器学习算法解决问题的时候,传统机器学习通常会将问题分解为多个子问题并逐个子问题解决最后结合所有子问题的结果获得最终结果。相反,深度学习提倡直接的端到端的解决问题。
举例说明:
假设有一个多物体检测的任务需要图像中的物体的类型和各物体在图像中的位置。

传统机器学会将问题分解为两步:物体检测和物体识别。首先,使用一个边界框检测算法扫描整张图片找到可能的是物体的区域;然后使用物体识别算法(例如 SVM 结合 HOG )对上一步检测出来的物体进行识别。
相反,深度学习会直接将输入数据进行运算得到输出结果。例如可以直接将图片传给 YOLO 网络(一种深度学习算法),YOLO 网络会给出图片中的物体和名称。

执行时间
通常情况下,训练一个深度学习算法需要很长的时间。这是因为深度学习算法中参数很多,因此训练算法需要消耗更长的时间。最先进的深度学习算法 ResNet完整地训练一次需要消耗两周的时间,而机器学习的训练会消耗的时间相对较少,只需要几秒钟到几小时的时间。
但两者测试的时间上是完全相反。深度学习算法在测试时只需要很少的时间去运行。如果跟 k-nearest neighbors(一种机器学习算法)相比较,测试时间会随着数据量的提升而增加。不过这不适用于所有的机器学习算法,因为有些机器学习算法的测试时间也很短。

可解释性
至关重要的一点,我们把可解释性作为比较机器学习和深度学习的一个因素。
我们看个例子。假设我们适用深度学习去自动为文章评分。深度学习可以达到接近人的标准,这是相当惊人的性能表现。但是这仍然有个问题。深度学习算法不会告诉你为什么它会给出这个分数。当然,在数学的角度上,你可以找出来哪一个深度神经网络节点被激活了。但是我们不知道神经元应该是什么模型,我们也不知道这些神经单元层要共同做什么。所以无法解释结果是如何产生的。
另一方面,为了解释为什么算法这样选择,像决策树(decision trees)这样机器学习算法给出了明确的规则,所以解释决策背后的推理是很容易的。因此,决策树和线性/逻辑回归这样的算法主要用于工业上的可解释性。

机器学习和深度学习用于哪些领域?

维基百科上关于机器学习的文章概述了所有使用机器学习的领域。这些包括:

  • 1.计算机视觉 用于车牌识别和面部识别等的应用。
  • 2.信息检索 用于诸如搜索引擎的应用 - 包括文本搜索和图像搜索。
  • 3.市场营销 针对自动电子邮件营销和目标群体识别等的应用。
  • 4.医疗诊断 诸如癌症识别和异常检测等的应用。
  • 5.自然语言处理,如情绪分析和照片标记等的应用。

未来发展趋势

本文概述了机器学习和深度学习及其差异。在本节中,我将分享我对机器学习和深度学习未来发展的观点。
首先,随着业内对数据科学和机器学习使用的日益增长的趋势,对于每个想要生存下来的公司来说,重视机器学习将变得非常重要。苹果正在 iPhone X 中使用机器学习,这标志着这项技术的发展方向。
深入学习让我们每天都感到惊讶,并将在不久的将来继续如此。这是因为深度学习是被证明为最先进的性能最好的技术之一。
针对机器学习和深度学习的研究将是持续的。但与前几年的研究仅限于学术界不同的是,机器学习和深度学习方面的研究将在业界和学术界都有爆发式的发展。而且拥有比以往更多的资助,更有可能成为人类整体发展的主旋律。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2301_81940605/article/details/135268645

智能推荐

C语言把100除以二重复10次,c语言经典案例100题.doc-程序员宅基地

文章浏览阅读430次。c语言经典案例100题c语言经典案例100题cdcd./c语言经典程序100例 - 笔记 - 周欢 - CSDN学生大本营 - Powered by UCenter Home首页资讯研发移动云计算空间学生论坛博客下载网摘程序员外包书店CTO俱乐部TUP培训充电高校club《 - 》日一二三四五六000000000000000000000000000000000000000000点 分2020..._求100除2十次方c语言

ThingJS官方示例(九):通过CityBuilder转出的url开发3D地图脚本_citybuilder地图怎么导出-程序员宅基地

文章浏览阅读1.3k次。#前端开发##3D可视化##物联网#明确虚拟场景的位置Citybuilder导出二次开发基础参数配置与修改CityBuilder(城市级场景搭建工具)使用起来足够简单,非常符合设计人员的使用习惯,那么,辛辛苦苦做好的城市级场景,如何交付给开发,在后续的环节中灵活使用?ThingJS平台早就考虑到了这个问题,统一了平台数据,支持CityBuilder转出url;平台加载地图组件之后,即可轻松二次开发。下面我们就来解析使用步骤,有任何问题请留言。明确虚拟场景的位置三维地球立足于世界坐标系,城_citybuilder地图怎么导出

JAVA——49.jsplitpane_java jsplitpane-程序员宅基地

文章浏览阅读284次。【jsplitpane】分割面板,一次性把两个组件显示在一个分割面板之中。JSplitPane用于划分两个(也只有两个) Components。_java jsplitpane

类 Unix 系统的文件目录结构_unix目录结构-程序员宅基地

文章浏览阅读533次,点赞7次,收藏10次。这些目录及其结构在 Unix-like 系统中是非常常见的,每个目录都有其特定的用途,能够帮助用户和系统管理员更好地组织和管理系统文件和数据。_unix目录结构

JavaScript如何对数字数组进行排序_js 0-100升序排序-程序员宅基地

文章浏览阅读355次。javaScript的Array.sort()方法被用来就地数组元素进行排序,并返回排序后的数组。在这里,我们将使用冒泡排序(简单排序技术)对数组元素进行升序排序。错误的输出:[100、12、23、25、31、75、81]正确的输出:[12、23、25、31、75、81、100]示例:本示例使用compare函数对数组元素进行升序排序。示例:本示例使用compare函数对数组元素进行降序排序。输入:[12,25,31,23,75,81,100]示例:本示例以字符串格式对数组元素进行排序。_js 0-100升序排序

【BAT】windows进程监控批处理,检测进程不在,则直接启动进程_批处理】如何启动进程-程序员宅基地

文章浏览阅读1.5k次。windows进程监控批处理,检测进程不在,则直接启动进程_批处理】如何启动进程

随便推点

解决gitblit运行问题_gitblit启动服务后本地无法访问,但是通过cmd启动可以正常访问-程序员宅基地

文章浏览阅读106次。开始想的是直接把IP地址固定下来,后面发现不行(因为我要连校园网,如果固定IP地址就会连不上校园网);所以后面我想把server.httpBindInterface和server.httpsBindInterface的IP地址变成0.0.0.0,gitblit.cmd可以运行,但是浏览器执行不出来;:每次运行gitblit都需要改一下server.httpBindInterface和server.httpsBindInterface的IP地址,因为每次登陆电脑会自动获取一个IP地址,每次都要改,很麻烦。_gitblit启动服务后本地无法访问,但是通过cmd启动可以正常访问

Sql完成对表数据的CRUD操作_crud操作的sql语句?。-程序员宅基地

文章浏览阅读371次。一、插入数据insert into 表名(列名1,列名2...) values(值1,值2,...);insert into student (sid,sname,sex,age) values (1,'zhangsan',1,18);-->如果插入所有字段,则可以简写为:insert into student values (1,'zhangsan',1,18);..._crud操作的sql语句?。

LTE无线网络覆盖优化与增强实践指南4.2-程序员宅基地

文章浏览阅读938次,点赞23次,收藏24次。通过以上分析,各个场景覆盖情况(室外宏基站对室内或车内深度覆盖)及保证良好语音感知质量的边缘 RSRP 与 SINR 门限如表 8-24 所示。对于市区室内场景,不同场景中 VoLTE 高清语音对边缘覆盖指标 RSRP 门限大致相当,SINR门限稍有差异,其中当 MOS 评分要求较高时,低层建筑深度覆盖对 SINR 值要求相对较高。

ISP流程概述-程序员宅基地

文章浏览阅读1.2k次。一、概述 ISP(Image Signal Processor), 即图像信号处理, 主要作用是对前端图像传感器输出的信号做后期处理, 依赖于 ISP 才能在不同的光学条件下都能较好的还原现场细节。Cmos YUV sensor 的 ISP 处理流程如图所示:景物通过 Lens 生成的光学图像投射到 sensor 表面上, 经过光电转换为模拟电信号, 消噪声后经过 A/D 转换后变..._isp流程

堆取料机防碰撞系统促进港口物料搬运效率进行提档升级_港口取料机防碰撞方法-程序员宅基地

文章浏览阅读693次。第1章 系统简介 概述 随着水路运输业的快速发展,现代港口规模和吞吐量不断增长,港口各种装卸设备数量不断增加,如何高效可靠使用这些装卸设备是各港口单位关心的问题。港口装卸设备中主要的斗轮堆取料机又称悬臂式堆取料机,是散货堆场作业的核心设备。它是堆取料合一的机械,即是一种挖取和堆存煤炭、矿石、砂石等松散物料的高效率机械。它不仅适用于电厂,而且在码头、港口也很适用,大多数的转运煤及松散物料..._港口取料机防碰撞方法

SQLAlchemy 第一篇_sqlalchamy with-程序员宅基地

文章浏览阅读566次,点赞11次,收藏9次。在下面的示例中,上下文管理器提供了数据库连接,并且还构建了事务内部的操作。Python DBAPI 的默认行为包括事务始终在进行中;当连接范围被释放时,会发出 ROLLBACK 来结束事务。当我们想要提交数据时,我们通常需要调用Connection.commit()方法,可以隐式开启一个事务。并且执行正常后,会自动提交。如果有异常发送,则会回滚。此处我们以pymysql为mysql的数据库驱动。_sqlalchamy with

推荐文章

热门文章

相关标签