ChatGPT到底是泡沫,

                                                       -----还是AI真的来了?          

一个交互界面,可以解决各种各样的问题?在ChatGPT横空出世之前,很多人可能想都不敢想,甚至有人现在也会想,当下的ChatGPT也做不到,对吧!在算力,算法,数据的汇聚、加工、标注,不断的迭代,应用逻辑巧妙的设计等等的加持下,诞生了火出圈的ChatGPT。ChatGPT各种问题,网上文章很多,大家自补,这里我们主要论述ChatGPT到底是泡沫,还是AI真的来了?对于这个问题,我们通过深层次的技术分析,阐述chatGPT的优缺点,来看真正的解决方案是什么。

一、chatGPT是什么

2022年11月30日,OpenAI公布了一个名为ChatGPT的对话聊天机器人模型,它通过对话的方式进行交互。

chatGPT主要基于GPT+RLHF,GPT-3.5可以认为是一个非常大的预训练好的语言模型(LM),RLHF是一种基于人工反馈的强化学习方法,来优化语言模型(LM)。总结起来,chatGPT就是大模型+人工反馈强化学习。可以说chatGPT之所以大火,RLHF很重要。GPT3当时就引起了关注,但没这么好,也没这么火。

GPT(Generative Pre-trained Transformer)是一种生成式预训练语言模型,采用无监督的深度学习的方法,预训练一套语言模型。RLHF(Augmenting Reinforcement Learning with Human Feedback)是基于人工反馈的强化学习技术,利用训练好的奖励模型,多轮迭代,来优化预训练语言模型。

GPT的生成式语言模型的训练是基于上下文信息去预测下一个词,然后计算每个词的损失,这种方式不能很好的从完整的输出层面对模型进行优化。而人工反馈的方法,可以从整体上对模型的输出进行评价,要比“基于上下文预测下一个词”的损失函数更符合真实场景。由此可见,RLHF的引入是非常重要的。chatGPT本质上还是对promot(提示/输入)进行概率预测的模型,是条件、概率的关联。

chatGPT主要任务目标包括:分类、翻译、阅读理解、问答、填空、新闻/小说等内容生成、代码生成及审核等。

二、chatGPT原理

上面提到,ChatGPT基于GPT(生成式预训练语言模型)和RLHF(基于人工反馈的强化学习),这里我们重点从这两方面来分析chatGPT的结构及其原理。

1、GPT架构及其原理

GPT可以简单理解为一套数学模型,数据输入给GPT,GPT输出一套数据。例如:输入一段话,GPT模型根据语言/语料概率来自动生成回答的每一个字(词句)。即利用已经说过的一段话作为输入条件,预测下一个时刻不同语句甚至语言集合出现的概率分布。

GPT是生成式预训练语言模型,到目前,有GPT-1、GPT-2、GPT-3三个版本。三个版本首先,都是用无监督的方法,即在大量无标注的语料数据中,预训练出一个与下游任务无关的模型,三个版本在这里的主要区别是模型的参数越来越大。其次,在使用阶段,三个版本分别试验了在具体任务中通过任务数据微调模型、不通过具体任务数据来微调模型以及通过少量任务数据交互来解决具体任务应用问题。

GPT模型架构如图1,它采用的以Transformer为核心结构的模型,其中Trm是一个Transformer结构,一个Trm可以简单理解为一套数据流转的结构。

图1 GPT系列的模型架构

GPT-1的完整结构如图2,其中左边是GPT使用的12层Transformer结构,右图是预训练模型根据不同任务进行微调的结构。这里重点是构建了一套具有强大自然语言理解能力的与任务无关的单模型框架:生成式预训练和判别式微调。预训练与微调的定义如下:

预训练:用标准的语言模型的目标函数,即似然函数,根据前k个词预测下一个词的概率。GPT预训练阶段其作者使用语言模型(LM)的训练方式,模型使用的是transformer的变体,即多层transformer-decoder。

微调:用的是完整的输入序列+标签。目标函数=有监督的目标函数+λ*无监督的目标函数。

通过上面可以看出,对预训练好的模型,叠加对应下游任务的层,就可实现不同下游任务。预训练语言模型能够充分利用大规模的无标注数据学习通用的语言模型,然后再使用下游任务的少量有标注数据进行模型微调,来使具体的任务获得较好的效果。

图2 GPT-1模型架构

GPT-2、GPT-3主要是增大了模型的容量,并去掉了监督微调。其作者认为大的模型应该能学习出多任务的能力,而不需要大的标注数据集来解决具体的任务问题,当然到此为止,实际上还没有达到预期。

