TensorFlow 学习之循环神经网络(RNN)

(机器学习)Tensorflow下RNN实现 循环神经网络(Recurrent Neural Network,RNN) 现实生活中,我们输入的向量往往存在着前后联系,即前一个输入和后一个输入是有关联的,比如文本,语音,视频等,因此,我们需要了解深度学习中的另一类重要的神经网络,那就是循环神经网络(Recurrent Neural Network,RNN). 循环神经网络(Recurrent Neural Network,RNN)依赖于一个重要... 阅读详情

近期, JoinQuant 金融终端上线了python3.6版本,并且为小伙伴们带来了诸多重要更新:

  • 期权数据;

  • 支持 Tick 回测功能;

  • 研究示例文件增加了 TensorFlow、PyTorch 的安装教程;

  • 支持 pip 一键安装 TensorFlow、PyTorch、Keras 等深度学习库;

  • 组合优化更新:支持风险因子暴露限制、换手率限制、流动性限制、流动性限制、行业偏离度限制、追踪误差限制、换手率限制等;

温馨提示:可以点击JoinQuant 金融终端下载最新版本的客户端软件;点击阅读原文,可获取本文研究文件。


目录

  1. 循环神经网络简介

  2. 简单的循环神经网络

  3. 用TensorFlow构建简单的循环神经网络

  4. 各种不同的循环神经网络

1. 循环神经网络简介

循环神经网络(Recurrent Neural Network, RNN)是一类用于处理序列数据的神经网络。就像卷积网络是专门用于处理网格化数据(像一个图像),循环神经网络是专门用于处理序列数据的。P.S. 为了方便理解,该篇文章尽量的删减了所需公式部分。 

讲到循环神经网络就不得不提起神经网络,而两者最大的不同就是循环神经网络可以根据过去做到未来。我们可以根据不同的训练准则,选择性的精确保留过去序列的某些方面。下图为神经网络与循环神经网络的对比。

在图中可以看到一个普通的神经网络就是将输入x通过函数f的计算再到状态h。而循环神经网络顾名思义就是一个循环过程,这个循环网络只处理来自输入X的信息,将其合并到经过时间向前传播的状态h,f是数据的处理函数。可以发现当前状态是可以影响其未来的状态。

2.简单的循环神经网络

我们将上面那个没有输出的循环神经网络扩展成一个完整的循环神经网络

在图中损失L衡量每个y^与相应的训练目标y的距离。从图中可以看出模型为向前传播。

为了更好地解释上面的循环神经网络,我们先假设一些东西。在上图中没有指定隐藏单元的激活函数,我们假设激活函数为f。RNN从特定的起始状态h(0)开始向前传播。从t=1到t=τ的每个时间步,我们应用以下更新方程:

其中的参数的偏执向量b和c联通权重矩阵 U、V、W,分别对应于输入到隐藏、隐藏到输出和隐藏到隐藏的链接的权重。通过上面的公式就可以计算出估计的y值,但是上面这些权重到底该取多少合适,我们并不知道,所以这个时候就需要通过我们上述估计出的y和真实的y做对比,之后通过设置学习率和选择优化器来重新调整 U、V、W,一直重复这个过程直到误差符合要求为止。这个过程和普通的神经网络是大致相同的。

3. 用TensorFlow构建简单的循环神经网络

TensorFlow 是计算机图模型,即用图的形式来表示运算过程的一种模型。大概来说就是我们需要在图中先画出来各个参数设定,设定好之后再运行它。对于 TensorFlow 图里面的各个元素来说,设定好它是并不运行的,直到用命令运行图中的某个参数我们才会运行。

下面是用 TensorFlow 建立一个循环神经网络模型,查看模型训练的效果。

以沪深300指数为例,我们想要预测下一天的指数收盘价。具体思路就是为了精准的预测输出值,就需要一个多次重复的一个过程,先随机的指定权重和偏置,经过一次次的循环,更新权重和偏置,最后找到最优的值来确定输出。其中每一次的计算流程如下图所示,我们希望得到L(t)L(t),之后再根据其值得大小调整权重,最后得到训练的结果:

