深度学习之表示学习 - 引言篇
序言
在数据爆炸的今天,如何从纷繁复杂的信息中抽取有价值的知识,成为了人工智能领域亟待解决的核心问题。深度学习,作为机器学习的一个重要分支,以其强大的特征表示能力和自动化学习特性,引领了这场数据革命的浪潮。而表示学习( Representation Learning \text{Representation Learning} Representation Learning),则是深度学习中的核心灵魂,它致力于让机器能够自动地学习数据的有效表示形式,即学习如何将原始数据(如图像、文本、声音等)转换成更高级、更抽象、更易于理解和处理的形式。这一过程不仅极大地提升了模型处理复杂数据的能力,还促进了人工智能技术在计算机视觉、自然语言处理、语音识别等多个领域的突破性进展。
表示学习(Representation Learning)
- 在本篇中,首先我们会讨论学习表示是什么意思,以及表示的概念如何有助于深度框架的设计。
- 我们探讨学习算法如何在不同任务中共享统计信息,包括使用无监督任务中的信息完成监督任务。
- 共享表示有助于处理多模式或多领域,或是将已学到的知识转移到样本很少或没有、但任务表示依然存在的任务上。
- 最后,我们回溯去探讨表示学习成功的原因,从分布式表示 ( Hinton et al., 1986 \text{Hinton et al., 1986} Hinton et al., 1986) 和深度表示的理论优势,最后会讲到数据生成过程潜在假设的更一般概念,特别是观测数据的基本成因。
- 很多信息处理任务,非常容易或者非常困难,这取决于信息是如何表示的。
- 这是一个普适于日常生活,普适于计算机科学的基本原则,也普适于机器学习。
- 例如,对于人而言,可以直接使用长除法计算 210 210 210 除以 6 6 6。
- 但如果使用罗马数字表示,这个问题就没那么直接了。
- 大部分现代人在计算 CCX \text{CCX} CCX除以 VI \text{VI} VI时,都会将其转化成阿拉伯数字,从而使用位值系统的长除法。
- 更具体地,我们可以使用合适或不合适的表示来量化不同操作的渐近运行时间。
- 例如,插入一个数字到有序表中的正确位置,如果该数列表示为链表,那么所需时间是 O ( n ) O(n) O(n);如果该列表表示为红黑树,那么只需要 O ( log n ) O(\log n) O(logn) 的时间。
- 在机器学习中,到底是什么因素决定了一种表示比另一种表示更好呢?
- 一般而言,一个好的表示可以使随后的学习任务更容易。
- 选择什么表示通常取决于随后的学习任务。
- 我们可以将监督学习训练的
前馈网络
视为表示学习的一种形式。- 具体地,网络的最后一层通常是线性分类器,如 softmax \text{softmax} softmax回归分类器。
- 网络的其余部分学习出该分类器的表示。
- 监督准则下的训练自然会使得每个隐藏层(比较接近顶层的隐藏层)的表示趋向于具有使训练任务更容易的性质。
- 例如,输入特征线性不可分的类别可能在最后一个隐藏层变成线性可分离的。
- 原则上,最后一层可以是另一种模型,如最近邻分类器 ( Salakhutdinov and Hinton, 2007a \text{Salakhutdinov and Hinton, 2007a} Salakhutdinov and Hinton, 2007a)。
- 倒数第二层的特征应该根据最后一层的类型学习不同的性质。
- 前馈网络的监督训练并没有给学习到的中间特征明确强加任何条件。
- 其他的表示学习算法往往会以某种特定的方式明确设计的表示。
- 例如,我们想要学习一种使得密度估计更容易的表示。
- 具有更多独立性的分布会更容易建模,因此,我们可以设计鼓励表示向量 h \boldsymbol{h} h 中元素之间相互独立的目标函数。
- 就像监督网络,
无监督深度学习算法
有一个主要的训练目标,但也额外地学习出了表示。 - 不论该表示是如何得到的,它都可以用于其他任务。
- 另外,很多任务(有些是监督的,有些是无监督的)可以通过共享的内部表示一起学习。
- 大多数表示学习算法都会在保留尽可能多和输入相关的信息和追求良好的性质(如独立性)之间做出权衡。
- 表示学习特别有趣,因为它提供了进行无监督学习和半监督学习的一种方法。
- 我们通常会有非常大量的无标签的训练数据和相对较少的有标签的训练数据。
- 在非常有限的有标签的数据集上监督学习通常会导致严重的过拟合。
- 半监督学习通过进一步学习无标签的数据,来解决过拟合的问题。
- 具体地,我们可以从无标签的数据上学习出很好的表示,然后用这些表示来解决监督学习问题。
- 人类和动物能够从非常少的有标签的样本中学习。
- 我们至今仍不知道这是如何做到的。
- 有许多假说解释人类的卓越学习能力——例如,大脑可能使用了大量的分类器或者贝叶斯推断技术的集成。
- 一种流行的假说是,大脑能够利用无监督学习和半监督学习。
- 利用无标签的数据有多种方式。
- 在本篇中,我们主要探讨无标签的数据可以学习出更好的表示。
总结
- 表示学习作为深度学习的基石,通过无监督学习、监督学习或半监督学习等方式,使模型能够自动捕捉数据的内在结构和规律,生成高效、紧凑的数据表示。这种表示不仅减少了数据的冗余,还增强了数据的可解释性和泛化能力,为后续的预测、分类、聚类等任务奠定了坚实的基础。
- 随着研究的深入和技术的进步,表示学习正不断推动着深度学习向更加智能化、高效化的方向发展,为人工智能的广泛应用和普及开辟了广阔的前景。
- 在未来的发展中,我们有理由相信,表示学习将继续在人工智能领域发挥关键作用,引领我们迈向更加智能、便捷的未来。
往期内容回顾
深度网络现代实践 - 深度前馈网络介绍篇
应用数学与机器学习基础 - 无监督学习算法篇
相关文章:

深度学习之表示学习 - 引言篇
序言 在数据爆炸的今天,如何从纷繁复杂的信息中抽取有价值的知识,成为了人工智能领域亟待解决的核心问题。深度学习,作为机器学习的一个重要分支,以其强大的特征表示能力和自动化学习特性,引领了这场数据革命的浪潮。…...

Linux驱动开发 ——架构体系
只读存储器(ROM) 1.作用 这是一种非易失性存储器,用于永久存储数据和程序。与随机存取存储器(RAM)不同,ROM中的数据在断电后不会丢失,通常用于存储固件和系统启动程序。它的内容在制造时或通过…...

Django一分钟:lookupAPI详解,使用django orm生成高效的WHERE子句
一、Lookup API概述 Lookup API是Django用于构建数据库查询WHERE子句的API。 Lookup API的核心包含两部分: RegisterLookupMixin:为子类提供注册lookup的方法Query Expression API:一个接口,规定了可以被注册为lookup的类需要实…...

信息安全工程师(8)网络新安全目标与功能
前言 网络新安全目标与功能在当前的互联网环境中显得尤为重要,它们不仅反映了网络安全领域的最新发展趋势,也体现了对网络信息系统保护的不断加强。 一、网络新安全目标 全面防护与动态应对: 目标:建立多层次、全方位的网络安全防…...

返利机器人在电商返利系统中的负载均衡实现
返利机器人在电商返利系统中的负载均衡实现 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们来聊一聊如何在电商返利系统中实现返利机器人的负载均衡,尤其是在面对高并发和大量…...

