6种卷积神经网络压缩方法

点击上方“AI遇见机器学习”,选择“星标”公众号

第一时间获取价值内容

0ae565828ec76f427f92a3db96a751e2.gif

来源:机器学习杂货店 
本文约5200字,建议阅读10+分钟
我们知道,在一定程度上,网络越深,参数越多,模型越复杂,其最终效果越好。

神经网络的压缩算法是,旨在将一个庞大而复杂的预训练模型(pre-trained model)转化为一个精简的小模型。

按照压缩过程对网络结构的破坏程度,我们将模型压缩技术分为 “前端压缩” 和 “后端压缩” 两部分。

  • 前端压缩,是指在不改变原网络结构的压缩技术,主要包括知识蒸馏、轻量级网络(紧凑的模型结构设计)以及滤波器(filter)层面的剪枝(结构化剪枝)等;

  • 后端压缩,是指包括低秩近似、未加限制的剪枝(非结构化剪枝 / 稀疏)、参数量化以及二值网络等,目标在于尽可能减少模型大小,会对原始网络结构造成极大程度的改造。

总结:前端压缩几乎不改变原有网络结构(仅仅只是在原模型基础上减少了网络的层数或者滤波器个数),后端压缩对网络结构有不可逆的大幅度改变,造成原有深度学习库、甚至硬件设备不兼容改变之后的网络。其维护成本很高。


一、低秩近似

简单理解就是,卷积神经网络的权重矩阵往往稠密且巨大,从而计算开销大,有一种办法是采用低秩近似的技术将该稠密矩阵由若干个小规模矩阵近似重构出来,这种方法归类为低秩近似算法。

一般地,行阶梯型矩阵的秩等于其 “台阶数”- 非零行的行数。

低秩近似算法能减小计算开销的原理如下:

25293d8d02cdfd4ed88679404b85a8e1.png

基于以上想法,Sindhwani 等人提出使用结构化矩阵来进行低秩分解的算法,具体原理可自行参考论文。另一种比较简便的方法是使用矩阵分解来降低权重矩阵的参数,如 Denton 等人提出使用奇异值分解(Singular Value Decomposition,简称 SVD)分解来重构全连接层的权重。

1.1 总结

低秩近似算法在中小型网络模型上,取得了很不错的效果,但其超参数量与网络层数呈线性变化趋势,随着网络层数的增加与模型复杂度的提升,其搜索空间会急剧增大,目前主要是学术界在研究,工业界应用不多。


二、剪枝与稀疏约束

给定一个预训练好的网络模型,常用的剪枝算法一般都遵从如下操作:

  1. 衡量神经元的重要程度;

  2. 移除掉一部分不重要的神经元,这步比前 1 步更加简便,灵活性更高;

  3. 对网络进行微调,剪枝操作不可避免地影响网络的精度,为防止对分类性能造成过大的破坏,需要对剪枝后的模型进行微调。对于大规模行图像数据集(如 ImageNet)而言,微调会占用大量的计算资源,因此对网络微调到什么程度,是需要斟酌的;

  4. 返回第一步,循环进行下一轮剪枝。

基于以上循环剪枝框架,不同学者提出了不同的方法,Han 等人提出首先将低于某个阈值的权重连接全部剪除,之后对剪枝后的网络进行微调以完成参数更新的方法,这种方法的不足之处在于,剪枝后的网络是非结构化的,即被剪除的网络连接在分布上,没有任何连续性,这种稀疏的结构,导致 CPU 高速缓冲与内存频繁切换,从而限制了实际的加速效果。

基于此方法,有学者尝试将剪枝的粒度提升到整个滤波器级别,即丢弃整个滤波器,但是如何衡量滤波器的重要程度是一个问题,其中一种策略是基于滤波器权重本身的统计量,如分别计算每个滤波器的 L1 或 L2 值,将相应数值大小作为衡量重要程度标准。

利用稀疏约束来对网络进行剪枝也是一个研究方向,其思路是在网络的优化目标中加入权重的稀疏正则项,使得训练时网络的部分权重趋向于 0 ,而这些 0 值就是剪枝的对象。

2.1 总结

总体而言,剪枝是一项有效减小模型复杂度的通用压缩技术,其关键之处在于如何衡量个别权重对于整体模型的重要程度。剪枝操作对网络结构的破坏程度极小,将剪枝与其他后端压缩技术相结合,能够达到网络模型最大程度压缩,目前工业界有使用剪枝方法进行模型压缩的案例。

三、参数量化