注:在用 TensorFlow 最重要的一点就是对数据维度、形状的把控,一不小心就会出现问题。

第一步,我们需要载入用到的包。

import tensorflow as tf
import numpy as np
import pandas as pd
#函数用于清除默认图形堆栈并重置全局默认图形
tf.reset_default_graph()

第二步,对输入值和输出值进行设定。

#数据定义
#输入值x:以当天沪深300指数的开盘价、收盘价、最高价、最低价为输入数据
x_temp=get_price('000300.XSHG',start_date='2018-01-01',end_date='2018-12-31')[0:-1].iloc[:,:-2]
#将x调整为TensorFlow的格式(由于tf处理数据的格式需要改成float32)x=tf.Variable(np.array(x_temp).astype(np.float32))
#输出值y:以第二天沪深300指数的收盘价作为输出数据y_temp=get_price('000300.XSHG',start_date='2018-01-01',end_date='2018-12-31')[1:]['open']
#将y调整为TensorFlow的格式
y_temp=pd.DataFrame(y_temp)y=tf.Variable(np.array(y_temp).astype(np.float32))

第三步:定义循环神经网络的构成图与一些参数

1、隐藏层的层数:

在图中显示为1层,但实际上层数多一点学习效果更好,可以想象为一个黑箱,这里设置为128层。

2、学习率:学习率就是根据误差大小,选择学习的比率。这里设置为0.1

#设置学习率为0.1
lr=0.1
#设置隐藏层的层数为128
hidden_units=128
#输入参数的维度
x_inputs=len(x_temp.columns)
#输入数据的长度
n_step=len(x_temp.index)
#输出的维度
y_output=len(y_temp.columns)

第四步:随机定义各个权重,这里需要设置的有x输入的权重U和输出的权重V,隐藏层的权重W可以不用自己设定

#设置权重,权重为随机数
weights={    
   'U':tf.Variable(tf.constant(0.25,shape=[x_inputs, y_output])),
   'V':tf.Variable(tf.random_normal([hidden_units, n_step])),}biases={    
   'U':tf.Variable(tf.constant(0.0, shape=[n_step,y_output])),
   'V':tf.Variable(tf.constant(0.0, shape=[n_step,])),}

第五步:计算的前期准备已经OK了,接下来可以进行计算了~按照上面图中的步骤:

(1)计算图中输入数据进行加权处理后得到的数据

 a(t)=b+Wh(t−1)+Uxta(t)=b+Wh(t−1)+Uxt 根据权重和偏执的设置,用此公式得出的是x最终的输入数据

x_in = tf.matmul(x, weights['U'])+biases['U']
x_in = tf.reshape(x_in, [-1, n_step, y_output])

(2)定义隐藏层的处理方式和计算出输出值

#定义隐藏层的处理方式(这里的函数是可以自行选择,可以多去探索一下)
cell = tf.nn.rnn_cell.LSTMCell(hidden_units)
#计算出隐藏层中每层的结果
outputs, states = tf.nn.dynamic_rnn(cell, x_in, dtype=tf.float32)
#outputs记录了隐藏层中每一层的输出,但是如果要计算出最后的输出,只需要最后一层即可
output = tf.transpose(outputs, [1,0,2])[-1]
#根据权重得到对y的估计值
results=tf.matmul(output, weights['V']) + biases['V']

(3)求出预测的误差,再根据误差大小和学习率用优化器调整权重设置。

#算误差
cost=tf.reduce_mean(tf.square(results-y))
#根据误差大小和学习率用优化器调整权重设置
train_op = tf.train.AdamOptimizer(0.1).minimize(cost)

第六步:进行多遍循环运行,并查看误差

#初始化
init = tf.global_variables_initializer()
#构建一个图
sess = tf.Session()
#先把图初始化
sess.run(init)
#运行30000次来调整权重,每1000次打印出误差和预测的y值
for i in range(30000):    

        sess.run(train_op)    
              if i % 1000 == 0:        
                  #由于学习出的结果过多,这里只显示最后一个值                print(sess.run(cost),sess.run(results[-1][-1]))