2、GPT发展阶段

这里我们通过一个GPT模型的发展历程,介绍chatGPT的主要经历了哪些变化。这里我们先看一下chatGPT的发展史:

图3 chatGPT历代版本及区别

如上图所示,基于文本预训练的GPT-1,GPT-2,GPT-3三代模型都是采用的以Transformer为核心结构的模型(图3),主要的不同的是参数方面,也就是后边的版本模型非常大了。而ChatGPT则在此基础上,增加了人工强化学习的反馈(RLHF)。

GPT-1是在无标注的文本语料中进行生成式预训练,然后进行判别式微调,在具体的任务场景上获得能力的提升。

GPT-2相对于GPT-1,模型结构并没有做大的调整,只是使用了更多参数的模型和更多的训练数据。GPT-2在诞生之初也引发了不少的轰动,它生成的新闻足以欺骗大多数人类,达到以假乱真的效果。当时得出了一个结论:当一个大型语言模型在足够大的多样化数据集上进行无监督训练,就能在很多领域数据集上执行任务。

基于上述结论,提出了GPT-3,GPT-3大大加大了参数的数量,拥有1750亿。GPT-3除了能完成常见的NLP任务外,研究者意外的发现GPT-3在写SQL,JavaScript等语言的代码,进行简单的数学运算上也有不错的表现效果。GPT-3的基本训练方法,包括模型,数据,训练都类似于GPT-2。

上面介绍了GPT系列模型,主要是参数的增大、数据量及其多样性的增加。这个预测和实验结果,带来了良好的效果,但仍然达不到使用的预期,于是,研究者又在此基础上,利用人工反馈的强化学习方法来对体系进行优化。下面重点介绍RLHF。

3、基于人工反馈的强化学习训练过程

除了上述GPT越来越大的模型外,ChatGPT使用来自人类反馈的强化学习进行训练,这种方法通过人类干预来增强机器学习以获得更好的效果。在训练过程中,人类训练者扮演着用户和人工智能助手的角色,并通过近端策略优化算法进行微调。RLHF的训练步骤如如图4所示,其过程主要包括:收集数据训练监督策略模型(SFT)、收集比较数据并训练奖励模型(RM)和采用PPO强化学习算法针对奖励模型来优化策略三个阶段。

图4  ChatGPT的训练优化过程

1收集数据训练监督策略模型(SFT

这里OpenAI是先设计了一个prompt dataset,里面有大量的提示样本,给出了各种各样的任务描述;其次,找了一个标注团队对这个prompt dataset进行标注(本质就是人工回答高质量答案);最后,用这个标注过的数据集微调GPT-3.5,这个微调好的GPT-3.5我们称之为SFT模型(监督微调,全称Supervised fine-tuning,简称SFT),此时的模型在遵循指令/对话方面已经优于GPT-3,但不一定符合人类偏好。具体步骤如下:

1、从数据集中抽取问题;

2、标引员写出高质量答案;

3、使用这些数据微调gpt-3.5。

2收集比较数据并训练奖励模型Reward ModeRM

这个阶段主要是通过人工标注训练数据(约33K个数据),来训练奖励模型。首先,在数据集中随机抽取问题,然后使用第一阶段生成的模型,对于每个问题,生成多个不同的回答。最后,人类标注者对这些结果综合考虑给出排名顺序。

接下来,使用这个排序结果数据来训练奖励模型。对多个排序结果,两两组合,形成多个训练数据对。RM模型接受一个输入,给出评价回答质量的分数。这样,对于一对训练数据,调节参数使得高质量回答的打分比低质量的打分要高。具体步骤如下:

1、采样问题和模型的多个回答;

2、标引员对输出进行打分并排序;

3、使用排序比较数据训练奖励模型。

3)采用PPOProximal Policy Optimization,近端策略优化)强化学习算法针对奖励模型来优化策略。

这一阶段利用第二阶段训练好的奖励模型,靠奖励打分来更新预训练模型参数。具体做法是,再次让SFT模型去回答prompt dataset某个问题,然后此时不再让人工评估好坏,而是让阶段2训练好的奖励模型去给SFT模型的预测结果进行打分排序。具体步骤如下:

1、采样一个新的问题;

2、基于有监督策略初始化ppo模型;

3、让策略模型(SFT)生成回答;

4、奖励模型数据对产生的回答计算奖励;

5、奖励模型使用ppo更新策略模型(SFT)。