相比于剪枝操作,参数量化则是一种常用的后端压缩技术。所谓 “量化”,是指从权重中归纳出若干 “代表”,由这些 “代表” 来表示某一类权重的具体数值。“代表” 被存储在码本(codebook)之中,而原权重矩阵只需记录各自 “代表” 的索引即可,从而极大地降低了存储开销。这种思想可类比于经典的词包模型(bag-of-words model)。常用量化算法如下:

  1. 标量量化(scalar quantization)。

  2. 标量量化会在一定程度上降低网络的精度,为避免这个弊端,很多算法考虑结构化的向量方法,其中一种是乘积向量(Product Quantization, PQ),详情咨询查阅论文。

  3. 以 PQ 方法为基础,Wu 等人设计了一种通用的网络量化算法:QCNN (quantized CNN),主要思想在于 Wu 等人认为最小化每一层网络输出的重构误差,比最小化量化误差更有效。


9a68850e213652dfb5a7e1081aeac994.png
34f9eb4f530a92e1fd2e6f2f9979b4d5.png

这样,只需将 kk 个聚类中心(cjcj,标量)存储在码本中,而原权重矩阵则只负责记录各自聚类中心在码本中索引。如果不考虑码本的存储开销,该算法能将存储空间减少为原来的 log2 (k)/32log2(k)/32。基于 kk 均值算法的标量量化在很多应用中非常有效。参数量化与码本微调过程图如下:


56fed2e7fedf35be33b62ded251a7a2d.jpeg

这三类基于聚类的参数量化算法,其本质思想在于将多个权重映射到同一个数值,从而实现权重共享,降低存储开销的目的。


3.1 总结

参数量化是一种常用的后端压缩技术,能够以很小的性能损失实现模型体积的大幅下降,不足之处在于,量化的网络是 “固定” 的,很难对其做任何改变,同时这种方法通用性差,需要配套专门的深度学习库来运行网络。

这里,权重参数从浮点转定点、二值化等方法都是是试图避免浮点计算耗时而引入的方法,这些方法能加快运算速率,同时减少内存和存储空间的占用,并保证模型的精度损失在可接受的范围内,因此这些方法的应用是有其现实价值的。

更多参数量化知识,请参考此 github 仓库:

https://github.com/Ewenwan/MVision/blob/master/CNN/Deep_Compression/quantization/readme.md


四、二值化网络

1. 二值化网络可以视为量化方法的一种极端情况:所有的权重参数取值只能为 ±1±1 ,也就是使用 1bit 来存储 Weight 和 Feature。在普通神经网络中,一个参数是由单精度浮点数来表示的,参数的二值化能将存储开销降低为原来的 1/32。

2. 二值化神经网络以其高的模型压缩率和在前传中计算速度上的优势,近几年格外受到重视和发展,成为神经网络模型研究中的非常热门的一个研究方向。但是,第一篇真正意义上将神经网络中的权重值和激活函数值同时做到二值化的是 Courbariaux 等人 2016 年发表的名为《Binarynet: Training deep neural networks with weights and activations constrained to +1 or -1》的一篇论文。这篇论文第一次给出了关于如何对网络进行二值化和如何训练二值化神经网络的方法。

3.CNN 网络一个典型的模块是由卷积 (Conv)-> 批标准化 (BNorm)-> 激活 (Activ)-> 池化 (Pool) 这样的顺序操作组成的。对于异或神经网络,设计出的模块是由批标准化 (BNorm)-> 二值化激活 (BinActiv)-> 二值化卷积 (BinConv)-> 池化 (Pool) 的顺序操作完成。这样做的原因是批标准化以后,保证了输入均值为 0,然后进行二值化激活,保证了数据为 -1 或者 +1,然后进行二值化卷积,这样能最大程度上减少特征信息的损失。二值化残差网络结构定义实例代码如下:

 
def residual_unit(data, num_filter, stride, dim_match, num_bits=1):"""残差块 Residual Block 定义"""bnAct1 = bnn.BatchNorm(data=data, num_bits=num_bits)conv1 = bnn.Convolution(data=bnAct1, num_filter=num_filter, kernel=(3, 3), stride=stride, pad=(1, 1))convBn1 = bnn.BatchNorm(data=conv1, num_bits=num_bits)conv2 = bnn.Convolution(data=convBn1, num_filter=num_filter, kernel=(3, 3), stride=(1, 1), pad=(1, 1))if dim_match:shortcut = dataelse:shortcut = bnn.Convolution(data=bnAct1, num_filter=num_filter, kernel=(3, 3), stride=stride, pad=(1, 1))return conv2 + shortcut