最后通过运行就可以看到训练的结果。

我们就可以看出,训练误差已经是非常的小了,这证明循环神经网络的学习能力还是很强的!我们可以通过调整里面的参数来建立自己的循环神经网络模型。

综上所述这里提供了一个经过循环神经网络算法来预测股票收盘价的模型训练过程,提供了该算法的思路流程。这里并没有使用模型预测的步骤,文章只是想讲解RNN,因此未包含模型预测部分,请知悉~

P.S. 注意!在实际应用中,训练中的误差不是越小越好~有的时候训练时样本误差很小,但到实验组时就会出现预测效率大大降低。这是由于学习过度也就是过拟合!所以说一定要掌握好一个合适的度!

4. 各种不同的循环神经网络

所以你以为循环神经网络就是这么简单吗...NO!循环神经网络可以再各处进行循环,例如:

这类RNN的唯一循环是从输出到隐藏层的反馈链接。

这类 RNN 是在时间序列结束时,具有单个输出。

RNN 有很多不同的种类,我们可以根据需要自己构建不同的 RNN 的模型。

循环神经网络就到这里就结束了!欢迎指正批评!

[Python人工智能] 十二.循环神经网络RNN和LSTM原理详解及TensorFlow编写RNN分类案例 从本专栏开始,作者正式开始研究Python深度学习、神经网络及人工智能相关知识。前一篇讲解了TensorFlow如何保存变量和神经网络参数,通过Saver保存神经网络,再通过Restore调用训练好的神经网络。本文将详细讲解循环神经网络RNN和长短期记忆网络LSTM的原理知识,并采用TensorFlow实现手写数字识别的RNN分类案例。基础性文章,希望对您有所帮助。 阅读详情

相关推荐

S32K144(14)ADC

1、简介 开发板S32K144+S32DS+JLINK,裸机版的程序编写 S32K14x包含两个12位ADC模块,ADC0和ADC1 应用程序可能需要ADC的连续采样(4K采样/秒),这可能对CPU有相当大的负载。虽然使用可编程延迟块(PDB)来触发ADC可能会减少一些CPU负载,但当ADC以非常高的速率采样或PDB被绕过时,ADC支持DMA请求功能以获得更高的性能。ADC可以在转换完成时触发DMA(通过DMA请求)。TRGMUX会根据不同的应用需求,使用软件为用户提供更灵活的DMA触发方案,例如,可

朗朗上口就行啦的博客 1万+

【深度学习】循环神经网络(RNN)的tensorflow实现

【深度学习】循环神经网络(RNN)的tensorflow实现一、循环神经网络原理1.1、RNN的网络结构1.2、RNN的特点1.3、RNN的训练二、循环神经网络的tensorflow实现参考资料 循环神经网络又被成为时间递归神经网络(Recurrent Neural Networks),传统神经网络,每一个时间步隐含层神经元之间没有连接。但RNN中每一个时间步的隐含层输入由当前时间步的输入和上一时...

Luqiang_Shi的博客 3065

【Konva】解决图形加入group后无法获取到绝对坐标,以及group内绘制新图形坐标偏移的问题

解决konva绘图开发时“图形加入group后坐标不会变动,无法获取到绝对坐标”的问题

近10年前端开发工作经验,为你分享日常经验所得 1499

Tensorflow基础教程5:循环神经网络(RNN)讲解

在开始学习之前推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。 循环神经网络(Recurrent Neural Network, RNN)是一种适宜于处理序列数据的神经网络,被广泛用于语言模型、文本生成、机器翻译等。   循环神经网络的工作过程   循环神经网络是一个处理时间序列数据的神经网络结构,也就是说,我们需...

iFlyAI的博客 992

从涡流求解器到瞬态场:Maxwell 3D里无线充电仿真,选对求解器能省一半计算时间

