算法人生(17):从“课程学习”到“逐步暴露心理疗法”
课程学习(Curriculum Learning)是一种机器学习里常用的策略,它的灵感来源于人类学习方式:学习从简单的概念开始,逐步过渡到更复杂的问题。它通过模仿教育领域中课程安排的思想,设计了一系列有序的任务或数据集,让机器学习模型可以更有效地学习,加快收敛速度并提高最终性能。
课程学习的核心原理是模仿人类学习的自然过程,即先学习基础知识,再逐步处理更复杂的任务。在这个过程中,模型首先训练简单的任务,这可以帮助模型建立起对问题基本结构的理解。随着训练的深入,逐渐增加任务的难度。这种渐进式地增加复杂度的方式,可以帮助模型更好地泛化到难度更高的任务上,避免模型陷入局部最优解,防止在学习初始阶段就遇到复杂问题而导致的学习困难或过拟合等问题。
步骤
-
定义课程:首先,需要根据学习任务设计一个课程,即一系列有序的数据集或任务集合。这需要确定哪些任务是简单的,哪些是复杂的,并需要对数据集进行分级或排序,以反映不同的难易程度。
-
分级训练:模型初始化后,需要根据任务的难易程度制定训练计划。最初,模型主要训练在较简单的任务或数据子集上。这些任务或数据应该包含主要的基础概念或易于识别的模式。
-
逐步学习:在模型在初级任务上表现良好之后,随着模型性能的提高,逐步过渡到更复杂的任务或数据。这可以通过增加数据的复杂度、引入噪声、或是改变任务的条件来实现。
-
评估与调整:在每个阶段结束时,评估模型的表现,并根据需要调整课程的内容、学习的速率或其他超参数。可能需要在不同的难度级别之间来回调整,以确保模型能够充分学习并适应各种情况。
-
循环迭代:重复上述过程,直到模型能够在最复杂的任务上达到令人满意的性能,就可以结束课程学习阶段。此时,模型应该已经发展出较好的泛化能力。
课程学习已经在多个领域已被成功应用,包括自然语言处理、计算机视觉和强化学习等。通过课程学习,模型不仅可以提高效率,还有助于提高对新任务的适应性和泛化能力。从课程学习的整个思路中,我们可以看到一个关键词“逐步”,它小心翼翼的提升难度,根据学习的结果来调整策略。这个思路也同样应用于个人管理,比如很有名的心理疗法““逐步暴露疗法”。
“逐步暴露疗法”(Gradual Exposure Therapy),也称为系统脱敏疗法,是一种常见于心理学领域的治疗方法,其基本原理是通过系统地、逐步地让当事人面对“引起恐惧或焦虑”的情境或刺激,从而减少当事人的恐惧反应和避免相应的行为。
逐步暴露疗法的基础是假设恐惧反应是通过学习获得的,因此可以通过系统的训练来“解除学习”。通过重复暴露于恐惧源,如果不出现预期的负面后果,那么当事人的大脑会逐渐学会不再将这些情境与恐惧或焦虑联系起来。虽然我们不一定会有心理治疗里的问题,但是我们可以借鉴这个方法的思路来改善生活中的小毛病,成就更好的自己。下面就简单介绍下这个方法的步骤 (从个人改善-拖延的角度来描述步骤):
-
评估与准备:首先可以对自己的小毛病进行分类、评估,确定哪种类型的小毛病最严重(此处假设是拖延),如果想改善拖延的话,能采用什么方法来改善等。比如,通过分析自己的拖延是由于自己太过于完美主义,总想等着有更多的时间、有更好的状态、有更多的灵感的时候才去做,那就可以针对这个原因的拖延来搜下解决方案,比如鼓励自己先迈出第一步,告诉自己唐僧取经的经书都少了一角,孙大圣说天地本不全等等,用这些来给自己强化“完美其实没必要,老天爷都容得了瑕疵(包括拖延)”,又为什么要对自己苛求完美呢?当然具体的解决方案还有很多,这里不赘述了。
-
制定暴露层级:根据自己拖延的程度,制定一个逐级暴露的计划(暴露级别)。比如,你的计划是想要让自己先迈出第一步,假设被你一直拖着不做的事情需要8个小时才能做完,你可以先从最简单的就开始做15分钟,这样就变得很容易了,你只需要做15分钟,很轻易就能达成。然后第二次开始做这件事,就可以增加到只要做30分钟,第三次就是1个小时,依次类推。虽然做这件事的速度还是不快,但是总好过一直拖着不做。
-
逐步暴露:制定好计划后,就开始实施你的计划,从15分钟开始去做被你拖延的事情,在这个过程中,要时刻关注自己的感受,是不是拖延感变少了,如果变少了,可以稍作休息后,继续进入下一级(30分钟),依次类推。如果某一级,你发现你的感受开始变的不舒适了,又想拖延了,比如在1个小时那一级你感到了拖延感增加了,那你就可以下次回到30分钟,再下次则改到45分钟(而不是1个小时)。这里只是举例,大家可以根据实际要改善的小问题自己调整。
-
持续评估和改进:每一次针对拖延的挑战,都需要保持对自我情绪的观察和分析背后的原因,可以书面记录下来自己的情绪和情绪产生的刺激物。根据自己分析的结果,对逐步暴露计划进行调整,让暴露计划更具适用性。
-
预防复发:拖延在被自己克服后,总会寻找机会再次攻击的,所以持续的预防复发很重要,要远离让你产生拖延的环境或刺激物,同时还要预防其他会引发拖延的元素产生新的刺激。因为光一个拖延症,背后的原因就有十多种,有因为害怕失败的,有因为有“约拿情结”(即想成功又害怕成功)等等,所以预防并远离可能产生拖延的刺激物很重要。当然,有时候防不胜防,那就兵来将挡水来土掩,什么新原因造成的,再找相应的解决方案。只要思想不滑坡,方法总比困难多!
本着万物的思维皆可跨界的原则,我们介绍了心理学中有名的“逐步暴露疗法”,跟人工智能里的“课程学习”的设计思路非常类似,都是“先从最简单的开始,看情况,逐步增加难度,状态不错,继续加难度,状态不太好,回滚后减轻难度再来,直到达到比较满意的状态”(好像跟减肥、健身的思路也差不多)。
佛说,人人都有觉性,所谓觉性(佛性),就是自己是自己最好的导师,自己就是自己的光,可以照耀自己的路。当然,关键点虽是这样,但是没有他人已经探索的好方法的指引,成为“自己的光”也是相当难的。就像佛经里没有佛法,但是没有佛经,看不见佛法,差不多的意思。(已经尽力表述了,但是总觉得差点意思,还请各位看官不要执着于文字的表述啊,明白意思就好!)。
既然这么多字都看下来了,那就收藏下,后面慢慢练习吧!
相关文章:
算法人生(17):从“课程学习”到“逐步暴露心理疗法”
课程学习(Curriculum Learning)是一种机器学习里常用的策略,它的灵感来源于人类学习方式:学习从简单的概念开始,逐步过渡到更复杂的问题。它通过模仿教育领域中课程安排的思想,设计了一系列有序的任务或数据…...