4.1 二值网络的梯度下降

现在的神经网络几乎都是基于梯度下降算法来训练的,但是二值网络的权重只有 ±1±1,无法直接计算梯度信息,也无法进行权重更新。为解决这个问题,Courbariaux 等人提出二值连接(binary connect)算法,该算法采取单精度与二值结合的方式来训练二值神经网络,这是第一次给出了关于如何对网络进行二值化和如何训练二值化神经网络的方法。过程如下:

1. 权重 weight 初始化为浮点。

2. 前向传播 Forward Pass:

    • 利用决定化方式(sign (x) 函数)把 Weight 量化为 +1/-1, 以 0 为阈值。

    • 利用量化后的 Weight (只有 + 1/-1) 来计算前向传播,由二值权重与输入进行卷积运算(实际上只涉及加法),获得卷积层输出。

3. 反向传播 Backward Pass:

    • 把梯度更新到浮点的 Weight 上(根据放松后的符号函数,计算相应梯度值,并根据该梯度的值对单精度的权重进行参数更新)。

    • 训练结束:把 Weight 永久性转化为 +1/-1, 以便 inference 使用。


4.2 两个问题

网络二值化需要解决两个问题:如何对权重进行二值化和如何计算二值权重的梯度。

1. 如何对权重进行二值化?

权重二值化一般有两种选择:

  • 直接根据权重的正负进行二值化:xb=sign (x)xb=sign(x)。符号函数 sign (x) 定义如下:


c1b9701ff6f9aeda8afa3a45141918a7.png
  • 进行随机的二值化,即对每一个权重,以一定概率取 ±1±1。‍

2. 如何计算二值权重的梯度?

二值权重的梯度为 0,无法进行参数更新。为解决这个问题,需要对符号函数进行放松,即用 Htanh (x)=max (−1,min (1,x))Htanh(x)=max(−1,min(1,x)) 来代替 sinx (x)sinx(x)。当 x 在区间 [-1,1] 时,存在梯度值 1,否则梯度为 0 。


4.3 二值连接算法改进

之前的二值连接算法只对权重进行了二值化,但是网络的中间输出值依然是单精度的,于是 Rastegari 等人对此进行了改进,提出用单精度对角阵与二值矩阵之积来近似表示原矩阵的算法,以提升二值网络的分类性能,弥补二值网络在精度上弱势。该算法将原卷积运算分解为如下过程:

5e40aff4a4a1caa3393e6236a7a862ef.jpeg 9615352c9bfbeb1cc5ebdafc6934cae9.jpeg

可以看到的是权重二值化神经网络(BWN)和全精度神经网络的精确度几乎一样,但是与异或神经网络(XNOR-Net)相比而言,Top-1 和 Top-5 都有 10+% 的损失。

相比于权重二值化神经网络,异或神经网络将网络的输入也转化为二进制值,所以,异或神经网络中的乘法加法 (Multiplication and ACcumulation) 运算用按位异或 (bitwise xnor) 和数 1 的个数 (popcount) 来代替。

4.4 二值网络设计注意事项

  • ‍不要使用 kernel = (1, 1) 的 Convolution (包括 resnet 的 bottleneck):二值网络中的 weight 都为 1bit, 如果再是 1x1 大小, 会极大地降低表达能力。

  • 增大 Channel 数目 + 增大 activation bit 数 要协同配合:如果一味增大 channel 数, 最终 feature map 因为 bit 数过低, 还是浪费了模型容量。同理反过来也是。

  • 建议使用 4bit 及以下的 activation bit, 过高带来的精度收益变小, 而会显著提高 inference 计算量。


五、知识蒸馏

本文只简单介绍这个领域的开篇之作 - Distilling the Knowledge in a Neural Network,这是蒸 "logits" 方法,后面还出现了蒸 “features” 的论文。想要更深入理解,中文博客可参考这篇文章 - 知识蒸馏是什么?一份入门随笔。

知识蒸馏(knowledge distillation),是迁移学习(transfer learning)的一种,简单来说就是训练一个大模型(teacher)和一个小模型(student),将庞大而复杂的大模型学习到的知识,通过一定技术手段迁移到精简的小模型上,从而使小模型能够获得与大模型相近的性能。

ce4c283e71c9ecd0da32b6490fe1eb7d.jpeg