MATLAB中typecast函数用法
目录 语法 说明 示例 将整数转换为相同存储大小的无符号整数 将 8 位整数转换为单精度 将 32 位整数转换为 8 位整数 将 8 位整数转换为 16 位整数 提示 typecast函数的功能是在不更改基础数据的情况下转换数据类型。 语法 Y typecast(X,type) 说明 Y typecast(X,…...

植物大战僵尸【源代码分享+核心思路讲解】
植物大战僵尸已经正式完结,今天和大家分享一下,话不多说,直接上链接!!!(如果大家在运行这个游戏遇到了问题或者bug,那么请私我谢谢) 大家写的时候可以参考一下我的代码思…...

变压器设备漏油数据集 voc txt
变压器设备漏油数据集 油浸式变压器通常采用油浸自冷式、油浸风冷式和强迫油循环三种冷却方式。该数据集采集于油浸式变压器的设备漏油情况,一般用于变电站的无人巡检,代替传统的人工巡检,与绝缘子的破损检测来源于同一课题。数据集一部分来自…...

算法练习题25——leetcode3279统计重新排列后包含另一个字符串的子字符串的数目(滑动窗口 双指针 哈希)
题目描述 解题思路 本题用到了滑动窗口 双指针 哈希 刚开始我是没读懂题的因为我笨 我想把我的思路说一下 左端不轻易缩小 只有找到跟word2匹配了 比如说abbcdd 遍历到c的时候才能匹配这个word2 对吧 那么之后加上以一个d或者俩d 都符合了 然后我们算完了 才能缩小左端 扩大…...

JavaEE: 深入探索TCP网络编程的奇妙世界(二)
文章目录 TCP核心机制TCP核心机制二: 超时重传为啥会丢包?TCP如何对抗丢包?超时重传的时间设定超时时间该如何确定? TCP核心机制 前一篇文章 JavaEE: 深入探索TCP网络编程的奇妙世界(一) 书接上文~ TCP核心机制二: 超时重传 在网络传输中,并不会一帆风顺,而是可能出现&qu…...

GPT1-GPT3论文理解
GPT1-GPT3论文理解 视频参考:https://www.bilibili.com/video/BV1AF411b7xQ/?spm_id_from333.788&vd_sourcecdb0bc0dda1dccea0b8dc91485ef3e74 1 历史 2017.6 Transformer 2018.6 GPT 2018.10 BERT 2019.2 GPT-2 2020…...

C/C++内存管理 ——
目录 五、C/C内存管理 1、C/C内存分布 2、C语言中动态内存管理方式:malloc/calloc/realloc/free 3、C内存管理方式 1.new/delete操作内置类型 2.new和delete操作自定义类型 4、operator new与operator delete函数 5、new和delete的实现原理 1.内置类…...

深度学习02-pytorch-04-张量的运算函数
在 PyTorch 中,张量(tensor)运算是核心操作之一,PyTorch 提供了丰富的函数来进行张量运算,包括数学运算、线性代数、索引操作等。以下是常见的张量运算函数及其用途: 1. 基本数学运算 加法运算:…...

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【文件系统】上
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 子系统开发内核 轻量系统内核(LiteOS-M) 轻量系统内核&#…...

NISP 一级 | 8.4 《网络安全法》
关注这个证书的其他相关笔记:NISP 一级 —— 考证笔记合集-CSDN博客 2017 年 6 月 1 日,《中华人民共和国网终安全法》(以下简称《网终安全法》)正式实施。这是我国第一部全面规范网络空间安全管理方面问题的基础性法律࿰…...

实现人体模型可点击
简化需求:实现项目内嵌人体模型,实现点击不同部位弹出部位名称 一:优先3d, 方案:基于three.js,.gltf格式模型,vue3 缺点:合适且免费的3d模型找不到,因为项目对部位有要…...

C++ | Leetcode C++题解之第429题N叉树的层序遍历
题目: 题解: class Solution { public:vector<vector<int>> levelOrder(Node* root) {if (!root) {return {};}vector<vector<int>> ans;queue<Node*> q;q.push(root);while (!q.empty()) {int cnt q.size();vector<…...

Pandas简介
Pandas 是一个流行的开源数据分析库,它是基于 NumPy 构建的,为 Python 编程语言提供了高性能、易用的数据结构和数据分析工具。Pandas 主要用于数据清洗、数据转换、数据分析等任务,使得数据处理工作变得更加高效和便捷。 Pandas 的两个主要…...

Python | Leetcode Python题解之第430题扁平化多级双向链表
题目: 题解: class Solution:def flatten(self, head: "Node") -> "Node":def dfs(node: "Node") -> "Node":cur node# 记录链表的最后一个节点last Nonewhile cur:nxt cur.next# 如果有子节点&#…...

机器人机构、制造
简单整理一下,在学习了一些运动学和动力学之类的东西,简单的整合了一些常用的机械结构和图片。 1.电机: 市面上的电机有:直流电机,交流电机,舵机,步进电机,电缸,无刷电…...

《拿下奇怪的前端报错》:nvm不可用报错`GLIBC_2.27‘‘GLIBCXX_3.4.20‘not Found?+ 使用docker构建多个前端项目实践
有些前端的小伙伴可能会好奇,nvm是什么?这里接简单介绍下,它是一个Nodejs版本管理工具。为什么需要它呢?当然是需要多个Nodejs版本的时候,那什么时候需要多个Nodejs版本?那肯定是在有点年头的公司了&#x…...

5.《DevOps》系列K8S部署CICD流水线之K8S通过Yaml部署GitLab
架构 服务器IP服务名称硬件配置192.168.1.100k8s-master8核、16G、120G192.168.1.101k8s-node18核、16G、120G192.168.1.102k8s-node28核、16G、120G192.168.1.103nfs2核、4G、500G操作系统:Rocky9.3 后续通过K8S部署Jenkins NFS的SC创建参考:2.《DevOps》系列K8S部署CICD流…...

[SAP ABAP] 创建数据库视图和维护视图
数据准备 学校表(ZDBT_SCH_437) 学生表(ZDBT_STU_437) 学校表(ZDBT_SCH_437)与学生表(ZDBT_STU_437)字段 学校表(ZDBT_SCH_437)与学生表(ZDBT_STU_437)行数据明细 1.创建数据库视图 使用SE11创建数据库视图 填写视图名称ZV_DATABASEV_437,点击创建按钮 选择数据库视…...

【最快最简单的排序 —— 桶排序算法】
最快最简单的排序 —— 桶排序算法 桶排序是一种排序算法,其工作原理是将数据分到有限数量的桶子里,然后对每个桶内的元素进行单独排序,最后依次把各个桶中的记录列出来。桶排序的效率取决于映射函数的选择和桶的数量。 桶排序适用于数据分…...

AI时代,服务器厂商能否打破薄利的命运?
文|刘俊宏 编|王一粟 AI大模型正在引发新一轮的“算力焦渴”。 近日,OpenAI刚发布的o1大模型再次刷新了大模型能力的上限。对比上一次迭代的版本,o1的推理能力全方位“吊打”了GPT-4o。更优秀的能力,来自与o1将思维…...

2024年9月python二级易错题和难题大全(附详细解析)(二)
2024年9月python二级易错题和难题大全(附详细解析)(二) 第1题第2题第3题第4题第5题第6题第7题第8题第9题第10题第11题第12题第13题第14题第15题第16题第17题第18题第19题第20题第1题 1、以下代码的输出结果是() x = 12 + 3 * ((5 * 8) - 14) // 6 print(x) A、25.0 B、6…...

4.结构型设计模式 - 第1回:引言与适配器模式 (Adapter Pattern) ——设计模式入门系列
一、引言 在现代软件开发中,设计模式是帮助我们解决复杂问题的工具,它们提供了在常见场景下重用已验证解决方案的途径。而结构型设计模式主要关注类与对象之间的组合方式,旨在通过增强灵活性和降低耦合度来改进代码的结构。 本次讨论的是结…...

解决mybatis plus 中 FastjsonTypeHandler无法正确反序列化List类型的问题
由于是根据自动映射类型,我们设置的字段类型是List 也就是反序列化的时候也只是用 FastjsonTypeHandler中的 Override protected Object parse(String json) { return JSON.parseObject(json, type); } 反序列化方法,这是type为List 反序列后我们并没…...

MacOS安装homebrew,jEnv,多版本JDK
1 安装homebrew homebrew官网 根据官网提示,运行安装命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"安装后,bash会提示执行两条命令 (echo; echo eval "$(/opt/homebrew/b…...

【HTTP】认识 URL 和 URL encode
文章目录 认识 URLURL 基本格式**带层次的文件路径****查询字符串****片段标识符** URL encode 认识 URL 计算机中非常重要的概念,并不仅仅是在 HTTP 中使用。用来描述一个网络资源所处的位置,全称“唯一资源定位符” URI 是“唯一资源标识符“严格的说…...