C++仿函数周边及包装器
我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》࿱…...

改进灰狼算法优化随机森林回归预测
灰狼算法(Grey Wolf Optimization,GWO)是一种基于自然界灰狼行为的启发式优化算法,在2014年被提出。该算法模仿了灰狼群体中不同等级的灰狼间的优势竞争和合作行为,通过不断搜索最优解来解决复杂的优化问题。 灰狼算法…...
Hadoop生态系统的核心组件探索
理解大数据和Hadoop的基本概念 当我们谈论“大数据”时,我们指的是那些因其体积、速度或多样性而难以使用传统数据处理软件有效管理的数据集。大数据可以来自多种来源,如社交媒体、传感器、视频监控、交易记录等,通常包含了TB(太…...

命令行方式将mysql数据库迁移到达梦数据库(全步骤)
因项目需求,需要将mysql数据库转换为国产达梦数据库,但由于安全问题,正式环境只能用命令行方式连接,下列是操作全步骤 目录 一、操作逻辑二、操作步骤1、本地安装达梦相关工具2、将服务器mysql导出到本地a) 服务器命令行导出mysql…...

旅游系列之:庐山美景
旅游系列之:庐山美景 一、路线二、住宿二、庐山美景 一、路线 庐山北门乘坐大巴上山,住在上山的酒店东线大巴游览三叠泉,不需要乘坐缆车,步行上下三叠泉即可,线路很短 二、住宿 长江宾馆庐山分部 二、庐山美景...