最后,如果我们不断重复第二和第三阶段,即以一个奖励模型(RM)来判断模型生成的文本是否优质(迎合人类偏好),这样不断生成、评估、优化,如此循环进行迭代,最终训练出更高质量的ChatGPT模型。

三、能干什么,不能干什么

1、chatGPT主要功能及示例

这里主要从chatGPT的设计目的:多任务单模型学习角度,介绍预期的任务类型(功能)。主要功能包括:

问答和补全任务;

多轮问答,主要是指代的应用;

代码生成及审核(代码补全、自然语言指令生成代码、代码翻译、bug 修复);

文本摘要;

创造性写作(例如写新闻、故事、邮件、报告,以及写作的改进等);

翻译任务;

常识推理;

阅读理解;

分类;

chatGPT的应用案例网上很多,这里简单列几个例子:

从示例可以看出,在一些专业的场景下,chatGPT回答的问题,看起来很正规、正确。但仔细看,就是一本正经的胡说八道,具体的问题我们下边分析。

2、chatGPT优缺点分析

通过上面的技术分析,我们可以知道,chatGPT本质上还是一个统计模型,依托前置条件生成后续的内容。解决了内容关联的量变到质变的过程,或者说路径验证,在字词相关性这个角度,可以更好的创造一些价值。但这种关联统计的方法在确定性知识(常识、定理、公式、数学推导、逻辑推导),场景类知识(场景解决方案)方面,贡献还比较有限。chatGPT的优缺点我们总结如下:

2.1 chatGPT的优点

chatGPT提出和验证了一种基于预训练大模型+RLHF的方法,并取得了非常好的社会效果,使得大数据和人工使用验证(迭代)结合的方式得到了大众的认可。

chatGPT在某些固定模式的任务上:文章生成、代码编写优化、开放域的对话、阅读理解等表现优秀,具备了一些实用的价值。

ChatGPT提供了一种与任务无关的通用(固定某些应用集合)机器学习的方法,带动了一条新的技术路径。

ChatGPT是一个统计模型,可以解决人类不擅长的大量文本内容的查阅和汇总,可以为人类决策行为提供一定量的帮助,简化工作量。

ChatGPT为NLP技术在一些特定领域(如:创作、客服等)中标准化落地提供了一个非常大的可能性,降低了NLP技术的使用门槛,对于推进产业的智能化变革非常有帮助。

2.2 chatGPT的缺点

这里要介绍的chatGPT的缺点,实际上是分析chatGPT不适合做什么,或者都有哪些问题。在阐述缺点之前,我们先看一个chatGPT在最擅长的写代码领域的例子:

去年12月5日,Stack Overflow作为全球最大的技术问答网站,宣布暂时封禁 ChatGPT,官方表示:“主要问题在于,虽然 ChatGPT 产生的答案错误率很高,但我们很难看出来它哪里错了”,这会造成问题回答鱼目混珠的情况。

Stack Overflow解释到,主要是由于从ChatGPT获得正确答案的平均比率太低,发布由ChatGPT创建的答案对网站以及询问或寻找正确答案的用户来说是非常有害的。

上述案例,描述了一个chatGPT很核心的问题,也是第四部分讲述的,为什么它不适合应用在科技领域。因为chatGPT是一个生成模型,本质是一个概率模型,是条件、概率的关联。它只能给出基于概率计算的结果,不能明确指出哪些是正确的,哪些是可能有问题的。而科技领域需要的是一个准确、可靠的答案。甚至从知识验证上来讲,chatGPT有时候不如搜索引擎。下面我们具体列一些chatGPT的问题:

它不知道它知道什么,它也不知道它不知道什么;

无法推理,也无法思考;

chatGPT有时会写出看似合理但不正确或荒谬的答案,你得到的答案可能听起来非常权威,但很可能是完全错误的,而且假的一本正经;

生成长文本依旧困难,比如写小说,可能还是会重复;

可解释性弱,模型是怎么决策的,其中哪些权重起到决定作用;

事实性问题会不合实际:ChatGPT对一些常识性、事实性的内容掌握得并不是很好,经常还是会出现一些不合乎实际的内容;

目前为止,包括chatGPT在内绝大部分的“创作”,本质上只是“抓取”和“拼接”。

专业的应用不行,比如数学、物理等。

四、如何解决科技领域的应用

chatGPT通过大数据、大算力、大模型和人工应用反馈强化学习结合,使得机器学习技术在自然语言领域取得了极大的进展。但这并不能解决AI在科技领域的落地,因为其是一个概率生成模型,所产生内容的真实性、可靠性、因果关联等是不能得到保障的。当然,chatGPT作为解决科技领域应用的一个核心技术点,还是很有价值的。