所以,可以知道 student 模型最终的损失函数由两部分组成:

  • 第一项是由小模型的预测结果与大模型的 “软标签” 所构成的交叉熵(cross entroy);

  • 第二项为预测结果与普通类别标签的交叉熵。

这两个损失函数的重要程度可通过一定的权重进行调节,在实际应用中,T 的取值会影响最终的结果,一般而言,较大的 T 能够获得较高的准确度,T(蒸馏温度参数) 属于知识蒸馏模型训练超参数的一种。T 是一个可调节的超参数、T 值越大、概率分布越软(论文中的描述),曲线便越平滑,相当于在迁移学习的过程中添加了扰动,从而使得学生网络在借鉴学习的时候更有效、泛化能力更强,这其实就是一种抑制过拟合的策略。知识蒸馏的整个过程如下图:

f46a42a9fc91ef90e6e0b17b175842d0.jpeg

student 模型的实际模型结构和小模型一样,但是损失函数包含了两部分,分类网络的知识蒸馏 mxnet 代码示例如下:

 
# -*-coding-*-  : utf-8  
"""
本程序没有给出具体的模型结构代码,主要给出了知识蒸馏 softmax 损失计算部分。
"""
import mxnet as mx
def get_symbol(data, class_labels, resnet_layer_num,Temperature,mimic_weight,num_classes=2):backbone = StudentBackbone(data) # Backbone 为分类网络 backbone 类flatten = mx.symbol.Flatten(data=conv1, name="flatten")fc_class_score_s = mx.symbol.FullyConnected(data=flatten, num_hidden=num_classes, name='fc_class_score')softmax1 = mx.symbol.SoftmaxOutput(data=fc_class_score_s, label=class_labels, name='softmax_hard')import symbol_resnet # Teacher modelfc_class_score_t = symbol_resnet.get_symbol(net_depth=resnet_layer_num, num_class=num_classes, data=data)s_input_for_softmax=fc_class_score_s/Temperaturet_input_for_softmax=fc_class_score_t/Temperaturet_soft_labels=mx.symbol.softmax(t_input_for_softmax, name='teacher_soft_labels')softmax2 = mx.symbol.SoftmaxOutput(data=s_input_for_softmax, label=t_soft_labels, name='softmax_soft',grad_scale=mimic_weight)group=mx.symbol.Group([softmax1,softmax2])group.save('group2-symbol.json')return group

tensorflow 代码示例如下:

 
# 将类别标签进行one-hot编码
one_hot = tf.one_hot(y, n_classes,1.0,0.0) # n_classes为类别总数, n为类别标签
# one_hot = tf.cast(one_hot_int, tf.float32)
teacher_tau = tf.scalar_mul(1.0/args.tau, teacher) # teacher为teacher模型直接输出张量, tau为温度系数T
student_tau = tf.scalar_mul(1.0/args.tau, student) # 将模型直接输出logits张量student处于温度系数T
objective1 = tf.nn.sigmoid_cross_entropy_with_logits(student_tau, one_hot)
objective2 = tf.scalar_mul(0.5, tf.square(student_tau-teacher_tau))
"""
student模型最终的损失函数由两部分组成:
第一项是由小模型的预测结果与大模型的“软标签”所构成的交叉熵(cross entroy);
第二项为预测结果与普通类别标签的交叉熵。
"""
tf_loss = (args.lamda*tf.reduce_sum(objective1) + (1-args.lamda)*tf.reduce_sum(objective2))/batch_size

tf.scalar_mul 函数为对 tf 张量进行固定倍率 scalar 缩放函数。一般 T 的取值在 1 - 20 之间,这里我参考了开源代码,取值为 3。我发现在开源代码中 student 模型的训练,有些是和 teacher 模型一起训练的,有些是 teacher 模型训练好后直接指导 student 模型训练。

六、浅层 / 轻量网络

浅层网络:通过设计一个更浅(层数较少)结构更紧凑的网络来实现对复杂模型效果的逼近,但是浅层网络的表达能力很难与深层网络相匹敌。因此,这种设计方法的局限性在于只能应用解决在较为简单问题上。如分类问题中类别数较少的 task。

轻量网络:使用如 MobilenetV2、ShuffleNetv2 等轻量网络结构作为模型的 backbone 可以大幅减少模型参数数量。

参考资料:

  1. 神经网络模型压缩和加速之知识蒸馏

  2. https://github.com/chengshengchan/model_compression/blob/master/teacher-student.py

  3. https://github.com/dkozlov/awesome-knowledge-distillation

  4. XNOR-Net

  5. 解析卷积神经网络 - 深度学习实践手册

  6. 知识蒸馏(Knowledge Distillation)简述(一)