本文深入探讨了Maxwell 3D在无线充电仿真中涡流求解器与瞬态求解器的选择策略,帮助工程师优化计算效率与精度。通过对比分析两种求解器的适用场景、性能差异及实战技巧,揭示如何根据频率特性、材料非线性和动态过程需求做出精准选择,可节省高达50%的计算时间。特别针对3D线圈模型的无线充电系统设计提供了专业建议。

weixin_26861329的博客 230

跟着团子学SAP CO:基于成本的完工百分比结算:Cost-based POC(以项目为例)

本文以英国及北美会计准则下的基于成本的POC的销售型项目结算对PS模块中的完工百分比进行介绍

Lucas1211的博客 2万+

Tensorflow 实践RNN(一)

本博客记录使用tensorflow搭建rnn模型并用来对mnist的手写体进行识别的过程,记录其中的学习过程。 实践环境: Tensorflow version: 1.3.0 python version: 3.5 1.RNN快速介绍: 图1如上图所示,其中x是输入,s旁边的圆圈是隐层,而o旁边的圆圈表示输出。左边是RNN的第一种表示,可以看到在隐层中存在闭环。右图则是

jmhIcoding 2万+

ANSYS拓扑优化基础实例

唐深51CAE 2018/6/10 拓扑优化在工程设计中,常用于机械结构概念设计和轻量化设计,ANSYS通用有限元分析软件提供了强大的拓扑优化功能,本文将通过一个简单实例进行展示。 一、赵州桥 赵州桥又称安济桥,坐落在河北省赵县洨河上,建于隋朝年间公元595年~605年,由著名匠师李春设计建造,距今已有约1500年的历史,是当今世界上现存最早、保存最完整的古代敞...

TQT_CAE的博客 6026

深度学习(07)_RNN-循环神经网络-02-Tensorflow中的实现

关于基本的RNN和LSTM的概念和BPTT算法可以查看这里 本文个人博客地址:http://lawlite.me/2017/06/16/RNN-%E5%BE%AA%E7%8E%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C-02Tensorflow%E4%B8%AD%E7%9A%84%E5%AE%9E%E7%8E%B0/ 参考文章: https://r2rt.com/

莫失莫忘的博客 2万+

第02章:HSA-Runtime架构概览

摘要: 本章深入解析HSA Runtime的三层架构设计,包括公共API层(C语言接口)、核心实现层(C++业务逻辑)和驱动抽象层(硬件交互)。重点介绍了Runtime的核心组件(Agent、Queue、Signal、Memory)及其关系,以及初始化流程、配置选项和调试功能。通过学习,读者将掌握HSA Runtime的整体架构,为后续模块学习奠定基础。

图形/计算GPU的驱动与虚拟化技术分享园地 2919

26、遥感图像无监督变化检测方法解析

本文详细解析了遥感图像中的无监督变化检测方法,重点介绍了基于快速模糊 C-均值聚类的无监督变化检测方法(CDFFCM)在滑坡映射中的应用。CDFFCM 方法利用图像结构信息和高斯金字塔技术,提高了检测的准确性,减少了参数数量,并缩短了计算时间。该方法通过与传统方法的对比,展现出在高分辨率遥感图像滑坡检测中的显著优势。此外,文章还探讨了 CDFFCM 的未来发展趋势,包括技术融合、多模态数据应用以及智能化与自动化方向。

game4的博客 149

神经网络学习小记录2——利用tensorflow构建循环神经网络(RNN)

神经网络学习小记录2——利用tensorflow构建循环神经网络(RNN)学习前言RNN简介tensorflow中RNN的相关函数tf.nn.rnn_cell.BasicLSTMCelltf.nn.dynamic_rnn全部代码 学习前言 在前一段时间已经完成了卷积神经网络的复习,现在要对循环神经网络的结构进行更深层次的明确。 RNN简介 RNN 是当前发展非常火热的神经网络中的一种,它擅长对序...

Bubbliiiing的学习小课堂 7096