科技领域的问题需要证据、实验、推导、推理等因果关系生成的结论,是需要一套解决方案(逻辑),并且是经过大量的实验或者理论推导认证过的。

目前AI领域还没有一个理论像牛顿三大定律一样,能够告诉AI怎么走。即便是将来发展到足够的智能,人工智能的发展也不是一簇而就的,需要不断迭代、优化、沉淀的过程。

下面我们从分别介绍科技领域问题的特点及当前的解决方案是什么科技领域问题解决都需要克服哪些困难,工程化体系为什么很重要;最后,汇总介绍解决方案“专业领域超级科学家大脑”!

1、科技领域的特点及解答形态(专脑)

科技领域和泛领域的应用的本质区别是,结果的询证性以及过程的显性化表达(ChatGPT无需遵从科学依据,依据概率给出结论,并且过程是黑盒,不可解释。)。即得到的解答或者解决方案是需要遵循科学依据的(数学推导、实验结果、专家共识等),并且获取结论的过程是可见的(科技知识需要显性化表达、迭代验证及存储)。

由此可见,科技问题的解答不是仅仅某些字词的概率关联大就可以的。科技领域需要一套结果准确、过程可见、支撑要素来源权威的证据支撑的知识服务体系,同理,一套计算机可以表达、存储、应用的可量化计算的知识结构是必须的。所以我们需要一套工程化的体系,来保障人工智能在科技领域的可落地应用。

chatGPT虽然并不适合解决大部分科技问题。但chatGPT的模式,对于科技领域AI的应用也有非常大的价值,下面通过一个简单的架构图来阐述。我们将科技领域知识服务形式定义为专脑工程(图5),以此来说明科技领域的解决方案:

图5 专脑工程

如图所示,专脑工程体系核心要有三个要素,一套认知技术(chatGPT可以是其中一个技术点)、海量的专业数据、专家群体。数据和人这块很好理解,我们重点介绍一下认知技术体系。这里我们叫做专脑认知计算引擎,其主要包括两个方面:AI技术体系和知识图谱体系。AI技术方面涵盖了像GPT这种统计模型,也涵盖了类似RLHF这样的人工反馈强化学习方法(我们叫仿生对抗训练)。知识图谱体系主要是一种人和计算机都可以理解、推理使用的知识的一种表达、存储、使用形态。

图6 专脑

由图可见,一套计算机和人都可以理解和使用的语义网络体系(知识图谱),是知识存储、显性化表达、知识推理、知识计算的基础;知识成果的形态也可以是一段文字、图片、表格、也可以是一套开放工具;一些知识的决策、监督、验证等必然需要人来协同。最后,由一套AI技术体系来支撑整个专脑系统的运转。

由于专脑是一套体系,而不仅仅是一套技术,那就不能像一项技术实现那么简单,同理,对于某一技术的依赖也就不那么强烈,专脑的技术体系需要是一个分层和模块化的设计,随着技术的不断进步,每个模块都可以独立的快速升级、更换。这样,专脑的另一个重点就是在工程化体系的搭建和运营上,又由于专脑的体系相对复杂,所以我们运用工程化的思想来构建和运营专脑体系——专脑工程。

2、工程化体系及其必要性

上面我们介绍了专脑的组成,也提到了需要工程化的运营。在了解专脑工程体系之前,我们先通过一个专脑体系的应用场景,来探讨专脑体系的构建都有哪些难点:

图7 专脑的业务逻辑

图7展示了用户使用专脑解决科技问题的一个流程,对于简单的问题,机器可以提供经过验证的答案来直接解决;但对于复杂问题,或者机器难以准确解答的问题,就需要专家提供辅助;对于已经解决过的问题需要存储并让计算机可理解;对于复杂问题需要组合一系列解答来构成解决方案等。由此,我们汇总如下问题:

  1. 如何将海量数据变成计算机可利用的知识?
  2. 如何确认知识的准确性、有效性?
  3. 如何让专家愿意参与?
  4. 如何找到刚好适应解答问题的专家(找院士回答1+1明显不靠谱)?
  5. 如何对解答进行评价?
  6. 如何存储及利用解答及评价?
  7. 对问题解答的过程、逻辑、可计算化如何存储及利用?
  8. 跨领域问题如何解决?
  9. 个人、企业知识产权如何解决?
  10. 知识的产权边界如何界定?
  11. 如何针对不同场景,提供解决方案?
  12. 如何避免有价的知识集中在中央服务器(个体的知识一定是存储与个体)?