来源 | OSCHINA 社区作者 | 华为云开发者联盟-嵌入式视觉

整理 | 机器学习研习院原文链接:https://my.oschina.net/u/4526289/blog/7119041

编辑:黄继彦

校对:林亦霖

欢迎大家加入我的这个”AIGC与GPT“知识星球,目前已有100+人,欢迎大家快速加入

作为一个大厂算法工程师和机器学习技术博主,我希望这个星球可以:

  • 【最全免费资源】免费chatgpt,最新AIGC和GPT相关pdf报告和手册。

  • 【最专业算法知识】Transformer、RLHF方法、多模态解读及其论文分享。

  • 【最新变现姿势】如何结合ChatGPT应用落地,各种可以作为副业的AIGC变现方式,打好这个信息差。

  • 【最有趣AICG】ChatGPT+midjourney拍电影,制作壁纸,漫画等等有趣的AICG内 容分享。

7f2c3b962b551bb7b87430d1e6cb9413.jpeg

另外这里会保存我收集的各种关于AIGC的资源和资料,包括AI绘画-midjourney,ChatGPT, GPT-4,百度-文心一言的各种资料。会保持持续更新,欢迎大家自行拿取。(网盘地址和密码在知识星球自取!)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10640.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超简单的卷积和加法融合,伪代码版

原创文章请勿随意转载,如有需要,请于作者联系。 前几天写了一个卷积神经网络(CNN)中,卷积和加法融合的文章。有同学问,希望写一个带代码版本的,方便更好的理解。 我的第一反应是,代…

【深度学习NLP】基于卷积神经网络(CNN)实现中文文本情感分析(分类)附代码以及数据集链接

【注】:本文所述的实验的完整实现代码包括数据集的仓库链接会在文末给出(建议读者自行配置GPU来加速TensorFlow的相关模型,运行起来会快非常多) 目录 一、研究的背景和目的 二、文本数据集描述 1、数据集来源以及使用目的 2、数据规模、以及如何划分…

Stability AI 创始人:大模型不应该只属于巨头

作者 | 凌梓郡 编辑 | 靖宇 追溯 ChatGPT 引发的 AI 军备竞赛,可以回到去年 7 月,图像生成模型 Stability Diffusion 开源(下文称 SD)。这个在 Open AI 的绘画模型 DALL- E2 之后发布的模型,因其源代码开源&#xff0c…

谷歌员工担心自家 AI 敌不过 ChatGPT,高管回应:其过快发展可能损害公司

来源:AI前线 整理:冬梅、核子可乐 谷歌的 Jeff Dean 表示,一旦提供错误信息、大企业所面临的“声誉风险”要比小公司更严重,所以谷歌自然“比小型初创公司更加保守”。 自 11 月底以来,AI 聊天机器人 ChatGPT 正式向公…

我让Chat GPT准备了几份SAP 顾问英文面试自我介绍的模板,大家感受一下

有个朋友说有个面试要用英文来做自我介绍,我灵机一动,不如让Chat GPT准备了几份SAP 顾问英文面试自我介绍的模板,大家感受一下。我看下来感觉写的还是中规中矩,可以一用,。 模板1 Sure, I can help you with that! Her…

从语言模型到ChatGPT:大型语言模型的发展和应用

前言 为获取最佳阅读格式体验,建议访问个人博客:从语言模型到ChatGPT:大型语言模型的发展和应用 | JMX Blog 大型语言模型(LLM)是指能够处理大量自然语言数据的深度学习模型,它已经在自然语言处理、文本生…

OpenAI2022年亏损5.4亿美元;GPT-4等大模型容易导致侵权和社会偏见问题;学而思研发大模型MathGPT丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 携程集团与亚马逊云科技成立联合创新实验室 日前,亚马逊云科技宣布与携程集团共同成立“联合创新实验室”,双方表示联合创新实验室将探索运用云计算、大数据、人工智能和机器学习等前沿技…

云原生周刊 | 使用 ChatGPT 协助解决 Prometheus 告警

开源项目推荐 kubernetes-chatgpt-bot 这是一个适用于 Slack 的 ChatGPT 机器人,只要有监控告警发送到 Slack 频道中,你就可以通过机器人向 ChatGPT 咨询如何解决这个告警,ChatGPT 将会给出一个较为详细的解决方案。 Copacetic Copacetic …

ChatGPT 引发AI服务器霸屏?AI服务器和普通服务器不同在哪?

