{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import torch\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "import torch.optim as optim\n", "from utils import Lottery, plot_values, plot_action_probs\n", "\n", "\n", "torch.manual_seed(12046)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[tensor(6.5165),\n", " tensor(6.1287),\n", " tensor(5.7060),\n", " tensor(5.2304),\n", " tensor(4.7006),\n", " tensor(4.0907),\n", " tensor(3.4481),\n", " tensor(2.7195),\n", " tensor(1.9079),\n", " tensor(0.9982)]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def get_cum_rewards(r, gamma):\n", " '''\n", " 计算每一步的游戏得分并返回\n", " '''\n", " cum_rewards = []\n", " last_cum_reward = 0\n", " for j in reversed(r):\n", " last_cum_reward = j + gamma * last_cum_reward\n", " cum_rewards.insert(0, last_cum_reward)\n", " return cum_rewards\n", "\n", "get_cum_rewards(torch.normal(1, 0.01, (10,)), 0.9)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# 一些超参数\n", "gamma = 0.9\n", "learning_rate = 0.01\n", "grad_clip = 1.0\n", "vf_weight = 0.1" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "class ActorNet(nn.Module):\n", " \n", " def __init__(self):\n", " '''\n", " 游戏策略\n", " '''\n", " super().__init__()\n", " self.emb = nn.Embedding(2, 4)\n", " self.ln = nn.Linear(4, 2)\n", "\n", " def forward(self, x):\n", " '''\n", " 向前传播\n", " 参数\n", " ----\n", " x :torch.LongTensor,游戏状态,形状为(G),其中G表示游戏步数\n", " 返回\n", " ----\n", " out :torch.FloatTensor,logits,形状为(G, 2)\n", " '''\n", " x = F.relu(self.emb(x))\n", " out = self.ln(x)\n", " return out\n", "\n", "class BaselineNet(nn.Module):\n", " \n", " def __init__(self):\n", " '''\n", " 基准线\n", " '''\n", " super().__init__()\n", " self.emb = nn.Embedding(2, 4)\n", " self.ln = nn.Linear(4, 1)\n", "\n", " def forward(self, x):\n", " '''\n", " 向前传播\n", " 参数\n", " ----\n", " x :torch.LongTensor,游戏状态,形状为(G),其中G表示游戏步数\n", " 返回\n", " ----\n", " out :torch.FloatTensor,值函数,形状为(G, 1)\n", " '''\n", " x = F.relu(self.emb(x))\n", " out = self.ln(x)\n", " return out\n", "\n", "# 定义游戏状态的数字表示\n", "tokenizer = {'w': 0, 'l': 1}" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "@torch.no_grad()\n", "def play_game(model, game):\n", " s = game.reset()\n", " done = False\n", " one_game_state = []\n", " one_game_reward = []\n", " one_game_action = []\n", " while not done:\n", " x = torch.tensor([tokenizer[s]]) # (1)\n", " logits = model(x) # (1, 2)\n", " probs = F.softmax(logits, dim=-1) # (1, 2)\n", " # 利用神经网络得到下一个行动\n", " action = torch.multinomial(probs, 1)\n", " next_s, r = game.step(action)\n", " # 记录游戏过程,分别是行动、状态和奖励\n", " one_game_action.append(action)\n", " one_game_state.append(s)\n", " one_game_reward.append(r)\n", " s = next_s\n", " if next_s == 't':\n", " done = True\n", " return one_game_state, one_game_action, one_game_reward" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(['l', 'l'], [tensor([[1]]), tensor([[0]])], [-0.36660847067832947, 0])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "actor = ActorNet()\n", "baseline = BaselineNet()\n", "game = Lottery()\n", "play_game(actor, game)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Baseline\n", "actor = ActorNet()\n", "baseline = BaselineNet()\n", "actor_optimizer = optim.AdamW(actor.parameters(), lr=learning_rate)\n", "baseline_optimizer = optim.AdamW(baseline.parameters(), lr=learning_rate)\n", "actor_re = []\n", "baseline_re = []\n", "\n", "for t in range(1000):\n", " states, actions, rewards = play_game(actor, game)\n", " # 将一次游玩看成是G次游玩\n", " cum_rewards = get_cum_rewards(rewards, gamma)\n", " cum_rewards = torch.tensor(cum_rewards) # (G)\n", " states = torch.tensor([tokenizer[s] for s in states]) # (G)\n", " actions = torch.concat(actions).squeeze(-1) # (G)\n", " # 更新基准线\n", " baseline_optimizer.zero_grad()\n", " with torch.no_grad():\n", " # baseline(states)的形状是(G, 1)\n", " advantage = cum_rewards - baseline(states).squeeze(-1) # (G)\n", " baseline_loss = -advantage * baseline(states) # (G)\n", " baseline_loss.mean().backward()\n", " baseline_optimizer.step()\n", " # 更新游戏策略\n", " actor_optimizer.zero_grad()\n", " logits = actor(states) # (G, 2)\n", " # ln(probability)\n", " lnP = -F.cross_entropy(logits, actions, reduction='none') # (G)\n", " actor_loss = -advantage * lnP\n", " actor_loss.mean().backward()\n", " actor_optimizer.step()\n", " # 记录游戏策略的结果\n", " _a_re = {}\n", " # 记录基准线的结果\n", " _c_re = {}\n", " for k in tokenizer:\n", " inputs = torch.tensor([tokenizer[k]])\n", " _re = F.softmax(actor(inputs), dim=-1) # (1, 2)\n", " _a_re[k] = _re.squeeze(0).tolist()\n", " _c_re[k] = baseline(inputs).item()\n", " actor_re.append(_a_re)\n", " baseline_re.append(_c_re)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 展示策略\n", "fig = plot_action_probs(actor_re)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgkAAAH4CAYAAADARH7ZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWQElEQVR4nO3dd3RcxeH28e+oF0uyZcm9925csTHF9F5CDR2SUAJJCHl/IYEUIAUCJBBCAgk99BIgYDA4YGzAuPfei+QqWZIlW13aef+YlSzLV7JkS7or6fmcs0f23bur0ezu3efOzJ0x1lpEREREqgvzuwAiIiISmhQSRERExJNCgoiIiHhSSBARERFPCgkiIiLiSSFBREREPCkkiIiIiCeFBBEREfGkkCAiIiKeFBJERETEU6OGBGNMqjEm3Rgz2eO+y40xq40xBcaYj4wxqY1ZFhEREamfRgsJxphY4B2gm8d9FwfvywLuBXoE/y8iIiIhwjTGAk/GmBTgI6An0AU41Vo7M3hfGLAROACMt9YWGWO6AJuBK6y1Uxq8QCIiIlJvjdWScC1QBlzkcd9woDfwD2ttEYC1difwKXBxI5VHRERE6imikZ73I+DvQHeP+4YGf86qtn05cF5NT2iMiQaiq21OBrKPsowiIiKtWQKw09bSpdAoIcFauwXAGON1d9vgz63VtmfiHSoq3Avcf4xFExERkYO6ATtqurOxWhJqU5EcCqttL8Klmpo8DDxe5f8JwPb09HQSExMbsHgiIiItW15eHt27dwfYX9t+foSEIsDixkMEqmw3HN6dUMlaWwwUV+4cbKVITExUSBAREWkEfkymtBsXCLpW257CERKNiIiINB0/QsKK4M+J1baPxgUIERERCQFNHhKstWnAMuA2E+wzMMa0B84FZjZ1eURERMSbX2s3PAxMBp41xpwDTAFigOd8Ko+IiIhU48fARay1bxtjegJ/BH6AG5B4h7V2sR/lERERkcM1akiw1m7l4CWP1e971BjzOjASWGatrfE6TREREWl6vrQkVAgGA4UDERGREOTXmAQREREJcQoJIiIi4kkhQURERDwpJIiIiIgnhQQRERHxpJAgIiIinhQSRERExJNCgoiIiHhSSBARERFPCgkiIiLiSSFBREREPCkkiIiIiCeFBBEREfGkkCAiIiKeFBJERETEk0KCiIiIeFJIEBER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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 展示值函数\n", "fig = plot_values(baseline_re)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "class A2C(nn.Module):\n", " \n", " def __init__(self):\n", " '''\n", " a2c模型\n", " '''\n", " super().__init__()\n", " self.emb = nn.Embedding(2, 4)\n", " # 游戏策略头\n", " self.action_ln = nn.Linear(4, 2)\n", " # 值函数估计头\n", " self.critic_ln = nn.Linear(4, 1)\n", "\n", " def forward(self, x):\n", " '''\n", " 向前传播\n", " 参数\n", " ----\n", " x :torch.LongTensor,游戏状态,形状为(G),其中G表示游戏步数\n", " 返回\n", " ----\n", " actions :torch.FloatTensor,游戏策略,形状为(G, 2)\n", " values :torch.FloatTensor,值函数,形状为(G, 1)\n", " '''\n", " x = F.relu(self.emb(x))\n", " actions = self.action_ln(x)\n", " values = self.critic_ln(x)\n", " return actions, values" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torch.Size([10, 2]), torch.Size([10, 1]))" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 验证模型是否搭建正确\n", "model = A2C()\n", "x = torch.randint(2, (10,))\n", "logits, values = model(x)\n", "logits.shape, values.shape" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(['w'], [tensor([[0]])], [0])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = A2C()\n", "# 只使用a2c中的游戏策略头\n", "actor = lambda x: model(x)[0]\n", "game = Lottery()\n", "play_game(actor, game)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "model = A2C()\n", "optimizer = optim.AdamW(model.parameters(), lr=learning_rate)\n", "actor_re = []\n", "critic_re = []\n", "\n", "for t in range(2000):\n", " actor = lambda x: model(x)[0]\n", " # 可以不用游戏结束就可以训练\n", " states, actions, rewards = play_game(actor, game)\n", " states = torch.tensor([tokenizer[s] for s in states]) # (G)\n", " rewards = torch.tensor(rewards) # (G)\n", " actions = torch.concat(actions).squeeze(-1) # (G)\n", " optimizer.zero_grad()\n", " with torch.no_grad():\n", " _, values = model(states) # (G, 1)\n", " values = values.squeeze(1) # (G) \n", " vt_next = torch.cat((values[:-1], torch.tensor([0.0]))) # (G)\n", " # 优势函数\n", " advantage = rewards + gamma * vt_next - values # (G)\n", " logits, vt = model(states)\n", " vt = vt.squeeze(1) # (G)\n", " lnP = -F.cross_entropy(logits, actions, reduction='none') # (G)\n", " # 值函数损失\n", " vf_loss = -advantage * vt\n", " # 策略损失\n", " pg_loss = -advantage * lnP\n", " # 定义模型损失\n", " loss = vf_weight * vf_loss.mean() + pg_loss.mean()\n", " loss.backward()\n", " optimizer.step()\n", " # 记录模型结果\n", " _a_re = {}\n", " _c_re = {}\n", " for k in tokenizer:\n", " inputs = torch.tensor([tokenizer[k]])\n", " logits, v = model(inputs)\n", " _re = F.softmax(logits, dim=-1) # (1, 2)\n", " _a_re[k] = _re.squeeze(0).tolist()\n", " _c_re[k] = v.item()\n", " actor_re.append(_a_re)\n", " critic_re.append(_c_re)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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l2/5WUnrhZ4kqe4YEmYYm8gxkZvurvmVT/4YgPXdS1jWOq8hHIub13CQpLplSJhhX+/wCT8fHhgD4BKnY56fnrOS1ms4SFLdMSTMsOdYEhKaG088LejfbcnWbNF1o3ChJw83SFLdMSTM8Mj+ZJDidZtXcuby9qnl56329Md56SkKCbnMTYEhSToJQ8IM33wouUjGc89byaYV0yFhffeStEqqb10boaEJJkehr7pX9pYkVZYhocjhgVHu2nkUgJc+cw1XbkouWNnR2kRbs1OXzktjE6y6MLnv9MySVFccrp93dHCMK//sVgDOWbmUDT3t/OfnnMXw+CTXbl6RcnV1bs2lcODBJCRc+Iq0q5EkzZEhIa+1abpTpbu9GYCOtmb+28suTKukhWPNJXA/sO/+tCuRVKYYI8Pjk2mXURNLmhsrfi2La6+9ljvuuIM///M/573vfS8A73rXu/jEJz5BU1MT/f39tLW1MTw8zLJly8jlctxxxx1cc801Fa1jvgwJee0tjUX3fVsqav0VSfvUzyBG8IIyUt0YHp/k4j/+Vtpl1MTPP/CSiv/+L4SEBx6YPtx67733AjAxMcGDDz7IlVdeyc9//nNyuRxtbW1cfvnlFa3hdDgmIa84PTr+oMLWPQsaW2HoMBzdnnY1klQz1113HcBUSIgxcv/999OQv+BdITAUHr/yyitpbm5OodLS/JO5yGUburh/dy8vuviMtEtZWJpaYe2lsPsu2PNvsGJz2hVJmqMlzY38/AMvSbuMmlhShT8QCyHh0UcfZWxsjN27d9Pb28s73vEObrzxRu677z5gOiRce+21Fa/hdBgSinzsdc9ix+FBfulCQ0LFrduShIS998Klr027GklzFELwEOxpWLduHWeeeSa7du3ikUceYdu25MLJL3jBC7jpppue1pNQCBVZ4eGGIuesWsYLLlpd8YErAtblj7Ht/bd065CkGis+5FAIBVu2bGHLli1s3bqVXC5nSNAit25L0u67HybH061FkmqoOCTcd999LF++nDPPPJMtW7YwODjIT3/6U/bv388555zDGWdkqyfbkKDaWHk+tK+E8aHkLAdJWiQK4wwKPQlbtiR/NBXaz3/+80D2ehHAkKBaaWiAs5+X3N/1k3RrkaQaetaznkV7ezs333wze/bseVpI+Nu//VvAkKDFbs0lSXvosXTrkKQaampq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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 展示游戏策略\n", "fig = plot_action_probs(actor_re)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 展示值函数\n", "fig = plot_values(critic_re)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }