当前位置: 首页 > news >正文

【概念学习】什么是深度学习

人工智能

人工智能的简洁定义如下:努力将通常由人类完成的智力任务自动化。
因此,人工智能是一个综合性的领域,不仅包括机器学习与深度学习,还包括更多不涉及学习的方法。

在相当长的时间内,许多专家相信,只要程序员精心编写足够多的明确规则来处理知识,就可以实现与人类水平相当的人工智能。这一方法被称为符号主义人工智能。但它难以给出明确的规则来解决更加复杂、模糊的问题,比如图像分类、语言识别和语言翻译。于是出现了一种新的方法来替代符号主义人工智能,这就是机器学习

机器学习

机器学习的概念来自于图灵的这个问题:对于计算机而言,除了“我们命令它做的任何事情”之外,它能否自我学习执行特定任务的方法?计算机能否让我们大吃一惊?如果没有程序员精心编写的数据处理规则,计算机能否通过观察数据自动学会这些规则?

利用机器学习,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是规则。这些规则随后可应用于新的数据,并使计算机自主生成答案。
机器学习系统是训练出来的,而不是明确地用程序编写出来的。将与某个任务相关的许多示例输入机器学习系统,它会在这些示例中找到统计结构,从而最终找到规则将任务自动化。这是一门需要上手实践的学科,想法更多地是靠实践来证明,而不是靠理论推导。

给定包含预期结果的示例,机器学习将会发现执行一项数据处理任务的规则。因此,我们需要以下三个要素来进行机器学习。

  1. 输入数据点。
  2. 预期输出的示例。
  3. 衡量算法效果好坏的方法。这一衡量方法是为了计算算法的当前输出与预期输出的差距。衡量结果是一种反馈信号,用于调节算法的工作方法。这个调节步骤就是我们所说的学习

机器学习模型将输入数据变换为有意义的输出,这是一个从已知的输入和输出示例中进行“学习”的过程。因此,机器学习和深度学习的核心问题在于有意义地变换数据,换句话说,在于学习输入数据的有用表示—这种表示可以让数据更接近预期输出。

什么是表示?这一概念的核心在于以一种不同的方式来查看数据(即表征数据或将数据编码)。机器学习模型都是为输入数据寻找合适的表示—对数据进行变换,使其更适合手头的任务(比如分类任务)。

机器学习中的学习指的是,寻找更好数据表示的自动搜素过程。

所有机器学习算法都包括自动寻找这样一种变换:这种变换可以根据任务将数据转化为更加有用的表示。这些操作可能是前面提到的坐标变换,也可能是线性投影(可能会破坏信息)、平移、非线性操作等等。机器学习算法在寻找这些变换时通常没有什么创造性,而仅仅是遍历一组预先定义好的操作,这组操作叫作假设空间

这就是机器学习的技术定义:在预先定义好的可能性空间中,利用反馈信号的指引来寻找输入数据的有用表示。这个简单的想法可以解决相当多的智能任务,从语音识别到自动驾驶都能解决。

深度学习

深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新的方法,强调从连续的中进行学习,这些层对应于越来越有意义的表示。“深度学习”中的“深度”指的并不是利用这种方法所获取的更深层次的理解,而是指一系列连续的表示层。数据模型中包含多少层,这被称为模型的深度

在深度学习中,这些分层表示几乎总是通过叫做神经网络的模型来学习得到的。神经网络的结构是逐层堆叠。神经网络这一术语来自于神经生物学,然而,虽然深度学习的一些核心概念是人们对大脑的理解中汲取部分灵感而形成的,但深度学习模型不是大脑模型。没有证据表明大脑的学习机制与现代深度学习模型所使用的相同。

就我们的目的而言,深度学习是从数据中学习表示的一种数学框架。

你可以将深度网络看作多级信息蒸馏操作:信息穿过连续的过滤器,其纯度越来越高(即对任务的帮助越来越大)。

这就是深度学习的技术定义:学习数据表示的多级方法。这个想法很简单,但事实证明,非常简单的机制如果具有足够大的规模,将会产生魔法般的效果。

神经网络中每层对输入数据所做的具体操作保存在该层的权重中,其本质是一串数字。用术语来说,每层实现的变换由其权重来参数化,权重有时也被称为该层的参数。在这种语境下,学习的意义是为神经网络的所有层找到一组权重值,使得网络能够将每个示例输入与其目标正确地一一对应。

想要控制一件事情,首先需要能够观察它。想要控制神经网络的输出,就需要能够衡量该输出与预期值之间的距离。这就是神经网络损失函数的任务,该函数也叫作目标函数。

深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例对应的损失值。这种调节由优化器来完成,它实现了所谓的反向传播算法,这是深度学习的核心算法。

随着网络处理的示例越来越多,权重值也在向正确的方向逐步微调,损失值也逐渐降低。这就是训练循环(training loop),将这种循环重复足够多的次数(通常对数千个示例进行数十次迭代),得到的权重值可以使损失函数最小。具有最小损失的网络,其输出值与目标值尽可能地接近,这就是训练好的网络。再次强调,这是一个简单的机制,一旦具有足够大的规模,将会产生魔法般的效果

http://www.dtcms.com/a/317053.html

相关文章:

  • 希赛《华为 HCIA-Datacom 》核心考点之 NAT 技术解析
  • STM32F407VET6学习笔记11:smallmodbus_(多从机)创建新的slave从机
  • GPU 优化-用 tensor core实现5G Massive MIMO 64x64
  • 无人机开发分享——基于行为树的无人机集群机载自主决策算法框架搭建及开发
  • 【嵌入式电机控制#26】BLDC:三相模拟采集
  • springboot项目前后端通用下载方法、问题和解决方案
  • [滑动窗口]904. 水果成篮
  • Maven入门到精通
  • Linux网络编程基础-简易TCP服务器框架
  • Unity笔记(一)——生命周期函数、Inspector面板、MonoBehavior、GameObject
  • Go语言版JSON转TypeScript接口生成器:支持智能递归解析与命名优化
  • 超细整理,接口测试基础+流程,真实环境下怎么测...
  • [GESP202309 四级] 2023年9月GESP C++四级上机题题解,附带讲解视频!
  • 解锁音频创作新可能:AI 人声伴奏分离神器 Replay 深度解析
  • Python 进行点云ICP(lterative Closest Point)配准(精配准)
  • 【Java String】类深度解析:从原理到高效使用技巧
  • 数论手机辅助:打造便捷高效的移动应用交互体验
  • Wisdom SSH:数据库自动化运维的坚固基石
  • WARNING: Illegal reflective access by org.apache.ibatis.reflection.Reflector
  • 八股——IM项目
  • 多端同步新解法:Joplin+cpolar联合通过开源设计实现跨平台无缝协作?
  • 2025年测绘程序设计模拟赛一--地形图图幅编号及图廓点经纬度计算
  • Python日志记录库——logaid
  • 磁悬浮转子振动控制:主动电磁力如何成为高速旋转的“振动克星”
  • 数据集相关类代码回顾理解 | sns.distplot\%matplotlib inline\sns.scatterplot
  • LeetCode 刷题【31. 下一个排列】
  • Golang 基本数据类型
  • 【vibe coding】Kubernetes + Nginx Ingress 实现云端Workspace容器分配与域名访问方案
  • Linux lvm逻辑卷管理
  • MySQL间隙锁在查询时锁定的范围