【嵌入式Linux驱动开发】二十四、Linux I2C 驱动上手尝试

  人的前程关于眼界、关乎格局。   志之所趋,无远弗届,穷山复海不能限也;   志之所向,无坚不入,锐兵精甲不能御也。 一、I2C驱动框架简介   Linux内核将 I2C 驱动分为两部分: ①、 I2C 总线驱动, I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②、 I2C 设备驱动, I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。 1....

悟已往之不谏 知来者之可追 1068

TensorFlow2.0 学习笔记(五):循环神经网络(RNN)

专栏——TensorFlow学习笔记 文章目录专栏——TensorFlow学习笔记一、什么是RNN二、文本生成1_读取文本2_模型实现3_超参数4_模型训练5_模型预测6_完整代码推荐阅读参考文章 一、什么是RNN 循环神经网络(Recurrent Neural Network, RNN) 是一种适宜于处理 序列数据 的神经网络,被广泛用于语言模型、文本生成、机器翻译等。基础知识可以看一下这个英文...

种树最好的时间是10年前,其次是现在!!! 5161

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Tensorflow与keras学习 (3)——循环神经网络RNN

循环神经网络RNN 3.1 RNN与LSTM介绍: 循环神经网络中的神经单元类似于模拟数字电路技术中的门电路,具有很多控制门来控制输入输出。 RNN结构: LSTM结构: 相比与传统的神经网络,RNN在上一层输入的基础上加入了一个x(该时刻)的输入,但是并不能解决长时间依赖。LSTM设计加入了忘记门,输入门,输出门,除了此时的输出还有一个该时刻的转态值,并独立传出到下一层。...

AI知识搬运工 1252

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

tensorflow 训练权重不更新_TensorFlow 学习之循环神经网络(RNN)

近期, JoinQuant 金融终端上线了python3.6版本,并且为小伙伴们带来了诸多重要更新:期权数据;支持 Tick 回测功能;研究示例文件增加了 TensorFlow、PyTorch 的安装教程;支持 pip 一键安装 TensorFlow、PyTorch、Keras 等深度学习库;组合优化更新:支持风险因子暴露限制、换手率限制、流动性限制、流动性限制、行业偏离度限制、追踪误差...

weixin_39922534的博客 569

深度学习TensorFlow2,循环神经网络(RNN,LSTM)系列知识

一:概述 二:时间序列 三:RNN 四:LSTM 一:概述 1、什么叫循环? 循环神经网络是一种不同于ResNet,VGG的网络结构,个人理解最大的特点就是:它通过权值共享,极大的减少了权值的参数量。举个例子那ResNet18做个练习往往就可以抛出成千上万的权值w,但在循环神经网络w的值也就那么几个然后每层都用他们这几个,构成了循环。 2 、 循环神经网络主要作用场景? 主要用于语言模型,文本生成,机器翻译。他们的一个特点就是数据是有序列可循的,举个例子:在进......

m0_52289494的博客 1198

【TensorFlow深度学习】循环神经网络RNN的基本结构与功能

循环神经网络RNN通过其独特的循环结构,实现了对序列数据的高效处理,打破了传统神经网络在处理时间序列数据上的局限。从语言模型到机器翻译,再到时间序列预测,RNN的应用展现了其在众多领域中强大的模型表达能力和实用性。通过上述代码实例,我们直观地理解了RNN的构造与训练过程,为深入探索其高级变种,如长短时记忆网络(LSTM)和门控单元等打下了坚实基础。RNN,无疑是深度学习领域中一颗璀璨的明珠,照亮了序列数据处理的无限可能。

沐风—云端行者 819

循环神经网络_TensorFlow 学习之循环神经网络(RNN)

近期,JoinQuant 金融终端上线了python3.6版本,并且为小伙伴们带来了诸多重要更新:期权数据;支持 Tick 回测功能;研究示例文件增加了 TensorFlow、PyTorch 的安装教程;支持 pip 一键安装 TensorFlow、PyTorch、Keras 等深度学习库;组合优化更新:支持风险因子暴露限制、换手率限制、流动性限制、流动性限制、行业偏离度限制、追踪误差限制、换手率...

weixin_39963534的博客 210

