解码 NLP:从萌芽到蓬勃的技术蜕变之旅
内容概况:
主要讲述NLP专栏的内容和NLP的发展及其在现代生活中的广泛应用。课程强调实践为主、理论为辅的学习方法,并通过多个生活场景展示了NLP技术的实际应用,如对话机器人、搜索引擎、翻译软件、电商推荐和智能客服等。
这边我就不多做自我介绍了,来讲下我们的专栏。这系列专栏主要讲解nlp的基础运用。主要会以实践为主、理论为辅的方式讲解主体内容。先解释下何为以实践为主、理论为辅,就是在篇章中重实践、轻概念化讲解理论。
因为NLP专栏包含诸多理论,如NLP本身以及机器学习、深度学习的很多理论,这些理论又多又杂。若单纯从理论开始讲,很多内容用不到,而且计算机科学是实践科学,需大量动手练习来提升能力。所以只有多练、多尝试、多思考,才能有好效果。
当然,我们的专栏也并非没有理论讲解,只是会点到为止,不会大面积推导公式。若大家对公式推导的理论感兴趣,可自行学习。在这系列专栏中,还是希望大家动起手来,按照已有代码多去练习、多去敲,这样或许能有代码的感觉,也多去思考,这样学习这门专栏可能会比较轻松
好,话不多说,我们开始这篇文章的日志。今天的主要是 nlp 概述,我们将从 nlp 的发展历史、重要人物、任务分类以及框架和会议介绍等方面,比较笼统地介绍一下 nlp 是什么、它可以做什么以及它是如何发展过来的。
首先,我们来看一个场景。假设有一个对话机器人,比如明天是周末,你想睡个懒觉,可以通过对话机器人设置闹钟。这在目前的生活中是比较常见的画面。大家看到这个场景后,脑海中应该会浮现出这样的画面。不过,可能目前你还没有直接用言语吩咐设备进行调整的习惯,但你可能经常使用搜索引擎。搜索引擎就是 nlp 的一个常见落地场景,还有我们常见的翻译软件。近些年,翻译软件做得越来越好,比以前强多了。不知道大家很久以前是否也用过类似的软件,以前的翻译软件比较机械,整句话翻译效果很差,现在则好很多。或者在网络购物的电商场景中,商品推荐也是 nlp 的落地场景,它可能需要用到自然语言知识,解析当前商品,再从库里找到相似商品推荐给用户,当然也可能会用到一些其他信息,比如用户特征等。还有比较常见的智能客服,目前我们见到的智能客服越来越多,以前客服主要以人工为主,现在一般由智能客服引导,若解决不了问题,用户输入 “人工客服” 四个字,就会自动转接人工客服。智能客服在我们生活中非常常见,它节省了公司很大的人力成本。可以说,随着我们使用的终端 APP 和各种产品越来越多,其中覆盖了非常多的 nlp(自然语言处理)应用。所以,我们说 nlp 发展的黄金时代已经到来。
那么,nlp 到底是什么呢?nlp 的英文全称是 national language processing,指的是计算机理解并处理人类的语言,也指实现人与计算机之间用自然语言进行有效沟通的各种理论方法。从本质上讲,我们想象中的人工智能,即有一个机器人可以与我们实现对话,其实本质就是 nlp 研究的核心内容,就是让计算机理解我们的语言,再通过计算机的逻辑回复我们。这就是 nlp 的主体内容。
今天,我们从五个方面来讲 nlp 的概述,分别是发展历史、关键人物、任务分类、框架介绍和会议介绍。先来看看发展历史。讲述 nlp 的发展历史,我将以时间线为轴,描述 nlp 或者说 AI 这门学科的几次兴起与没落。首先,nlp 相关的初始阶段在 20 世纪初,日内瓦大学的费南迪德教授提出了一种将语言描述为系统的方法。他是一位语言学家,想把语言变成结构化的东西。当时他主要考虑的是,如果能把语言变成结构化的东西进行处理和理解,那么不同语言之间的交互行为或翻译行为就会得到很大改善。很多人认为他是近代自然语言之父,他提出的把语言结构化的想法对后来 nlp 自然语言处理的很多概念起到了很大的推动作用。
接着,在 1950 年,图灵发表了一篇论文,名为《机器如何思考》。在这篇论文中,他探讨了机器怎样去思考,提出了真正具有智能机器的可能性。随后,在 1952 年,他正式提出了非常有名的图灵测试。如果一台机器能够与人类展开对话,并且能被 30% 以上的人类无法判别出其身份,即 30% 的人不知道它是机器人,以为它是真人,那么就说明这个机器具有人类智能。2014 年,一个俄国的智能机器人通过与人类的对话,其中 30% 以上的人无法知道它是一个机器人,以为它是一个 13 岁的小男孩,所以我们认为已经通过了图灵测试。但值得思考的是,即使现在已经通过了图灵测试,那个智能机器也不是真正具备人工智能的机器。首先,它局限于一个 13 岁的小男孩,问答范围和理解范围有限,并没有达到我们所理解的智能范畴。
我们认为,上个世纪 50 年代以来,人工智能的初始已经出现。兴起则是在 1956 年,达特茅斯学院举办了达特茅斯会议。这个会议非常有名,讨论的是如何让机器模仿人类学习以及具有一定的智能。一般认为这个会议标志着人工智能概念的诞生。这个会议出现的人物都很出名,基本上看到名称就能想起对应的数学公式。1958 年,达特茅斯会议的发起人麦卡锡在 IBM 工作时,带领一群麻省理工的学生开发了一门全新的表处理语言叫 LISP,它是 list processing 的缩写。它就是表处理语言嘛,你看,在 1958 年之前的编程语言以及计算机都比较简陋,不支持表处理。而 LISP 增强了符号的运算以及符号的推理,深受当时数学家的喜爱。它具备强大的数学能力,为后续的计算以及简单的人工智能探索奠定了基础。因此,LISP 被认为是人工智能的母语。如今看来,LISP 的架构形式与我们目前的编程语言不太一致,其想法在当下仍显得有些前卫。有兴趣的同学可以去查阅一下 LISP。
在 1964 年,随着 50 年代的兴起,到 60 年代后,NLP 走到了低谷时期。这一年出现了第一个智能对话程序 ——eliza。eliza 的实现方式较为简单,通过对句子的排列组合、语法规则以及设定好的规则,可以实现与人类的简单交流。这种交流非常简陋,可能现在随便写个代码都能实现。但要注意,这是在 1964 年,能做出这样的东西已经非常厉害了。早期的 Siri(苹果手机的对话系统),如果你问它 eliza 是谁,它可能会告诉你 eliza 是它的前辈。上世纪 60 年代后,由于计算能力的限制,尽管大量经费投入到 NLP 方向以实现人工智能,但得到的反馈并不好,人们对人工智能的预期和信心都下降了,所以 NLP 乃至 AI 都陷入了低谷时期。
随着 80 年代的到来,我们熟知的 SVM、LR 等初期机器学习模型出现了。在这个时间节点附近,卡内基梅隆大学召开了第一届机器学习国际研讨会,标志着机器学习的兴起,也意味着 AI 的再次回归。随着 80 年代后期机器学习模型的出现,感知机也问世了。人们开始探索多层感知机是否可以堆叠,随着 BP 反向传播算法的出现,多层感知机得以搭建,深度神经网络也有了雏形。与此同时,树模型也发展得比较火热,随着 ID3、C4.5 的出现,树模型在那个时候备受关注。可以认为,NLP 或者说 AI 再次兴起。不过,这里还有一些小故事。在 1980 年,专家系统非常火爆,可能一些上了年纪的朋友听说过。专家系统认为,使用专家构建的知识库加上推理机,可以做非常智能的事情,比如在金融领域和农业领域。在当时看来,它确实能解决很多问题,但专家系统的构建非常费力,维护成本也很高。尤其是当所在领域发生重大变革时,整个专家系统可能需要重新构建。因此,随着巨额支出和维护成本的增加,专家系统逐渐没落并被遗忘。但实际上,专家系统在很多领域目前仍有一定应用,所以很多人认为专家系统的兴起与衰落也是 AI 第二次的兴起与衰落。
我们来看一下第三次的兴起热潮。可以认为是从 97 年开始,也可以说是从 2000 年开始。1997 年,深蓝首次战胜了棋王卡斯帕罗夫。深蓝的主要策略是遍历策略,因为象棋棋盘大小有限,深蓝通过对每一步的遍历,背后可能有一个非常庞大的棋谱知识库,通过这种方式寻找最优的下一步,从而战胜了棋王。当时有人认为,由于象棋棋盘较小,所以可以通过遍历寻找最优解。而围棋棋盘及其遍历组合数甚至比当时已知宇宙的星星数量都多,计算机永远不可能战胜围棋选手。当然,我们现在知道,在 2016 年,围棋棋王也被打败了。后面我们还会介绍这件事。
我们还要介绍一个东西,即新一波热潮的引领者。在 2006 年到 2009 年期间,华裔教授李飞飞带领团队搭建了一个ImageNet 数据库。这里需要介绍一下这个数据库,它是一个图片数据库,最后收录了 1500 万张图片,并将这些图片分为大约 22000 多个类别。
为什么要有一个图片分类的类别呢?
我们可以思考一下,人类认知世界就是一个分类过程。假设你现在在看我的视频,你盯着屏幕,旁边放着一个杯子,里面有水。你看了一眼这个东西,认为这是一个杯子,这是你的杯子。为什么它是杯子呢?人类的认知和理解是通过认知和推理知道它是杯子的。但本身我们认识这个东西就是一个分类过程,因为我们知道这个是杯子,而旁边这个东西是床、床头柜或者桌子。这本身就是一个对立的分类问题。所以,李飞飞教授他们搞了这么庞大的图像分类数据集,就是想用来做图像分类。如果电脑能够做图像分类,知道这个是杯子,那个是桶,这个是桌子,那它就相当于有了一部分人工智能。在 2010 年,他们依靠这个数据集举办了ImageNet 挑战赛,一共连续举办了七年。这个挑战赛非常有价值,引领了新一轮深度学习 AI 的热潮。为什么这么说呢?因为在 2012 年之前,挑战赛没有使用所有的图片。它在里面选取了大概 150 万张图片,做千分类。在 2012 年之前,机器的最佳效果正确率大概在 70% 左右,错误率在 25% 到 30%,或者以前可能更低。但在 2012 年,当时的 hinton 和他的徒弟 Alex 提出了 Alex net 这样一个由 CNN 为架构的深度神经网络模型。首次的把这个比赛的分类项目(其实还有其他项目),**在 2012 年的时候,其 top5 的错误率达到了 15% 左右,直接领先了第二名大约十个点左右,在整个计算机视觉领域引起了轩然大波。**人们突然发现,哇,居然有这么强大的东西。那为什么这个深度学习模型的架构这么强呢?随着这股热潮引领之后,各大我们熟知的主力公司都开始入驻 image net 大赛,比如 Google、微软等一系列公司。在 2014 年的时候,Google 提出了 google net inception 模型(inception net),把错误率提到了 6.66 点七的水平。如果机器去分类图片,错误率在 6% 左右意味着什么呢?**意味着它跟人的能力已经类似了,一个人做图片分类也会有误差。**在 2014 年把错误率逼近到了 6% 左右。2015 年,微软提出的 res net(残差神经网络),理论上可以叠无限层。使用这样的图片分类模型,把计算机的错误率提到了 3% 点儿几,说明目前计算机去做 ImageNet 数据集上的图片分类任务已经超过人类。
在这之后,为什么连续七届的比赛不再举办分类项目了呢?实际上,人们认为计算机在分类项目上已经全面超越人类,不需要再做下去了。那之后又做了一些语义分割、图片理解之类的比赛。这个比赛在这一轮 AI 的兴起上意义非常重大,从图像分类作为切入点,引入了很多图像处理界的大公司加入,让人们突然认识到以深度神经网络为首的模型在图像领域可以超越人类,很不可思议。
随着到 2016 年之后,阿尔法狗和李世石的世界围棋大战,阿尔法狗赢了。这次的反响比之前深蓝战胜人类棋王的反响大很多。人类一直不认为计算机能在围棋上战胜人类,而且阿尔法狗发展非常快,在两年前(2014 年)计算机围棋刚刚起步,连一般选手都打不过,三年后就可以打败棋王。它融合了减值策略和强化学习,可以不断训练变强。这次比赛推动了 AI 风口的到来,阿尔法狗及其后续版本在国内围棋界引起轩然大波。后来 Google 把阿尔法狗的后续版本放到腾讯 QQ 游戏的围棋对战平台,横扫了国内厉害的围棋选手。现在基本上可以认为人类在围棋上很难打败人工智能。
说完这个热潮之后,2018 年,随着之前 NLP 的经验积累,Google 发布了以双向 transformer 为基础模型的大规模预训练语言模型 BERT。如果大家来上这门课,可能对 BERT 比较熟悉。BERT 确实使 NLP 的基础任务都得到了较大提升,NLP 开启了全面的预训练时代。在 16 年到 18 年这个节点,很多做科学研究的以及很多公司都从图像领域转接到了 NLP 领域。因为图像领域经过前些年的发展,基本上已经形成了一定的规模,很多方法论和模型已初步具备工业落地的能力,学术上的研究就变得没有那么火热了。而 NLP 在 16 年到 18 年逐渐开始起步,18 年 BERT 出来之后逐渐变得火热起来。
这其实就是人工智能或者说 NLP 的发展历史,可以发现这个发展历史是几次潮起潮落,在不断的前行中发展到了目前为止。前些年还有人说这轮 AI 是泡沫,是空谈,人工智能没有那么智能。在这里我也有一个自己的想法想表达。我们进入互联网时代已经有 20 多年了,20 多年的互联网时代给我们积累了大量的数据,我们一定会从大量数据里面去寻找特征,去优化我们目前已有的服务和生活,**AI 就是在这样的前景里诞生的。它其实可以不叫 AI,可以叫数据处理、数据挖掘等很多东西。但我认为在数据达到一定程度之后,我们一定会去运用数据去寻找规律,提升我们的产品和服务水平,这样的话 AI 一定会诞生的。**所以我个人非常看好目前我们做的这些东西的前景,因为它可能不是真正的人工智能,也不是我们想象中的智能机器人,但它可以渗透于各个行业,在各个行业里提供便利,减少人工成本,提高用户体验或趣味性等,它可以助力行业发展,而且覆盖的面非常广,只要是有数据积累、需要数据的行业它都可以发挥作用。
下一章节内容 关键人物故事分享
相关文章:
解码 NLP:从萌芽到蓬勃的技术蜕变之旅
内容概况: 主要讲述NLP专栏的内容和NLP的发展及其在现代生活中的广泛应用。课程强调实践为主、理论为辅的学习方法,并通过多个生活场景展示了NLP技术的实际应用,如对话机器人、搜索引擎、翻译软件、电商推荐和智能客服等。 这边我就不多做自我…...
【核心算法篇十五】《深度解析DeepSeek遗传算法:让超参数调优从“玄学”变“科学”的终极指南》
引言:超参数调优的“炼丹困局”与破局之路 在机器学习的世界里,调参工程师常被戏称为"炼丹师"——面对动辄几十个超参数的复杂模型,我们就像古代术士守着炼丹炉,不断尝试各种参数组合,期待偶然炼出"仙丹"。传统网格搜索(Grid Search)需要遍历所有可…...
Python—变量、基本数据类型、类型的转换
文章目录 Python—变量、基本数据类型1 格式化输出2 号的使用3 变量的数据类型4 type() 函数的使用5 数据类型的基本介绍5.1 int 整型5.2 float 浮点类型5.3 bool 布尔类型5.4 str 字符串类型5.5 字符串驻留机制5.6 数据类型的转换(1)隐式转换ÿ…...
启明星辰规则库下载
启明星辰规则库下载 一、脚本介绍 1、背景介绍 因为项目上有启明星辰的安全设备、并且在内网无法直接连接互联网进行在线升级,必须使用离线升级模式,下载规则库升级,每月一更有点繁琐,所以写了这个b脚本,偷懒一下&a…...
uniapp 拖拽排序
1.拖拽排序 使用 sortablejs库 npm install sortablejs --save-dev <template><view id"list"><view v-for"(item, index) in list" :key"item.id" class"item">{{ item.name }}</view></view> </t…...
测试。。。
移动到中位数位置能保证总移动距离最小,数学知识 #include <iostream> #include <vector> #include <cmath> using namespace std;int main() {int n;string s;cin >> n >> s;vector<int> positions;// 记录所有1的位置for (…...
Java常用设计模式及其应用场景
1. 什么是设计模式? 设计模式是一个经过多次验证的、针对常见问题的可复用解决方案。设计模式并不是具体的代码实现,而是给出了如何解决问题的思路和结构。在实际开发过程中,设计模式有助于开发者快速找到合适的解决方案,从而减少…...
2000字,极简版华为数字化转型方法论
作为国内科技行业的领军者,华为的成功经验为众多企业提供了宝贵的借鉴。本文将围绕准备、规划和执行三个阶段展开,结合华为的实践案例,深入剖析其数字化转型的方法论,希望能为您的企业数字化转型提供有益的参考。 一、数字化转型…...
Ubuntu:20.04更新cmake到更高版本
从输出信息可以看出,您当前的系统中已经安装了 cmake,但版本是 3.16.3,而您的项目需要 CMake 3.18 或更高版本。默认情况下,Ubuntu 20.04 的官方软件仓库中提供的 CMake 版本较低(如 3.16.3),因…...
【SpringBoot教程】Spring Boot + MySQL + Druid连接池整合教程
🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 前面毛毛张介绍过HikariCP连接池,今天毛毛张来介绍一下Druid连接池,SpringBoot 2.0以上默认使用HikariCP数据源,但是也要学会使用…...
基于SpringBoot实现的宠物领养系统平台功能一
一、前言介绍: 1.1 项目摘要 宠物领养需求增加:随着人们生活水平的提高和对宠物养护意识的增强,越来越多的人选择领养宠物作为家庭的一员。这导致了宠物领养需求的显著增加。 传统领养方式存在问题:传统的宠物领养方式…...
【DeepSeek 学C++】std::atomic 用于线程控制,和内存强顺序一致性
std::atomic<bool> workerTerminate_{}; std::atomic<bool> workerTerminate_{}; 是一个原子布尔变量的声明,变量名为 workerTerminate_。这种变量通常用于多线程编程中,用来控制或通知工作线程的终止。使用 std::atomic 可以确保对该变量的…...
计算存储一幅大小为 1024×10241024×1024、256 灰度级的图像所需的字节数
1. 图像的基本信息 图像分辨率:1024102410241024,表示图像有 1024 行和 1024 列,总像素数为: 102410241,048,576 像素102410241,048,576 像素 灰度级:256 灰度级,表示每个像素的灰度值可以用 256 个不同的值…...
Flutter 网络请求与数据处理:从基础到单例封装
Flutter 网络请求与数据处理:从基础到单例封装 在 Flutter 开发中,网络请求是一个非常常见的需求,比如获取 API 数据、上传文件、处理分页加载等。为了高效地处理网络请求和数据管理,我们需要选择合适的工具并进行合理的封装。 …...
从开发到部署:EasyRTC嵌入式视频通话SDK如何简化实时音视频通信的集成与应用
嵌入式设备和视频综合管理平台均支持B/S架构。在B/S架构下,传统的视频观看方式依赖于微软的OCX控件,然而OCX控件的使用正面临越来越多的挑战: 首先,用户需要安装浏览器插件、调整浏览器安全级别,并允许ActiveX控件弹出…...
Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300的秘密武器
嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 企业级应用开发的需求日益增长。今天,我们要介绍的是一个在GitHub上广受好评的开源项目——Jeesite5。这不仅是一个技术框架,更…...
C++(23):lambda可以省略()
C越来越多的使用了lambda,C23也进一步的放宽了对lambda的限制,这一次,如果lambda没有参数列表,那么可以直接省略掉(): #include <iostream> using namespace std;void func() {auto f []{cout<<"in…...
vue3之echarts柱状图-圆锥加自动轮播
vue3之echarts柱状图-圆锥加自动轮播 效果: 版本 "echarts": "5.4.2" 核心代码: <template><div ref"echartRef" class"chart"></div><svg><linearGradient v-for"(item, i…...
Qt中利用httplib调用https接口
httplib中如果要调用https接口,需要开启OPENSSL支持,经过半天坑爹得摸索,总结下经验。 1,下载 并安装Win64OpenSSL 地址如下,我Qt版本是5.15.2 ,openssl选择的是 64位(Win64OpenSSL-3_3_3.msi…...
深度学习04 数据增强、调整学习率
目录 数据增强 常用的数据增强方法 调整学习率 学习率 调整学习率 调整学习率的方法 有序调整 等间隔调整 多间隔调整 指数衰减 余弦退火 自适应调整 自定义调整 数据增强 数据增强是通过对训练数据进行各种变换(如旋转、翻转、裁剪等)&am…...
卷积神经网络之AlexNet经典神经网络,实现手写数字0~9识别
深度学习中较为常见的神经网络模型AlexNet,AlexNet 是一个采用 GPU 训练的深层 CNN,本质是种 LeNet 变体。由特征提取层的5个卷积层两个下采样层和分类器中的三个全连接层构成。 先看原理: AlexNet网络特点 采用 ReLU 激活函数,…...
建筑兔零基础自学python记录22|实战人脸识别项目——视频人脸识别(下)11
这次我们继续解读代码,我们主要来看下面两个部分; 至于人脸识别成功的要点我们在最后总结~ 具体代码学习: #定义人脸名称 def name():#预学习照片存放位置path M:/python/workspace/PythonProject/face/imagePaths[os.path.join(path,f) f…...
全球化趋势下中资企业出海投资及合规运营实战分享
企业全球化布局需构建“战略-架构-合规-运营”四位一体体系,通过灵活的投资架构、精准的税务规划、本土化运营和ESG融合,实现风险可控的海外扩张。核心策略包括: 供应链多节点布局(至少3个国家备份产能);融…...
2025-2-19 leetcode刷题情况(二叉树)
一、226.翻转二叉树 1.题目描述 给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点 2.代码 3.思路 递归遍历(DFS)交换每个节点的左 / 右子节点,即可生成二叉树的镜像。 递归解析: 终止条件&a…...
Linux常见命令
文件和目录操作命令 cd:用于切换目录。例如,cd /home/user 可进入 /home/user 目录;cd.. 可返回上一级目录。ls:用于列出目录内容。ls 直接列出当前目录下的文件和文件夹;ls -l 以详细列表形式显示;ls -a 显…...
C++ 一篇读懂“值传递”和“地址传递”
让我们通过一个简单的、形象的比喻来帮助你理解“值传递”和“地址传递”是如何影响实参的。 1. 值传递 想象你有一个 **信封**(代表变量),里面放着一张纸条(代表数据)。你决定把这个信封寄给一个朋友,让他…...
我用AI做数据分析之数据清洗
我用AI做数据分析之数据清洗 AI与数据分析的融合效果怎样? 这里描述自己在使用AI进行数据分析(数据清洗)过程中的几个小故事: 1. 变量名的翻译 有一个项目是某医生自己收集的数据,变量名使用的是中文,分…...
韩国哈希散列算法DHA-256
韩国哈希散列算法DHA-256 DHA-256是在2005年11月由NIST举行的Hash研讨会(Cryptographic Hash Workshop)上提出的。DHA-256压缩函数将长度为512比特的分组,压缩成长度为256比特的串,总共迭代64步,扩展的消息字在步函数中使用了两次。 DHA-25…...
【愚公系列】《Python网络爬虫从入门到精通》022-Splash的爬虫应用
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
Golang深度学习
前言 在2009年,Google公司发布了一种新的编程语言,名为Go(或称为Golang),旨在提高编程效率、简化并发编程,并提供强大的标准库支持。Go语言的设计者们希望通过Go语言能够解决软件开发中的一些长期存在的问…...
React(8)
封装评论列表的Item组件 实现父传子以及子组件调用父组件方法 import { useEffect, useState } from "react"; import "./index.css"; import _ from "lodash"; import classNames from "classnames"; import axios from "axio…...
自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone
苹果的AirTag很贵,虽然某强北有平价代替品,但是仍需要苹果设备才能绑定,才能查看位置。不支持安卓/鸿蒙/PC,也不支持集成到Home Assistant中。 AirTag 的原理 每个AirTag都会发送一个蓝牙信号,其可以被临近的苹果设备…...
docker修改镜像默认存储路径(基于页面迁移)
文章目录 1、停止服务2、拷贝镜像3、docker界面设置路径4、重新启动服务5、重启电脑 1、停止服务 桌面底部右键打开任务管理器 停止docker服务 2、拷贝镜像 从原目录拷贝到新的目录下,新的目录自己定,如果没有权限,需要先对原文件添加权限…...
10. 软件设计架构-经典架构问题
文章目录 前言一、高并发场景下的系统崩溃1. 问题描述2. 解决方案:3. 案例分析:电商秒杀系统 二、单体架构到微服务的拆分陷阱1. 问题描述2. 解决方案:3. 案例分析:在线教育平台拆分 三、分布式系统中的数据一致性难题1. 问题描述…...
Qt学习(五)自定义对话框,多窗口开发---添加设计师类, MDI多窗口开发
一 对话框 实现功能:打开文件,选择目录,保存文件,选择颜色,选择字体,输入信息, 消息提示框 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE na…...
【部署优化篇三】《DeepSeek边缘计算实战:把目标检测模型塞进树莓派,让AI在巴掌大的设备上“开天眼“》
“谁说只有超级计算机才能跑AI?今天咱们就要在树莓派上玩转DeepSeek目标检测,让这个巴掌大的小盒子变成会‘看’世界的智能终端!” 本文手把手教你从零开始,把最潮的目标检测模型塞进树莓派。全程高能预警,建议准备好你的树莓派4B/5和散热风扇,咱们这就开启边缘计算的魔法…...
深入浅出CSS复合选择器:掌控元素关系与层级选择
目录 前言 一、子代选择器(Descendant Selector) 1. 什么是子代选择器? 2. 基本语法 3. 示例 4. 注意事项 二、直接子元素选择器(Child Selector) 1. 什么是直接子元素选择器? 2. 基本语法 3. 示例…...
LLM 推理中推理-时间计算技巧
25年2月来自香港科技大学广州分校的论文“Bag of Tricks for Inference-time Computation of LLM Reasoning”。 随着大语言模型 (LLM) 的进步,解决复杂的推理任务越来越受到关注。推理-时间计算方法(例如 Best-of-N、波束搜索等)特别有价值…...
【模板】图论 最短路 (Floyd+SPFA+Dijkstra)
FloydSPFADijkstra 温故而知新,这三种算法都是求最短路问题常用的算法(特别是Dijkstra) 1.Floyd (多源最短路) 基于动态规划思想,时间复杂度为 O ( N 3 ) O(N^3) O(N3) 较高。 注意点: 初始化距离为INF…...
vite-vue-ts使用arco-design-vue定制主题的后动态变更主题思路
定制主题的后动态变更主题思路 安装依赖与主题定制动态变更主题过程尝试修改主题色(结果失败)尝试修改主题色(结果成功,但是hover的主题色没有变,未覆盖10个梯度的色值)根据主题色实现10个梯度颜色实现10个…...
递归爬取网页测试
我们正在做基于大模型的数据分析平台。 当前需要测试ezdata的递归爬取功能,爬取到第几层 测试网址 https://blog.csdn.net/m0_68177611/article/details/144936089...
【论文学习】RVS-FDSC:一种基于四方向条带卷积的视网膜血管分割方法以增强特征提取
写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言论文论文内容RSC模块MSPF2 模块RPDA模块 实验效果 总结互动致谢参考往期回顾 前言…...
交友项目-交友软件简介
一、 项目背景 在线社交是互联网时代的产物,已成为互联网用户的基础需求之一。移动互联网自2003年起快速发展,促使在线社交逐渐从PC端转移至移动端。移动社交最初以熟人社交为主,以维系熟人关系、共享资源信息的形式存在。随着人们交友需求的…...
新手向:SpringBoot后端查询到数据,前端404?(附联调时各传参方式注解总结-带你一文搞定联调参数)
前言: 在 Spring Boot 项目开发中,后端小伙伴可能经常遇到这样诡异的场景: 后台日志显示查询到了数据,但前端却一脸懵逼地告诉你 404 Not Found?接口明明写好了,Postman 直接访问却提示找不到?…...
Elasticsearch7.6.2 安装过程
一. 安装JDK1.8 (1)创建安装目录 mkdir /usr/local/java/ (2)解压至安装目录 tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/java/ (3)设置环境变量 vim /etc/profile 在末尾添加 export JA…...
汇能感知的光谱相机/模块产品有哪些?
CM020A 分辨率:1600H1200V 光谱范围:350~950nm 光谱分辨率:1nm 接口:USB2.0 帧率:16001200 (6帧) 输出格式:Raw 8bit FOV:D73.5H58.8V44.1 相机尺寸:505055mm VM02S10 分辨率…...
【机器学习】K折交叉验证(K-Fold Cross-Validation)
文章目录 K折交叉验证步骤详解一. 核心目标二. 具体步骤与操作三. 关键变体与场景适配3.1 分层K折交叉验证3.2 时间序列K折交叉验证3.3 留一法(LOO)3.4 重复K折交叉验证 四. 实践注意事项五. Python代码示例六. 总结 K折交叉验证步骤详解 一. 核心目标 …...
【核心算法篇十九】《 DeepSeek因果推断:双重差分模型如何破解政策评估的「时空难题」》
一、当AB实验不可行时,我们该相信什么?(因果推断困局解析) 假设某城市推出「夜间地铁免费」政策,市长想知道这个政策是否真的提升了夜间经济。这时候你会发现: 1️⃣ 无法克隆城市:不能同时存在一个「实施政策」和「不实施政策」的平行宇宙 2️⃣ 数据混杂严重:疫情反…...
使用vue3框架vue-next-admin导出列表数据
在 Vue3 中实现 Excel 导出功能可以通过以下步骤完成,这里使用 xlsx 库来实现前端 Excel 导出: 1. 安装依赖 npm install xlsx file-saver # 或 yarn add xlsx file-saver2. 实现代码示例 需要在当前页引入 import * as XLSX from "xlsx";注…...
机器学习(1)安装Pytorch
1.安装命令 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 2.安装过程Log: Looking in indexes: https://download.pytorch.org/whl/cu118 Co…...