提交 3817f649 编写于 作者: W wizardforcel

2021-01-22 16:56:16

上级 73330217
......@@ -138,7 +138,7 @@ AlphaGo 的神经网络训练流水线和架构,摘录自 Google DeepMind 的
* `a`:快速部署策略`ρ[π]`和监督学习策略网络`ρ[σ]`受过专家训练 播放包含 3000 万个董事会职位的数据集,以像人类专家一样学习预测动作。 通过学习的监督学习策略网络的权重初始化强化学习策略网络,并通过使用策略梯度来最大化策略质量,从而改进其策略`ρ[ρ]`策略网络的早期版本。 通过使用此更新的策略网络进行自我播放,将生成一个新的数据集。 数据集包含棋盘位置的图像及其相应的最终结果,即获胜或失败。 最后,使用该自玩数据集通过回归训练值网络`ν[θ]`,以输出获胜的概率。
* `b`:该流程的架构流程,其中策略网络将棋盘位置(游戏状态)的图像表示作为输入,并通过参数`σ`的卷积层传播(如果它 是一个有监督的学习策略网络)或`ρ`(如果它是强化学习策略网络),并针对所有可能的动作`a`返回概率分布![](img/a20e03f6-d7b8-4a24-9ed4-c0e49948b873.png)或![](img/b319e230-6055-4a7d-97eb-3b94f0b8886e.png) 输出。 值网络还使用参数`θ`的许多卷积层,返回标量值![](img/e967cc42-4300-4276-8f1b-e362c4705662.png),该标量值表示在给定位置`s'`中获胜或失败的结果(最终结果)的概率:
* `b`:该流程的架构流程,其中策略网络将棋盘位置(游戏状态)的图像表示作为输入,并通过参数`σ`的卷积层传播(如果它 是一个有监督的学习策略网络)或`ρ`(如果它是强化学习策略网络),并针对所有可能的动作`a`返回概率分布`p[σ](a | s)``p[ρ](a | s)`输出。 值网络还使用参数`θ`的许多卷积层,返回标量值`v[θ](s')`,该标量值表示在给定位置`s'`中获胜或失败的结果(最终结果)的概率:
![](img/8d06defa-4382-48e4-a4c2-2a831bdf246f.png)
......@@ -147,10 +147,10 @@ Silver 等人
让我们讨论前面详细显示的在 AlphaGo 中使用的**蒙特卡罗树搜索****MCTS**):
* `a`:在每次仿真过程中,遍历树时选择了该边,该边具有作用值`Q`和值`u(P)`之和的最大值。 `u(P)`是该边存储的先验概率`P`的函数。
* `b`:扩展叶节点,即在策略网络![](img/401ce6a8-cd7f-48ee-8df4-f55cb8e8747b.png)之后处理新节点,并将每个操作的输出概率存储为先验概率`P`
* `b`:扩展叶节点,即在策略网络`p[σ]`之后处理新节点,并将每个操作的输出概率存储为先验概率`P`
* `c`:在仿真结束时,以两种方式对叶节点进行评估:
* 使用值网络![](img/e9c40645-7e2f-403d-b976-413405948161.png)
* 使用学习到的快速推广策略![](img/a453b581-4415-4d30-81e6-96e93018c288.png)进行推广,直到游戏结束,并使用函数`r`计算获胜者
* 使用值网络`v[θ]`
* 使用学习到的快速推广策略`p[π]`进行推广,直到游戏结束,并使用函数`r`计算获胜者
* `d`:更新动作值`Q`,以跟踪该动作下方子树中所有评估值`r(·)``v[θ](·)`的平均值。
如前所述,对一个策略网络进行了 3000 万个游戏职位的训练。 在不使用树搜索的情况下,AlphaGo 赢得了与 Pachi(最强的围棋 AI 程序)对战的 85% 的比赛,其中 Pachi 依靠基于蒙特卡洛搜索树的 100,000 次模拟。 值网络接受了 3000 万个游戏位置的训练,并学习了预测获胜概率的模型。 策略网络输出充当树搜索的指南。 对于给定的游戏状态,策略网络为每个可能的移动提供了概率。 这有助于减少树搜索期间的候选动作。
......
......@@ -84,28 +84,28 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
* 最低价
* 收盘价
对于连续市场(例如我们的测试用例),资产在`t`期间的开盘价是其在前一时期`t-1`的收盘价。 投资组合由`m`个资产组成。 在时间段`t`中,所有`m`资产的收盘价都创建了价格向量![](img/bbb31a02-f108-4331-8fa0-769b24ae6ed6.png)。 因此,![](img/ceb658b2-d2d3-40d8-862b-90030863c9e9.png)的![](img/49f29652-be4c-4277-99bf-aac6fa0908c5.png)元素即![](img/cebf0414-d4f0-4ccb-a1e2-9ceaf7c9e371.png)是该![](img/819e2605-a4e4-4983-a172-a572657cba70.png)时间段内![](img/fb0f46f7-d5f7-4646-8688-5eaa57f7fac4.png)资产的收盘价。
对于连续市场(例如我们的测试用例),资产在`t`期间的开盘价是其在前一时期`t-1`的收盘价。 投资组合由`m`个资产组成。 在时间段`t`中,所有`m`资产的收盘价都创建了价格向量`v[t]`。 因此,`v[t]`的第`i`个元素即`v[i, t]`是该`t`时间段内第`i`资产的收盘价。
同样,我们有向量![](img/a2b0ca94-b2a2-41ba-9143-a04f126d5ac2.png)和![](img/a4c89b4c-2ee3-4552-bf2a-406695979538.png),其中:
同样,我们有向量`v[t]^(hi)``v[t]^(lo)`,其中:
* ![](img/e15e5efc-ac35-4f33-ae54-852cbd21ec5f.png):包含时间段`t`中所有`m`资产的最高价格的向量
* ![](img/dad09205-78cb-49e8-bb91-ce4661d53f24.png):包含时间段`t`中所有`m`资产的最低价格的向量
投资组合中的第一个资产是特殊资产,从现在开始将被称为现金。 之所以认为与众不同,是因为所有资产的价格均以现金面额报价。 由于第一个资产定义了基础货币,因此![](img/24839153-1253-4920-9b88-f92515edbadb.png),![](img/6a0f6f77-c677-496c-97db-a9f5020387e5.png)和![](img/836fc004-8c70-4bc8-a213-a939040406a5.png)的第一个元素将始终为 1,即:
投资组合中的第一个资产是特殊资产,从现在开始将被称为现金。 之所以认为与众不同,是因为所有资产的价格均以现金面额报价。 由于第一个资产定义了基础货币,因此`v[t]``v[t]^(hi)``v[t]^(lo)`的第一个元素将始终为 1,即:
![](img/76ab6d97-24a6-497b-ad74-52ab45c8180b.png)
在这里,比特币被认为是现金。 因此,所有资产定价都将按照比特币进行。 正如我们已经讨论过的,这是一个连续的市场,`t + 1`期的开盘价将等于`t`期的收盘价。 周期`t`**价格相对向量**表示为![](img/34451324-c76b-499f-a4b1-45277a0573d7.png),它是![](img/a4df4314-5bed-4832-a8d8-d607e99bdca8.png)和![](img/84106486-87e4-45b3-9b15-fd787ea0a4df.png)的按元素划分,如下所示:
在这里,比特币被认为是现金。 因此,所有资产定价都将按照比特币进行。 正如我们已经讨论过的,这是一个连续的市场,`t + 1`期的开盘价将等于`t`期的收盘价。 周期`t`**价格相对向量**表示为`y[t]`,它是`v[t]``v[t - 1]`的按元素划分,如下所示:
![](img/6f77290e-0f5f-4d51-a141-b0c16e69ce76.png)
这是时间段`t`中资产的收盘价和时间段`t-1`*中资产收盘价的按元素划分,换句话说,按元素划分 时间段`t`中资产的收盘价和开盘价的百分比。 因此,![](img/29ccb3a9-9f33-4f15-acfa-df1094d76c6e.png)的元素是时间段`t`中单个资产的收盘价和开盘价之比。 **价格相对向量**用于计算一个时期内投资组合总价值的变化。
这是时间段`t`中资产的收盘价和时间段`t-1`*中资产收盘价的按元素划分,换句话说,按元素划分 时间段`t`中资产的收盘价和开盘价的百分比。 因此,`y[t]`的元素是时间段`t`中单个资产的收盘价和开盘价之比。 **价格相对向量**用于计算一个时期内投资组合总价值的变化。
令时间段`t`开头的投资组合值为![](img/ee415008-efa9-4c28-89f7-e407997a4a3d.png)。 因此,忽略交易成本:
令时间段`t`开头的投资组合值为`p[t]`。 因此,忽略交易成本:
![](img/d9dbe264-2382-4e91-98f6-280ea978c83e.png)
在这里,![](img/effca474-2a88-435b-8c03-3ce967e85635.png)**投资组合权重向量**,也称为**投资组合向量**在时间段`t`的开始时,其![](img/077fd386-c950-484b-9423-c424fba9976b.png)元素是: ![](img/660a699f-b12b-4274-93ef-a0807db02cb4.png)是资产`i`在当前投资组合中的比例。 因为![](img/d04bd1aa-5a8b-4268-a305-d6c93be647f0.png)是权重(比例)的向量,所以从定义上讲![](img/8962956c-d7cb-4032-be60-d400459264e4.png)的元素总和将总和为 1,即![](img/46719739-28f1-4015-8fb2-664eaaa02d3a.png)
在这里,`w[t-1]`**投资组合权重向量**,也称为**投资组合向量**在时间段`t`的开始时,其第`i`元素是:`w[i, t-1]`是资产`i`在当前投资组合中的比例。 因为`w[t]`是权重(比例)的向量,所以从定义上讲`w[t]`的元素总和将总和为 1,即`Σ[i] w[t, i] = 1, ∀t`
时间段`t`**回报率**由下式给出:
......@@ -115,7 +115,7 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
![](img/782cc33c-1733-4019-8983-4aa994c0cdee.png)
初始投资组合权重向量![](img/f5b3efd8-fee3-470f-865a-4b3e7cee169c.png)表示进入市场之前,该金额是以交易货币(称为**现金**,此处现金为比特币)表示,因为初始投资金额为 以交易货币计。 由于金额是以交易货币为单位的,因此投资组合向量的第一个资产是指交易货币资产,因此:
初始投资组合权重向量`w[0]`表示进入市场之前,该金额是以交易货币(称为**现金**,此处现金为比特币)表示,因为初始投资金额为 以交易货币计。 由于金额是以交易货币为单位的,因此投资组合向量的第一个资产是指交易货币资产,因此:
![](img/c206bb58-ca68-4265-b11b-46ed01e17d1b.png)
......@@ -123,7 +123,7 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
![](img/7cdf6685-9162-4e04-9fe7-43eb26e2b6c4.png)
在此,![](img/0157c331-8d73-404a-8260-d81bd0f22d93.png)是初始投资金额。 因此,投资组合经理的目标是在给定的时间范围内最大化![](img/c2652a2d-73c7-4d45-8008-0745aaa4751a.png)。 实验中有两个假设:
在此,`p[0]`是初始投资金额。 因此,投资组合经理的目标是在给定的时间范围内最大化`p[f]`。 实验中有两个假设:
* **零滞后**:每笔定单在下单时均以最后价格执行,没有滞后,立即进行交易
......@@ -133,7 +133,7 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
交易实验在名为 Poloniex 的加密货币交易所中进行了测试。 为了测试当前方法,预先选择了`m = 11`具有最高交易量的非现金资产作为投资组合。 由于第一基础资产是现金,即比特币,因此投资组合的大小为`m + 1 = 12`。 如果我们在交易量较大的市场(例如外汇市场)中进行了测试,则`m`将与市场中资产的总数一样大。
资产的历史数据被馈送到神经网络,该神经网络输出投资组合权重向量。 在周期`t`结束时输入到神经网络的是张量![](img/f28dfd41-c91d-45ab-8d0e-e035b983f056.png),其阶数为 3(`f``n``m`),其中:
资产的历史数据被馈送到神经网络,该神经网络输出投资组合权重向量。 在周期`t`结束时输入到神经网络的是张量`X[t]`,其阶数为 3(`f``n``m`),其中:
* `m`是预选的非现金资产的数量
* `n``t`之前的输入周期数(此处`n = 50`
......@@ -149,14 +149,14 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
这里:
* ![](img/62360d75-d221-431f-a2b1-ab779d86c6c7.png),![](img/183f53f3-f0c7-4b7e-a5fe-8d3f42b7361f.png)和![](img/0a96f887-f5c5-444f-adef-65cff402e4b8.png)是归一化价格矩阵
* ![](img/b77e56aa-5315-4fbd-95d7-9b9a0cac8538.png)和![](img/a08bed2b-9a39-41fb-8294-81a187a725ba.png)是逐元素除法运算符
* `V[t]``V[t]^(hi)``V[t]^(lo)`是归一化价格矩阵
* `1 = [1, 1, ..., 1]^T``Φ`是逐元素除法运算符
因此,![](img/a7cbc3bc-35b6-4fbd-9249-faa1d29855a6.png)是三个归一化价格矩阵的堆栈:
因此,`X[t]`是三个归一化价格矩阵的堆栈:
![](img/d4c0367b-bfe2-4e38-8ee5-421da65351e6.png)
投资组合管理代理使用输入张量![](img/c1e0ef2c-cf3a-4717-83be-959adfb42759.png)和上一个时间段的(即`t-1`),投资组合权重向量![](img/6846580a-7d21-4b71-91f9-91d8f633b0fa.png)输出时间段`t`的投资组合权重向量![](img/dd524d90-bbb5-4924-a3de-aaf546c51181.png)。 根据策略![](img/457ca884-7518-44ef-9c9a-56020d4de853.png)
投资组合管理代理使用输入张量`X[t]`和上一个时间段的(即`t-1`),投资组合权重向量`w[t-1]`输出时间段`t`的投资组合权重向量`w[t]`。 根据策略`π`
因此:
......@@ -166,7 +166,7 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
![](img/5823adac-98b7-4222-b1ff-5a652a4def2a.png)
因此,通过对前面的陈述进行强化学习的框架化,我们可以说先前的权重向量![](img/f502967d-dd9c-4c96-8626-b08f6c522abd.png)是在时间段`t-1`的动作,收到了立即奖励![](img/bd652412-b910-4449-b920-73cda590a423.png)
因此,通过对前面的陈述进行强化学习的框架化,我们可以说先前的权重向量`w[t-1]`是在时间段`t-1`的动作,收到了立即奖励`r[t]`
# 强化学习
......@@ -175,7 +175,7 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
* **周期性特征提取**:将时间离散化为多个时段,然后提取每个时段的开盘价,最高价,最低价和收盘价
* **数据切片**:仅考虑最近时间段的数据,并避免使用较旧的历史数据,以便进行环境的当前状态表示
代理根据时段输出的投资组合权重向量![](img/ae0ed081-d2b6-4980-bda0-ab8224c0ed3f.png),在时段`t`结束时,即在时段`t + 1`的开始进行了一些买卖交易。 神经网络。 因此,主体在时间`t`的动作仅由投资组合权重向量![](img/ae0ed081-d2b6-4980-bda0-ab8224c0ed3f.png)表示。 因此,在当前框架中,![](img/ca7f8384-0365-47e5-8367-e72df668cd15.png)被视为环境的一部分,并作为输入输入到代理中,以输出下一个时间段即![](img/ae0ed081-d2b6-4980-bda0-ab8224c0ed3f.png)的代理的操作策略。 因此,在时期`t`,即![](img/0d59408e-76cd-47f8-a007-793daf7e29dd.png)的状态由价格张量![](img/f6107c6c-1964-4070-adb7-ba3ab87b87f0.png)和前一时期![](img/ca7f8384-0365-47e5-8367-e72df668cd15.png)的投资组合权重向量表示:
代理根据时段输出的投资组合权重向量`w[t]`,在时段`t`结束时,即在时段`t + 1`的开始进行了一些买卖交易。 神经网络。 因此,主体在时间`t`的动作仅由投资组合权重向量`w[t]`表示。 因此,在当前框架中,`w[t-1]`被视为环境的一部分,并作为输入输入到代理中,以输出下一个时间段即`w[t]`的代理的操作策略。 因此,在时期`t`,即`s[t]`的状态由价格张量`X[t]`和前一时期`w[t-1]`的投资组合权重向量表示:
![](img/64a779b3-9055-47fd-831e-92c8c108a54d.png)
......@@ -183,11 +183,11 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
![](img/d5f51e96-dd52-43ae-b0f9-9e032433e0d0.png)
如前所述,投资组合管理代理的目标是使最终投资组合价值最大化,即![](img/d2a37417-e144-4f24-9323-bd333e529280.png),其中:
如前所述,投资组合管理代理的目标是使最终投资组合价值最大化,即`p[f]`,其中:
![](img/bba610ef-98f6-4e3c-9da9-080f917f3770.png)
因此,在![](img/cfb6ec00-fbcc-4c60-b851-0e18c1bc6ad2.png)时间段内的总收益为![](img/2c7ba9e0-53a0-4fae-961a-abf98f5c5e31.png)。 因此,总回报对数的平均值为:
因此,在`t[f]`时间段内的总收益为`p[f] / p[0]`。 因此,总回报对数的平均值为:
![](img/c0709ff1-5108-418c-9a34-9e6a023f4e4c.png)
......@@ -197,7 +197,7 @@ EIIE 通过**在线随机批量学习**(**OSBL**)进行训练,其中强化
创建了三个具有深度神经网络的三个不同变体的策略网络,分别是 CNN,RNN 和 LSTM。 前一个时间段的输出是当前时间段内网络的输入。 因此,使用策略梯度和深层 Q 网络中的经验回放的想法,创建了一个 PVM,用于存储网络输出,也就是说,它将包含每个时间步骤的投资组合权重向量。
PVM 是按时间步长顺序(即时间顺序)收集投资组合向量的集合。 在训练周期的每个时间步`t`,策略网络从`t-1`的存储位置取最后时间段的投资组合权重向量![](img/ca7f8384-0365-47e5-8367-e72df668cd15.png),并进行覆盖`t`处的内存与输出投资组合权重向量![](img/ae0ed081-d2b6-4980-bda0-ab8224c0ed3f.png)的关系。 由于策略网络参数的收敛,PVM 中的值随着训练时期的增加而收敛。
PVM 是按时间步长顺序(即时间顺序)收集投资组合向量的集合。 在训练周期的每个时间步`t`,策略网络从`t-1`的存储位置取最后时间段的投资组合权重向量`w[t-1]`,并进行覆盖`t`处的内存与输出投资组合权重向量`w[t]`的关系。 由于策略网络参数的收敛,PVM 中的值随着训练时期的增加而收敛。
单个内存堆栈(例如 PVM)还有助于使用小批量提高训练过程的并行性,从而提高训练过程的效率。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册