神经⽹络可以计算任何函数的可视化证明

matlab开发-神经网络的普遍性定理 matlab开发-神经网络的普遍性定理。神经网络通用逼近定理的直观证明 立即下载

《Neural Networks and Deep Learning》读书笔记第四篇

本章其实和前面章节的关联性不大,所以大可将本章作为小短文来阅读,当然基本的深度学习基础还是要有的。

主要介绍了神经⽹络拥有的⼀种普遍性,比如说不管目标函数是怎样的,神经网络总是能够对任何可能的输入,其值(或者说近似值)是网络的输出,哪怕是多输入和多输出也是如此,我们大可直接得出一个结论:

不论我们想要计算什么样的函数,我们都确信存在⼀个神经⽹络(多层)可以计算它

试想以下这种普遍性代表着什么,我觉得代表着做更多可能的事情(将其看做计算一种函数):

  • 比如将中文翻译成英文

  • 比如根据⼀个 mp4 视频⽂件⽣成⼀个描述电影情节并讨论表演质量的问题

  • ...

现实往往是残酷的,我们知道有这个网络存在,比如中文翻译成英文的网络,通常情况下想得往往不可得,网络在那里,但更可能我们得不到,怎么办?

前面我们知道,我们通过学习算法来拟合函数,学习算法和普遍性的结合是⼀种有趣的混合,直到现在,本书⼀直是着重谈学习算法,到了本章,我们来看看普遍性,看看它究竟意味着什么。

两个预先声明

在解释为何普遍性定理成⽴前,关于神经⽹络可以计算任何函数有两个预先声明需要注意一下:

  • 这句话不是说⼀个⽹络可以被⽤来准确地计算任何函数,而是说,我们可以获得尽可能好的⼀个近似,通过增加隐藏元的数量,我们可以提升近似的精度,同时对于目标精度,我们需要确定精度范围:,其中

  • 按照上⾯的⽅式近似的函数类其实是连续函数,如果函数不是连续的,也就是会有突然、极陡的跳跃,那么⼀般来说⽆法使⽤⼀个神经⽹络进⾏近似,这并不意外,因为神经⽹络计算的就是输⼊的连续函数

普遍性定理的表述:包含⼀个隐藏层的神经⽹络可以被⽤来按照任意给定的精度来近似任何连续函数

接下来的内容会使⽤有两个隐藏层的⽹络来证明这个结果的弱化版本,在问题中会简要介绍如何通过⼀些微调把这个解释适应于只使⽤⼀个隐藏层的⽹络并给出证明。

一个输入和一个输出的普遍性

先从一个简单的函数(即只有一个输入和一个输出)开始,我们将利用神经网络来近似这个连续函数:

f(x)

第一章我们就探讨过多层感知机实现异或,这次同样的,我们加入一个隐藏层就可以让函数舞动起来,比如下面这个有一个隐藏层、两个隐藏神经元的网络:

ia_100002713

第一步,暂时只考虑顶层的神经元,第一章也讲过 S 型神经元,所以输出范围类似上图右上角,重点看看这个 S 型函数,前面已经说过:

 

其中:,参见右上角的图,让我们考虑一下几个情况:

  1. 当不变,逐渐增加的情况下,输出会在原来的基础上变大,图像会相对向左边运动,因为没变,所以图像形状不会变

  • 上述情况让键减小,图像会右移,同样图像形状不变

  • 当不变,减小,很显然,图像的陡峭程度会下降,反之亦然

下图是书中给出的图示:

ia_100002714

其实我们完全可以自己绘制这个过程,利用Python的matplotlib可以很好地完成这个事情:

import matplotlib.pyplot as plt
import numpy as np


def sigmoid(w, b, x):
    return 1.0 / (1.0 + np.exp(-(w * x + b)))




def plot_sigmoid(w, b):
    x = np.arange(-2, 2, 0.1)
    y = sigmoid(w, b, x)
    plt.plot(x, y)

先看下增减下图像的移动情况:

plt.figure(12)
plt.subplots_adjust(wspace=0.2, hspace=0.5)


plt.subplot(221)
# 绘制原始图像
plt.title("w = 8 b = -4")
w, b = 8, -4
plot_sigmoid(w, b)


