ChatGPT研究分享:机器第一次开始理解人类世界目录
0、为什么会对ChatGPT感兴趣
一开始,我对ChatGPT是没什么关注的,无非就是有更大的数据集,完成了更大规模的计算,所以能够回答更多的问题。
但后来了解到几个案例,开始觉得这个事情并不简单。我先分别列举出来,具体解读在文末说明。
1)ChatGPT能够进行数学运算,但大数运算和复杂运算,基本都会出错。
2)ChatGPT能够解读出最新的网站内容。(已知训练集停留在了2021年)
3)ChatGPT可以解读原始的日志文件
1、认识算法原理
1.1 Encoder-Decoder:解决特征工程问题
受到造物者的馈赠,大脑能够完成复杂的思维运算。但不幸的是,这个思维过程仍然是黑盒的。
给出一张图片,如果问题是这张图片是什么色调,你能够通过统计像素点色度的分布,给出准确答案;如果问题是这张图片是谁,你同样能够给出答案,但无法描述过程。
你工作中处理的各类问题,属于那种类型?
Anyway,不论思维过程多么复杂,它的框架是通用的:
传统机器学习,是在学习人脑是如何进行“运算”的。比如:“1”,“3”,“5”是单数,“2”,“4”,“6”是双数;算法可以帮你得出 x/2=1 是单数,x/2=0是双数。
(个人认为)深度学习,则开始学习“从编码特征到运算”这一整个过程。
显然,解决的问题越复杂,需要的数据量越多。但人脑并不需要这么多数据,我认为核心差距是,算法目前并不善于“总结归纳”中间过程。
于是,Encoder-Decoder结构就诞生了:
传统机器学习的训练模式是,人工对输入数据进行清洗,转化为特征向量(中间编码),然后基于特征和标签,训练模型(Decoder)。
但在复杂问题中,特征工程也变成了一个“不可描述”的过程。于是开始弱化特征工程的作用,直接用最原始的数据去进行训练,企图让算法解决整个黑盒过程。也因此开始强调数据量的大小,因为过渡黑盒,需要足够多的数据训练,大力出奇迹。
而Encoder-Decoder则是做了一层提炼,同时训练两个模型,一个用于学习编码过程,一个用于学习运算过程。各司其职,大幅提升了整体的效率和可控性。
1.2 RNN和Attention:解决序列化的问题
和常见的分类、打标任务不同,语言是有序的。需要相应的上下文和描述语句,才能正确理解。比如,高考经典病句“三个学校的老师”,到底是来自三个不同学校的老师,还是同一个学校的三个老师,是会产生歧义的。
因此,基于Encoder-Decoder,设计了如下的RNN结构:
从信息流的层面理解,所有信息通过编码,逐单元向前传递。解码过程,也是逐单元进行信息提取,同时把已提取的信息也作为补充输入。
跟背课文的过程很像。先背第一段,再带着第一段的记忆,背第二段。全部背完后,先默写第一段,然后带着已默写的第一段,默写第二段。
RNN的设计模式,把语言的有序性很好的体现了出来。但同样存在一个问题,编码和解码的过程是单向的,信息会逐渐丢失,越靠前的信息丢失的越厉害。
同样以背课文为例。RNN就像是只允许你背一遍,背完第一段就不允许再看第一段。那么必然最后一段记忆清晰,第一段则记不住多少。
为了弥补这个问题,于是设计了Attention机制。相当于,尽管只允许你背一遍,但会在默写的时候,给你提示,帮助你正确的默写出来。
一种最简单的全局Attention机制如下(相当于提供了一个大纲):
而目前最流行的Attention机制是Self-Attention(相当于给划了重点):
上图中,之所以会将three给到school,正是因为在Attention中,明确指出了“三个”是用来修饰“学校”的。
1.3 Transformer:解决长序列的问题(并没有完全弄懂)
RNN的结构虽然非常精妙的表达出了语言的有序性,但和人脑的思维仍然存在差异:人会从全局视角去接收输入,而不是单向处理。
你在背课文的时候,显然不会局限自己只背一遍。而是通篇反复阅读,没有顺序,直到全部背下来。
因此,Transformer打破了RNN的单向传递机制,同时输入全部信息,并完全基于Attention去实现。其中涉及到了几个关键点:
Positional Encoding:虽然顺序输入不重要,但仍然需要知道每个字的位置是什么,因此设计了Positional Encoding。相当于你可以随意阅读,并且仍然知道第几段是第几段。
Multi-Head Attention:原理上仍然和Self Attention接近,但是增加了多个并行的维度。相当于用不同的角度去解读重点是什么,增加了信息传递的丰富性。相当于从多个角度去划重点。
encoder层数和decoder层数:出现神经网络中堆叠层数的效果。本质是通过全局传递的模式,增大了信息传递效率,堆层数有利于增强学习能力。(RNN中的encoder和decoder单元也存在层数的概念,但是不属于核心设计,因此通常不体现。)
个人理解的效果如下所示:
下面这个动图也比较形象
1.4 ChatGPT:解决训练效率的问题
上述的模型结构,不论怎么优化,本质过程都还是“使用大量数据进行训练,生成模型后进行预测”的过程。而问题的复杂度越高,需要的数据量越大,训练的计算成本也越高。不管结构如何精妙,仍然会存在一个效率带来的瓶颈。
而ChatGPT的核心优势,就是突破了效率瓶颈。其训练过程如下:
1)输入“问题”和“正确答案”,训练初始的NLP模型。
2)输入“问题”、“初始模型的答案”和“正确的分数”,训练奖励模型。(实际上提供的是“正确的排序”,这里用“分数”为了更好的理解。)
3)输入“问题”,不提供“正确答案”,用奖励模型去训练初始的NLP模型。
之所以能够提效,就是第三步已经剔除了“人工打标”这个成本最高的工作,两个模型自身就构成了训练体系。
传统的训练过程,相当于告诉你一堆问题和答案,你去寻找其中的规律;而ChatGPT的训练过程,相当于教你判断善恶,建立三观,你自己再基于三观,去寻找最正确的答案。
2、从结果推断具体实现
OpenAI没有完全公开其实现逻辑,但是通过一些有意思的问答表现,能够推断包含哪些细节因素。
2.1 同样的输入给予不同的结果:存在随机因素
不论算法多么复杂,它仍然是符合“因果论”的,不是“混沌”的。这就意味着,给特定输入就会返回特定的输出,具备一一对应的关系。
但在ChatGPT的问答过程中,并不符合这个效果。对于同一个问题,不论是整体内容,还是细节措辞,都会存在差异。
又基本可以断定,ChatGPT不是一个实时更新的模型,仍然依赖人工去进行周期性的迭代调优。因此,ChatGPT一定在某个环节中加入了“随机因素”,可能的位置在:
输入:假设把时间、环境等因素一并加入到输入中去,那么输出结果会发生改变。ChatGPT是否有在考虑基于这些因素,产生个性化的对话风格?
预测:在常规算法训练中,往往也会加入随机因素,以避免陷入“局部最优解”。ChatGPT目前应该是处于公测,收集训练集的阶段,是否特意加上随机因素,来扩大样本丰富性?
排序:算法本质上是在输出概率最大的解,但也可能是在TOP中选一个。应该也能实现扩大样本丰富性的效果。
我更倾向于是为了收集样本。因为从AI的商业化应用角度来说,随机性并不是个有利因素,人们更需要可靠可信的对话机器人。
2.2 对于复杂问题的响应时间会更长:存在预处理逻辑,判断问题的复杂度
问题的复杂度,会影响训练的时间,因为算法需要更多的数据和计算来推导因果关系。但一旦训练完成,模型就固定了下来,运算的过程不会因为输入的改变而改变。
但实际体验过程中,ChatGPT对于复杂性的问题,明显表现出了更长的运算时间(不论是开始响应的时间,还是逐字吐出的速度。因为还包含网络因素,不确定这个现象是否客观)
如果这个命题成立的话,有两种实现可能:
有多种模型实习:ChatGPT背后同时训练了多个不同复杂度的模型。在实际执行的时候,它会先判断问题的复杂度,再去选择用哪个模型来生成答案。
具备运算优化能力:ChatGPT模型自带的编码能力,会对运算复杂度进行优化。比如对于简单的问题,引入更多的乘0操作,从而大幅提升运算速度。
直觉判断,后者的概率更高。这也意味着ChatGPT的表现力更贴近人类的思维了:同样一个人,对复杂问题会思考的时间更长。
2.3 并不能发起测试请求,但仍然能够得到答案:不存在准确匹配关键词的逻辑,更多依赖相似性
回到一开始的漏洞分析场景。
从原理上来说,ChatGPT是不支持发起请求的。但当输入url的时候,ChatGPT仍然能够作出回答。
经过一些测试,可以很明确的发现,ChatGPT是基于domain、url中的信息去做的内容匹配。一个典型表现是,当你输入相似但并不存在的url时,ChatGPT仍然能够作出回答。
这个过程依靠的就是路径相似性。ChatGPT并不认为url是个一一对应的关键词,而是认为url中包含一定的逻辑。因此它会通过domain、path等文字,去推断网页的真实内容,并进行回答。(通过"Apache HTTP"、"2.4.0"、"2.4.49"这几个关键词,也并没有找到完全匹配的漏洞,应当是进行了一定的杜撰。)
换一句话说,ChatGPT的模型结构会让它认为万事均由潜在逻辑关系。但也有很多场景是强加的匹配规则,并没有逻辑,而ChatGPT强行计算出了一种逻辑。
3、从原理推导应用场景
总结一下,ChatGPT擅长逻辑(尤其是语言逻辑),但缺乏专业知识的积累。
基于此,可以推导一下ChatGPT适用的场景:
3.1 常规NLP任务(翻译、分类、总结等)
本质工作,不多描述
3.2 AIGC(讲故事、生成话术、串联框架等)
可以将ChatGPT视为一个“语言艺术家”,擅长基于一些关键点,去做逻辑串联,生成完整的答案。
因此,大部分只需要逻辑,不需要事实的场景,ChatGPT都能应付的来。
3.3 代码
ChatGPT在代码领域表现相当优秀,但显然没有人告诉它各种编程语言的语法。个人推测,是因为代码本身是以语言为基础的,所以ChatGPT能够很顺利的掌握。
而编写代码的过程,其本质上是一种“翻译”流程:程序员将脑海中的逻辑,编写成特定的编程语言。
“语言”和“翻译”,本就是ChatGPT的老本行,表现优异自不在话下。
3.4 逆向
逆向本质上也是一种“翻译”:将加密、编码过的汇编代码,还原为可读的代码,甚至还原为清晰的逻辑。
目前ChatGPT的训练集主要来源于互联完上搜集的信息。如果能够喂给它大量的源码和汇编代码,以及相关的分析报告,应当能够在逆向领域表现出优异的成绩。
4、一些思考点
4.1 从ChatGPT的能力看待:“科技奇异点”
我对下一个“科技奇异点”的定义是:机器具备人类的思维,并可以替代人类完成推理和研究工作,从而大幅提升生产力。
而基于上述对ChatGPT的研究,我认为已经接近这个临界点,因为这是我认知内,机器第一次开始理解人类世界。
对“理解”这个词,我再展开说明一下。过往的机器学习,都是在特定领域下完成某一项特定的工作任务(包括去年爆火的AIGC)。这也就意味着机器并不理解问题,只是执行人们给它安排好的算式。
对话式机器人其实很早就有了(Siri、小爱同学、小度小度等),但其核心是“功能库”。这些机器人的工作模式是“接受对话->提取关键词->匹配功能库->执行特定功能”,而ChatGPT是在没有“功能库”的情况下,实现的各种问答。
换言之,传统机器学习是某种工具,而ChatGPT则是一个“被灌输了大量知识的婴幼儿”(国外有测试表明ChatGPT符合9岁小孩的“心智”)。
4.2 从ChatGPT的原理看待:语言的力量
我过去没有重视过NLP领域的算法发展,觉得和传统搜广推并没有本质区别。依靠海量训练集进行总结记忆,然后回答学习过的内容,不会进行推理和创造。但在ChatGPT表现出惊人的知识储备后(回答从没见过的问题,做从未见过的运算),确实引起了一些思考。
显然,ChatGPT在特定专业领域的能力并不强,甚至经常会杜撰一些内容,你也许会嘲笑ChatGPT在一本正经的胡说八道。但我看到的却是,ChatGPT仅依靠语言能力,就推理出了很多的专业能力。
换位思考一下,假设没有人告诉你99乘法表,也没人告诉你“乘号”的含义。只告诉你“1*1=1”,“2*2=4”,你要如何计算出“9*9=81”呢?
从这个现象,可以引申出一个哲学思考:语言和知识的关系。ChatGPT本质上还是一个NLP模型,它计算的是字与字之间的概率关系。而ChatGPT正是基于这种文字之间的概率空间,总结出了各种各样的公式定理。也许,我们高估了“知识的复杂度”。
4.3 从ChatGPT的现状看待:后续迭代方向
对比人类的思维,我认为ChatGPT目前缺少两个关键能力:1)没有记忆;2)无法直接学习知识;
1)没有记忆
回顾一下ChatGPT的训练过程:先训练一个初始模型,再训练一个奖励模型。类比下来,第一个过程获得的是原始信息的积累,即记忆,第二个过程获得的是知识的迭代。
而目前对于ChatGPT的各项优化工作,都集中在后面这个过程。换而言之,ChatGPT的知识在不断完善,但记忆并没有更新。而显然,对于人类思维来说,这两者都是不可或缺的。
尽管有一些对话会让ChatGPT看起来能够记忆内容,比如“先告诉ChatGPT你的名字,然后让ChatGPT复述一遍”。但这个效果本质上是因为ChatGPT可以基于整个对话去回答问题,因此能够把对话的历史信息包含进来,并没有“记住”这个信息。
2)无法直接学习知识
ChatGPT非常擅长讲故事,处理比较纯粹的语言类问题。但专业领域的明确任务,却处理不好。我认为ChatGPT目前差的是“已知经验的输入”。
在人类的教育过程中,是有老师在告诉你,乘法应该怎么计算的。因此你不用从头开始去推导和总结,直接应用即可。这个过程大幅度提高了学习的效率。而ChatGPT需要从0开始推导这个东西,那他要经历的,是人类从远古时期至今的迭代过程,显然存在巨大的挑战。如果ChatGPT能够接受到构造好的经验输入,那就可以省略掉很多的工作,让算法也“站在巨人的肩膀上”。
不幸的是,这两项能力目前都没有解,因为其算法性质仍然是黑盒的。上面我们提到了,现有的算法框架结构已经对人类的思维方式做了粗力度的抽象,因此取得了如今的成就。但更近一步的核心(比如,信息是如何被编码和计算的)目前仍然黑盒,也就限制了对其进行更深度的交互和优化。
但随着人们对思维模式和算法的研究深入,相信能够发明出更完善的架构来。到那个时候,算法高度还原人类思维,离“科技奇异点”应该就相当接近了。
4.4 从ChatGPT的问答过程看待:如何提问
随着对话式算法的诞生,Prompt Engineering这个概念也随之而来:人们发现,有时候之所以得不到理想的答案,与其去优化模型,不如去优化提问。
这个概念是最新才了解到,在此不作展开。
我更想借这个话题,再次提一个观点,“算法的研究,本质上是在还原人类的思维”。你如何设计合理的Prompt,来得到理想的答案,和你在现实中如何提问,是同样的场景。只不过,你目前面对的是一个“心智只有9岁小孩”的AI模型,所以提问时,需要更多的引导和提示。
因此,保持对AI技术的关注,实际上也能够帮助你解读自己是如何思考问题的。
4.5 从ChatGPT的训练过程看待:如何更高效的培养人才
继续回应上面的话题,“算法的研究,本质上是在还原人类的思维”。而ChatGPT,实际上把培养人才的过程,已经进行了抽象。
将算法的演变过程,转化成现实场景,其实是如下的效果:
1)在相对简单的场景下,会直接告诉你解决方案。把对应的模型确定好,按照这个逻辑跑就行,能够快速得到想要的结果。
2)随着场景逐渐复杂,解决方案本身变得“只可意会”了。这个时候,会尝试甩给你大量的case,让你自己琢磨出解决方案来。
3)但喂case积攒经验是个很耗精力的事情。所以,为了提高效率,在喂case的同时,会告诉你方法论。只要用这个方法论,配合一定的实战case,大概率能得出想要的解决方案和结果来。
5、结语
在AIGC年爆火之后,设计从业人员就开始担忧起自己的工作。同样,ChatGPT可预见的也会对很多行业带来冲击,比如教育。AI是否会最终取代人类的话题,似乎也从“遥不可及”,变得“忧心忡忡”。
我认为,AI一定会取代部分人,但不会取代所有人,也不会凌驾于人类之上。
正如工业时代的到来,取代了体力工作者;AI时代的到来,也会取代脑力工作者。而所谓的“专业”能力,往往会在这个浪潮下,被快速取代。(想想当年的“八级技工”,技术再厉害,也比不过新的机器。)
同样的,不论工业时代,还是AI时代,对于整个人类来说,都是一种进步。它意味着生产力大幅提升,意味着有更多的精力被释放出来,可以往更深的领域去探索。而这个世界足够复杂,远没有到被穷举干净的地步。
事实上,历史上每次有这种想法的时候,都会打开一片新的天地。比如19世纪末,物理学家说“物理学的大厦已经落成”,但随之而来就出现了“相对论”和“量子力学”。
身处这个时代,我们需要考虑的,不是如何阻止AI的到来。而是从自身出发,去考虑如何发挥人类的思维优势,利用好AI,从而去造福更多的人类。
相关文章:
ChatGPT研究分享:机器第一次开始理解人类世界目录
0、为什么会对ChatGPT感兴趣一开始,我对ChatGPT是没什么关注的,无非就是有更大的数据集,完成了更大规模的计算,所以能够回答更多的问题。但后来了解到几个案例,开始觉得这个事情并不简单。我先分别列举出来,…...
【linux】Linux基本指令(上)
前言: 在之前我们已经简单了介绍了一下【Linux】,包括它的概念,由来啊等进行了讲解,接下来我们就将正式的踏入对其的学习!!! 本文目录👉操作系统的概念1.命令的语法1.1命令介绍1.2选…...
程序员必会技能—— 使用日志
目录 1、为什么要使用日志 2、自定义日志打印 2.1、在程序中得到日志对象 2.2、使用日志对象打印日志 2.3、日志格式 3、日志的级别 3.1、日志级别的分类 3.2、日志级别的设置 4、持久化日志 5、更简单的日志输出——lombok 5.1、如何在已经创建好的SpringBoot项目中添加…...
生成项目的包依赖文件requirements.txt
目录生成项目的包依赖文件requirements.txtrequirements.txt文件怎么来?使用pipreqs第三方库requirements.txt文件使用requirements.txt生成项目的包依赖文件requirements.txt 在安装部署代码时或者使用别人的项目时,会需要安装项目的依赖包,…...
安卓渐变的背景框实现
安卓渐变的背景框实现1.背景实现方法1.利用PorterDuffXfermode进行图层的混合,这是最推荐的方法,也是最有效的。2.利用canvas裁剪实现,这个方法有个缺陷,就是圆角会出现毛边,也就是锯齿。3.利用layer绘制边框1.背景 万…...
【拳打蓝桥杯】算法前置课——时间复杂度与空间复杂度
文章目录前言为什么需要复杂度分析?大O复杂度表示法时间复杂度分析几种常见时间复杂度实例分析空间复杂度分析内容小结最后说一句🐱🐉作者简介:大家好,我是黑洞晓威,一名大二学生,希望和大家一…...
vite中动态引入图片,打包之后找不到图片地址?
一般来说项目中我们集中存放图片,然后希望在页面中直接引入! 更好的就是直接在模板中调用一个函数 然后传入图片的名字就可以显示出来 事实上确实可以办到,我们用到了一个 new URL import.meta.url这俩个东西 再src目录下 static 下创建一…...
Docker 常用命令大全
目录 一、Docker (一)Docker基础命令 (二)docker镜像命令 (三)docker容器命令 (四)docker运维命令 一、Docker 容器是一种虚拟化技术,容器是镜像实例…...
React项目规范:目录结构、根目录别名、CSS重置、路由、redux、二次封装axios
React项目(一)一、创建项目二、目录结构三、craco配置别名并安装less1.craco安装2.配置别名3.安装less四、CSS样式重置五、配置路由六、配置Redux1.创建大仓库2.创建小仓库(1)方式1:RTK(2)方式2…...
SystemVerilog 教程第一章:简介
SystemVerilog 教程像 Verilog 和 VHDL 之类的硬件描述语言 (HDL) 主要用于描述硬件行为,以便将其转换为由组合门电路和时序元件组成的数字块。为了验证 HDL 中的硬件描述正确无误,就需要具有更多功能特性的面向对象的编程语言 (OOP) 来支持复杂的测试过…...
【Java|基础篇】逻辑控制-顺序结构、分支结构和循环结构
文章目录顺序结构分支结构if单分支语句if else双分支语句if else if else多分支语句switch语句循环语句for循环while循环do while循环continuebreak总结顺序结构 顺序结构是指代码按照从上往下的顺序依次执行 分支结构 选择语句是条件成立时,才会执行的语句.共有三种.分为是if…...
【数据挖掘实战】——家用电器用户行为分析及事件识别(BP神经网络)
项目地址:Datamining_project: 数据挖掘实战项目代码 目录 一、背景和挖掘目标 1、问题背景 2、原始数据 3、挖掘目标 二、分析方法与过程 1、初步分析 2、总体流程 第一步:数据抽取 第二步:探索分析 第三步:数据的预处…...
Kmeans聚类算法-python
import random import pandas as pd import numpy as np import matplotlib.pyplot as plt # 计算欧拉距离 def calcDis(dataSet, centroids, k): clalist[] for data in dataSet: diff np.tile(data, (k, 1)) - centroids #相减 (np.tile(a,(2,1))就是把…...
Linux|奇怪的知识|locate命令---文件管理小工具
前言: Linux的命令是非常多的,有一些冷门的命令,虽然很少用,但可能会有意想不到的功能,例如,本文将要介绍的locate命令。 (平常很少会想到使用此命令,find命令使用的更多,偶然想起…...
Cadence Allegro 导出Function Pin Report报告详解
⏪《上一篇》 🏡《上级目录》 ⏩《下一篇》 目录 1,概述2,Function Pin Reportt作用3,Function Pin Report示例4,Function Pin Report导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频 1,概述...
蓝桥杯2018年第九题-缩位求和
题目:在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。比如:248 * 15 3720把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得2 4 8 14 > 1 4 5;1 5 65…...
基于Yolv5s的口罩检测
1.Yolov5算法原理和网络结构 YOLOv5按照网络深度和网络宽度的大小,可以分为YO-LOv5s、YOLOv5m、YOLOv5l、YOLOv5x。本文使用YOLOv5s,它的网络结构最为小巧,同时图像推理速度最快达0.007s。YO-LOv5的网络结构主要由四部分组成,分别…...
Linux基本命令
Linux基本命令Linux的目录结构Linux命令入门目录切换相关命令(cd/pwd)相对路径、绝对路径和特殊路径符创建目录命令(mkdir)文件操作命令part1 (touch、cat、more)文件操作命令part2 (cp、mv、rm)查找命令 (which、find…...
云原生场景下的安全左移
本博客地址:https://security.blog.csdn.net/article/details/129430859 一、安全左移概述 安全左移需要考虑开发安全、软件供应链安全、镜像仓库、配置核查这四个部分。 首先是开发安全,安全团队需要关注代码漏洞,比如使用代码检查工具进…...
mysql面试经典问题
文章目录 1. 能说下myisam 和 innodb的区别吗?2. 说下mysql的索引有哪些吧,聚簇和非聚簇索引又是什么?3. 那你知道什么是覆盖索引和回表吗?4. 锁的类型有哪些呢5. 你能说下事务的基本特性和隔离级别吗?6. 那ACID靠什么保证的呢?7. 那你说说什么是幻读,什么是MVCC?幻读什…...
微信小程序|基于小程序+C#制作一个考试答题小程序
基于小程序+C#制作一个考试答题小程序打破传统线下考试答题的边界线问题,使考试不用再局限与某个统一的场所,只要有设备,哪里都能考试。 一、小程序...
【1605. 给定行和列的和求可行矩阵】
来源:力扣(LeetCode) 描述: 给你两个非负整数数组 rowSum 和 colSum ,其中 rowSum[i] 是二维矩阵中第 i 行元素的和, colSum[j] 是第 j 列元素的和。换言之你不知道矩阵里的每个元素,但是你知…...
Linux命令之nano命令
一、nano命令简介 nano是一个小型、免费、友好的编辑器,旨在取代非免费Pine包中的默认编辑器Pico。nano不仅复制了Pico的外观,还实现了Pico中一些缺失(或默认禁用)的功能,例如“搜索和替换”和“转到行号和列号”。nan…...
IT项目管理(作业1)
一.单选题(共12题,100.0分) 1.以下哪项是项目的一个实例?( ) A、改进现有的业务流程或程序B、为公司运营提供信息技术支持C、批量生产一种新近开发出来的家用电冰箱D、管理一个公司 我的答案:A 2.下列哪项不能成为项目结束的理由?( ) A…...
蓝桥杯嵌入式(G4系列):串口收发
前言: 在整个蓝桥杯考试中涉及串口的次数还是较多,这里写下这篇博客,记录一下自己的学习过程。 STM32Cubemx配置: 首先,我们点击左侧的Connectivity选择USART1进行如下配置。 使能串口中断 在左侧的管脚配置上也要做出…...
「兔了个兔」玉兔踏青,纯CSS实现瑞兔日历(附源码)
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…...
第17章 关于局部波动率的一些总结
这学期会时不时更新一下伊曼纽尔德曼(Emanuel Derman) 教授与迈克尔B.米勒(Michael B. Miller)的《The Volatility Smile》这本书,本意是协助导师课程需要,发在这里有意的朋友们可以学习一下,思…...
反转链表合并两个有序链表链表分割链表的回文结构相交链表
反转链表来源:杭哥206. 反转链表 - 力扣(LeetCode)typedef struct ListNode ListNode; struct ListNode* reverseList(struct ListNode* head) {if (headNULL){return NULL;}ListNode* prevhead;ListNode* curhead->next;ListNode* furNUL…...
联想触摸板只能单击,二指三指失效
问题背景 这问题是我笔记本两三年前重装win10系统后出现的,当时有鼠标懒得弄。今天发现没鼠标后,触摸板连二指滑动都没有太麻烦了,所以决定弄一下。 联想笔记本,win10系统重装后出现的问题。 1.鲁大师,联想电脑管家 …...
mysql 删除表卡死,或是截断(truncate)卡死解决办法
利用工具进行truncate表的时候,一直运行,运行了十几分钟也没有成功。中止之后再运行也是一样。但是删除表的数据以及查询表数据都是可以的。猜测是锁死了。 使用 show processlist; 发现Waiting for table metadata lock 问题; mysql> s…...
wordpress 自定义栏目 删除/百度热线客服24小时
引用 1、什么是引用:引用就是取别名(外号) 引用就是用一个新的标识符与另一个标识符的内存建立绑定关系,从而使一块内存对应多个标识符。 2、引用的基本特性 1、引用必须初始化,也就是必须有引用目标。 不存在空的引用…...
18末年年禁止观看网站/seo网站优化培训多少价格
地址 abs(x) 返回一个数的绝对值。实参可以是整数或浮点数。如果实参是一个复数,返回它的模。all(iterable) 如果 iterable 的所有元素为真(或迭代器为空),返回 True 。def all(iterable):for element in iterable:if not ele…...
页面设计计划/北京seo业务员
LinkIt_for_RTOS_Firmware_Update_Developers_Guide--用于实时操作系统固件更新开发指南的MediaTek Linkit™开发平台 MediaTek Linkit™SDK v4支持固件空中更新(FOTA)更新,这是一种广泛采用的成本和时间高效的解决方案,用于更新连接设备上的固件。开发…...
微网站做下载链接/成都优化官网公司
在前面一篇文章中介绍了fastfds的简单安装和文件上传功能,以及使用fastdfs自带的http下载功能等;本文中将介绍如何使用fastdfs-apache-module模块整合fastdfs和apahce;整合完毕后,客户端访问apache,apache根据配置&…...
什么网站可以做公共基础知识/河南网站优化
我想说 Java 的「闭包」很蛋疼... 被闭包引用的「域外」变量只能是 final 的,而且可读性很差,引用 guava的一个例子,自己比较下:「二比青年版」:Multiset lengths HashMultiset.create(FluentIterable.from(strings).…...
公司介绍模板英文/seo公司关键词
本文为美国伍斯特理工学院(作者:Hongliang Yu)的博士论文,共116页。 在医学和临床应用中,先进的成像技术被广泛应用于解剖结构和功能代谢的研究。图像是从各种扫描仪(CT/MR/PET/SPECT/B超)获取…...