上面提到了知识及其关系的表示及存储、知识正确性的保障、人如何协同、人工反馈如何优化、知识产权等问题。即涵盖了技术问题,也包括了专家组织,社会化协同等一系列问题。这些问题,实际上是一套可落地的工程化方案和技术包含的问题,带着这些问题,我们看专脑工程(图8)。

图8 需求牵引的专脑工程体系

专脑工程体系,采用了知识语义化表示(机器自学习的技术体系)、需求牵引(基于产权保护的知识自动化交易)、利益驱动(人、机融合的知识解答)的模式。首先,通过三层的图结构确定了知识表示、存储、推理、计算及优化的形态(语义网);其次,利用语义网对人、数据进行画像,构建需求和解答、需求和专家的精准匹配;最后,通过对产权的界定以及一次构建,多次营销的模式,让知识提供者利益最大化。并且,专脑工程体系是由n多的专脑个体组成,专脑即分领域,也分层级。如图9是不同领域专脑互通的例子,图10是不同企业级、应用级或个人级的专脑。

图9 领域专脑群

图10 不同业务专脑群

通过上述分析,我们可以理解为,AI在科技领域的应用是一套工程体系(我们命名为专脑,专脑涵盖一系列技术点),chatGPT是体系中的一个技术点,当然每一个技术点的突飞猛进,都会促成工程体系(专脑)的强大。chatGPT的技术验证,对于专脑在数据到知识的转化、知识图谱的构建、知识和解答的匹配等过程会有很大的帮助。

3、为什么是专业领域、超级、科学家大脑

“专脑”的全称是“专业领域的超级科学家大脑”(专脑)。这里就有一个问题,为什么是专业领域,为什么是超级科学家大脑?这是一个技术问题,也是一个业务逻辑问题,我们通过业务来阐述一下。

为什么需要专业领域,我们举个例子,建筑师对应建筑设计图,医生对应询证医学,律师对应各种法条和案例,股票操盘手对应的是金融知识、市场信息和各种K线图。也就是说,每个领域的知识储备、知识使用逻辑、问题的交互与解答等是不一样的。所以我们解决工业设计的问题,和我们为病人看病是完全不同的业务逻辑,并且,专业领域的知识是有边界的

为什么是超级科学家大脑,而不是超级带货达人、超级PK第一人、超级赛亚人?首先我们先说科学家,1993年我们国家就提出了“科学技术是第一生产力”,科学家应该是一个国家的基石,按现在的流行语,我们那个时代的网红有邓稼先、钱学森、钱三强、袁隆平、李四光、华罗庚等等很多如雷贯耳的人,为我们解决了吃饭、国防及话语权、国家地质等等的问题。然后我们再说超级,目前AI领域的任务都太简单,所以让人感觉单纯通过学习、数据就可以搞定,但对于知识的存储、知识的查询,数据的计算,人确实是不能和计算机相比的,也就是说记忆、查找和计算是计算机的强项,而人的特点是理解、推理以及创新。普通的科技工作者,我们主要在记忆和使用的一定量的知识中寻找问题的答案,这部分主要是计算机的强项。所以超级主要是指赋予给计算机推理以及创新的能力

五、挑战与机会

通过上述分析,我们可以看到chatGPT还不是真正的AI,但这也不是泡沫,而是一个全新的起点。从专脑的工程化体系我们可以看到,真正的AI必须是一套工程化的体系,而每一个核心技术的飞跃,都推动这个体系的快速发展。chatGPT的到社会的认可,使得大家越来越接受人机交互的模式,而真正的智能,就来自于这种交互,来自于一个基于协同体系的人机协同、机器自学习、机器间自己组织的工程化体系。专脑的体系,不是一个技术点,而是一个工程体系,并且其中的技术点,需要能够一直在随着国外的技术研发进步,不断更迭。在chatGPT这个浪潮下,我们推动、实现专脑工程就具备了很大的机会。但因为是一个工程体系,就必然仍有一部分问题需要解决。