plt.subplot(222)
# b增加的图像
plt.title("w = 8 b = 4")
w, b = 8, 4
plot_sigmoid(w, b)


plt.subplot(223)
plt.title("w = 8 b = 4")
w, b = 8, 4
plot_sigmoid(w, b)


plt.subplot(224)
# b减小的图像
plt.title("w = 8 b = 1")
w, b = 8, 1
plot_sigmoid(w, b)


plt.show()

ia_100002715

再看下增减下图像的伸缩情况:

plt.figure(12)
plt.subplots_adjust(wspace=0.2, hspace=0.5)


plt.subplot(221)
# 绘制原始图像
plt.title("w = 8 b = 4")
w, b = 8, 4
plot_sigmoid(w, b)


plt.subplot(222)
# w减小的图像
plt.title("w = 3 b = 4")
w, b = 3, 4
plot_sigmoid(w, b)


plt.subplot(223)
plt.title("w = 3 b = 4")
w, b = 3, 4
plot_sigmoid(w, b)


plt.subplot(224)
# w增加的图像
plt.title("w = 105 b = 4")
w, b = 105, 4
plot_sigmoid(w, b)


plt.show()

ia_100002716

首先通过这两张图验证了上面的三点结论,最后可以看到我们得到的图像就像是一个阶跃函数

为什么需要千方百计地引出阶跃函数出来,这是因为在输出层我们在将所有隐藏神经元的贡献值叠加在一起的时候,分析阶跃函数比S型函数容易。我们该怎么做?结合前面的经验,只要将设置成一个比较大的值,然后通过修改就可以左右移动来定义阶跃函数的位置

思考下,阶跃发生的点在哪?让我们令,即可得出阶跃发生的点可以用进行表示,现在我们就可以使用来极大简化我们描述神经元的方式