杭州恒生面试,社招,3年经验
你好,我是田哥 一位朋友节前去恒生面试,其实面试问题大部分都是八股文,但由于自己平时工作比较忙,完全没有时间没有精力去看八股文,导致面试结果不太理想,HR说节后通知面试结果(估计是凉了&…...
python virtualenv 创建虚拟环境指定python版本,pip 从指定地址下载某个包
一、安装 pip install virtualenv是python3 的话 换成 pip3 如果下载过慢可以从国内链接下载 如下从阿里云下载 pip3 install -i https://mirrors.aliyun.com/pypi/simple virtualenv二、创建指定python版本的虚拟环境 virtualenv venv --pythonpython3.12这里的venv 为创…...
open feign支持调用form-data的接口
增加 consumes {MediaType.MULTIPART_FORM_DATA_VALUE}) 示例 PostMapping(value "/ocr", consumes {MediaType.MULTIPART_FORM_DATA_VALUE})DataResponse ocr(RequestPart("file") MultipartFile multipartFile,RequestPart("fileType") Str…...

ESD静电问题 | TypeC接口整改
【转自微信公众号:深圳比创达EMC】...

基于springboot+mybatis+vue的项目实战之前端
步骤: 1、项目准备:新建项目,并删除自带demo程序,修改application.properties. 2、使用Apifox准备好json数据的mock地址 3、编写基于vue的静态页面 4、运行 整个的目录结构如下: 0、项目准备 新建项目࿰…...

开源软件托管平台gogs操作注意事项
文章目录 一、基本说明二、gogs私有化部署三、设置仓库git链接自动生成参数四、关闭新用户注册入口 私有化部署gogs托管平台,即把gogs安装在我们自己的电脑或者云服务器上。 一、基本说明 系统环境:ubuntu 20.4docker安装 二、gogs私有化部署 前期准…...

Linux cmake 初窥【3】
1.开发背景 基于上一篇的基础上,已经实现了多个源文件路径调用,但是没有库的实现 2.开发需求 基于 cmake 的动态库和静态库的调用 3.开发环境 ubuntu 20.04 cmake-3.23.1 4.实现步骤 4.1 准备源码文件 基于上个试验的基础上,增加了动态库…...
centos学习- ps命令详解-进程监控的利器
ps命令详解:Linux进程监控的利器 在Linux系统管理中,进程监控是一个至关重要的环节。ps命令是Linux系统中一个功能强大的进程查看工具,通过它可以获取当前系统中所有进程的快照信息,并深入了解各个进程的详细信息。结合其各种选项…...

C++贪心算法
关于string的系统函数! (注:以下函数只可用于string,不适用其他类型的变量) ① a.size(); 这个系统函数是用来获取这个string变量的长度的,我们通常会新建一个变量来保存他,以便之后使用。 …...

访问网络附加存储:nfs
文章目录 访问网络附加存储一、网络附加存储1.1、存储类型1.3、通过NFS挂载NAS1.4、NFS挂载过程服务端客户端 二、实验:搭建NFS服务端及挂载到nfs客户端服务端客户端测试命令合集服务端客户端 访问网络附加存储 一、网络附加存储 1.1、存储类型 DAS:Di…...

jsp 实验12 servlet
一、实验目的 掌握怎样在JSP中使用javabean 二、实验项目内容(实验题目) 编写代码,掌握servlet的用法。【参考课本 上机实验1 】 三、源代码以及执行结果截图: 源代碼: inputVertex.jsp: <% page lang…...

「 网络安全常用术语解读 」通用配置枚举CCE详解
1. 背景介绍 NIST提供了安全内容自动化协议(Security Content Automation Protocol,SCAP)为漏洞描述和评估提供一种通用语言。SCAP组件包括: 通用漏洞披露(Common Vulnerabilities and Exposures, CVE):提供一个描述…...

一机游领航旅游智慧化浪潮:借助前沿智能设备,革新旅游服务效率,构建高效便捷、生态友好的旅游服务新纪元,开启智慧旅游新时代
目录 一、引言 二、一机游的定义与特点 (一)一机游的定义 (二)一机游的特点 三、智能设备在旅游服务中的应用 (一)旅游前的信息查询与预订支付 (二)旅游中的导航导览与互动体…...
设计模式学习笔记 - 项目实战三:设计实现一个支持自定义规则的灰度发布组件(实现)
概述 上两篇文章,我们讲解了灰度组件的需求和设计的思路。不管之前讲的限流、幂等框架,还是现在讲的灰度组件,功能性需求都不复杂,相反,非功能性需求是开发的重点。 本章,按照上篇文章的灰度组件的设计思…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...