​  近阶段,由于 ChatGPT 的横空问世,引发 AI 服务器再一次热潮来袭。随之而来的是,越来越多的企业和机构开始关注 AI 服务器和普通服务器之间的区别和对比。那么AI服务器到底是什么意思,它与普通服务器相比又有哪些差异呢? AI…

最全方案:升级成Plus会员,无法进入支付页面问题排查与解决

目录 问题复现 解决方案 更多内容 问题复现 当你帐号注册好了,想要升级成Plus的时候,却发现怎么也进不去支付页面:The payments page encountered an error. Please try again. If the problem continues, please email supportopenai.co…

利用催眠技巧绕开OpenAI的内容政策限制(仅供研究使用)

fork的仓库:https://github.com/JanYork/chatgpt-chinese-prompt-hack 声明:请仅作研究之用,不要违规使用! 在hack成功后,通过屏蔽moderetions的api请求,可以绕过OpenAI对于输出内容的审查. 地址为:https://chat.openai.com/back…

WeTab新标签页:一款可以使用的chatGPT的浏览器主页插件

AI工具 如果你还没有体验过chatGPT,那么Wetab新标签页应该是最方便快捷的一个方式了。Wetab新标签页整合了chatGPT的功能,自带6个源可以切换,日常使用完全够了。可以为你解答包括但不限于历史、科学、文化、社会等方面的问题。 你只需要在扩…

ChatGPT插件与Web网络浏览功能大揭秘!

ChatGPT自身进化速度之快让人常常感觉到惊叹,还在感慨GPT4的强大之时,插件以及web浏览功能已经正式发布。以前,它只能使用它在 2021 年之前学到的信息,但现在,OpenAI 开放了插件功能,让 ChatGPT 可以探索整…

ChatGPT连续宕机五次,是真不把高可用当回事?

最近一段时间以来,ChatGPT 火遍全球,然而在飞速的用户增长下,ChatGPT 却有点不堪重负,两天内宕机了五次。 这次宕机事件,再一次凸显了高可用架构的重要性,毕竟任何一个飞速发展的应用在两天内宕机五次&…

ChatGPT的API接口的模型有多少种?这些模型都有什么功能或者在应用场景上有什么区别?【模型介绍使用与调用接口方法】

OpenAI 的 API 接口提供了多个 GPT-3 模型,每个模型针对不同的应用场景和任务进行了优化。以下是目前可用的 GPT-3 模型: davinci: 这是最大和最全面的模型,具有最高的准确性和灵活性,用于多种自然语言处理任务,如文本生成、对话系统、翻译等。 curie: 这个模型比 davin…

20分钟轻松完成2篇申请文书?ChatGPT到底是黑科技还是黑名单?

自从ChatGPT与2022年底正式出道并走红之后,各大领域都纷纷浮现使用这款人工智能软件完成本属于人类工作的现象。如果你以为它就像手机上呼叫一声就能帮你查看天气或者设置闹钟的机器人一样那就错了,ChatGPT能够在一段对话中结合你给的信息生成复杂且具有…

快速拿下CKA认证考试,这些要求和tips你得知道

一、cka简介 K8S专业技术认证包含: CKA(Kubernetes 管理员认证) CKAD(Kubernetes 应用程序开发者认证) CKS(Kubernetes 认证安全专家。预计2020年11月开放,须先通过CKA认证) 什么…

考公机构用ChatGPT押题上热搜 网友戏称“还有什么是ChatGPT不会的吗?”

考前押题是每个老师在学生心中的“高光”时刻,对参加公务员考试的人来说,名师押题的重要性更加不言而喻。近日,在北京某公务员考试培训班上,一位申论老师使用ChatGPT预测申论考点,并直呼“这么快能答出来很难得”。用C…

电脑连不上网,浏览器网页打不开,但qq微信能发消息

这种情况一般是因为之前电脑挂了VPN或者梯子,未关闭/退出 就把电脑直接关机了,这样会导致电脑DNS域名出问题。 1. 打开Windows系统设置 2. 在搜索栏中搜索Internet选项 3. 点 连接,转到局域网设置 4. 把这一项(局域网(LAN)设置&a…

解决mac可以聊QQ微信不能浏览网页问题

最近用双系统的WINDOWS开了一个本地服务器,用于调试两台手机音视频通话,调试结束切回mac系统,发现浏览器无法打开网页了,而QQ微信还可以联网正常使用,经过一番摸索,解决方案做个记录。 打开 系统偏好设置--…