目前为止我们专注于仅仅从顶部隐藏神经元输出,让我们看看整个网络的行为,尤其,我们假设隐藏神经元在计算以阶跃点(顶部神经元)和(底部神经元参数化的阶跃函数,它们各自有输出权重和:

ia_100002717

为何隐藏层的加权输出如上图,这理解一下,隐藏层的两个神经元的输出可以想象成阶跃函数,那么:

  • x 小于0.4,输出肯定是0

  • x 大于0.6,输出就是1.8

  • x 介于两者之间,输出就是0.6

接下来,我们进行这样一个设置:

ia_100002718

说明一下:

  • x 小于0.4,输出肯定是0

  • x 大于0.6,输出还是0

  • x 介于两者之间,输出就是0.8

这边主要得出的一个结论是,我们可以通过来定义加权输出图像中凸起的位置和高度,为了减少混乱,用一个参数表示高度:

ia_100002719

现在我们脑中应该有个清晰的概念,那就是对于神经元的加权输出组合,我们可以通过对和的调整来控制输出函数,从而让加权输出变成我们心目中的输出

好了,说明结束,接下来看看最开始绘制出来而函数:

ia_100002720

这个函数的表达式为:

现在面临的问题是使用一个神经网络来计算它,前面我们着重分析了隐藏神经元输出的加权组合,但是要注意,虽然我们经过参数的调整,得到了我们想要的目标函数,此时这个函数是隐藏神经元输出的加权组合,但是实际上网络的输出是:,也就是说:

  • 第一步:我们将隐藏神经元的加权组合近似成了

  • 第二步:但是神经网络的输出却是

的函数输出和的函数输出那可是大相径庭

我们控制住了隐藏神经元输出的加权组合,但是没有控制住网络的输出是:

那么此时我们面临的问题就是怎么让近似于

在上述情况下,可操作性的无非就是在加权输出上面做文章,所以我们可以设计一个神经网络,其隐藏层有个加权输出:

 

其中是的反函数

很容易可以得出的结果输入到中输出还是,所以我们控制住了

接下来就是调节参数直到拟合到我们满意的程度(⽬标函数和⽹络实际计算函数的平均偏差来衡量)

多个输入变量

上一节已经说明了一个输入和一个输出的普遍性,接下来可以尝试考虑多个输入变量的情况,假设有两个输入:,分别对应权重,以及一个神经元上的偏置,看看他们如何影响神经元的输出:

ia_100002721

思考:将设置为 0,再不断调整,输出会怎样变化?

首先,输出不受输入影响,其次,按照上一节的惯性,图像应该是会变陡峭,会接近到类似阶跃函数,不同的是此时图像是三维的:

ia_100002722

和上面一样,我们可以通过修改偏置的位置来设置移动阶跃点:

 

凸起的期望高度用相应的权重表示,可以通过分别设置x或y输入神经元的权重为0来分别控制y或x方向的凹凸函数

让我们考虑当我们叠加两个凹凸函数时会发⽣什么,⼀个沿⽅向,另⼀个沿⽅向,两者都有⾼度:

ia_100002723

试着改变参数h,正如你能看到,这引起输出权重的变化,以及x和y上凹凸函数的⾼度:

ia_100002724

我们构建的有点像是塔形函数,如果我们能构建这样的塔型函数,那么我们能使⽤它们来近似任意的函数,仅仅通过在不同位置累加许多不同⾼度的塔

以此类推,三个变量的四位函数也不在话下,在发散一下思维,维也可以用完全相同的思想来实现。

S 型神经元的延伸

我们已经证明了由型神经元构成的⽹络可以计算任何函数,若输入为: ,输出为:

 

其中是型函数,函数图像如下:

ia_100002725

如果我们考虑⼀个不同类型的神经元,它使⽤其它激活函数,⽐如如下的,会怎样?

ia_100002726

此时神经元的输出为:

 

同样的,我们依然可以利用这个函数来通过对权重和偏置的修改来得到一个阶跃函数的近似:

ia_100002727

这样我们可以和前面一样来推出任何目标函数,当然,这要求具有以下条件:

  •  在  和 时是定义明确的

  • 这两个界限是在我们的阶跃函数上取的两个值,并且这两个界限彼此不同,否则就只能一马平川了哈哈

修补阶跃函数

我们用神经元近似阶跃函数的时候,实际上有一个很窄的故障窗口,如下图说明,在这⾥函数会表现得和阶跃函数⾮常不同:

ia_100002728

其实理论上来说,只要权重够大,情况可以随着变好,刚刚是从函数本身出发,避免拟合的函数有问题,换个角度,我们可以从拟合的函数出发,我们利用的神经元来模拟目标函数的,其实也是变相地将目标函数的权重变大,从而达到效果

结论

普遍性告诉我们神经⽹络能计算任何函数;而实际经验依据提⽰深度⽹络最能适⽤于学习能够解决许多现实世界问题的函数

本章主要解答了是否使⽤⼀个神经⽹络可以计算任意特定函数的问题,这个自然是的。理论上我们只要两个隐藏层就可以计算任何函数,但深度学习又是什么情况呢?

正如在第⼀章中表明过,深度⽹络有⼀个分级结构,使其尤其适⽤于学习分级的知识,这看上去可⽤于解决现实世界的问题,我个人觉得是单层虽然能拟合各种目标函数,这没错,但是一样的数据,单层网络并不能找到理想中的那个函数,虽然有可能对目前的数据拟合得很好,但是使用深度网络却可以更好地提升泛化能力。

关于

  • Neural Networks and Deep Learning[1]

  • Neural Networks and Deep Learning 中文版[2]

 

欢迎关注公众号【老胡的储物柜】

参考资料

[1]

Neural Networks and Deep Learning: http://neuralnetworksanddeeplearning.com/index.html

[2]

Neural Networks and Deep Learning 中文版: https://github.com/zhanggyb/nndl

这是我关于《Neural Networks and Deep Learning》系列读书笔记的第四篇,如果你喜欢且支持本篇文章,为什么不点好看且转发让更多的朋友看到呢?

点击阅读原文,查看博文地址。

往期推荐:

NNDL: 改进神经⽹络的学习⽅法

反向传播算法如何工作

《Neural Networks and Deep Learning》读书笔记系列:1.识别手写字

神经网络基础

如何用Python创建一个简单的神经网络

不论微信钉钉还是什么软件,我写了个通用的消息监控处理机器人

【教程&工具】微信同步文章到Bear

【小工具】极客时间&GitChat专栏下载脚本

我的Chrome浏览器插件

oh-my-zsh: 让终端飞

JupyterLab:程序员的笔记本神器

如何实现一个Python爬虫框架

[程序员福利] 获取Lynda视频课程免费账户

Sanic中文教程合集:免费下载

神经网络:普遍性定理:神经网络通用逼近定理的视觉证明-matlab开发 这个实时脚本探索了通用逼近定理,该定理指出,单层“人工神经元”可用于逼近任何函数,具有任意小的逼近误差。 该项目通过视觉辅助提供了定理的直观证明。 该项目允许用户改变不同的网络参数以逼近任意函数 f(x)。 作为 MATLAB Online Live Editor Challenge 2018 的一部分提交。 立即下载

相关推荐

Deepface实战避坑:人脸识别模型VGG-Face、Facenet、ArcFace怎么选?附各模型性能与速度实测对比

本文深入对比了DeepFace框架中VGG-Face、Facenet和ArcFace三种主流人脸识别模型的性能与适用场景,提供了详细的实测数据和选型建议。通过分析各模型在CPU/GPU环境下的推理速度、内存占用和准确率表现,帮助开发者根据实际需求(如门禁系统、相册分类或视频流分析)选择最优模型,并给出工程化部署的避坑指南和优化技巧。

weixin_42625070的博客 305

神经网络笔记

#神经网络笔记 @email kaimango@163.com https://keras-cn.readthedocs.io/en/latest/getting_started/sequential_model/#sequential 该笔记,作为人工智能汇报的蓝本,亦作为作者的学习笔记 欢迎指点 简单神经网络 神经单元 在神经网络中,当输入为x1、x2、x3时,神经单元将它们如下整合为加权输入z,通过激活函数a(z)来处理。z1=w1x1+w2x2+w3x3+b(w1、w2、w3为权重,b为偏置)

chaitou0919的博客 7550

第二章 零差云控关节模组内部构造

对零差云控的eRob70I进行了拆解

SFY__优快云的博客 5994

两层神经网络的实现(cs231n作业)

两层神经网络是一种浅层神经网络,由输入层、隐藏层和输出层组成。输入层接受输入数据,隐藏层通过对输入进行加权和激活函数处理来产生新的特征表示,输出层对隐藏层的输出进行加权和激活函数处理来得到最终的输出结果。在两层神经网络中,隐藏层是起到关键作用的。它通过学习数据中的特征来对输入数据进行非线性转换。隐藏层中的每个神经元都有一组权重,这些权重用于将输入数据映射到隐藏层中。隐藏层中的每个神经元都使用激活函数来处理加权输入,并将其传递到下一层。常见的激活函数包括sigmoid函数、ReLU函数和tanh函数等。

jojosansy的博客 1780

《网络安全自学教程》- OSI七层模型分层及作用,数据封装与解封过程,数据传输过程。

OSI分哪七层,每层的作用是什么,解释数据在七层模型中是怎样传输的,封包和解封过程,数据包在每一层是怎么封装和解封的。

wangyuxiang946的博客 1万+

AI硬件加速:CPU vs GPU性能对比

AI硬件加速:CPU vs GPU性能对比 关键词:人工智能、硬件加速、CPU、GPU、性能对比、硬件架构、并行计算、优化策略、项目实战 摘要: 本文将深入探讨AI

AI天才研究院 1914

神经网络可以计算任何函数的可视化证明

对于神经网络,一个显著的事实就是它可以计算任何函数。如下:不管该函数如何,总有神经网络能够对任何可能的输入x,输出值f(x)即使函数有很多输入和输出,ffx1​⋯xm​,结果也是成立的。结果表明神经网络具有一种普遍性,无论我们想计算什么函数,都能用神经网络实现。

y江江江江的博客 2509

第12步 支持向量机(SVM)

搭建SVM

Jet4505的博客 1052

神经网络与深度学习笔记——第4章 神经网络可以计算任何函数的可视化证明

第4章 神经网络可以计算任何函数的可视化证明神经网络拥有一种普遍性。不论我们想要计算什么样的函数,我们都确信存在一个神经网络可以计算它。

zhzhx0318的专栏 1595

基于TKVA与深度学习的量子点微型光谱仪光谱重建改进算法研究

本文提出了一种融合深度学习的改进TKVA算法(TKVA-DL),用于提升量子点微型光谱仪的光谱重建精度。该方法创新性地结合深度先验网络与注意力机制,通过自适应学习光谱隐式先验替代传统固定正则化项,并动态加权探测器响应通道。实验表明,所提方法在仿真和实测数据上均显著优于传统TKVA及主流深度学习算法,RMSE降低35%,PSNR提升4.2 dB,同时保持物理可解释性。完整MATLAB实现验证了方法的有效性与可复现性,为微型光谱仪的高精度重建提供了新思路。 关键词:量子点微型光谱仪;光谱重建;Tikhonov正

AI的内部世界的博客 85

别再用LabelImg了!我手搓了一个C#“一站式”YOLO工具箱,标注训练推理全搞定

这个工具箱目前已经在两个小型产线项目中试用,反馈非常好。效率提升:原本需要 2 天完成的“数据准备 - 训练 - 验证”循环,现在缩短到了 2 小时。门槛降低:产线技术员经过 10 分钟培训,就能独立完成新产品的模型迭代。当然,它还有改进空间未来计划集成主动学习功能:自动筛选出置信度低的图片,推荐优先标注。支持多模型管理:方便在不同产品型号间快速切换。增加PLC 通信模块:直接在推理界面配置 IO 信号,实现真正的软硬联动。最后想说工具的本质是服务于人。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 442

【研究】神经网络可以计算任何函数的可视化证明

最新一年的诺贝尔物理学奖和化学奖颁给了与AI有关的科学家。而这里的AI很大程度上依赖神经网络算法。神经网络,作为现代人工智能的基石,最神奇的地方之一,就是它能够逼近任何函数。这个性质页被称为。换句话说,无论这个函数有多复杂、多奇特,只要给神经网络足够的神经元、足够的层数,它都能够很好地计算出近似值。那么,这究竟是怎么做到的呢?本篇文章参考《深入浅出神经网络与深度学习》一书,给出可视化证明的思路。

加百力 的技术博客 1545

别再只会复制Haar级联代码了!OpenCV人脸检测全方案深度解析,从原理到工业级落地

通用预训练模型在你的业务场景效果不好时,用自己的业务数据集训练专属的级联器,是提升精度的终极方案,OpenCV自带和工具,支持自定义Haar/LBP级联器训练。场景首选方案次选方案新手入门学习Haar级联分类器LBP级联分类器嵌入式轻量固定场景LBP级联分类器YuNet轻量版工业级落地项目(99%场景)DNN+YuNetMTCNN多人脸+小目标复杂场景DNN+YuNet自定义微调模型同时做人脸+其他目标检测。

2601_94871597的博客 380

深度神经⽹络为何很难训练

系列文章:《Neural Networks and Deep Learning》读书笔记系列:1.识别手写字反向传播算法如何工作NNDL: 改进神经⽹络的学习⽅法神经⽹络可以计算任何函数...

howie6879's blog 403

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

神经网络阅读整理

数字识别神经网络的实现-优快云博客。神经⽹络可以计算任何函数的可视化证明。深度学习之分类手写数字的网络。柔性最大值解决学习缓慢问题。神经网络中的过度拟合问题。深度神经⽹络为何很难训练。深度学习之卷积神经网络。深度学习的人工神经元。梯度下降算法学习图像。深度学习中的一些名词。神经网络中的反向传播。

major的博客 1081

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

火爆网络的《神经网络与深度学习》,有人把它翻译成了中文版!

点击上方“AI有道”,选择“置顶”公众号重磅干货,第一时间送达今天给大家介绍一本非常好的深度学习入门书籍,就是《Neural Network and Deep Learn...

红色石头的专栏 1049

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

第六节,Neural Networks and Deep Learning 一书小节(下)

4.神经网络可以计算任何函数的可视化证明 神经网络拥有一定的普遍性,即包含一个隐藏层的神经网络可以被用来按照任意给定的精度来近似任何连续函数。 这一章使用一个实例来阐述神经网络是如何来近似一个一元函数,和一个二元函数,并扩展到一个多元的实值函数。 5.深度神经网络为何很难训练 这一章讲述了在深度网络中,不同的层学习的速度差异很大,尤其是,在网络中后面的层学习的情况很好的情况下,先前的层常常会在训...

Graceful_scenery的博客 101

【动手学深度学习】Task05笔记汇总

Task05:卷积神经网络基础;leNet;卷积神经网络进阶 相比taks04,感觉这边比较能看得下去,就先看了。 卷积神经网络基础 1.卷积和池化的计算概念不难理解,本质还是矩阵运算,又在感叹之前老师在代数学里埋的种子。 2.二者最大的区别是,池化层好像没有自己学什么,只是数值的搬运工,然后在模型里的日常工作是降维。但卷积层应该是学到新东西了,适当设置步长也能代班降维。想到之前有个朋...

分界线 228

机器学习19-tensorflow4.2

LeNet-5 = 两层卷积+池化 + 三层全连接,是现代所有 CNN 的鼻祖,专门解决手写数字识别。如果你需要,我可以给你整理LeNet-5 面试常考 10 题 + 标准答案。设计理念:LeNet-5是「验证CNN可行性」的极简原型,现代CNN是「追求极致性能」的工程化产物;技术核心:LeNet-5仅实现「卷积+池化+全连接」的基础范式,现代CNN在此基础上叠加了激活优化、正则化、多尺度融合、注意力、残差连接等核心技术;能力边界。

qq_41810539的博客 113

AI达人创造营第三课笔记

深度学习模型训练和关键参数调优详解 面向应用场景,从模型选择、模型训练、超参优化和效果展示四个方面进行模型开发。 一、模型选择 从任务类型出发,选择最合适的模型。 1、回归任务 从使用Numpy推导,到使用深度学习框架,一步步走进最简单的回归任务。当人工智能邂逅蓝桥杯算法题,会擦出怎样的火花?https://aistudio.baidu.com/aistudio/projectdetail/1693536 人脸关键点检测https://aistudio.baidu.com/aistudio/p.

husthbk的博客 269

量化交易⾏业的主要技术现状,技术挑战。及作为 Python⼯程师可以从哪些⽅向去贡献⾃⼰的⼒量

1.引⾔ 量化交易是⾦融市场环境下的⼀个产物,从最初的主观性决策到现在的量化决策,经过 ⽆数次的验证与⽐较,证明量化交易是可⾏的,在美国量化交易是很多对冲基⾦的主要 使⽤⼿段,我国⽬前占⽐在%5左右,随着我国改⾰开放政策的不断深⼊与完善,中国经 济的宏观性利好等因素,相信量化交易也会成为以后中国⾦融交易市场的主⼒决策⽅ 法. 2.量化交易⾏业的技术现状 很多⼈都在电脑上的客户端或者⼿机 APP 上⾯交易股票的经历,客户端以及⼿机 APP⼀⽅⾯可以看到⾏情,⼀⽅⾯可以下单,⽐如⽤同花顺或者⼤智慧。..

xiao_xia_ming的博客 1050

【飞浆AI创造营】五 深度学习模型训练和关键参数调优详解

这次课的干货很多!!更像是paddle的一个tutorial,详细介绍了各种任务模型的用法。本次课从下面四个角度入手:模型选择、模型训练、超参优化、效果展示 模型选择 通常深度学习任务可以分为简单的回归任务、分类任务,以及更加困难的场景任务(目标检测、图像分割、文本生成、语音合成、强化学习等)。 paddle对此提供了丰富的模型库: PaddleX模型库 PaddleGAN模型库 PaddleOCR模型库 PaddleHub模型库 模型训练 可以分为两种: 基于高层API训练模型 通过M

qq_38156104的博客 2416
上一篇: NNDL: 改进神经⽹络的学习⽅法
下一篇: 从零到一黑苹果教程(10.15Catalina)
老胡的储物柜
博客等级 码龄12年 1145粉丝 284原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值