深度学习——文本、序列(循环神经网络RNN)(Tensorflow)笔记

深度学习——文本一、文本数据处理1、one-hot 编码 一、文本数据处理 文本进行分词,得到标记,对标记做one-hot编码或词嵌入。 1、one-hot 编码 分词—>添加索引—>编码 将每个单词与唯一的一个整数索引关联,将整数索引i转换为长度为N的二进制向量,该向量第i个元素为1,其余元素为0。 import numpy as np #单词级 samples = ['The cat set on the mat.','The dog ate my homework.'] token_in

qq_43842886的博客 1626

tensorflow2.0学习笔记: RNN 循环神经网络

基于IMDB数据实现文本情感分类循环神经网络: 简单的RNN:keras.layers.SimpleRNN() 双向RNN: keras.layers.Bidirectional(keras.layers.SimpleRNN()) import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline import numpy as np import sklearn import pandas as pd import o

凿井而饮的博客 695

深度学习-循环神经网络TensorFlow

深度学习-循环神经网络TensorFlow循环神经网络结构长短时记忆网络(LSTM)结构TensorFlow实现LSTM双向循环神经网络TensorFlow实现BiLSTM深层循环神经网络TensorFlow实现多层LSTM 循环神经网络结构 下图是一个典型的循环神经网络。循环神经网络的主体结构A的输入除了来自输入层xt,还有一个循环的边来提供上一时刻的隐藏状态ht−1。在每一时刻,循环神经网络的模块A在读取了xt和ht−1之后会生成新的隐藏状态ht,并产生本时刻的输出ot。循环神经网络当前的状态ht是根据

LaoChen_ZeroonE 1628

TensorFlow2 Python深度学习 - 循环神经网络(RNN)- 简介

TensorFlow2 Python深度学习 - 循环神经网络(RNN)- 简介

java1234的博客 974

深度学习 -- TensorFlow(9)循环神经网络RNN

目录 一、循环神经网络RNN介绍 二、Elman network && Jordan network 三、RNN的多种架构 1、一对一 2、多对一 3、多对多 4、 一对多 5、Seq2Seq 四、传统RNN的缺点 一、循环神经网络RNN介绍 循环神经网络 RNN 的基本结构是 BP 网络的结构,也是有输入层,隐藏层和输出层。只不过在 RNN 中隐藏层的输出不仅可以传到输出层,并且还可以传给下一个时刻的隐藏层。 从结构上可...

great_yzl的博客 2228

Tensorflow学习笔记11-循环神经网络 RNN

@TOC 循环神经网络 RNN 循环神经网络 RNN (Recurrent Neural Network) RNN 的用途 对于预测, 顺序排列十分重要. 我们可以预测下一个按照一定顺序排列的字, 但是打乱顺序, 我们就没办法分析自己到底在说什么了. 序列数据 那我们如何让数据间的关联也被 NN 加以分析呢? 想想我们人类是怎么分析各种事物的关联吧, 最基本的方式,就是记住之前发生的事情. 那我们让神经网络也具备这种记住之前发生的事的能力. 再分析 Data0 的时候, 我们把分析结果存入记忆. 然后当分

weixin_40852935的博客 267

自然语言菜鸟学习笔记(七):RNN(循环神经网络)及变体(LSTM、GRU)理解与实现(TensorFlow)

目录 前言 RNN(循环神经网络) 为什么要用循环神经网络(RNN)? 循环神经网络(RNN)可以处理什么类型的任务? 多对一问题 一对多问题 多对多问题 循环神经网络结构 单层网络情况 正向传播 反向传播 存在问题 优化方案 多层网络情况 双向网络结构 LSTM(Long Short Term Memory)长短期记忆网络 LSTM与RNN的不同 选择性机制的...

心有猛虎 细嗅蔷薇 4827
上一篇: “降准”带来大牛市? 量化测算PMI 社融 汇率等宏观数据A股择时效果
下一篇: 【年度福利】聚宽2018年度评选+精选文章合集
Quant_
博客等级 码龄11年 393粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值