从chatGPT看AI的未来—“专脑”相关推荐

  1. 万字长文:2020智源大会总结-多角度看AI的未来

    来源:混沌巡洋舰 导读:智源大会2020 聚焦AI的未来,大家都知道, 2010是深度学习的时代, 我们经历了AI从巅峰进入到瓶颈的过程.那么什么是2020这个十年AI的中心? 近一段大家逐步从各个不 ...

  2. 认知推理:从图表示学习和图神经网络的最新理论看AI的未来

    2020年3月29日,中国中文信息学会·社会媒体处理专委会和北京智源人工智能研究院联合主办的"图神经网络在线研讨会2020"成功召开,超过5000人报名参加本次活动.会上,四位国内 ...

  3. ChatGPT:AI时代的创造力激活

    <你好,ChatGPT>是一本深入探索人工智能(AI)领域的畅销书籍,它以ChatGPT为切入点,系统地介绍了AI和AIGC的基础概念.技术原理.应用领域和未来展望.这本书通俗易懂,由浅入 ...

  4. ChatGPT和AI Art带来的变革,主导2023年的3个重要机器学习思想,理解这些概念可以让你在未来主宰人工智能

    机器学习最近非常受欢迎.时刻都在发生如此多的事情,可能很难弄清楚您应该学习哪些想法.当你记得许多流行技术(ChatGPT.AI Art 等)都内置了多种技术和想法时,这会变得更加复杂.对于初学者来说, ...

  5. 【人工智能AI大数据】AI 的未来:ChatGPT 世界中值得关注的 4 大趋势

    AI 的未来:ChatGPT 世界中值得关注的 4 大趋势 The future of AI: 4 trends to watch for in a ChatGPT world 目录 AI 的未来:C ...

  6. 一个AI产品经理怎么看AI的发展

    一个AI产品经理怎么看AI的发展 https://www.cnblogs.com/DicksonJYL/p/9566654.html 最近一直在思考这个问题,人工智能接下来的几年会有什么样的发展,是否 ...

  7. 【综述专栏】关于AI Architecture未来的一些思考

    来源:知乎-金雪锋 地址:https://zhuanlan.zhihu.com/p/428802599 10月28日,Jeaf Dean发了一篇博客,简单介绍了谷歌下一代AI架构Pathways的关键 ...

  8. 人工智能创业指南:AI 产品未来的发展模式及策略

    来源:36氪 概要:未来,AI会成为一种基础服务,同时,这种服务会像电力一样通过网络进行传输. 有观点认为,未来,AI会成为一种基础服务,同时,这种服务会像电力一样通过网络进行传输.吴恩达也表达过&q ...

  9. 关于AI Architecture未来的一些思考

    关注公众号,发现CV技术之美 本文转载自: https://zhuanlan.zhihu.com/p/428802599 10月28日,Jeaf Dean发了一篇博客,简单介绍了谷歌下一代AI架构Pa ...

最新文章

  1. 其他算法-两大随机采样方法简介
  2. 【BZOJ2738】矩阵乘法 [整体二分][树状数组]
  3. 20145106 《Java程序设计》第10周学习总结
  4. GitBash上传项目出现[fatal: remote origin already exists.]问题解决方案
  5. Linux 端口占用解决
  6. MATLAB软件禁用利好,Matlab被禁用?一款国产软件站了出来说:我就是中国的Matlab...
  7. 用VC创建程序启动画面
  8. MySQL故障检测_mysql主从故障检测处理脚本
  9. Ubuntu14.04下中山大学锐捷上网设置
  10. 《惠普之道》读书感-------站的角度不同,看到和思考的也就不一样
  11. 可展开/折叠的Android TextView:ExpandableTextView
  12. 《JAVA设计模式》之中介者模式(Mediator)
  13. python怎么创建文本文件
  14. Java蓝桥杯杨辉三角形_Java蓝桥杯练习——杨辉三角形
  15. 利用IP纯真数据库查询地址
  16. Tomcat配置参数优化
  17. 伦斯勒理工学院计算机科学专业强吗,伦斯勒理工学院计算机专业申请条件(附案例)...
  18. 逻辑题练习-if-for-数组
  19. (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  20. 有趣的“灵魂”库集合

热门文章

  1. CAD图纸能转换成图片吗
  2. 艾永亮:日活4亿的抖音和3800万的B站,谁能够发展的更好?
  3. global关键字(在局部作用域中声明使用全局变量)
  4. figma button_如何在Figma中创建锚链接
  5. Pyqt4 vnpy源码中关于GUI设计 2
  6. 中国标志性的图片简笔画,互联网简笔画图片大全
  7. 正版win10要不要装360_新风系统要不要装?
  8. 【信号去噪】基于鲸鱼优化算法优化VMD实现数据去噪附matlab代码
  9. 文献调研-词云图的制作
  10. 堂食-餐前/餐后支付 商家接单流程