diff --git a/examples/agent_examples/whittington_2020_example.ipynb b/examples/agent_examples/whittington_2020_example.ipynb new file mode 100644 index 00000000..7152dfc6 --- /dev/null +++ b/examples/agent_examples/whittington_2020_example.ipynb @@ -0,0 +1,305 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The Tolman-Eichenbaum Machine: Unifying Space and Relational Memory through Generalization in the Hippocampal Formation.\n", + "James C.R.Whittington, Timothy H.Muller, Shirley Mark, Guifen Chen, Caswell Barry, Neil Burgess, Timothy E.J.Behrens.\n", + "\n", + "[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)\n", + "\n", + "\n", + "https://doi.org/10.1016/j.cell.2020.10.024\n", + "\n", + "For a more detailed explanation of TEM's theory and implementation in theis framework, see [Description, Implementation & Analysis of the Tolman-eichenbaum Machine](https://github.com/LukeHollingsworth/Tollman-Eichenbaum-Implementation/blob/main/Description%2C%20Implementation%20and%20Analysis%20of%20the%20Tollman-Eichenbaum%20Machine.pdf).\n", + "\n", + "#### TEM Virtual Environment\n", + "This implementation uses an older version of TensorFlow (1.9.0) and subsequently requires Python version 3.6. We suggest setting up a virtual (conda) environment with the following packages:\n", + "```\n", + "Python>=3.8\n", + "PyTorch\n", + "\n", + "matplotlib\n", + "numpy\n", + "tqdm\n", + "```\n", + "\n", + "#### Training TEM\n", + "The TEM model is run from the [run script file](whittington_2020_run.py). The model is initialised with default parameters, identical to those in the original publication; this can be found and changed in the [parameters file](../../neuralplayground/agents/whittington_2020_extras/whittington_2020_parameters.py). The model itself can be found [here](../../neuralplayground/agents/whittington_2020_extras/whittington_2020_model.py).\n", + "\n", + "Training should be done on a high-powered computing platform. With 20GB of memory, TEM completes it's full 20,000 iterations of training in approx. 48 hours." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Plotting Results\n", + "The notebook below plots TEM model performance and its key neural representations, such as grid cells and place cells. Example results are given, however the user is abe so plot the result of locally saved models as well.\n", + "\n", + "First, import the relevant standard and NeuralPlayground Libraries." + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import numpy as np\n", + "import torch\n", + "import matplotlib.pyplot as plt\n", + "from importlib import util\n", + "import neuralplayground.agents.whittington_2020_extras.whittington_2020_parameters as parameters\n", + "import neuralplayground.agents.whittington_2020_extras.whittington_2020_analyse as analyse\n", + "import neuralplayground.agents.whittington_2020_extras.whittington_2020_plot as plot" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Select trained model\n", + "Choose the folder which contains the saved data from the trained TEM model. Run 0 is 1/40th of full training, run 1 is 1/20th and run 2 is the full 20,000 iterations of training." + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [], + "source": [ + "pars_orig = parameters.parameters()\n", + "params = pars_orig.copy()\n", + "\n", + "date = 'example'\n", + "run = '2'\n", + "model_path = os.path.abspath(os.pardir) + '/Summaries/' + date + '/torch_run' + run + '/model/'\n", + "save_path = os.path.abspath(os.pardir) + '/Summaries/' + date + '/torch_run' + run + '/save/'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Load variables\n", + "TEM model saves grid and place representations, as well as information on accuracy and zero-shot inference, at the end of training." + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [], + "source": [ + "environments = torch.load(save_path + 'environments')\n", + "g = torch.load(save_path + 'g_all')\n", + "p = torch.load(save_path + 'p_all')\n", + "correct_model, correct_node, correct_edge = torch.load(save_path + 'correct_all')\n", + "zero_shot = torch.load(save_path + 'zero_shot')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Choose which environment to plot\n", + "For reasons of efficiency, only the trajectory of one environment (within a batch) is saved and can be loaded." + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [], + "source": [ + "env_to_plot = 0\n", + "environment = environments[env_to_plot]\n", + "shiny_envs = [False for _ in range(16)]\n", + "envs_to_avg = shiny_envs if shiny_envs[env_to_plot] else [not shiny_env for shiny_env in shiny_envs]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Plot TEM prediction accuracy\n", + "The prediction accuracy of TEM is plotted for the final 5000 steps in training trajectory. This is plotted alongside the proportion of nodes and edges visitied." + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Zero-shot inference: 26.454293628808866%')" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAADvBklEQVR4nOxdd5gUxfY9kzYnNgG7wC5LRnKQJCKSRZ75p5gDKuacnhGzPp/6zO9hzigioCKIkgVUouScM2xg86T6/dFTPdXV1T09Mz27C/T5Pj5meqrD9PR2nb733HNthBACCxYsWLBgwYKFeoK9vg/AggULFixYsHBqwyIjFixYsGDBgoV6hUVGLFiwYMGCBQv1CouMWLBgwYIFCxbqFRYZsWDBggULFizUKywyYsGCBQsWLFioV1hkxIIFCxYsWLBQr7DIiAULFixYsGChXmGREQsWLFiwYMFCvcIiIw0YNpst5L+nnnqqvg8zLOzcuRM2mw2vvPKKadtcvHgxnnrqKZSWlhoa/9RTT8Fms0W8v99++w29evVCcnIybDYbpk6dGvG2TlZMmTIFY8eORevWrZGYmIjCwkJcccUV2LJli3B8ZWUlnnjiCbRt2xbx8fHIysrC4MGDNcdr4dChQ8jKyoLNZsPkyZMVn82bN0/z72jp0qWa2ySE4Mwzz4TNZsPtt9+u+Gzz5s24//770bNnT2RkZCAzMxMDBgxQ7Zti1qxZGDBgABITE5Geno4xY8Zg3bp1qnGPPvoounfvjszMTCQkJKCoqAg33XQTdu3aJdzu2rVrcckllyAnJwfx8fEoLCzErbfeqhjz/vvv4/zzz0dhYSESExPRunVr3HLLLThw4IBqe8ePH8ejjz6Ktm3bIikpCfn5+bjkkkuEx7py5Uqcf/75yMvLQ1JSEtq3b4+nn34aVVVVqrErVqzA0KFDkZKSgoyMDFx44YXYvn27atzBgwdx++23o6ioCImJiSgoKMANN9yA3bt3q8bOnTsXw4YNQ25uLlJSUtClSxe88cYb8Pl8qrHhXGdGzumCBQvQvXt3pKam4swzz8T69etV27ntttswaNAgWGbn+nDW9wFY0MaSJUuEy71eL66++mrs27cP55xzTh0fVcPD4sWLMWHCBFx77bXIyMgIOX7cuHEYOXJkRPsihOD//u//0LZtW0yfPh3Jyclo165dRNs6mfHSSy+hSZMmePTRR1FUVIQ9e/bg+eefR48ePbB06VKcdtpp8tiKigoMHjwY+/fvx8MPP4wuXbqgrKwMixcvFk5oerjtttuQkJCgO+b555/H4MGDFcs6deqkOf7tt9/G1q1bhZ/98ssv+Omnn3DVVVehd+/e8Hq9mDRpEi655BJMmDABTzzxhDx22rRpuOCCC3Deeefhu+++Q1lZGSZMmICBAwfir7/+QqtWreSxpaWlGDt2LDp06IDU1FSsX78ezz77LKZPn45169YhKytLHjt37lyMHj0aAwcOxHvvvYfs7Gzs3r0bK1euVBzrk08+icGDB+P5559Hfn4+Nm3ahGeeeQbTpk3DypUr0bhxY3nsmDFjsGzZMjz11FPo1asX9u7di6effhr9+vXDmjVrUFBQAABYv349+vfvj3bt2uH1119HdnY2FixYgKeffhrLly/HtGnT5G1u3LgRZ511Frp164ZvvvkGNTU1eOKJJzBw4ECsWrUKOTk5AIDa2lqceeaZKCkpwYQJE9CxY0ds2rQJTz75JGbNmoUNGzYgNTUVAPDrr79ixIgROPPMMzFx4kQkJydj+vTpuOuuu7Bt2zb85z//kfcfznVm5JyWlpbiggsuwEUXXYSXX34Zb7zxBi688EKsW7cODocDALB06VJ8+OGHWLlyZVQPQKcEiIUTDnfccQcBQP773/+ats2qqirTtqWHHTt2EADkX//6l2nb/Ne//kUAkB07dpi2TS3s3buXACAvvfSSadt0u93E4/GYtr2GgEOHDqmW7du3j7hcLnLDDTcolt91110kOTmZbNu2Lap9Tp48maSkpJBPPvmEACDffvut4vO5c+cKl+thx44dJCUlhUyZMoUAILfddpvi8yNHjhC/369ab/To0SQpKYnU1NTIy9q1a0e6dOmiGL9z504SFxdHLr/88pDHMmPGDAKAfPDBB/KyyspK0rRpUzJ69GjhcbAQ/SZ//fUXAUCeeeYZedmWLVsIAPLYY48pxi5evJgAIK+++qq87NFHHyUAyNatWxVjb7rpJgKAFBcXy8suueQSkp2dTcrKyuRlO3fuJC6Xizz44IPystmzZxMA5P3331ds88svvyQAyJQpU+RlV1xxBYmPjycVFRWKscOHDydpaWmKZUavM6PndMaMGSQ5OZm43W5CiHR9AyAbNmwghEh/1507dyZPPvmk7v4s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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot results of agent comparison and zero-shot inference analysis\n", + "filt_size = 41\n", + "plt.figure()\n", + "plt.plot(analyse.smooth(np.mean(np.array([env for env_i, env in enumerate(correct_model) if envs_to_avg[env_i]]),0)[1:], filt_size), label='tem')\n", + "plt.plot(analyse.smooth(np.mean(np.array([env for env_i, env in enumerate(correct_node) if envs_to_avg[env_i]]),0)[1:], filt_size), label='node')\n", + "plt.plot(analyse.smooth(np.mean(np.array([env for env_i, env in enumerate(correct_edge) if envs_to_avg[env_i]]),0)[1:], filt_size), label='edge')\n", + "plt.ylim(0, 1)\n", + "plt.legend()\n", + "plt.title('Zero-shot inference: ' + str(np.mean([np.mean(env) for env_i, env in enumerate(zero_shot) if envs_to_avg[env_i]]) * 100) + '%')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Plot all cells\n", + "Plot both hippocampal and entorhinal cells for all frequency modules." + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGZCAYAAAAUzjLvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9d5wkVfX//b4VOvdMT8/M5mUXdpe8JFmQnCWLSFIUwUBaMogLKCIqKklBRIKIIApmBFRAREAliYIggijgppmdnDtUV7jPH9Whurs6zO7y9fdIf3zhTlfdOvfcfO65554jpJSSFlpooYUWWmjhXQvlv81ACy200EILLbTw30VLGGihhRZaaKGFdzlawkALLbTQQgstvMvREgZaaKGFFlpo4V2OljDQQgsttNBCC+9ytISBFlpooYUWWniXoyUMtNBCCy200MK7HC1hoIUWWmihhRbe5WgJAy200EILLbTwLkdLGHiX46677kIIwV/+8hff90cccQQLFy4se7Zw4UJOOeWUd565FgB48sknEULw5JNP/p/mW9nOK1euRAjBXXfd9Y7luXLlSg4//HCSySRCCM4///x3LK93K6ampjj//POZM2cOoVCIHXbYgR/96Ef/bbZa+C9D+28z0ML//3D//ffT1tb232ajhf9BXHDBBTz//PPceeedzJo1i9mzZ/+3Wfqfwwc/+EFeeOEFvva1r7H55ptz77338uEPfxjHcTjxxBP/2+y18F9CSxhoYdrYcccd/9sstPA/ildffZVddtmFD3zgA3XTmaaJEAJNa01h08FvfvMbHnvssaIAALDffvuxatUqLr74Yk444QRUVf0vc9nCfwOtY4IWpo1K9XFBjf2DH/yACy+8kFmzZhEOh9lnn3146aWXyr495ZRTiMVi/OMf/+CAAw4gGo3S3d3N2WefTTqdLkubzWa59NJL2XTTTQkEAsydO5ezzjqLsbGxKp7uvfdedtttN2KxGLFYjB122IHvfve7xfePPfYYRx11FPPmzSMUCrF48WJOP/10hoaGyuh84QtfQAjBK6+8wnHHHUd7ezvJZJILL7wQy7J44403OOSQQ4jH4yxcuJBrrrmm7Pvp1MVf/vIXPvShD7Fw4ULC4TALFy7kwx/+MKtWrZpOc5Shp6eH0047jfnz5xMIBJgzZw7HHnss/f39xTQTExN8+tOfLqvX888/n1QqNe38BgcHi/kFg0G6u7vZY489+N3vfjctOoV6e/PNN3n44YcRQiCEYOXKlcV399xzDxdddBFz584lGAzy5ptvAvC73/2OAw44gLa2NiKRCHvssQePP/54VR6//vWv2WGHHQgGg2y66aZcd911xfYuoN5RiBCCL3zhC2XP/v3vf3PiiScyY8YMgsEgW221FTfffLNv2e677z4++9nPMmfOHNra2jjwwAN54403qvJ55JFHOOCAA2hvbycSibDVVlvx1a9+FYB77rkHIQTPPvts1Xdf/OIX0XWd3t7emvV8//33E4vFOO6448qef/zjH6e3t5fnn3++5rct/G+jJQy0AIBt21iWVfXfdIJaXnbZZbz99tvccccd3HHHHfT29rLvvvvy9ttvl6UzTZPDDjuMAw44gF/+8pecffbZ3HbbbZxwwgnFNFJKPvCBD3Dddddx0kkn8etf/5oLL7yQu+++m/333x/DMIppP//5z/ORj3yEOXPmcNddd3H//fdz8sknly2qb731Frvtthu33HILv/3tb/n85z/P888/z5577olpmlVlOf7449l+++35+c9/zqmnnso3vvENLrjgAj7wgQ9w+OGHc//997P//vuzYsUKfvGLX6xXXaxcuZItttiCG264gUcffZSrr76adevWsWzZsiohpRn09PSwbNky7r//fi688EIefvhhbrjhBtrb2xkdHQUgnU6zzz77cPfdd3Puuefy8MMPs2LFCu666y7e//73T6u9AU466SR++ctf8vnPf57f/va33HHHHRx44IEMDw9Pi85OO+3Es88+y6xZs9hjjz149tlnefbZZ8uOCS699FJWr17NrbfeykMPPcSMGTP4wQ9+wPve9z7a2tq4++67+clPfkIymeTggw8uEwgef/xxjjrqKOLxOD/60Y+49tpr+clPfsL3vve9afHpxWuvvcayZct49dVXuf766/nVr37F4YcfzrnnnsuVV15Zlf6yyy5j1apV3HHHHdx+++38+9//5sgjj8S27WKa7373uxx22GE4jlMs57nnnsvatWsBOOGEE5g1a1aVwGFZFrfddhtHH300c+bMqcnzq6++ylZbbVWlUdluu+2K71t4l0K28K7G9773PQnU/W/BggVl3yxYsECefPLJxd9PPPGEBOROO+0kHccpPl+5cqXUdV1+6lOfKj47+eSTJSBvvPHGMppXXXWVBOSf/vQnKaWUjzzyiATkNddcU5buxz/+sQTk7bffLqWU8u2335aqqsqPfOQjTZfZcRxpmqZctWqVBOQDDzxQfHfFFVdIQF5//fVl3+ywww4SkL/4xS+Kz0zTlN3d3fKDH/zgetVFJSzLklNTUzIajZbVT4HmE088Ubdcn/jEJ6Su6/K1116rmearX/2qVBRFvvDCC2XPf/azn0lA/uY3vyk+q2zn//znPxKQ3/ve94rPYrGYPP/88+vyNR0sWLBAHn744WXPCuXfe++9y56nUimZTCblkUceWfbctm25/fbby1122aX4bNddd5Vz5syRmUym+GxiYkImk0npnQb9ylgAIK+44ori74MPPljOmzdPjo+Pl6U7++yzZSgUkiMjI2X8H3bYYWXpfvKTn0hAPvvss1JKKScnJ2VbW5vcc889y/pOJa644goZCARkf39/8VlhXDz11FM1v5NSyiVLlsiDDz646nlvb68E5Fe+8pW637fwv4uWZqAFAL7//e/zwgsvVP235557Nk3jxBNPLFO5LliwgN13350nnniiKu1HPvKRqm+BYtrf//73AFW3Fo477jii0Whx1/fYY49h2zZnnXVWXd4GBgY444wzmD9/Ppqmoes6CxYsAOD111+vSn/EEUeU/d5qq60QQnDooYcWn2maxuLFi33V+s3UxdTUFCtWrGDx4sVomoamacRiMVKplC9PjfDwww+z3377sdVWW9VM86tf/Yptt92WHXbYoUwDdPDBB6/XjYVddtmFu+66iy9/+cs899xzvlqWjYVjjjmm7PczzzzDyMgIJ598cllZHMfhkEMO4YUXXiCVSpFKpXjhhRf44Ac/SCgUKn4fj8c58sgj14uXbDbL448/ztFHH00kEinL/7DDDiObzfLcc8+VffP+97+/7HdhN17oP8888wwTExMsX768rO9U4swzzwTgO9/5TvHZt771LZYuXcree+/dkPd6tOu9a+F/Gy3rmxYAd7Hbeeedq563t7ezZs2apmjMmjXL99nLL79c9kzTNDo7O32/LaiXh4eH0TSN7u7usnRCCGbNmlVMNzg4CMC8efNq8uU4Du973/vo7e3l8ssvZ+nSpUSjURzH4b3vfS+ZTKbqm2QyWfY7EAgQiUTKFpPC84mJCd9y+z3z1sWJJ57I448/zuWXX86yZctoa2tDCMFhhx3my1MjDA4O1q0HgP7+ft588010Xfd9P93jiR//+Md8+ctf5o477uDyyy8nFotx9NFHc8011/jWwYag8mZBwQ7i2GOPrfnNyMgIQggcx6nZJuuD4eFhLMvipptu4qabbvJNU1mXlX0+GAwCFNu6mb4MMHPmTE444QRuu+02LrnkEv7xj3/wxz/+kdtuu60h352dnb5HOCMjI0B1v2/h3YOWMNDCRkNfX5/vs8pJ0LIshoeHy54Xvi086+zsxLIsBgcHywQCKSV9fX0sW7YMoPhu7dq1zJ8/35evV199lZdffpm77rqLk08+ufi8YID2TqBRXYyPj/OrX/2KK664gksuuaSYxjCM4sQ8XXR3dxfPlmuhq6uLcDjMnXfeWfP9dNDV1cUNN9zADTfcwOrVq3nwwQe55JJLGBgY4JFHHpkWrUao3LUWeL3pppt473vf6/vNzJkzizcParWJFwVhz2uTAlQtoB0dHaiqykknnVRTK7XpppvWKU01vH25Ec477zzuueceHnjgAR555BESiUSVts0PS5cu5b777sOyrDK7gb///e8AbLvtttPiuYX/HbSOCVrYaLjvvvvKDNBWrVrFM888w7777luV9oc//GHZ73vvvRegmPaAAw4A4Ac/+EFZup///OekUqni+/e9732oqsott9xSk6/CIlLYiRXQzE5qfdGoLoQQSCmreLrjjjvKDMqmg0MPPZQnnnjC10K9gCOOOIK33nqLzs5Odt5556r/Kh1MTQebbLIJZ599NgcddBAvvvjietNpFnvssQeJRILXXnvNtyw777wzgUCAaDTKLrvswi9+8Quy2Wzx+8nJSR566KEymjNnziQUCvHKK6+UPX/ggQfKfkciEfbbbz9eeukltttuO9+8K4XgRth9991pb2/n1ltvbWjI+Z73vIfdd9+dq6++mh/+8IeccsopRKPRhnkcffTRTE1N8fOf/7zs+d13382cOXPYddddp8VzC/87aGkGWthoGBgY4Oijj+bUU09lfHycK664glAoxKWXXlqWLhAIcP311zM1NcWyZct45pln+PKXv8yhhx5atFE46KCDOPjgg1mxYgUTExPssccevPLKK1xxxRXsuOOOnHTSSYB7zfGyyy7jS1/6EplMhg9/+MO0t7fz2muvMTQ0xJVXXsmWW27JokWLuOSSS5BSkkwmeeihh3js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YilTmS3EYqsLrjSGvyssNh93zdhf/OIXecMb3sD4+Dj5fJ4nPOEJ3HjjjQt++/KXv5xSqcTtt9/OWWedRbFYZGxsjNe85jW02wtJfcIw5K1vfSuHH344vu+zadMmXv3qV1OtVpfI9OUvf5mTTz6ZUqlEqVTihBNO4DOf+Uzv+yuvvJJnPvOZHHLIIeRyOY466ijOP/98pqamFrTzrne9CyEEt9xyC3/0R3/EwMAAw8PDvOENbyBNU+666y6e8pSnUC6X2bJlCxdffPGC369lLH7xi1/wghe8gC1btpDP59myZQsvfOEL2bFjx1oexwLs3r2bV77ylRx66KH4vs/GjRt57nOfy/79+3vX1Ot1/uqv/mrBuL7+9a+n1VpdjYT5mJyc7N0vCALGxsY49dRTueqqq9bUTnfctm3bxne/+12EEAgh2L59e++7Sy+9lDe+8Y1s2rSJIAjYtm0bAFdddRVnnXUWlUqFQqHAqaeeytVXX73kHt/5znc44YQTCIKAww8/nI985CO9593FSq4QIQTvete7Fnz261//mhe96EWsW7eOIAg45phj+MQnPtG3b1/5yld429vexsaNG6lUKpx99tncddddS+7zve99j7POOouBgQEKhQLHHHMMH/zgBwG49NJLEUJw7bXXLvnde97zHjzPY8+ePQcc78UYHR09qFj9nmONboKltJzQrTU/x6tsqzO5K568u5SQijkeftVtY5GlwWB6zHDLtWjpJGVv89c4kLGNzZdPIEg0bMxlbo5lmVvn9dHQO/EvpF2d+yzIWLJWOsl3VZJu39P5/VxkWQmw47ccffCDDaUUabq0NOpaOKkuvPBCHvWoR/HpT3+aWq3Gu971Ls444wxuvPFGjjjiiN51SZLwtKc9jfPPP5+3vOUt/PSnP+V973sfO3bs4LLLLuvd91nPehZXX301b33rW3n84x/PLbfcwkUXXcS1117LtddeSxAEALzzne/kve99L89+9rN54xvfyMDAALfddtuCTfWee+7h5JNP5hWveAUDAwNs376dj370o5x22mnceuuteN7Csr/Pe97zePGLX8z555/PlVdeycUXX0ySJFx11VVccMEF/NVf/RVf/vKXefOb38xRRx3Fs5/97DWPxfbt23noQx/KC17wAoaHh9m7dy//+I//yIknnsgdd9zB6OjoqscerCJw4oknkiQJF154IccffzzT09NcccUVzM7Osn79etrtNk94whPYtWtX75rbb7+dd77zndx6661cddVVCzbHA+ElL3kJN9xwA+9///t5yEMeQrVa5YYbbmB6enpNsj/qUY/i2muv5dxzz+XII4/kIx/5CAAbNmxg+/btALz1rW/l5JNP5pOf/CRSStatW8cXv/hFXvrSl/LMZz6Tf/mXf8HzPD71qU/x5Cc/mSuuuIKzzjoLgKuvvppnPvOZnHzyyXz1q19FKcXFF1+8QElaK+644w5OOeUUNm/ezCWXXML4+DhXXHEFr33ta5mamuKiiy5acP2FF17Iqaeeyqc//Wnq9TpvfvOb+YM/+APuvPNOHMeuH5/5zGc477zzeMITnsAnP/lJ1q1bx913381tt90GwPOf/3ze9KY38YlPfIKTTz6513aapnzqU5/i3HPPZePGjQeUXWuN1prZ2Vm+/vWvc8UVV/Dxj3/8fo/FQfy/j1UrAyXjojAkWS1qEERZPekhnaMqouz0rJGOYmx0luKUpL7MSflQVSZCsctpLtg8pYEB7TO7iHdcYq0Hy5UHeFwyQgPFjd4MgqwIRraJl4xPK6NqTLA1wlXQZlQKppaJE4yYV0tezKNdzZSNbtEaDxBGEJPga4mS/TfPQROQoknoLBg/aWBY55iSYa+/GkNqFJ4RxGugk3wgeNzjHrfsd4cddtiq2hgbG+Nb3/pWbzM57bTT2Lp1Kx/84Af553/+5951cRzzxje+kde+9rUAnHPOOXiex9ve9jauueYaTj31VL7//e9zxRVXcPHFF/PXf/3XvesOPfRQnv/85/OFL3yB8847j3vvvZcPfOAD/PEf//GCIKhzzjlngWx//ud/3vu3MYZTTjmFM844g8MOO4zvfve7/OEf/uGC61/5ylfyhje8AYCzzz6b73//+3z84x/nm9/8Jueeey5gTa6XX345X/rSl5YoA6sZi+c+97k897nP7f1GKcUznvEM1q9fz5e//OXe+KwW73znO5mamuLmm2/mmGOO6X3+vOc9r/fvf/iHf+CWW27h5z//OY95zGMAOOuss9i0aRPPfe5z+d73vsdTn/rUVd/zmmuu4RWveAXnnXde77NnPvOZa5IboFKp8LjHPY4gCBgcHOw7H4888ki+/vWv9/5ut9u87nWv4xnPeAbf+ta3ep8/7WlP41GPehQXXnghP//5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Yl2s5SS1VhxoLERWanmxTJ/+9KdRam2EXF089alP5Yc//GHfCPUunvGMZ3DPPfcwMjLCYx7zmCX/eyA+9M2bN/Oa17yGc845hxtuuOF+t7NanHrqqQwODnLHHXf07ctjHvMYfN+nWCxy0kkn8c1vfpMwDHu/bzQavYDVLtavX08ul+OWW25Z8Pm///u/L/i7UChw5plncuONN3L88cf3vfdiJfhAOOWUUxgYGOCTn/zkAQN3H/3oR3PKKafw4Q9/mC996Uu8/OUvp1gsrul+8/HDH/4QKeWCQN+D+P3Cqi0D3Zru0yKkZiJbq96AXwg58fhb+cF1G6hlm3UqFem6KUYKG9jXyCGNsBvdPMwqiLCKxHphRQmMJBWG2VQzbDxmUSQizczuKXkjaS1DPNRpBygFWwqa0x5yJ0q7fP/WHEYqcqOTjE4OM6PsyR1l2NcIGPRgMqavG6MbQOgJwRFJGQPc6EYE0vCYvGFHJLKq0QaNIURTMJKmzWPouVO6ODYdoUPKTlknEnPBiRJLRzwrIgRWSfIqId4F1zN865nsb/p95fvfiImJCc4991zOO+88arUaF110Eblcjre+9a0LrvN9n0suuYRms8mJJ57YyyZ46lOf2otROOecc3jyk5/Mm9/8Zur1Oqeeemovm+CRj3wkL3nJSwCb5njhhRfy3ve+l06nwwtf+EIGBga44447mJqa4t3vfjdHH300Rx55JG95y1swxjA8PMxll13GlVde+Tsbi0qlwumnn87f/M3fMDo6ypYtW/iv//ovPvOZzzA4OHi/7vme97yH7373u5x++ulceOGFHHfccVSrVb73ve/xhje8gaOPPprXv/71fOMb3+D000/nL//yLzn++OPRWrNz506+//3v88Y3vpHHPvaxq7pfrVbjzDPP5EUvehFHH3005XKZ66+/nu9973sLAip/9KMfceaZZ3LRRRctSc17ICiVSnzsYx/jZS97GTMzMzz3uc9l3bp1TE5OcvPNNzM5OdlTEt/73vfylKc8hXPOOYc3vvGNKKX48Ic/TLFYXGCJEULw4he/mM9+9rMceeSRPOIRj+C6667rKavz8fd///ecdtppPP7xj+dVr3oVW7ZsodFosG3bNi677LJe3Mta+nPJJZfwile8grPPPpvzzjuP9evXs23bNm6++eYl0f6ve93reP7zn48QggsuuGBV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fTt/8id/whFHHIHv+2zcuJHzzjuP3bt3d6+Zn5/nz/7szzj66KPxfZ9Nmzbxpje9iWZzOdvb/jAxMdF9XhAEjI2NccYZZ/CDH/xgVeV0+u2OO+7gkksuQSk7p+65557ud5///Od561vfyqZNmwiCgDvuuAOAH/zgB5x99tnUajVKpRJnnHEGl1122bJnfOc73+GUU04hCAKOPvpoPvShD/He9743p8a12JcpRCnFe9/73kWf3X777bz4xS9mfHycIAg48cQT+b//9//2bduXvvQl/uIv/oKNGzdSq9V48pOfzK233spSXHrppZx99tkMDAxQKpU48cQTed/73gfA5z//eZRSXHHFFcvu+5u/+Rs8z2PHjh3LvluKL3zhC/zkJz/hn/7pn/Z77Rp+O3DQ0QTd10hs3uxBXxgoZjR0hlFCO3EZ8g30yT61V+T7pUEo4VLBW/T5gcIom+nMFU1EBkoRRh6jY03c6soTOuy9fEvjun17lRuvG1v2fccOL0sb0qddsTIk+Wl097Yat143vur6JAhl5eArRUtbdrp2ohmpRrjLEmwYRLJFP2pJdrQEYVDl/Pd5e5uJpmNtfNe73sVdd93FBRdcQMF7PoZ5WvGnMGZ6ybMy2vGF+M6xvGL0Tyg6jyUyv6SVfol25DJcixARnvvc5/KhD32Il770pYy4f0zFeQItczWT6ScQWaj/fHopM9m/4VBjyP0Dht0/pKQfRSYz3WvuvPNOHvvYx/KJT3yC733vewTu2WTmftrxPyOy3GQSJl/CURs4Sb+Ogj6dKPs5UfIddsWf42T/4Xzzm9/kSU96Em9/+9v5xje+sez+3r644IIL2LFjB0984hO5664FJ9p77rmH448/no9+9KN897vf5QMf+AA7d+7ktNNOY3JycgUjvBjbt2/ntNNO45vf/CZvectbuOSSS/joRz/KwMAAMzO2L1qtFk94whP43Oc+xxve8AYuueQS3v72t3PhhRfynOc8h9VykL30pS/lW9/6Fn/1V3/F9773PS644AKe/OQnMzU1tapyTj31VK644grWr1/PGWecwRVXXMEVV1yxyEzwzne+k/vuu49PfvKTXHTRRYyPj/OFL3yBpz71qdRqNT73uc/xla98heHhYZ72tKctEgguu+wyzj33XKrVKv/+7//OBz/4Qb7yla/wL//yL6uqZy9uuukmTjvtNG644QY+/OEPc/HFF/PMZz6TN7zhDfz1X//1suvf9a53ce+993LBBRfwqU99ittvv51nP/vZZNnC/PvMZz7DOeecgzGm2843vOENbNu2DYAXvvCFrF+/fpnAkaYp//zP/8zznvc8Nm7cuM9679mzhze96U28//3vZ/PmzQfc/jX8z8KB69iW5rNXQOpw4/0DZE5K2WkzlwlahPtu3MD6gYgV6QbyzFadNKp7VBthuWf7gcAXRRFBK0Erm/rU82OmZwpsGG6vWvEwgstzvAFmJeOb6ex+r+/UPkFQOZ1mQTTrsxL3uCvnkF4pCo7gVxukGfjzymbIG2vRfOr9VAcWJz5qxZ9Ydn+HQ17lBhRHFHvSbFE65axR4opLHwlcw9jYGN/85jdRSuE5N+DoLTSjDxNnP6agn99TcobvPp4x/3cZdsoM+ZtJY02UfY/M3MP0XMCN3/se3/3udzn//PP58z//cz77gY9Q4HgcBpnJPk/LXE3ZeQypTFE3l1HUpzLs/q+eZyw2NLz61a/u/i4iuPqnOP4xNKMPkJlbcZ2HLrrec05jQJ/FSDpEyRsnim8jMVewsfgSnn3Uw3nyk5/ME5/4RC6++GL+7d/+jec///mL7u/tC4DHP/7xHHfccbzvfe/j05/+NADnnXce55133kKvZBnPetazWLduHV/84hd5wxvesGxM9oW/+qu/YnJykuuuu44TTzyx+/kLXvCC7u//+I//yPXXX88vf/lLHvWoRwFw9tlns2nTJs477zwuvfRSnvGMZ6z4mT//+c95xStewStf+cruZ+eee+6q6g1Qq9V4zGMeQxAEDA4O8pjHPGbZNVu3buWrX/1q9+9Wq8Ub3/hGnvWsZ/HNb36z+/k555zDqaeeyrve9S5++UurHfqLv/gL1q1bx/e//30KhQIAT3va09iyZcuq69rBW97yFqrVKj/72c+o1WoAPOUpTyGKIt7//vfzhje8gaGhoe71D33oQ/nCF77Q/dtxHF7wghdw1VVX8ZjHPIZGo8Fb3vIWzjjjDH74wx92587ZZ5/dvcf3fV71qlfxvve9j4985COMj9tDwje+8Q127NjB61//+v3W+7WvfS3HH388r3nNaw647Wv4n4eD1gyI1ScDNie5l7lksU89F3ZbmabmQBauPKFMb5pkUfZEn3Q+OAikSigpTYGFRBmt2GWoErMiG8SS5ycIG5TPkbofu/xy9D6hoyEwQBWXQ5AYbhligZqrKHtCSxlQeRKUzQ30aLjo2oL3+5T81y38eK+j5r0eV23pOnCmCJU8oVKnEbGADi1f94tf/OJFKlethnDUkaTmzmV185xTiAWGtKYpguucAsBMfRvDAxE//OEPARZ5swMU9cNR+ERyOwCRuQ0wlPUZ++yLPXv28OpXv5ojjjgC13VpRO+mGdkoiUwmll3v6hPIlFDJ81poNQ4oXP0QBvNoB9d1OfbYY/uq9Zf2xVFHHcXjHvc4fvSjH3U/azQavP3tb+fYY4/FdV1c16VSqdBsNrn55puXlbk/XHLJJZx11lmLBIGluPjii3nYwx7GKaecQpqm3Z+nPe1pBxSxcPrpp3PhhRfyv//3/+YXv/gFSXJw2T/3hd/7vcWeGpdffjnT09O8/OUvX9QWYwxPf/rTueqqq2g2mzSbTa666iqe//zndwUBgGq1yrOfvXrzG1gT1mWXXcbznvc8SqXSouefc845hGHIL37xi0X3POc5z1n098knnwzQnT+XX3458/PzvPa1r100d5ais4l3hEqAj3/845x00kmceeaZ+6z317/+dS666CI+/elP7/MZa/jtw4ELA7Ikn30ePWCCmFqQMiAODhA1C3z3u4/kqh+dupqi88ophozNt94nd8iqkSLskISGCOXcOS5s+Pz6opPZ8+MT9lupAg4FcbvtjUW4tQF7mi5V0fsVVmzGRIULea45KxA4InidjGCHUCiIDdw97TM/X2Awf/GjVLOtXSSpLr5Wq3EcvXnJzyaUWlg8M4QmaVcz4ADzqfDpSWvDX79+/fI2qyoirSWfapQqk4qhISk1pVDKGhsiE3JrzWdqagrXdRkbG1tSnkJT7dr6DfZ/Rw3stR9EDE996lP5xje+wdve9jYuu+wySv5rKfn5yUj6bGCqhCBoyfBF5631cEYSxj58Ufcy3/cJw3DZ7f36Yv369YvU5y9+8Yv5+Mc/zite8Qq++93vcuWVV3LVVVcxNjZGu716h9GJiYn9qn13797N9ddfj+d5i36q1SoismrzxJe//GVe/vKXc8EFF/DYxz6W4eFhXvayl7Fr165V139/WBpZ0PGDOO+885a15wMf+AAiwvT0NDMzMxhj9jomB4KpqSnSNOVjH/vYsmefc845AMv6cmRksW40CGwWvM5YT0xYoXR/Y7hu3Tpe+MIX8s///M9kWcb111/PT3/60/1qBRqNBq973ev40z/9UzZu3Mjs7Cyzs7PEsdUSzs7OHpDfyBr+Z+CgzASZsMhMUHZgtBbRNqASS8QzVmvziMfcy9BKFQN5ubZyGg9FBmilQR2ch7gnGgeHCEOSazQGKzFDo/MUK4tt6DEGBQsZ2xREki041SkoimbQhUgMUf7Z/punlkRgwA4nAgUF0WzJbOa2uw+B2UAZzV2Rg2hD5FmPhYHBCK+UYJb5DCyHQNc/AGAoMGzdOIncbZuqUbiicDI7uP02AJE6Si0NFDSINCk5VQx5ymWx7S0XPAZ0m5GREdI0ZWJiYpFAICIY6mh1BAAam+UskzlcNUQ/pLKL6667jgsvvJCXv/zlADj6Fxiz740vA+522ovGtRI6+N/aAmfv7S6Lfn2xa9eu7oYwNzfHxRdfzHve8x7e8Y4F8qwoipieXupjsTKMjY11bct7w+joKMVikc9+9rN7/X41GB0d5aMf/Sgf/ehHue+++/iP//gP3vGOd7Bnzx4uvfTSVZW1Pyw9yXbq+rGPfayvWQHsxtmJPNjbmPSiozmIosU+REt9IIaGhnAch5e+9KW87nWv6/vso48+eh+tWY7OPN/fGAK88Y1v5POf/zzf/va3ufTSSxkcHOR//a//tc97Jicn2b17Nx/+8If58Ic/vOz7oaEhzj33XL71rW+tqt5r+J+Bg4vLUYsPsrEIVRcwQjv3JwgzzfqRJsFqjvb5O29E8HCAjDjPE34wEQVZ7kAIC3nH24nDyECEu7R+CkQWnP0UClGLnf9ShIpy0Gr/9euEFC4NLew44sUIPooyrk1pewh4FTIlKDSxgWbuDNhuewyORCsUXBb/EQlsrmT02jQEhZv36Ze+9CXe8pa3dBdtIzNkch+e84hlZSfZr4idxzPkOjQFEvMrADz3GIZrV3L22Wdz/vnn84UvfIE3v3mB7S+U6xFiAnUcAIE+HjJN01xOoLfssz2dk1gHcXblPq8XBKPUotzrUaYZWIEz7NK+uPfee7n88st52cteBtiNTUSW1emCCy5Y5FC2GjzjGc/g85//PLfeeivHH98/OPNZz3oWf/d3f8fIyMiqN6v94cgjj+T1r389l112GT//+c8Padn9cMYZZzA4OMhNN920z1Ox7/ucfvrpfOMb3+CDH/xgd8Ov1+tcdNFFi65dt24dhUKB66+/ftHn3/72txf9XSqVOOuss7j22ms5+eST8f2Vm0H3hsc97nEMDAzwyU9+kj/4gz/Ypxr/kY98JI973OP4wAc+wA033MCf/MmfUC6X91n++vXrF5mpOnj/+9/PT37yEy655JJVC4Nr+J+DQxqkW3QFXa7jpgpfC3NG8AsxUbnNYDXefwFLEKmMq909eGh8NPFBagbKGo4aCGkYIYi1zR1eimmN1Bmo7b1+e+MFqKuMz8pOimiKaJr7qN+sinBFU2XxomGUMC02DDNWhl87M7i5OeFQOEwGAijBx8bKl1Ih/MoGBte34Fn7uFlBulQ+Sh1u2lHJ2RZzR0glOReEtcs/73nP45WvfCVJ9iui9AeAi+88cUnhDnH6Mxoq5Rfzx5GlNxGnP8LRD2G0tJHGtRWe8vyn8LSnPY23v/3tzM/PE5qdJLKTevZdPLWJkrbOb64apqrPpm6+z1SSUHIegaJAKrsx0uTkE0/nrz/2U171yq284x3vQEQYHh4mTL5Nau7YZ/8JwjzxIltaqZCQDszvt+97+2Jubo73vOc9FAoF3vnOdwLWYe7MM8/kgx/8IKOjo2zZsoWf/OQnfOYzn2FwcHC/5ffD3/zN33DJJZdw5pln8q53vYuTTjqJ2dlZLr30Ut7ylrdwwgkn8KY3vYmvf/3rnHnmmbz5zW/m5JNPxhjDfffdx/e+9z3e+ta38uhHP3pFz5ubm+Oss87ixS9+MSeccALVapWrrrqKSy+9dJFD5Y9//GPOOuss3vOe9ywLzTsYVCoVPvaxj/Hyl7+c6elpzjvvPMbHx5mYmOC6665jYmKCT3zCOsb+7d/+LU9/+tN5ylOewlvf+layLOMDH/gA5XJ5kSZGKcVLXvISPvvZz7J161Ye/vCHc+WVV/LFL35x2fP/4R/+gcc//vH87u/+Lq95zWvYsmUL9XqdO+64g4suuqjr97Ka9nz4wx/mFa94BU9+8pN55Stfybp167jjjju47rrr+PjHP77o+je+8Y288IUvRCnFa1/72v2WXygUeOITn7js8wsvvBDHcfp+t4bfHhwaYSA/EUcGap6AFppibQitxGG4FuHsjeFvPyfgiIxIZUts6QemIkgQBl2FK0KS5Cfl2GVkMET3ocBdeFp+mu88tufxdZVRXwEBrlGQYrqhW4tMBT2bfqwMqxeb+iNVQhGNEstuiEA7dhjRGc7MKkI9cyQIFeNjROF2tDcITr5d/t3f/R1XXXUVf/RHf0SYzOCozQT+i9A6t5V2m+lQ9F9OM72Ib8xfRoqL55xG4J5DO0oYKcQopfjWt77Fe9/7Xv7lX/6FqXQbmjIl/UhqzjkotTB1a+7TcbNRGuZnTKf/hsLBVaOU9eOJ2h4nPXKaiy66iDe+8Y286lWvwnVdRDZT8v+460TYD4JCK1k0uu3EYXgFgm1vX8zPz3P66afz7//+72zdurV7zRe/+EXe+MY38ra3vY00TTnjjDP4/ve/zzOf+cyVDMcybNq0iSuvvJL3vOc9vP/972dqaoqxsTEe//jHMzxsWaHK5TI//elPef/738+nPvUp7r77borFIkceeSRPfvKTV+VdXygUePSjH83nP/957rnnHpIk4cgjj+Ttb387b3vb27rXNRrWBHQ42ARf8pKXcOSRR3L++efzqle9inq9zvj4OKeccsoi59OnPOUpfOtb3+Ld7353Nzzvta99Le12e1kYYEeFfv7559NoNHjSk57ExRdfvKxvHvrQh3LNNdfwt3/7t7z73e9mz549DA4Octxxx3X9BlaLP/7jP2bjxo184AMf4BWveAUiwpYtW7rmrV4897nPJQgCzjrrLI477rgDet4a1tCBkhUGFteK7+//RU8oYBHNSxmn6ApflN1MZDBaTPjSc+7myMGIDf/wb8vLyx0RFZYut3ePL4jmd6MxUgU/yZPFjA+0+cyrr6JaTDn1Hd/bf/16UFXwtuEBXBQfmppjCmFstMXFX/1PjtrQonTUTYvLy+uWAQ6KERPgiibAYbtu7lcemQwXFsSNwYcAhSeKAGev2oZ94dZ4IdRsJe2toPn/9DgaxWez3cwrw/hQi+9+5BK2rGvhnHXj3ssT6xzq5aPTVikemkdmQ9zszDCfxxT4aI6OJrmaD/LVr361GyrXt34CYfJVEnMD1eCvqSjNC9QI35BJZnNJYXywxXc++F2Of8kvF926OfjIyjqp+yjLHqiAoza3uPrO9y76fiX954rimLTGHc4cJlcPjBYS/vVZd/P4z/e3uXdOwb198duOt73tbXzpS1/i9ttvX+TN/5uA9773vfz1X//1qvkVfhNw0UUX8ZznPIfvfOc7Byx8rGENHRy8ZkBZXn6wDnozscdEbIg8B3TG4MYGw//fjVRqewk5WuqI2APrXBejUfhYtb5qlrnja09iXTXh1Hf0uWkfqDhQK0W0exQNAwjBT0dhLIQ/XLjWE9VVAGjs9XMqxlEKLRoXtV82wV40VYorCl/5OT+DLDgnHia4RlOPXTJtkHykS6nLzPceRmEoZNNZ+7hZWeFMSycA0o5vbKDt5CGlwMZKyHkPv4ur921+7y22i5JSBEGCajs4pGQKaoWM0tzBbxgGIVEGhWLntur+b+gDB40BHKW64ZSNdoHzL3oEjz/oGv724Ec/+hF/+Zd/+RsnCDxYcdNNN3Hvvffy1re+lVNOOWVVvBBrWMPecOh8BlTOM4Amkx4HvdBjdMs8bmEf9v4ljogdWOc6RYwhzMuLBdR8jZn66k/WMVBzBaWglT+gnTgMGUFNL7blqyVnd4XdAFME1AEkXVLWax4BUQKy3JnwUCNVgicOaaZoOrb/w0xTSTziqZWZCaTHhGGUUMTG3XcQZpp1B+APAtZpcsi10R0aRSZCO3YYKh58HooFquwDP/EZBE/pRUKfQZhvHkgapd9eXHXVVfu/aA0rxmtf+1p+/vOfc+qpp/K5z31ujS9gDYcEBy8M9JgJtCjqZDYzIJbyt2iE+nfHqIy34bmrKzoQzfosIFKGux1FqoThrVOc+slvMlQAeOX+ilgEnTncM1El0RkVHRNmUBhvs+ecXWwYiimurnoHBIM1OTwQcMWmk+5kkmwpQ6XSJjjhfsbLK99wO1uhKza9stdD2jTfLPCDXz4Tkf9YUVkV7wUILyBFcEUzmQglVNdMUHQzpqeLXYrjA4VGUREPYRn584rhirahkz1aoJJoHpIFe73niU984oNS5fzbive+972H1KnxgcADncp6Db8dWLHPwBrWsIY1rGENa/ificNrtF7DGtawhjWsYQ2/8VgTBtawhjWsYQ1r+C3HmjCwhjWsYQ1rWMNvOVbsQDg68EHi2MbkLcvRJ1DAtbHduae9FsWoFPBFc1w2gEbxZbPAnb2x9mFb3kGgN46/W7+eOvloBFnO5NevDUvKO9T1m4tPgIOkExrw7+r+vqy9PVACFbHRAp3xcESxXsq4olkvRRSKi9OXrag8LYpxU0CAlkqJVIYnmodlI5SV4skDitdPLiZF2TD6YZrNZK99DXS/i5VBCwyK5XHYJBW+n/7RokuPHPl7Ws0Dz4jXOxa99fNF84jUcsLPq5hZFWEQ2irDIDR0/2fOtxfHtX7j4Z9ktLoHEUW7HeCva3Ds+Zfyn099Nc22y08aNgTXRTGjF88DB8UPk//vsLb3ayd9iuOPvQWFEEU+7miLkbdfwWXP+hOilsfdE0UEhRHo5VdUQFHBR8wLD2v95uLfAVafnKmD3ncD4PuP/3sC6rheysajd6JH2vivuIlrX/pCombALXeOWy4Nz3BP08Vg304FVJVa1t53VL9GvZHhIKz3hermWZ7zzQv52fP/kHrL5dt7XIwofBSxsm6raf6/AX6S/PGi8j6+8Yscs267jVISjb+uznEf/E++ddbraYYOv4gyTB5yPb9kDh7u+fKdR3yMLM5IUhelhEq5RRT5GKNpta3zbKEQUSmHpJnm/u1juG7KQx96N+ObJlAKjr7wU93yrn3uO9ESM7RuGrcSMfqia2mfFKFaDoVvrac9U+bHn3sKx2zdTpo63HrjMRijEWBwoIFScM6v3tot71CvzZec9lEcQo4+/l7c4TYj77wSGQ5RTYfg6xuJ5wvc9L1HcvzjbiCJfK6/7JGYTOOVQx73iktxXIPzogVelN/0vWNvWLFmIOlpXD//7O5nwuL/94KD7ay9ltfJori0TkvqJcg+63qo63ewg7mstD7t7UL6/L7S8VjaV/3KXlbW8sI7goD9du/jsJK6AQe10PVDu0950q9+fdvbr7y9sE7I0l+Wz7t+79Ohbm/U3Ev0yDI5ud/LcvjrdzCCQD/EjYX6LerflbhL92lvu5FC7zze5/37f1a70ef9YPlc6LdOHe75YpJVrn3L5vhiJNHisPKVu6z3v/BQr81JtKQ8kT5N2lvw+3L8pu8de8OKNQPrsxJpHqZWk4AUw4TTxhGoit/tFkcplOkQtggumooofJzD1AQLTywxTAaUxMUghCpDoyiKQ6IytNEUcAEhwyZSsuw5ssCi8yDBoAlIyWiplCETkCHMOjGeaMZMkaZOcERRwEHlTIK2zcI0UZdCuIPxrIDBhg9W8e2pmJgxKSFAqLKu5mdcijiiSTEUA8OGDbPL6jeeFWioFE80w1IgxbBHt+xcEXtq0rlmoAgoUZTwKIrDkDmkKTP64ph0gDvcOQqiWZ95tFXGr715MoRMiU1S1ZkSK5gaX9pWoLBnDJRYkqrba4w/78VMBLM0ZqqESggBR+yJxxXFpiwgRtjuLk+BfKhx9X1D3DxxMo5r0AiZ0XhXPIQoE1rTdv4kYrkwYmyI50OqKWEGd87vPZTyNxW/vm0j2k0xopDrjgQt6P84jTDyae8pExpDlDpkqcIog6vg2IIhMrAzXD7/7lOxXV+UcKcR/HsL3P7slzGtQhozFVKd0jYQiQZlT1kBDpkIDbVcELusnfGz2wbQToajgDuqjD3/RcyWZ6jXq7QRIgVKJH8vNePGJ8Gwxzn8m0OSavZMlXG0ICKMjMwBMDKaddd6rQ2I4ojN4G+eY/SPr2b6k6eiHUNvCqx3/HwzRS8h9kfQwMaLHsbgoKCNy9bEI5z3uLPpMHvfsWRuwkwWEsQBp0qFWyccRAuHk1/xM3cM4DsZ6V0BrgNHffdk1g9kqFQzqgzZXMBMw+cb1x5F5sVMJsKgL7zgd6b52NtejleMecOLDmMFHyCseNX10DaPfb7BZDnnvaDw0JicTMfkSWtcFDrfoAOcwx5br+lkyhMcVP633cAcFJnYT1zy3MUd8bTDJvTgkgXQgIsDkuGhcfIThGCJgSLJzQN5X/jidImUugRIi8qz8fQemjIeBiGSjDI5OZEoUmUAhYeDg8ZDkxio9iEJ8nFwxZIJWaIiu/n39r8dD91Vh3poFJau+XCjmAtJqRLKODiiaKu8V/IqrgaNDKbaC6+TI4r47mH2qCh/L2wjTZ7MSue01p1xO9yIM03UKOapNfIMmvMles9sgpBiuTBSUZQ8g+90knE8uBAnLnFkVfcRBUQgm6phz/dW4BGESJQVixUUHPB0/6FPlRAjiBIiDA6Kwv0D7NB2fJN8fDWCUtbcovOJ1O8kHGKYSxQkds5ogfDuYeoqteUh3XkoCFqkZw0+XL1mIQJaQZq4ZFpIUxetBaUFP0jo5TgyRuG5GZ5A7eTdzDqQJYsJzaZDlyzUzGDXo9mJEqMUbCI1fDJgJwlTKiZTHhO0KSnD74jDBA77oKs7JKgnmixRzIUFHBTxVJHYBHgKssByj87Fih0iJBh26ojhckRQbjM9USMzh3+9eiCwYmFga1YjImNGR8zmJ8t1pmw3CBHGKJAKzKqwexpsqhRfNJMke7cbHyIcmw0SkjKpF05ZXn6060wmhV2kPdGU8k3OM5pB8brCxIMFTRIcFAPi4+FYoUssMdOkanFKOkJIxv1uE0cUvmgqeLiiGRR3WXtnVURJXDaaGjM6pojDMabKHh1SweVUU6KBIXUyauKjUIRkEDt8+7rNPHVJ/Y5PB7jPaVmNgGrlzw0IlSHAYZ0UyBCaJIwRINhESD6a0gOgpWmS4qJoqYxvBdsoiEOQU14fCCIMJlfgdrRiIRkjEpCJIVMgIrSU5W9MlHCH08zfisO/2XYUl5JrzzRCAdWl2rb2ctWtT9vAz6c8PC2IPtzL8aFHK7N02kYgwr77JcAHTC4SmVw4NkBi4OomuAp0H4bRCLMoa2qmhN0qpiA23fggDkaEtkrJAKWgLVZI7jeb42XmAIgxlHOtZoqxdVcZSa6Ru0c3cVB9zQSHEq12gNYZR2yeRAQKQYzjprju8jTtxigrcO0uc9+7ngTlGDO9mL6tKh4Zgoddh46jwHElQRlFqw0lLZziCTeHVlOmHHuou5wmGk10mNtbNi4ZgqvsAXbEz3jMlh2Eoc9V944AQhuTH2Q0G0xAVvf5xPdPxg1Cmu0Hn+asH1YsDPi5VNqSDFSMUYInCm1Z5fPTouCIPd0VcYlF0Ci0UivI63dwCHDQKFyxKjSjFqh+e8WQzvm4Y7ZwsZvk4aQFPhxQCjKRXEOgcx2IXcwjZQhwcXFwxdpiNeQaBGVPxUvbq+xiZM0oCSnSvS7BUMLBReHkJ1qwC2SG0I6XT6MiDoE4OEoxD6TKdOeQQfBzAaZJgmfPx/l2CsEDMBaqh1WwpTJaB0Ax3QshVzblm37v3NNoHLFz0hHVzVLZ2VzMAyAM2Dr22qZBIfm7oXJX2wUSZwWERhEadWjznD9AMPmJXCA3j6muwqfzY7VhHQjN3F2i79LeOZD3KEoyZXBx0GJTjguKWGxPWiWqLMyLJZDOP72Kl1xB6eQjoxGSjmCsIFGG9AF4N0QUxjh4boRSQhCkeF6GUsvbopRgjEJrTTbZoeleXMdOm1yxGuKy8Rh2UkRDquwVFQ+C0LbZEweTa2DINS6HEx2NcSbarqdGM1xKiDy7vqWiaCMEqnOt1cTWm8X8rfmfgRW/5w/RmrYIe7BqaU8Up5sqGfAzPWPtx+JwWjaAQhFh2OXEaKXwpXjYk/I8NCvSxjDttAmVwRHFRiljEHbrVndz+p1kEAfFpI6Y0ympMqTi4z3IhvS0ZJw2KffrRtc3Y7OUSRB26QZ36zo18Xh0OkgGTJFyv9Ok5GgeX4KCWjwepyfjRBgaJBSNQ7mQcvax9/B/b67REM2MGMpozpIacyKkCFc403hoHqqWL5/rHeEWSYgxBGKFkKPTMjd587k62s6XU7MBmydCwZ1OnUQp4sMuOkJNPBzpLEYHjxTDBlPIs1oqDHCf00IJXe54wap/M6y5BRbMI4cbSa4fU92TpSKkIyhLrj43pAgRkvuM2JNt6QEw2xxqxELXFJDl/9dZOBgkQIahmWe2tNEEJnchWj4pDMJxmVUjF7TdlK+hQYxBK0VTUrtZdp+Rj69Ard8yK8KIBGij8PLn79ZRLlLofASUnSu5UJHwwCQ4C4IYYzT1ehGlhFbLJ449HCdjYLDRqX6nIShlrACRge4zVWIytCg2G2um2iUJe+YF1wFDSCYKrwWzukWEnaspQigJ6ymjD7OmcEZFKLGHpEzBnanhYzcOUvKEihvTTBz2qBAfB6UVGDBaSIxhjMKDbOfYO1YsDFxNiKcs33tJPAS4j5QimuNMlZ25er6Nn5+zHYYICDHc6TQOu5ng5840AZqq+JSwDoJ1laAFasZnSoeI6rgHWCe5QKwte0JFuQrowYPdOoRcCPDReTvaKKAgHtucOjXjs94U8NFUcBmTIiYTbmhoSkuEgQIuBYEq1rnPacMNt5U4zRFmIs0MKREOVWNdDzOy3DFQuLePg9Q1tBhRAZFIHuIJqVI8LB2irdJueN28cvHy+o+bIhnCjj7lHWrc5M6gu1k1Dh4pwoSO0ChSMkRBREaiTPd0CvaE5OR97+Eg8sBoBjqq1gVRwB6DUxYfTgVw8nekgD2hLVVpPxjQ256kqxNZEMA0C8msTJ6ArKVTBKHZp7xECfc5dnwTUqxvi+4Kk+mS8OXOpt0bm9GLTAkzxChlBUlRdtNM89lgeuZLpx0pBhSEh3lzrJRDlDL4BasZyDKHdquIMYrpqQFEFGHo47q5G3bewGazhIjt2V48wy3TMkJkHNoYfuHMUSMgNhlzKsIoIRFDWbmAooJ1SA9Vxj3UcQ5zIqbHUiFCSAVSEXaplLEoIIqEHTpBdEpTZUTK5lOpKY9MrMN2QxqHvX4PFFYsDEQIIYIDFPPbUiW0RAjQaLELulFW6nZym5yLJlIZ7cPsBhIpQ5SruQu4+fNjRFkVkMnV4ErZtLSCwhMHrYRWbpd7MCFTVuCJRajk6s7OxuOjyYC2zqDHRKPROEBmNI0lL2xnW3SwdjMNxKFHBlSVECnrbd5xMJP8DNN1CFyCEMmjGBbMCpnqOEF5zIm1nWcKOquJzrdnHoCXKzpIs8BSKGz7UoQ2GaKELFdxWk3IwnakOwp5ObxZK5dVsEep2VFfm/zxC0aCjgMuuTvng9F9EMhb2j3oS28bLToneCWCVlabI2pv4qGQKrtJt8RuylpU95DTEfYWTDH7H98sP/FHGEQJaV6u5IcZuiXZcekKOEt5Uw4xtDa5eSDJzQApURjk5gONMZow9PE8e51SYiML0GSZw9L1oKQ0BQ11ZT2VWiqliD1QRspglNAmsWZM6dWr2DUtOcyvSICigCbGOpZqySjhECBMkJIpYw9I2PHvGllzB+SlguCDFSsWBh6WlWiQcZ+2Z4wyioe4DpnAPUnG/W6dgrhsMWV8FAGKqrhU/ZSzNrXQh1kTepSpkWBoqYQMgycOJ5oBEoRJHaJpk2K4Xc8xIB7HZBVKaCpBykM2hegH2YA+LBlgVkXc4MYYESri8sxkA3Mq5r/cyZzwBG50ZhhTHmfqKu3UpzbY5IzHX4vvCLBAAvW4gYzdmeG/GjFHS4WhcsRjj57gv399FDMk/NibZNTR/IE/xO65gCZCqjKGCwl/sHVyWf3WZUWaOkXni29NwwmBYk/TYV6l3O/UKYjD5qTASO7MGQPDtRZPOf3mB6QPDyW2uC6/O5wSppprJgas17ETUidC5fbfDKFBwghFtNioCXtyPfwOekcEGSdsniaOXW6/fxiDYhZDGxu6ZqPU7TuQ9vz+YMXm8Tmeds7VtBsFrvnZySSZw30TJZrYzb6Ve6jEKsPHQSMMGI9MWSfApdhQSnj+QyZohQGX37iZGOF+HdPIe06jyTBEpJTwUbJAttVvfNfhcUrgEBnFTZFVi0/qiJgMhcbtjktGYD2vclo3SA+zGa060ECMQikrlzuOMDg0j4jGGBstMTg0jxhQGoyxvgNiNGG7QscTZSkCLRhRPNQM0FQGXzRHSNGmBSdhyolxsf4XrjgUpcRdTv2wz8RfEVFFcXT+RpZxmCYjQHGiCUgVzOGzTUc4Yg+TjmjGpMBdzvx+y3+wYBWhhYpq7qTXsbFVlT0dVgRClVoHKeyJIiCXaEWzvmhwD7Mw4KBwcEjE5G5tNsQuABqSdtV1RgktGxhJAYVrHNYFGc6DjJjZRVETD8mdNAVhCI8gd4LpqBpTJdTJKGjB0Zpi5nLUSAPHXbxABRpGFIQ6Q2UKkzlsGGwSOELRONRVjEJT8TNmFKRYB7xIFOvLywlPPKyzIcraTTOBIRcaaDJxCFVKpgQHnVvd7PlHpy5HDLYekD5cNbqe1MuXp1Q06wJIXOF2HGI0vuS6DtVR99qZaZd21RWUHgiYTDNcTEk9YbujSI3CE0UoLAjCufPjg1sMsEgij43rZ0gin3tKCVEsTGho59NesFqAFPIzKt0Tn5bli0GUOWysJMSBcKPWREYRSEoduqd5hcpXHvt7N9y5T/0yBcNakyhFEUWCdb7WSO5IaNUZnTejo2GwmqXDu1gpLWhtuTY6ToOOY41dPS0A7Hcd/wFjdF8zQSd0WCm74bjiUMjXqXK+BWk0dcnya3S+hzwwrqs2HbtGlODkXqKirAnNx7JKAuwRK7x3er/z+f+E9wVWIQzcpkIKotlqAnarDBHF9ZHBUbDdaXFsOkCkDPfoJj4OiUk4TQZwU5eJ2TIV7/Cefq5y91AVl0fFI9zjtCFXUztAU8UUjJOrcW3s+0Shzjlb5yn5GePrpygFh99p7VDikmAbBeNSEocGMalymZIMDYyaAntyH44G1onvsrTOcwcCCl7K5O5BKpVoUXl3zPgoJWxFE5FRDz3+8+qt7PHbtEKPs+MNRAhXRMIt3h5SoxmWIhLCxf99FE9aUr+6ijlBihhgOymSKW6ZV9yl54nRHJ8MEmrhbt1gG4qyo3hG1aPkp8zXCw9IH+4TS0KoECiKw/hYm7/79PeAdy66fDJL+ZcdCl8LdW+WloGQDDe3Gy+ofYU5IhxleToUvR7thw/TieYrt4zgewalImJxbAgcC1EPRmxkhZtHPMyRgFoI0X0wYXKuzN//0zMolWLi0KPVKlJXKSVcMhQlNJlYYrJJFYGy9mJRi1X0HewOFR+98ghKnmHam6WRuLRIc53CgieGm4eVKlSuUtZ9F9lpSfhGGOMpCB1DW+x8sSY11Z1/IhCpdMFn4AEw3CSxrUOrFaAVVKrWi6LXeteJnOl8JqKo14vcct8gSebx7J7yro8MKMMtziyZUqRaaJDhK81jkjE0irZKqauIVAkzohBtI41Qh19zNqkitIJJCfG0whgbyeArzYipoYEZMnxRxFqYlgijhWnCPAz0f4Y4sGJhwHqnu2yhxomDGXMZ/GJOUXPg8UWPG+ouEYa7nToVXB7ulDhqpI6TeGzfNYDrHN4BNdYvlUgZzjA1ZlTMNXqOKh4PzwaZNGXrDKWEsjgcl2nm5wW8jJ1RgNbCSYe1hocWCYZMJRTEYb2USBF+7c4xJB5PyEa521h5N8zzCKx3NcVKm4oj7LpvI56fckJPeT/T8wyIw8mU2DAYARmFYsgLnnQNE7NlvnLxaSiVcoOa5+R4BKMyRhyrjQmj5ZvFlA4pmBIDQcajN80yFWuu3V3h+esT5hLF1TurxJkwoyNONCXKbsL4+AwF43DHzVt57APVkX3gimLclEhylk3AOm6Rcf9EwNte/0Sefcfie2IMc1mKymxYbS/ngI0osCFTR+LTVKkNH1MPHNdVnYzJzKAyqIn1HfFzlSxiSWYMIOLk3Pq5D4risNtsDwdSJWybL6Lni1Rzc4yN5lgIKwQo5WRcqQhNnZJgmFXRsvI8FHORSz3qhChmNFRKqce33xEYpgDYwEA3973I+oxygmFO0txHY0GDplG597yAaHx8ovwU3hED4sNs0oyiAiJClloH0iRxCHoOSx1tgM6bpRSkqWa2XmR36BMni7eV65xZFDCtEhSwUSoUASOG69xpfBzrL9Epv4fcrKHiffpdHApYB+aMPTqkgMNxUmUEh1QU9+YcOWEuiOmun4Ctb6zNYa/fA4UVCwPWycOGiFQ9GxaCtnbeUU9RyVkGO2QrRfEY9GIynTE5p4gOM8Vsd0BytZvCI1GGOglFHGooSwqCwQOquPjiECc6V9w+uNAbN93heJghYl4lVJSmhp+rpK06riguZbeF1oIxDnG4+DyaKMMceSiUR84QqDhyfJ6hSkTBEeJMM60j/Ezji8MIdgPpp1MJVYanFCKKwWKC52lSYDgwVFzNzcrBFWFahCoOpQwGPIMIzM75h7fz9gPB8la46EUx4JKrg7dvryy7p6MiVrlqt8P82PEGV7mqNMDpstX1Ou0ddijrEd/ZuKSz8XQ0A6JQKncelIUY+c61DzZoyImeyMckNwF0r+g4rapcLS2EovfhQLgguDlYnpKlMeY2xHeBummBdXV5B3Y0B/bbhfp1eFCEhXfckVyFnWsdDvt0EaBH3d8xFSz16+01I2glYByidDljYKxsMG2Uh6UHXaOZZoaMJDcZCh2Tp227i0I9ABKz7Xed+2gIHg41PAyWnCxWVojUdBytO87AD0z9HiiseIcelxKeKOaNcNVEQKDhFBStVLGrFXPOcZPERvGEyGE+VWyfjhkYmGdg6zSPf/tPwTHAC/f7nAPFoAlwRTGlIi6jRYBik5RJEcrrJnnLK35E3Chy4w8fThK7TE/WOPKo7ZS3zDH2p1fh+CnwmsNWv0ONQRPgiA3D2a4aXQ2BK1AemeU9L7icdjPg5l88lHbscs+eKus276S2ZZaR116D9jPgTd3yTk8G8IsRD900QTRboxQkDA41+Ol3Hof2Uo4sJ2gn5ZxTd/KpH9cYEo+BrMDYCRP8/j9/DfiDRfU7QsqITkkSh5/csh7fNRxhFNfdM8yG4QavO/dKwsjhzvtHueqGKlU/oTY8S+XoGU56zbXA4qxsDyS2jDb5x2dex7bZEq/59rFdj/t9QeeLV6qEPdJGK7vJh5J1hQCF5VDIMLmzWdZd9A43BsTBzwokQKiN9StR2HAqDFN5qKcWxZxKMMry8CtggP+3wtmBoIRiXR5VE7EgBLSwWsQmC3TdBhvVH4gN0z1GqsvKm1UxmRi7IYqNBJhWlo01wGWdlNBK5RTebvdw0tkEl0Kwfj9p7lTaUQ1EYvkRC7nxSKOJybqshPR8d7hQrrQQUYjpeC0s3t7TVNNqFajVWqSpptEoIQKDtRbPfcxtJGaxT0O7S4lmo3hu1tMUxZptk9zHws3z1xiEBBsF1clhcriF5c741MQnU4ZbnTl2iIdSEIshUUIsmSUmUrY9Jq9X9sCI8g8IViwMdCToAM2cgdjYiIIyCpM6lIOUClDWmsFEs0ccikGKkynGTtqJPsw2+U4olIfDjIppoRjFwxMHSX2OPHISiT1mr3kIUdunPa0oVyICnTL4O7vQ/uE1Y4ShQ6GQLaREOMj1X2MXsgIO88Q2KZPY3AIq8di8YQaTuMzfFNIKfXbsUlTLIb7OqJ64Z1l7PTSlzGe8FLOrbl/dUjGi2SiTNAvEzQKlcsiJ4w18F9qplY/jls+6h+9cVj9BUUQjGlqJQztxKSNoBfPNgKFayy4zrSI3aEgyh2IxxhUYeOjug+ucA0U+Nu3E4fgNDUZrEa5jiE1HB7M/5GrhfCPtMNF1cnTo3DmpY0Iw+UMfCN9VnZ9mXXIefTphd/b3ON/4PWUZJzu2817txuFEFGl83xyyqFKrMctDblnIxdj56fAD6M5irhZO4v2EM1FC0qEjVpawqK0zyzwoaR6/2HHy65zupava31stu0wX3bTHBi0dLZMtxbCQCnmlM/Fg4TiGjh+l6WmACGgNaZ5/QClrTpBcszRYjpaNYYdxs+OGEyvTnXcLId2KTvK0DEAJRpm8bw5DA3vQ6xLjoEmVoZGHHqfKRp2EKh9rcuFBLYSRHm4zQe/ecTijrpXIg1EJuIY1rGENa1jDGg4VHmQBdWtYwxrWsIY1rOFQY00YWMMa1rCGNazhtxxrwsAa1rCGNaxhDb/lWLED4fm1L2PijA2bpnnR+/4VRxvMbBEximi6zK4btqCHIkbe/1/QdAnPP4XmngG0mzG8ZTdKQ+3dF3XLe3vpq5gwY3Mt4vRT78Bf1+CYT1+EIwb1wxEuffvL0Ahbj7uPOHa56soTCXyDMYo9c5bf8N3xggf7j888H9KY8aN3cPzLfwrllMYjI2g5mAuO47/+9aloJWw59n6SxOWaq4+n1fZxXcOWI/egFTz9mj/vlrdp4MNE0cE5PU6Gb+v+/m/HfZa5Vsb32m0++YqfMdPyePFnHk2cLZfHBMEXxVOyUYaOmONVv/4wbiFlwL+re833HvMRTJxSGWzwyOdejqrFRC/YTjpb4L7XPZ0br3kIxliucGNgcj7gjrZDm4wr/AkMcHf0pkPW3t62Arx/4EucuGk3peEGZ73ra6hKwvyxhsb/OZ207bHn/nUgiiRxuOeeTbQSzY92F4hF2OmEXJ68clF5G2sfIo4P3Mlzaf3m4hOwgbEHht6xALjktL9ndrJIUIx47FN/iVcJGXzibbCrYj2n/AwpZbQeUyf4+mbC2RI/+tenMRs5fOZ+j5/Ff7KovP9d+TKTTRvGNKeEoSNmefsP/5n7X/8MWvUCP7nyITnjm83QZwSaWE/nn/h7uLNnbAG+eNwFVPwGhUqbx533E/RARPiMPUy860ziZsDtN23FGE0UO+yerBIZuCYSIjJuc+a4JX7DovIO+XhcdTpXv/G5eMMtTvrSl5nZXeFtJ72B+9PFaZIEIVE2vM5H2/zzBHwnffmi8v79+E+xcWwXceLy65uOpG7gsqzOiwcCfMcwPjaH66WMr5/k7juOxBhNkjj4Qcypj/s1R3/204e1veaHp0AoZG2PPT86EaWE2hETeFWbHAhHMInDzC0bQYPjJww//D57bz3Af/VPDlv95uITsTEYB47e9yO74WFgYogUpuUx/4PjqB4xZZ3wYpfmfIlv/9OzuXHHAJ42nHzEnHXJ0xkPe/gdaC089Kv/0C3PfPuxIBFUIzCK+u3jfPPvXoQCjjxyNwgkicvgUL3rcBeGHtfdcBSPPOUutBYe/YP/3S3vfbWvkIUZvmvzTnw9m+M+p05FHF5pNlNwhPUjDe7cVUMr4YjhkFK5zdm//yNGT7/bMjY+77+75R3qveM7p36MuCXs3DNAsRTxlHN/yvDRuxGjqe8cRrsZQyffh37INBK7hFccBaUU9Xv3U7wl5zl50o37feaKNQNZZD19i9UQ18sWvGdFYVIXRKOrMcozSNNFchYr7RhUn6ekoUEr8L0UrQWnFqF9g0oV8XwJk7i4TobWQpK4iGiU6ni2LnepNHGG0oJbjNGuQVzbOhU6JM0Akzk4ri0vTVyMsXG0jjZd8oxeHOxgLqtflBEaqBQTfNcw2/b6CgId+Ni0v8WRJm5hOVe6iS11p1dI0I5BChm4gqn7pG0/pwXNrxVFKionLDF946gPdXtVmqE1+JUQx8sQT5C2B6lNdNJx4c0y64kcG1tPmwRpOQ5moeuPAxcE+iGLrK+3HyQ4jkH5eeb5PA5ZKRBfUImDyhRx287JdqbI+jD8pZHthU6ryyNNdOQgiUOcOPn8XZydD/Y+viQ2xa5fiK2neDHDtD1IHLLU7c4Xk0dOJHmZewudOtTjkdZt29yBEB1kNKZKxLFe9uwe2gdgIfvgUqgszclwHES0zZ6pFK5SaC2Wc18bjLHfS76ueL5dj5bikM8/Yym8TeyC0d11srN5KQWSOiA5P4Jr1zf2sv4d2vodnCCwDBKTB9YgkWtzHnQ404G4FRAnLiIK17ERRwK4ruk7FpgYlB1DjCJqFMlSt2ctV3kCpYVbktTBcfqXl4WmG6URYRkFBZu628XOFyMaEYWTj5EfJLhBYsdkCQ753hFn3ffSD2JcP0NpkHwdVW6G8vJ9NnZs9rGCsfwaqwgPWLkwgOWqbtcLpLHTDYVBCcpNQRlM3UdijSqnKN9mETeZRvrM0wzBCMSxS2YU2XyAiTXiCn6thXZT0szBGIXn2Vx5C6xXy1uYGBCjSNs+JtWoFMhAChleOUI7mWXUMgrXS9HKbjuZ0ZjDnyeGVISChkbbJU61JeJx9j5p4pzHvj1VJg2XK3CMsWE+SeiRpRoVOpAqdDXGLcaoThgUglaCqywhji+afu/XoUaSKYyBuFEgSxxUolDFBFyTZzjLSV90hlKCr22Yl4b+0sBvODrBa3HkkWUaiV06rHfkjG0qVoiXIVrwi3ZOFh3J+fH6l9fpj+ZUGRNkKC/D97J8/uZfdslv9j6+mVFWixD6dr60HXQxATfDcdPufOmMjUeHjEWtakE5UDilCOWlpHMFTORQGWnh+9myudB5/Tt9a1gI8epFnNr557oZShkCpYhESEUweV9kRqO0/V7lBSexi8keKBYZQfspaGPXyWyB4EkElJvZdVbApA5i1EIHPIjQkV8EQQWpZTDsxEki+KUI30tRCGm+bigsn4HpQ/IheXpJEUALfqWNdtOetVwsT0JPX3puRraX8jqhviI2g6Gbz/lWnlLaGIVWdnPNjD2QxpFHGnnIAzBXbDhnZ33xSWMnTxJl7PxIHSSxvBD4GWgDYU6TvYqXd8Vmgm/LLAVRFO53ufyNLyOohPjaILHPiFK0Ipdm5DJ/2fGk5ZhiqDmzXaMZuexIbWrjv373Qnk/ciZtHHALvnvVOhxvBO9RLyeoZhyZ+dzcbNKcqRDs3oxyMkw2jztXzCNuU9Ilp6m/vbFM0c0wt2xh6IqNeEHG+pKH4DAausztKTLfCGhtC0idlDhpckpYpCUOP79tGO0Ynr7ibls9PjURE2iYyxR/cMFp1EoxwwXDVNNbFK/a4TgfKYc84eRf02wWecPJr6U41uSCqxbKu/bWjSRuwn1qkB/d+PsM1FqcetFO6sbl6l9vYOeMSyt2aKnMCl4mInUUETZ3weGmNL0zUtxw1wCVe6vc8qpXMTBSZ+vxu7nj5s20p4rsbDskqUuqMuYzTZq4FDUoo9lofgNyE6wSl9wyxg6/RUmKzH7tCVSqLdZddQK33j9KGLrMOykqc6hVE5qpJpv3abUDGo0CR6jl0uh1JuJ+t4FGM2qKxBM+l7zkBfxw0iWaLBH784SRi6c0ISmiFb44JMpQFW9ZeT/fUWZ3AA5FLr3rXIYH2jzim9Ncefs47ekCMwai2LUx1lmL1GhEKUKEmgSHvf+i7xzN0afcQXPXAL9+0QuZDhLC0Rn0zsoiTYflFoWq0jzaLZCIYlsfOuzPzDb4s1qJNNOkIhRRnDvgcO1kQOKkXN3IOKqa8GcDHtdvr1IOUn73EXeRxB43XHMCRx/m9mbNAunDGugwZTy6jbQZkM2UkFTZE08mmNhqge6+YSsmc8iuOInyQJMTHnkzw4e5focS0TqFygSVgMwo0IbZ29djjKI5W8WkmmOOu589U2UA2rFLrdLm2BPuxS+28YPFmtHo3hGUn+CNNGlOV7n+O6dTGWjSmitz//3jOK7B82JK5TZaC1mmKZRCznrmldx85Yn4SzhWrpCQDUHKuUfPI0YxOlvinpn1DAzP89QnX0YpCdh222bqzSDfmDPEKG65/GGUbtqCcoVHPe/w9d/9O4eYVjFfTfawITI8ql1h8CnXowoZgbcNUDR1hlPK0CohKN6DtFy42Sfa2kansJI3eMXCQAtDC3CMwpusoidsAgdHFHVxibAEDdvmXIwSjEp5aLmIEcW2OQ9ZotoKlU2fmiKEkQ+RT1ofwkdjsip3OXNWkxy7oFyUQAXTpeFYqhqcSTRTiaKBUG0UcUUzLxVcUTSNZ5+lhD1JgVQZ6hJyYk45MhU7yGFm9Zo3YIwQYmg2fHY1AoKcqay3LR2BIDEO62sRzULGxA3rSbfXFvdfYqmUt4sQ1IvMzVTYWk6JU4eJu0bZQ0amhLmc4MPkGoLOOdI7zEQZ8v+39+ZBlmV5fd/nd87d3nv5cq2srfelep3pWZqeDQ1bM54x0hgEBo1wyICQwsYYh01YDivCoQiCUIQdFgopEHI4UEgIbSDAQgjwjAdmhglgtmaaYbrpvbu6a8uqrNzeerdzfv7j3JeVlZk1FJCvYpp+n4juynr56r5z7rv3nt/5Ld8fwlYlDOuIKxc79De6nIwdm6+tUjrDlfE1+c9eI/CR7oq+vPnyWosq5pI3tAzs9NoUeUq3VXDxpVNUXrjsgxtuBejRaMwTdiWVHPQQOWBLQgvojklJVLFXO5x9vRXCCgoinliVcbOzTaU53mGeM2e4XIRucGbcYbvX4f7IcOnVVSqFdVOhopQIA4KnL5Zb11Wx3M6wpaE1l3P5+RPUhWVjrdMI1ly7VieGs1dYFotDONhAG9ZqJQRqDGUVYY1yLFXEW0oPrxvPaCRIXNEfpVTOkKQlcVyzsT79pVZLCy3wsSdqVySxp+wn16nKSCOENB62cbWhKFKKfpvqodemPr6jRCOhaWeLthXqCF9FuNpS9Np4H5o5TTrbRgact7Q7Y7J2eVDEqLKIF7TKsSjDtSXyfhuREHZ0ZbTrAVANoWxXRywd28FaqKrrjeUKZdNDq1ViEFbzjNLEdOo29xzvgx/Sv7xEZMK1GEehjbM6y3BjYapCQJM5aB1zvnaMa4erBVkpkcRhFurd28MDWgNzFSZzsJbiDehN7q3+dA0DNCjVOTyJWB7C4I3wWl3TJSJSw0MuwyOMcHxuR0mtsGFz9je5zQhu1AT4JmkTi6VfgRVhtVPx7SdqCg9/+PoKtcKrkrNpQiyrwB8Im7U0NIeJVLjPd2lbeMdKQeQtb2zErIrgBaxPQ7tQgc9KjxTDEDf1nfJESjRtFrpJ2+EbqVdt5BF/57N3MJ946njMTnH9Bfysht7fKso5U5DUhqvPrdKKlNTWtGtLiW8aGgVTbBC05SioOSRMfaRUeDIftN7fwJHmlp2v3sYFKRjXlr5x1ALilbYEHfCeOtRA7t9cHSQBvhr1qNVTqPL7o5TOKOLp4QnGNmeslqFxOGBdDcc0wQE9amrh0MY4lyWn4yN8UKllWBl+8Y2U92mLUW3p43HARZvTJcIpXJHQ+rk8JGvgVTtCCCp6V03BTm34jdcWiaKScWWJPNQGhtLEsoFB04+t4GDOylHzN//NN7DcKqnqiMhZyjKmFXn69fX6h8EvCDs4fr0ckImhPsR2vM+2WH34GVYTYX6hR1VFXN2cQ6OapLb8YH0btirYHuQ8+a6zVLVFjafdLjhx6srU5+tHCb7xAlSDDPoxO5eWyDoFJvKkx3oY6+me2uDeh15lNGjz4rP3oqOUSy/dxompj/DocGkZLBtn0EoZu5hWqyCNHAsPn8eXEWtP3cf73vM8ZRnjXYiF/+FTD3LvvRcxRrljz/GqIsYYT3X2GFWRUKPEUYUiJEnokxDFJQvHtomso7c5j7FK3ss4dvwqZd66bnwfalnMsTG3/dRvsoBy4f94H6+vvZOdfsaXP/UuWp2Cuoh46KE3qKqI0aCFCGxudptQxHQ3Lx/44FdwRvnub3yGslXQPZVTIERzdbhR9+xjFXCxIpFSPVoQDbnpVf6mjYEIQ4xhRVPG4sjxfAFPAlgbsaM1FsjUhuYnqmxIReKFe3x2YIdxyrdJUe6SiFFtSRBKlFI962PD9rkVvPWMY8eoMkQSpIZjhDOudWARrVESDKuaUoriveFz2xGR8ZTRCHzIc6gMlCg5NT2piLGc9O2ph+H2PtImO1+H4nDEN/BKbOYxW/kko+j6AT5jt4ka+eFCHBmWO+sude0ZknOa0MkwEUOOY5sixMZEb0mf8FdsnxyHQRhqUFO/VBrWTU0tFb4JhifWMtRiVytfgLa5NX3Mj5IxNYmE5kaXqcjU0ykirpoCg6cjEVYhF+Ws5ESEBlM1YZexn20pWSSlwnNW+nSJuLfq8rQpWTSW+3yLHKXvIy6avGksFLxfh7XgPS9D4qbRzZYUpGLRukVPKiJrWPEZE/ncLSmaPbVM3WicsD7IWB9kzYYjeCRck7twPUHgV4ERylgPbgwAVnzGaO04O62KNKnZKSI+v5nytoWKYekZjWPmgNH6Md5Ym6fdqrjjtnWUkvueeHHKswUZRaTPpJApujRCMstSu0Tjpm9EL0OdoRqGbV1dG7b6GZH1VPmbq1dE6+PH8ALFZhej0F7psfPHp0m6Y1bvvUJtPQ5hY30Z70IypXOGfJzx6st3Yq3n3XuO9/v/4ZtIspI4rvDOkNfCZy7OkRl4pOMonaFfz6FqSdOSVisnjh2C4Y4z53H19c+X97z9DWxcsfSpVTon+px+1+uc+MoZVIU0qdDKsHl1EWNDjlzVJN0aU3HP/RcOvX+Pkke+84u4IsLO5cTtErolvlcFb9HpfYa/gmYGL+AXaooFEA834xy46afuZPHNsOT40MVQQ+igLeGGdCoYCRmMVqCQ0Nk7xRzoCxgT2qiuYLmiJjRQQXESmiG1XfAc7JjQNGWS3azAXFDgv+54IcymJI3HoRYldyGp0AOmccX6XVcqzb4ndNKadt/C/aGAwESze3/OwPUc5kFw4mnSKinwu1n4gjAUR924V5VgiNSN3vykU9209bQnDT0Mwpx4XKNdnjfXCnrtsa6E70VRjMrUv4tpoFzfBbASj2gIg5lmkZ38rmgy/s2e730/XsK5iDBU4hlSN8ZDTU9C4lBM022t6YWwm5N1CME7FB4cu2EEEXLxWDR8XnNd+MmXc4OxTY09l35ziexe+9fugRslW16P96E7XpmHfBQrwsVhwsPzoetqlYfKiUiU3rBFWYcKI1fHJO0jzqY/BO8MUSWIaxLdYkfULqFdg5PgOVBB6whXxxgDeZ4Sx/WhGexfz5ixgcoiay0QiI0LpZx5Gnp3GEWdIR+nIWPfhgTAuo6oLbh9jsJ8lJGPMuKoRkTxDnqVZQSUqeAUeuOIPE+pyhhrFNXg8YpiR5xcf8AkrkmyilatcLlN6h1gsEbJshLvLV4NrunlXTWJ6L5OyLLq8IqHIyTqFMTtAg3tRKESTCUwhuZBcu22aJwUIqDNHlOP2jOwoElobaqhZCNR4ZRvU6FcsTk5DhGhUEsqhlWXYmzIDfii3SHaZz09biIKhYu+5rPxJqiwpC2cKGOteEP6xBg6GlzIoVWupxLPV+zmblOLCU/6BXJVNtXxVdMjwrBIRo3nKjllszC1iULJHhF9QinWC2b7wPimxWFNX6qmK1n4/bV51Ye4eye8u1qhT8XZaECM4PA8YzdJ1JCq4YIZN13RQqONFhGXCAlprUNyLo6a212LV6wnRlh0MTXKOTMgxoY2yZpca6wElOq4aIZhgdLpu6WPmoQQlkmxLGpMiec106cWJcVwrO6EeYrS1YghNS/aHSIsC3pwp/dQPc+rdtAYEcGA+KNoA6NN3N+EhjqFOgxhgc8JFTzpIZ6mM/UCr0U9BCFtFvyXzA5Jc731JMI25azzJOTqWJcRprlXpo5OHkZ7DdVJ/kPo8ghg983NN3lH+3lnIgzyCOssz79yEgG+baVieXFIgtBptbGRY/nYNh8+vY6dH3HXR58mW8kpHx5NcaKB/PICVS9DEcpRCipEWU7r2BCJHdHiCD/I8LWwsLpN1wnf8d2/Q5GnuPygv+TrGbl3BzOyZNbjRwn52jzH7r+EWg9ZTdQpOf7wOU6eX6WqklBqXEZsbLXoDdoHLNw0LTBG6XRGINB18F+/p4cTZWF+RKyGjY15FhYHpElN1sqJs5rWSo+5EzsHjKlBv01WG3pri4hRdjbmWVnZwdWGtJ0DQpaNefH1E8TWc3xphDVCVQtPf/lB4rjmsSmeP33bDg6hWgwLvNSOtBfcqK1zBvWC9C1kblICFO6hyiBNK3ru+pM/508RJgi3aNzsZ8KO3xKjGDU4cUjjpjSqu64+4NpucA+ZgdgLIwybEmJKicYokOOa3uu+WbpDwtSkBKSQiXlwjTaWjJB4VYlvakXDiajxFOJ3x+/V0GkGJM37q1u0AbrRIqy7f944j2AvbTGIxthGP8BI6KZVi0cI+RMlim/qa6wavAntWz370zmPnmz3mwvXiW0MOYPBNiEnQUgwiEpIyIHru8O9iYgJOSlelaiZW9lch8K1XBHVEKppYSnFU6HMHeIM79qw6E92/BByZUQUOwmpodQSrnmBptPd4cxJEOhRCV0URYRR088vIuR2TMp9RYVYTOi+iJJMO4bWMEmmNVyfuKjS6IsIGL3+/rjRfK03dCKlVGUwCqmpKxbm0xoQitxjI08rLWl1CpK5guU7NqBT4++cvmdAAV8koRx6px1eKw1ZtwRnwlwTh3cRIkoUe7rpiLnumOHm/Nc++NcbsUfaik0cQgVqMVGFSWpsqwRvSFolxioxdUj6A0CoXFCS2IsDrGjQuwG8CItJjbWeheUh3hnqPGVhfowxnqyTYyJH1i6ID+mq6JyhrkMxrTpDOUqpyxgbOZK0DgmOkaesTCgbRjAC1ij5OKEspxu20dSDBb/UhFLVoXnz3HRgajB9AW9CKWEKasDUwfN0s8/6mzYGjruw3zhhIPYpjpAZH6vwgGsRk1GL8pIpQOCcHVPjKPEMDslvfui+NeracHKYsXXxFEM8XsGKYag1x7CoCJelwmLIvNClTYnyVLx54Hi+WURbGM64BXJx1ECG4V7mg5scYUdC4l2shjPMk+N4xm7gp7w8TvIEFMU0P+99bbIrCr8XJtIxghwaA/4rj1yiri3v76U8tzaHV+ECFa4xCh7UDKuGbcJisiElJ/wqlYQd67TjXEsI39PO8AJloURqOVEucQFHKoYHEjBquFgIfTyZWr7RL5PjeTbqT3Vs0+Axm/Itb3uD2AhbVxeIfMRr613OjgxZrLz/gQvEPuKLr6yy1pi1D9WL5OJ2E2P38j99z+e5cmWeoo74/FP3UzvD+QqGeFoRvPdYTozlwlbGH1cRKDyq840HYevA8T58x4B3bc9RKLzWC9U9a1IwMDUJhvt9RoSwhWdLKkSDd6cUzwu2N/XzF+8JBUy8ZJPXUBPaCmsIE1wz42/M79UFqxdWiK2SxhXqDavHN6lrgzFKkpQ4F/HSS3dwbLlHklUsfPxR0vkx0ZfH8GPTnW/y3a9R/erd+Noy3GlhrHLs9quU/RTvDGe/eAaTOJZPbNC/tIx6Qz5M8d4yHr65Sm810qCqeGyAGcdE8wNs5kJuwFYLV1suPnsndz3yKvmwzaVXTxHHyh2n17lwaYX9Tb7/3itwMjX8yOkuraxm9eRVzr58ByLKaJQiBsajhDfOHSdOas48eJYociAe2yowkbJ3+X7h1eN44HdfOI6xnoXY8eBt2xiBujKNaJ7yyH2XGecxr15cxqOsScWdBMG9aZKfdtf2vjboDuSnPfgmlUyA23wTMlBwtkkqdCRXzU17gW/aGHje7hAhvEbIxZvsOjMsZ1yXDXGoKBmGMZ5tKelJsRvLnvS0nvD0yyfIo5Kn7A7bScHQCbV4YgwnXJsXJAdR+o2zvC0WJ5MY68Q7cI3ntKLGcdb2KaHZdTlSLPe7BUrAiaOQijGwQ0HfhjiSEyiZbgb7JO7p9lzasvtYk+veCWAwjQHjKQ4xB/63s45F61l2ljSqGDllk4IYy91ujtdsiQUKdYTwUvCVOAm9uae9+/5du8ni2BIZWGgqODDKQ36OkXpeLh3zRrkrMVwoQxghVD9AeUip3dc7X3IjXnp+kVbs6PqY3Anic87IIuNK+fTZZRYTz23tmnyY7CZ3jtRwQYYHjvcj/99drKQO6pgVW9KvInZshahlW5X/tOUxtqZnBtQ2IgcyvXG2xU9fKViUGu8s3ShjrFBozXFtU+J52YyIMKFUWIJRuaOCE39o6eNRo0DYs4dnAFzzFND87fo/A/4QQxngf/7wM6SdnMzFHHv1FBJ5svaY11++k0Fp+epmRjerefLBixw7uUHSLrFxjUWR3vTd8Ns24dnPvptUHQ889jJiPN5Z1l++DVdG9Le6lHnCxRfuQIzS76c888YxIoTb5guemPoIj47iTkG2LPHzIZstuyfI5oqC72VQWRaWe+S9DqpCbzBHmSfkeUx3rsD760ND7x+fZL67yUMf+SzpuMWLX3iUVrsAhVZnTGQ9c3N9Tt5+BZvWrJ65SLo0xD68QRxV2H26BX/1v/oUa5eW+Z1PPIGNa1YWdqidIUs8W1eXMcYzvzDi+J2XqYqY7tyd5HnC0laHLC1IpryxioYRVBBdNmjqyc/Uu/bH7tWf7rkP1CEFxC+26H3mbkxlWfm7N/E5NzugUjwlMGzcdNq4EF2TtjaW4P4MN7Rcq3e+wXkaVZaiSjlvQ8KbmqCDHmNYMi2GOHxjDAghIaJokuAOixEGGUm42pRGqYTjVU183EtIUpuMqRZHX6prmUq3NE/qTw4FTJKiQsSUA+PbqIStEnY8HG8SwPo4UkKMukLJpUkulEk8OSQe5uKmPt9CPFdVsW5i1ITcCAFaGEp19DxEdqLwIJRII3Tz5gsTlOK5VAimiFmYJLFqzT2EctleFZE7OBmb3fk6NSSiVIfM9/Iw4fIQIhXu1ghF2ZKaVoiYMXaK88pVqUklXE8VIY5Y68H7Y8tBXz2WkHvjRRlSsdpk72+hiLimOmVy3yq1+N1rZ5rsTak99P445B6dVD8cxnJWs7Dax1URvfVFjFHa88Mgf+0t23lE4QUTeTrdEVHiyDpF0JmPpn/92U5Jb22J2Aa3eBR5oqykGgXFzqoIkuL5sIU2PTw2troYURbsdDVRjho1gnYIBgCKzBVIWodwiAaDz0aeKHK4OqLMU5yzFGVMmrgDCXpzYpkr25xeHeCKAu8E7y1RVJMmVbOT97S7Y6KkYn6lj7QqolM7wMFHX7tTcPL0ZvgshG5WkSVBu8M720jZ17Tnxri0pJ1VxFYZDtu775smErKrsSNBKwu+0RbY+7mTUzR53YKpFb3cwfmb81zctDHQ0giHp8SzRErihWMuwQNXTBmEhpqFqFSPE0+XGKdKIfWBm/uTjQJhimFJM2rVXU/CmgwbV7k24jjSxJl1N3a4nxfsNpNkqy4JxhsyLB7P601CoeeaToLBsOhTanHkUjPtGqrqT/lAvVHm9IRU7a7HJfOWWA0nNezAX7NDBhLqbpdJKdVTSE2XhFrDw/1GO6qjwqN0iGmp4TaX0TbCclpzKXckCBlBSW6kypBQgx81c27pm+thByEO3yEhUmHVp7QxrFpYpybFMIchUsgJOTSJUR5tO3a8cjY/6PZN1TR5LiFMFKthlYx1yfEoIwkes45G1BL0NRY1BSU08tlHrIJFiDTcV4ka5rXDuuTYJjdBCGE1ANskeVbqGZij7eNwGF/rarQKi5riVNluxjJJHFT0UB2Enc0F4rRqStUcropZu3CMte2Usoy5LxaMhe1em87lFaKoZthrkd7W5+TffHpKs9zDr9xJlTrK7YzXn72b7nKf0+0CE9eAcvyOK7yynfBTf9Th26vj7OD5QrJOXCW03mQ5A9kLgstj8u05pGrK3MRT5wm9147jy4jnL3X5e587wfFI+O9P7jDot7i62Qp9PvY9mh8+MaC9uk29MqSTVNz1jpf49V/5IKqQvbZKmtScuf8Sj3/Dy6FPjfGYVoU3gokPPvme+tTj1KpUUpOPMs5dWubEsQHjyvDqeodOVnLPHVf5N7/8BAtZzTfOh3BEoTXveOwl7LSrCXZCzp3OayjJLgy09hisDqQyaLbnNQ+SOBbedg69yVLUP0VpYch012b3bjHMERL+RpSUTdTdIM3CG2LfFsGoObCAjyalfgoLWCKUsdrdXWyN300qMzopj5PQmOQQg6CSkBhXqGOpKRVsYfGEOvtSJuqF2jgftUlws5Q3qFW+VewvLbxRieFeJg5UJeQeWEKlhEPZpiLHh3OPNG5X2U1sk+Z7mSZBCyMYci0sicKqsawjhMddsHYzgbLZ7VrCNXZYjsRRM9k8H6VVbxujNW0anKwg9KFZqqRZbMMiJgptC5jDdQZMc3509zoNugQhybIpi5WwUIbrhV33Ood4BuBaSekkQS/FMsTtahOEezeMRZHdJM9bUer5tT5hMhYbTggq1zwCKodP11UR6gzqTWikBqCG4SjFqxCZYBAloqgPCWQm97DtYXG/RNrRk3hPcbWDIew+82EQsnFl+AaiuGahAy8VyuNFQomybvpkUh2QYj9qVJvSND2a+0MqwVaKDmKQUEaICKJCPWkiVyY8t9HigoXiGMSJw3kLhxh6Yj0JhrnlIcYL7e6YvIxwzlAWCXHk6ffniNslNnKhaZgHUn/onPJRRlUbhsNWMKarKDS48obtUUpeW85Y5cJOm40+vDMq8U4YjWI6nRxrp+9JEgeIIlbCg3KyBjZ/ijPoZB1TwDRVhlahfXPG/E0bA+PGXQ/KFUZEYtiwY6wIlTqKxjOQqICEiuaCiUfg4Oo9ao5XimNIhREoVfFGwSuZRNcWRxH6em1C9SFLZdm4oJ0olxhgxXBZwYjgNTzs9l7gIaub68/oFJlk1vsmeWz/wj8Zf9BJuCYcYxA6RMi+B8Bk7zwWx0tmG0P4HpBgLK3QxqGclR4iQq1+V+8h1ekvuAmGASVWDH9gN7BieLr0aCREanjSzlOJ55N1H28NtQqpWhBYuAVa+KORpd0+Ove3FWGsFUYM50xwN76oNdYKsQjfHnWoUT5TFtRGcWoY9hKsMbQPufYmOSw14Xo2EpJfHSHUk2noaLe3kdCActcQ348Xz1hBxDHSCjHCOfWhugDhHr+ARzkvPSrZ666HZMoJUhP2JtHuNYhTA++dq/AqfHwAwz3hgeCROfgYu3xlmSgpiBNHd2kHBE7dN+D2B1+nKGO21paJI093sYcbZzhneeG5uxnVhv/ryXv46SnrDnW+8xW+69GfpRqlSC6k7QpZLbnn3ee5st7hv/uJJykqy4lE+I/VOgtEPF6HxLWxmW7YpigMWXZ0C5wu1DBfE3/vy2gV4UpP5BwW4dhKn+HmPGs//Vf4idWYgRPK6AqrXc8TT1xl6+oy+6MiP7m5zeJWxGd/9IeYnyt4IFWKpKA/aBOhdFsFj3zwaXbOL9NaHRB/6HUkctiNlK1PPgCV5dRPXjteWVpE4NG7r4DAyokNbjtzgdh6Hrq0RH+U8pnPP8CjxlA6Q+4KWkapiohf/40nSNOaHz2ys3WQ0cmm2+IeIZHddQyQ3GA/v4D/ptAWOt4KJnx5rMb9Z1fBG7o38Tk3bQw0cuh4YNTI2ubGhVIHH0SGFEF2TS/dfb/DHzDHcnG7i140mWBjUDgDovXujscAyLWhRoc8PItmMdUmVi74XUW7yTo6+fnAa8C0VdgnD3dF2ZDiOhvEeqFDzKQJy8S7sjd2uj/MMtqVTPIMm6SKiYCPAttaYSeGkCiosk2BEYOqHkjoPGomwjUlNdumDLs5L+GCM8JlHZFiyI1npBraTWtTRnYLPAM/8gMf4ud/+eNHdrzJTr2m4rKUQRukmYkAF92QlhicMYwbo/fV5r44TE9ix5TNIi+U1MGgw1PttrFt8gS0MSAlyAffKLw0IsQZPc31sOd6EeAZ2SAWQ62+EagSdrTAiBzuaDhixtREWCpq1s0IwdD2ERHCjgr/79DTlmBYxTq5W8PoD8u/eeixl4jSimxuTOfUFrZdYpdGuAsLmKzCnO7jE6gXwT4zhysiVu+9hMaeD95xFfg7U51vNFBaj24TX26x86sPMS4iCheRtUuK7TYfbc+zdmWOtWHCFackCKsmlLW9csTtt/fzzY9/jCfef4l/8s8+fSTHG91XYwqwA6BnGH76bjbPrVKPY/pbXXwRsbg4ZC7JMEbJiHF1jXMp270urr7eGngkP47DszFMSbold73ved7+ttcYjVJe+eq9zC2MaHdyFk9tI5EjOifIvOIXS1o//Bx+n07DvfefR1Vpd0fEac3c6naQhbaOdmeEK2O67ZK1iyugQpVnZEnF6TvWaHWHWDvdG6T6mbdhTw1offNZiivzXPildzI3P8SI0j7Wx2Yl9u2XqEoDHU+1pIh34b61CjeZAyOqt+JWnzFjxowZM2Z8vfLmaw83Y8aMGTNmzDhSZsbAjBkzZsyY8RZnZgzMmDFjxowZb3FuOoHwtoWfoij2ZLFqKE2aZP0W4q57zaMMzPUlOr3x/3rj4/0ZuJr/L7s/v33+ZyjyelcPHvaUWu0O+XrBorhJ0pu8dr748amNb6d8GPjzaZ4vJK/u/vyR7r+kyGsqfGg5qzBHEpLK8Lxud67NVMNch6YGZbc5zd7xfXP3n1PmIanTN//15VpN91gcotBqvl+H54rNd//93u8W4NT8P2BY7SkL0pCVPmmiU9xA1U5RKtEDxzs9/w8oyz97hvPeue4dnyjMaYxRIcNQN/l3k3NkkV3N/7QREyqoeaH8H/7MY5kxY8aMrzdu2jOwf2EMFeSTYsPDXvvaeYl/3oV2P2EhOzqOenx/XkNgP2U+qU4I7JVu3S8pJDf4+bDjTdj7/R32/f5Jy3JRHna9XKuJvxE3+t2fxxA4jMn45Lozt/f/B7ml7XxnzJgx4xZy08ZAfJ3K0qSEbSKWQyOQcvC1W8WuOuOez9wtlNA9r+/9/a0c4BETR5PFjF1xmsl8LAbZ4xbY6yG4VpJ1PZHx197E9Qvfwe+36a+w98D7SOTw62VXQva6f3LtL7fquol2x7X3zOmB61h196S9qa+XGTNmzPha3HSY4Gffu8PmIGXt8gJLSz3wlpdfX8E28qb9wiJq6DmlHSt333mZf/1Gh5ZRPnbHmJaZ7q7qXfUyDs+K8awuVKDC2a0YxNBTT0QQIMrVk1q4fX7MLwz7ZFi+R5ZJ5M2VPvFPf+wTrK8v8IXfejdXt+YQA0lcY7xlcxBRaUoa1zz08DligbWtDr/w+jxzacWPffBlOvu++Z988mXOb7X4V390go8er2mlNZ3lTb74B2dQNWzVQf+gHVc8/sgFSm/4+edWaMWO733k8oHx/dsPr7Hej4hFGRUx4iznzq9y8fICRi292hOJYbFT8NCD5xnXwj/+4wUyMXzH3HRbggL82PE23/pDH6fOE37uH32UsrZ8xfZIkV1FQCHoItzlOjiUV2wfpBFHmjFjxoy/QNy0MfC+f/VrXPzi7fy7v/Ex/OYSxijHvGWrFM5HYz503OO8MM5jeg6eO3ecR0SJbc0jK5vMJ9OVbHxHZuh74Wxp0J0ENZ7aeobek0cF35IEnbfKRxQK53qWd5qYufkBf+3bvsi8NcAPTHWMR8nt3/8s2XMn+P1fez9dH1GVht4oQUTo2JoHTo7pdEc8+vYLFKOUT3/yLj5ATGxz7mory+3r8zne/rO/yepTt/Glj30/ly9FnJzPuW11h2HkobS8cy7si3vO8psvnqAdeR6TNomteGQlPzC+0z/6R/zBx74/NGFpJF89nlekpIXlL80lRJEnbdc8+8y9mNjxHoE4K/jIe16Z+vn7yE//Br/2w98D3QEb89tsb8/RJt6VrZ7gBc7bMRGGjCg0Dqo7Ux/fjBkzZtxKbtoYYL5k/rHL7NQWU8WIBJlQwbPuFRMpkRIe+k7YGQQd9dTAfOqIpqzSFIkyZ6ACRj6MY9gko21LRWqDxnsiSuyFygteI6I647aVEckt6FR2lFSRkp4esDPMSH1QJitcCJZ4DGlaE0fK3PyQKHLkZYxWMUnlmU8d+yPj2q3oPLqO+gipI/qjlMjAdhkRKVgLVpSWKFdHFlNE3OViMqvMZwf1w5PTfbZHGa4IivpGQI1jgwEt8RirxFaZa1f0LybUeegv0Y7g+PxB4+KoWbz/Kr1Bi+FGh/PRDtooYh6WF1CJhkZTGmSgD5O/nTFjxow3Mzf9VPvf3/bjtFcGzJ/sc3ue0nfw29uhy9ntRZtfXMuJjdJnzFIkfPQ2w9YowQq88Mpp5lLHe6c4kS8WnkRhKVYeWx7Td/DJDYsKJD7h43lBjNKTirZaPtBKeeTBi3gVvvz5R1hsl5ya4viOmr/+HT/M7Ys577v/Mm9/4HW2+m1+6bfeQYFnq665+No8JnL84vkPsNIp+fAj53jyzjDf4Silu695xU+8/X9kcWXEyeND2v2MgVd+/suneX+35nIe86m+xxqlFVV87KQnd5CPDFYNn/ns23nHvvH9w+/4Qfxyn3qty5ks6Ml/NXe8zXcZ4PmtQYUVT5JbPnSqT+UFGzuMKM89ew+PTPn8/fBHv4vs+EV2Ls0D19oIx9wgBKDhZnEoz0Q7Ux7djBkzZtxabtoY6J1fYOvcAtZ6Hjo1Qj0MRclVOUXKuDb0xXMVZaRKK1ZM0iS0aURRTHc3VaEUKlgPC4kn9qGPtmtyxXOFEbCuNS08zrc5OVciAr2dOcbD9lTHd9RcuTRP79ICDy8Yjn2gT9opUOtRZxgbxTuDuohe2WZzkPGtCzucWO0BMNqZY79nYOvcIr1zi9xmhKXFEqdwqR+hErNoQ+vd2kPPwVykzEdCrwLvlXFxMMa/fW6RipBIGFvIFHriWcEwh7DtayoRRqViDWSRkqUOESX204/JXz4/H4ok5XqvxmFNpOD6qoNylkg4Y8aMv2Dc9Ar9xOk+w0r49HrMJ9aS0LZRcsYoamu+93ROrvCZi100h99+A2IjOC/MiwCGvzHFiXzk5JheJXzyquFfrwmRVSpTMfSh1K7VNGRd0BQEPl+WXP3S3aSRJ1OD95bvmOL4jpqH6y6K8tKm8M9/4YOYtGSj1aM3zohQ3pUYjAjr44y6gH//olCUj2Os49X1NnUd8Xf3HO84obXw687R30rw4jE2hxROdyr+/gefpl9E/Lv/8F4+d87StlB5oVToc7AM80yn4tMjh4qyNZbQ3VKCLsJ8pHzfnTsUavid1xf4nTXoiqHd5HA6cfwXUz5/adMd0uxZ+D3+0KZBEEynCAsI9SHznTFjxow3MzdtDPzaVUsmcHxxzF997Dw7o5T/56l7iIAla9hYX0Cs55QYtoHXXM6KS0kFbotl6lHWn9uo6Ipw18mSv/2df8DlrQ7/5y8/wbwKXW+Z1wgPXLElqjAyjq9UjoXK8t4ouZFz+OuWczYnViFt17zv0UusjyN++5njKI77UuGdD1zElDGvvHGCLed5pRA+89Ix7jq1xff94KfwAvC3do93kRAzHxpH6i0FyhB4Y6vFYJQy9+WHieKae5bH/OoGRM5w2rXppo4PnhweGN8Xc0/XGBYXBvytb32OzV6bf/vJx1g20DVg65Q5hNtj+L16TKyG26o2y62KJ+8/WJ1w1Jhrxai7eQIWi9ktMtznGRCh0lBSaWfCnTNmzPgLxk2v0QMnDBUkMpxeHLPYqmkbwXjDnIB3gqstlVNilFxco2QntASmXFlIz8FAYbGIuP/UDqvzOa1IcZUhwzJHFNolq0FFqVQoxTPEkYpiZcoDPGJqCe2fByoszo+xmcVbhzqLOMtiu8Injth62oSW0ZWzbA0zjp3aIo7dvuOBA8bNztgg5HjUW0alkI+yoBBQpAzNEFFh1SilCkvpwZ3yuImx13XM3ceGrHYq2gbaarAokQjOCaaOKMRTodSi5B6WutNt0TrhsITB/S2j9/5eZaY0MGPGjL+Y3LQxUODoiuHxFrioRL3ik5KdPOLzznHR9vEiaBQ6rZ/QlHsxJCJUKOk0ZwG0NKKD8DaU8y+eIvdC3BrTqzOumpyBKfEoVSNXfEds+KETllFp+eMLc2RvMnW5eR+TAA91hqw+epb5QYt3fe4B1p3wMgV//w+XSWNHVe9QVBEnjvX5b/7y53DDNp/4Fx9hvjvmQz967XgVSgt4cjXnP//uT9PfmOfn//0HiEwoz/y/LynWOlIPp8ioFFpeSMqIr55d5r/cN76uVT4wBwsLFTme2ni0VfDy0FDWNf/pco5YJYoKYhfTiZUPHh9gnOWpZ+7gW6d8/oIM9Z+QNHjI+2s8GzL9aocZM2bMuJXctDGghAWj4yMWWjUiwqiyeIESWKdGm/XUIiwSM4fBCkxfQuaaw3fOxcxZqCpLb5jiCbvobSmDR6DZ220hHE+F2govIBT65jIGJtK+WZWwsjSgnzjERcwhQMHV0qCVUKsHcdjacMepHbQYc+ErD9Jbzw4c0wGtOuGeU9v05wvmrNBWgwhsOI/3kKhnESEi9BmwCFofXEwrYCmCOQleim0MwzwGUUqES86hHmJV5sWSqrCSKnjHuHdrkzkP8xBce03ZTbZsfizlzVWGOmPGjBl/EjdtDCxrglfl97YMn/6Pj9Jt13z78TH9UcaFXkLilinwbEhBjOGka/EKnrYYVmtBphwnKKipEb6wk/LGr7yPVlrxriihP0oxOF43LWqUnimJ1XBXnXCpl7NkhXevjigOWdC+nqnweIQL223+xT/6LjrdMQ+uDBgM2pz2Cc/lCR6hwJFaeIfE/NK/fJLj8zmnT61T76sAWMDgvfDcRsZf/8ffxPHlIT/wrX/IS189Q+Usj2zMM8DTk5IOFoPhnMmJgM1DFPmkNnzpakyymfCJn/sg3XbJh2/v8/wbKzgiardMiSen5rTPiCvDU2/AfARzU9akgIm64OGxf0UbI4rmPYpRYVUzvILTmTEwY8aMv1jcvAJhHOHFY2PHa70V4rGjXi5ZTpRWt+bhVsWwNjx7dYEsdty3VLC2MReEahIlkuk+4P/S7uLi+b1xQTq23ONSBDi9NOZH/vJTVLXlyoUVyiLmqy/cye9eaTNvlYciC28yz8AHkpiRVzYqz6d3LOlOl9t9Qiv2vPuhdX7g+z5DXVt2XjrBaNDiS599B89cbhOtLXLvuWNEkeeb9xzvW04PkbhiYWGbLz17F7Eb4e94lXc+9ipr2210504qp4yl4gE3hyAMxJAI3HmI6+cDmWX1WI+yinjq0hJlz1Mfy3nH6QFiPN+0tMO4iHjl3CpGBe/hUh5ROGEw5Wtlwo0aD1kVuqR4VQZS4VAQ2MRjEOamHvSaMWPGjFvLTRsDqQhWDK3YsYYh9kLbVKCKCMynnjRS2hgSL6ykY7YlZGGnJrxnmrSwtLDE1CFZDsVJKB0bOcPp4z1Ehfa4RZEnrCWepweGyhsqQhneNMlzS5Y5Jr2T/rwflwnExjAAhnhyhGMq4AzqDbffvY4o7IwjRv02f5x4hrXBIozy+MB8s0hJIuXUyoBFKyQuZT6CKHLMd/NQWy8wEtcUaUKkBgt0D1m8ExVWMkcRK4kIkTdkCLFVosizOldQpTWbjVOhChvxENa5BbbAXv2A/ZUDIMQYPCBaQzN31yRt3sijMGPGjBlvVm7aGChrIUsc0hnwbL+gg+FBb3Eezg4ttWuTxJ7Hb+9hooq777zE3fdadvoZX/7qPVOvJpjs1fKmK16FZ83kpGqZN46NtUUiDC++cBetO7b59p/5ZbIf/05KFWIgm/Lz/Zsf/2s88f5L/JN/9ukjOd7SfIHzQh0bnhsFOeblyJFg2OxHFMMEX1te+PKDJCcHfNs//SX0v/0+JKo5dXyLdN98iyIiiioGtuL37Q6LseM9Dr7yR2conXDGGKJWxd9+2xXOvZyRacSotAw8/MHg4MkzkSdNC4Y1PJ9s0vIR94wzLm6kdFsVS0sJUVTzDU88z8lH3qAaJ7z09BlG45iXXzl9JOfoa1FQNyWC2hRVsptQ2CXi3jqjwNOLSqKmidWN5IpnzJgx482O6G6f3xkzZsyYMWPGW5GZv3PGjBkzZsx4izMzBmbMmDFjxoy3ODNjYMaMGTNmzHiLMzMGZsyYMWPGjLc4M2NgxowZM2bMeIszMwZmzJgxY8aMtzgzY2DGjBkzZsx4izMzBmbMmDFjxoy3ODNjYMaMGTNmzHiL8/8DgF4mxVzUY3QAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGLCAYAAABa0JF/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wddb34/9f0mdN392zNbpJNr6RQAgHS6E1BUNGLCnaxYS9XBLF9xXL1YkHlYgULiBQVUCDUUBPSe0822/f0c6Z/fn9EQ3Y3QPTr/fq7N/N8PPYBmTPnPZ8zM2fOez5tJCGEIBKJRCKRyDFL/lcXIBKJRCKRyL9WlAxEIpFIJHKMi5KBSCQSiUSOcVEyEIlEIpHIMS5KBiKRSCQSOcZFyUAkEolEIse4KBmIRCKRSOQYFyUDkUgkEokc46JkIBKJRCKRY1yUDET+Lj/96U+RJOll/x599NG/O+aKFSu4/vrryefz//Ty7t69G0mS+MY3vvGq615//fVIkvRPL8NIkiRx/fXX/7dv53BXXnkl48ePH7Zs/PjxXHnllf9t23Rdl/e+9720traiKApz5879b9vWseymm25i2rRpGIZBZ2cnX/jCF/A8719drMj/MOq/ugCR/5l+8pOfMG3atFHLZ8yY8XfHWrFiBV/4whe48soryWQy/4TS/WPe+c53cu655/7Ltv+/zQ9+8AN++MMfctNNN3H88ceTSCT+1UX6X+fLX/4y1157LZ/+9Kc5++yzef755/nc5z5HV1cXP/rRj/7VxYv8DxIlA5F/yKxZszjhhBP+1cV4RdVq9e9av729nfb29v+m0hx71q9fj2VZfOADH3jF9YQQ2LaNZVn/j0r2v8Pg4CBf+tKXeNe73sVXvvIVAJYsWYLneXzuc5/jmmuu+YeS88ixKWomiPy3kSSJD3zgA/ziF79g+vTpxGIx5syZwx/+8IdD61x//fV84hOfAKCzs3NUc0MYhtx4442HqkGbmpp461vfyv79+4dta8mSJcyaNYvHH3+chQsXEovFePvb3z5snW9961t0dnaSSCQ45ZRTeOaZZ4a9fqRmgvHjx3PhhRfywAMPMH/+fCzLYtq0adx6663D1uvv7+fqq69mxowZJBIJmpqaWLZsGU888cQ/vP8cx+GGG25g+vTpmKZJQ0MDS5cuZcWKFYfWEULw/e9/n7lz52JZFnV1dVx22WXs3Lnz795eGIZ86UtfYurUqViWRSaT4bjjjuM73/nO3x1LkiRuueUWarXaoWP605/+9NBrH/jAB7j55puZPn06hmHws5/9DIBt27bx5je/maamJgzDYPr06Xzve98bFX/z5s2ce+65xGIxstks733ve7nvvvtGNVW9XFPIkiVLWLJkybBlxWKRj3/843R2dqLrOmPGjOGaa66hUqmM+myvdl4fXs43velNNDc3YxgGY8eO5a1vfSuO47B7925UVeWrX/3qqPc9/vjjSJLEHXfc8bL7+IEHHsC2ba666qphy6+66iqEENx9990v+95IZKSoZiDyDwmCAN/3hy2TJAlFUYYt++Mf/8jzzz/PDTfcQCKR4MYbb+SSSy5hy5YtTJgwgXe+850MDQ1x0003cdddd9Ha2gq81Nzwvve9jx/96Ed84AMf4MILL2T37t1ce+21PProo6xatYpsNntoW93d3VxxxRV88pOf5Ctf+Qqy/FKu+73vfY9p06bx7W9/G4Brr72W888/n127dpFOp1/xs65Zs4aPfexjfPrTn6a5uZlbbrmFd7zjHUyaNIlFixYBMDQ0BMB1111HS0sL5XKZ3//+9yxZsoSHH3541A/Pq/F9n/POO48nnniCa665hmXLluH7Ps888wx79+5l4cKFALznPe/hpz/9KR/60If42te+xtDQEDfccAMLFy5kzZo1NDc3H/U2b7zxRq6//no+97nPsWjRIjzPY/Pmzf9QX46nn36aL37xiyxfvpxHHnkEgIkTJx56/e677+aJJ57g85//PC0tLTQ1NbFx40YWLlzI2LFj+eY3v0lLSwsPPvggH/rQhxgYGOC6664DoLe3l8WLF6NpGt///vdpbm7mtttue9UaiFdSrVZZvHgx+/fv57Of/SzHHXccGzZs4POf/zzr1q3joYceGpYovtp5DQfPm9NOO41sNssNN9zA5MmT6e7u5t5778V1XcaPH89rXvMabr75Zj75yU8O++5897vfpa2tjUsuueRly7x+/XoAZs+ePWx5a2sr2Wz20OuRyFERkcjf4Sc/+YkAjvinKMqwdQHR3NwsisXioWU9PT1ClmXx1a9+9dCyr3/96wIQu3btGvb+TZs2CUBcffXVw5Y/++yzAhCf/exnDy1bvHixAMTDDz88bN1du3YJQMyePVv4vn9o+XPPPScA8atf/erQsuuuu06M/EqMGzdOmKYp9uzZc2hZrVYT9fX14j3vec/L7iff94XneeKMM84Ql1xyyaj9ct11173se4UQ4uc//7kAxI9//OOXXefpp58WgPjmN785bPm+ffuEZVnik5/85KFlb3vb28S4ceNGfba3ve1th/594YUXirlz575iuf4eb3vb20Q8Hh+1HBDpdFoMDQ0NW37OOeeI9vZ2USgUhi3/wAc+IEzTPLT+pz71KSFJkli9evWw9c466ywBiOXLlx9aNvIz/s3ixYvF4sWLD/37q1/9qpBlWTz//PPD1rvzzjsFIP70pz8NK//RnNfLli0TmUxG9PX1jdr+3yxfvlwA4ve///2hZV1dXUJVVfGFL3zhZd8nhBDvete7hGEYR3xtypQp4uyzz37F90cih4uaCSL/kJ///Oc8//zzw/6effbZUestXbqUZDJ56N/Nzc00NTWxZ8+eV93G8uXLAUZV85500klMnz6dhx9+eNjyuro6li1bdsRYF1xwwbA7r+OOOw7gqMoxd+5cxo4de+jfpmkyZcqUUe+9+eabmT9/PqZpoqoqmqbx8MMPs2nTplfdxkj3338/pmmOauo43B/+8AckSeKKK67A9/1Dfy0tLcyZM+fvHtlx0kknsWbNGq6++moefPBBisXi313uo7Vs2TLq6uoO/du2bR5++GEuueQSYrHYsM9z/vnnY9v2oWad5cuXM3PmTObMmTMs5pvf/OZ/uDx/+MMfmDVrFnPnzh227XPOOeeIo2Re7byuVqs89thjvOENb6CxsfFlt7tkyRLmzJkzrCnk5ptvRpIk3v3ud79quV9p9Mv/i5Exkf89omaCyD9k+vTpR9WBsKGhYdQywzCo1Wqv+t7BwUGAQ00Hh2traxv1Y3yk9V6uHIZhABxVOY7mM3zrW9/iYx/7GO9973v54he/SDabRVEUrr322n8oGejv76etrW1YU8dIvb29CCFetingb9XVR+szn/kM8XicX/7yl9x8880oisKiRYv42te+9k/vLDryWA0ODuL7PjfddBM33XTTEd8zMDBwaN3Ozs5Rr7e0tPzD5ent7WX79u1omvaK2/6bVzsncrkcQRAcVYfUD33oQ7zzne881MTw4x//mMsuu+xVP09DQwO2bVOtVonFYsNeGxoa4vjjj3/VbUcifxMlA5H/3/rbBbe7u3vURfXA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xisDnqfECSecwKmnnvp0V+MJabVaB3X8qlWrWLVq1a+pNoced911F6VSiUsvvfQJj3PO0el0KJVK/0E1++3hnnvuQcrCwHvCCSc8zbXx/Cbj3QSeXxtCCC699FL+4R/+gfXr11Mulzn55JP56le/On/MFVdcwV/91V8BzJs693U3WGu55pprOPbYY4miiPHxcV71qlexbdu2Bdc666yzOOGEE/je977H6aefTrlc5s///M8XHHPttdeybt06qtUqv/u7v8sPfvCDBd8v5SZYu3Yt5557Lv/2b//GM57xDEqlEsceeyyf+MQnFhy3Z88eLrnkEo477jiq1Srj4+Occ8453HrrrU/5/iVJwpVXXsn69euJ45iRkRHOPvtsbrvttvljnHN85CMf4ZRTTqFUKjE0NMT555/Pww8/fNDXs9by/ve/n2OOOYZSqcTg4CAnnXQS11133UHLEkJw00030W6355/pJz/5yfnvLr30Um688UbWr19PFEV86lOfAuCBBx7gFa94BePj40RRxPr167nhhht65N9333288IUvpFwuMzo6ysUXX8xXvvKVHlfV/lwhZ511Vo9JvVar8da3vpV169YRhiErV67ksssuo9ls9rTtyfr1vvV8+ctfzsTEBFEUsXr1al71qleRJAmbN29Ga83VV1/dc973vvc9hBB87nOfe8L7vFcR8Hj+vXjLgOcpYYwhz/MFZUIIlFILyr72ta9xxx13cOWVV1KtVrnmmms477zz2LRpE4cffjivfe1rmZ6e5vrrr+df/uVfWL58OfC4u+H1r389f/d3f8ell17Kueeey+bNm3nPe97Dd77zHX76058yOjo6f60dO3ZwwQUX8La3vY2//uu/XjBQ3nDDDRx77LF8+MMfBuA973kPL37xi3nkkUcYGBh4wrbeeeedvOUtb+Ed73gHExMT3HTTTbzmNa/hyCOP5MwzzwRgenoagMsvv5xly5bRaDT44he/yFlnncUtt9xy0L7cPM950YtexK233spll13GOeecQ57n/OAHP2Dr1q2cfvrpALzuda/jk5/8JG984xv5wAc+wPT0NFdeeSWnn346d955JxMTEwd8zWuuuYYrrriCd7/73Zx55plkWcZ99933lGI5br/9dq666io2btzIt7/9bQCOOOKI+e+/9KUvceutt/Le976XZcuWMT4+zj333MPp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3HXXXZRKJS699NInPM45R6fToVQq/QfV7LeDl73sZbzhDW9YYM160YtexOTkJB/4wAd4+9vfThRFT2MNPb9JeDeB59eGEIJLL72Uf/iHf2D9+vWUy2VOPvlkvvrVr84fc8UVV/BXf/VXAKxbt67H3WCt5ZprruHYY48liiLGx8d51atexbZt2xZc66yzzuKEE07ge9/7Hqeffjrlcpk///M/X3DMtddey7p166hWq/zu7/4uP/jBDxZ8v5SbYO3atZx77rn827/9G894xjMolUoce+yxfOITn1hw3J49e7jkkks47rjjqFarjI+Pc84553Drrbc+5fuXJAlXXnkl69evJ45jRkZGOPvss7ntttvmj3HO8ZGPfIRTTjmFUqnE0NAQ559/Pg8//PBBX89ay/vf/36OOeYYSqUSg4ODnHTSSVx33XUHLUsIwU033US73Z5/pp/85Cfnv7v00ku58cYbWb9+PVEU8alPfQqABx54gFe84hWMj48TRRHr16/nhhtu6JF/33338cIXvpByuczo6CgXX3wxX/nKV3pcVftzhZx11lmcddZZC8pqtRpvfetbWbduHWEYsnLlSi677DKazWZP256sX+9bz5e//OVMTEwQRRGrV6/mVa96FUmSsHnzZrTWXH311T3nfe9730MIwec+97n93uPR0dEl3VqnnXYarVaL6enp/Z7r8SzGWwY8TwljDHmeLygTQqCUWlD2ta99jTvuuIMrr7ySarXKNddcw3nnncemTZs4/PDDee1rX8v09DTXX389//Iv/8Ly5cuBx90Nr3/96/m7v/s7Lr30Us4991w2b97Me97zHr7zne/w05/+lNHR0flr7dixgwsuuIC3ve1t/PVf/zVSPq7r3nDDDRx77LF8+MMfBuA973kPL37xi3nkkUcYGBh4wrbeeeedvOUtb+Ed73gHExMT3HTTTbzmNa/hyCOP5MwzzwSYH3gvv/xyli1bRqPR4Itf/CJnnXUWt9xyS8/E82Tkec6LXvQibr31Vi677DLOOecc8jznBz/4AVu3buX0008H4HWvex2f/OQneeMb38gHPvABpqenufLKKzn99NO58847mZiYOOBrXnPNNVxxxRW8+93v5swzzyTLMu67776nFMtx++23c9VVV7Fx40a+/e1vA3DEEUfMf/+lL32JW2+9lfe+970sW7aM8fFx7rnnHk4//XRWr17Nhz70IZYtW8Y3vvEN3vjGNzI5Ocnll18OwK5du9iwYQNBEPCRj3yEiYkJPvvZzz6pBeKJaLVabNiwgW3btvGud72Lk046ibvvvpv3vve9/PKXv+Rb3/rWgon3yfo1FP3mjDPOYHR0lCuvvJKjjjqKHTt28OUvf5k0TVm7di1/+Id/yI033sjb3va2Be/O3/7t37JixQrOO++8g27Lxo0bGRsbY3x8/CnfD88hiPN4DoKbb77ZAUt+lFILjgXcxMSEq9Vq82U7d+50Ukp39dVXz5d98IMfdIB75JFHFpx/7733OsBdcsklC8p/+MMfOsC9613vmi/bsGGDA9wtt9yy4NhHHnnEAe7EE090eZ7Pl//oRz9ygPunf/qn+bLLL7/cLX4l1qxZ4+I4dlu2bJkva7fbbnh42L3uda/b733K89xlWeae97znufPOO6/nvlx++eX7Pdc55z796U87wH384x/f7zG33367A9yHPvShBeWPPvqoK5VK7m1ve9t82YUXXujWrFnT07YLL7xw/u9zzz3XnXLKKU9Yr4PhwgsvdJVKpacccAMDA256enpB+Qte8AK3atUqNzc3t6D80ksvdXEczx//9re/3Qkh3M9//vMFxz3/+c93gNu4ceN82eI27mXDhg1uw4YN839fffXVTkrp7rjjjgXHff7zn3eA+/rXv76g/gfSr8855xw3ODjodu/e3XP9vWzcuNEB7otf/OJ82fbt253W2r3vfe/b73n74+Mf/7gD3HXXXXfQ53oObbybwPOU+PSnP80dd9yx4PPDH/6w57izzz6bvr6++b8nJiYYHx9ny5YtT3qNjRs3AvSYeU877TTWr1/PLbfcsqB8aGiIc845Z0lZL3nJSxasvE466SSAA6rHKaecwurVq+f/juOYo48+uufcG2+8kWc84xnEcYzWmiAIuOWWW7j33nuf9BqL+dd//VfiOO5xdezLV7/6VYQQXHDBBeR5Pv9ZtmwZJ5988kFndpx22mnceeedXHLJJXzjG9+gVqsddL0PlHPOOYehoaH5vzudDrfccgvnnXce5XJ5QXte/OIX0+l05t06Gzdu5Pjjj+fkk09eIPMVr3jFU67PV7/6VU444QROOeWUBdd+wQtesGSWzJP161arxXe/+13+9E//lLGxsf1e96yzzuLkk09e4Aq58cYbEUJw0UUX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P3DgwJYieBrPfOYzfRzHW/f/0i/9khdC+M985jPb7vuBH/iBb1kZeOlLX+qllP7jH//4tvv++q//2gP+bW9727by35N+fe211/qZmZktJWg33HDDDR7wf/d3f7d17fjx415r7X/zN3/zaz53Jv7iL/5i2zj86Z/+6XukREwxxZmYugmm+Jbw+te/no9//OPbfj760Y9O3HfNNdfQarW2fl9eXmZpaYnbb7/9G77jhhtuAJgw8z7gAQ/gwgsv5N3vfve267Ozs1x77bW7ynrkIx+JUmrr98suuwzgHpXjiiuu4NChQ1u/x3HMfe9734lnX/Oa13DllVcSxzFaa4Ig4N3vfjc33XTTN3zHTrz97W8njuMJV8eZeOtb34oQgic84QkYY7Z+9uzZw+WXX/5NR3Y84AEP4LOf/SxPf/rTeec730mv1/umy31Pce211zI7O7v1e57nvPvd7+ZRj3oUaZpu+54f+qEfIs/zLbfODTfcwMUXX8zll1++TebjH//4b7k8b33rW7nkkku44oortr37YQ972K5RMt+oX49GI973vvfxmMc8ZstsvxuuvvpqLr/88m2ukNe85jUIIXjqU596j8r+sIc9jI9//OO85z3v4b//9//O3/zN3/BjP/ZjOOe+iRqY4t6OqVNpim8JF1544T0iEM7Pz09ci6KILMu+4bNra2sA7N27d+Jv+/btm1iMd7vva5UjiiKAe1SOe/INr3jFK3je857H0572NF784hezsLCAUopf//Vf/5aUgZWVFfbt24eUX1tfP3nyJN57lpeXd/37N0se+5Vf+RUajQZveMMbeM1rXoNSioc85CH81m/91r86WXRnW62trWGM4frrr+f666/f9ZnV1dWte88+++yJv+/Zs+dbLs/Jkye55ZZbCILg6777NL5Rn9jY2MBae48Iqf/lv/wXfvZnf5abb76Zc845hz/6oz/ix3/8x+/x98zOzm61zzXXXMO5557LYx/7WN7ylrfwqEc96h7JmGKKqTIwxb9bnJ5w77rrrolJ9c4772RhYWHbtW9HjoCvhTe84Q1cffXV/MEf/MG26/1+/1uSt7i4yL/8y7/gnPuaCsHCwgJCCD7wgQ9sKTdnYrdrXw9aa5773Ofy3Oc+l83NTd71rnfxq7/6qzzsYQ/j6NGjpGn6LX3LbtjZVrOzsyil+Kmf+ime8Yxn7PrMaQVgfn6eEydOTPx9t2txHFMUxcT11dXVbf1nYWGBJEkmiKFn/v2bwdzcHEqpCaLrbnj84x/PL/3SL/GqV72K7/7u7+bEiRNfsw7uCR7wgAcA8OUvf/lbljHFvQ9TN8EU33F8rV36aZP/G97whm3XP/7xj3PTTTfx0Ic+9NtTwHsAIcTE4vu5z32OD3/4w9+SvEc84hHkeb7FwN8N1113Hd57jh8/zv3vf/+Jn0svvfRbejfUYWs//uM/zjOe8QzW19c5cuTItyzrniBNU6655ho+/elPc9lll+36PaeVw2uuuYYvfOELfPazn90m441vfOOE3MOHD/O5z31u27Uvf/nL3HzzzduuXXfddXz1q19lfn5+13fvTNj0jZAkCVdddRVvetObJqwKOxHHMU996lP50z/9U17xildwxRVX8OAHP/ibet+ZOO1eO++8875lGVPc+zC1DEzxLeHGG2/EGDNx/dxzz/26PtLdcHrReuUrX8mTnvQkgiDg/PPP5/zzz+epT30q119/PVJKHvGIR3DkyBF+/dd/nYMHD/Kc5zznX+Vb/jVw3XXX8eIXv5gXvOAFXHXVVdx888286EUv4uyzz961nr4RHve4x/G6172Opz3tadx8881cc801OOf46Ec/yoUXXshjH/tYHvzgB/PUpz6Vn/7pn+YTn/gED3nIQ2g0Gtx11138y7/8C5deeim/8Au/cI/f+cM//MNb+SMWFxe5/fbb+d3f/V3OOuss7nOf+2zdJ4Tgqquu+payTX49vPKVr+R7v/d7+b7v+z5+4Rd+gcOHD9Pv97nlllv4h3/4B97znvcA8OxnP5vXvva1PPKRj+QlL3kJy8vL/Pmf/zlf+tKXJmT+1E/9FE94whN4+tOfzo/92I9x++2387KXvWyijz772c/mb/7mb3jIQx7Cc57zHC677DKcc9xxxx380z/9E8973vN44AMf+E19zyte8Qq+93u/lwc+8IH88i//Mueddx4nT57k7//+7/nDP/zDbZyDpz/96bzsZS/jk5/8JH/8x398j+T/4R/+IR/4wAf4wR/8QQ4ePMhwOOQDH/gA119/PQ960IP40R/90W+qvFPcy/GdZjBO8R8LXy+agB3sd8A/4xnPmJCxG8P7V37lV/y+ffu8lHIbI9xa63/rt37L3/e+9/VBEPiFhQX/hCc8wR89enTb81dddZW/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot.plot_cells(p[env_to_plot], g[env_to_plot], environments[env_to_plot], n_f_ovc=(params['n_f_ovc'] if 'n_f_ovc' in params else 0), columns = 25)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Plot single cell\n", + "Plot hippocampal or entorhinal cells at a specific frequency module." + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cells = g[env_to_plot]\n", + "# Get specific row and column\n", + "n_cell = 0\n", + "row = 0\n", + "col = 0\n", + "# Plot rate map for this cell by collection firing rate at each location\n", + "loc_rates = cells[n_cell]\n", + "plot.plot_map(environment, np.array([loc_rates[l][col] for l in range(len(loc_rates))]), shape='square')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Example Trajectory\n", + "Below are examples of the discrete random walks taken by TEM in a simple square environment. The left plot shows the trajectory of a single agent and the right shows the combined trajectories of 4 agents in a batch.\n", + "\n", + "
\n", + " \n", + " \n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. References\n", + "[1] J. C. Whittington, T. H. Muller, S. Mark, G. Chen, C. Barry, N. Burgess, and T. E. Behrens, “The tolman-eichenbaum machine: Unifying space and relational memory through generalization in the hippocampal forma-tion,” Cell, vol. 183, pp. 1249–1263.e23, Nov. 2020.\n", + "\n", + "[2] . Krupic, N. Burgess, and J. O’Keefe, “Neural representations of location composed of spatially periodic bands,\" Science, vol. 337, pp. 853–857, Aug. 2012.\n", + "\n", + "[3] E. C. Tolman, “Cognitive maps in rats and men.,” Psychological Review, vol. 55, no. 4, pp. 189–208, 1948.\n", + "\n", + "[4] S. S. Deshmukh and J. J. Knierim, “Representation of non-spatial and spatial information in the lateral entorhinal cortex,” Frontiers in Behavioral Neuroscience, vol. 5, 2011.\n", + "\n", + "[5] F. Savelli, D. Yoganarasimha, and J. J. Knierim, “Influence of boundary removal on the spatial representations\n", + "of the medial entorhinal cortex,” Hippocampus, vol. 18, pp. 1270–1282, Dec. 2008.\n", + "\n", + "[6] M. L. Shapiro, H. Tanila, and H. Eichenbaum, “Cues that hippocampal place cells encode: Dynamic and hierarchical representation of local and distal stimuli,” Hippocampus, vol. 7, no. 6, pp. 624–642, 1997." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.9 ('TorchTEM')", + "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.10.9" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "aae7794e8b9129601af2b947d7e70a79cdb1d800d39e72db0e99f5fc7aff18fc" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/agent_examples/whittington_2020_plot.py b/examples/agent_examples/whittington_2020_plot.py new file mode 100644 index 00000000..f80251bb --- /dev/null +++ b/examples/agent_examples/whittington_2020_plot.py @@ -0,0 +1,186 @@ +# Standard Imports +import importlib.util +import pickle + +import matplotlib.pyplot as plt +import numpy as np +import torch + +import neuralplayground.agents.whittington_2020_extras.whittington_2020_analyse as analyse +from neuralplayground.agents.whittington_2020 import Whittington2020 +from neuralplayground.arenas.batch_environment import BatchEnvironment + +# NeuralPlayground Imports +from neuralplayground.arenas.discritized_objects import DiscreteObjectEnvironment + +# NeuralPlayground Experiment Imports +from neuralplayground.experiments import Sargolini2006Data + +# Select trained model +date = "2023-05-17" +run = "0" +index = "19999" +base_path = "/nfs/nhome/live/lhollingsworth/Documents/NeuralPlayground/NPG/EHC_model_comparison" +npg_path = "/nfs/nhome/live/lhollingsworth/Documents/NeuralPlayground/NPG/EHC_model_comparison/examples" +base_win_path = "H:/Documents/PhD/NeuralPlayground" +win_path = "H:/Documents/PhD/NeuralPlayground/NPG/NeuralPlayground/examples" +# Load the model: use import library to import module from specified path +model_spec = importlib.util.spec_from_file_location( + "model", win_path + "/Summaries/" + date + "/torch_run" + run + "/script/whittington_2020_model.py" +) +model = importlib.util.module_from_spec(model_spec) +model_spec.loader.exec_module(model) + +# Load the parameters of the model +params = torch.load(win_path + "/Summaries/" + date + "/torch_run" + run + "/model/params_" + index + ".pt") +# Create a new tem model with the loaded parameters +tem = model.Model(params) +# Load the model weights after training +model_weights = torch.load(win_path + "/Summaries/" + date + "/torch_run" + run + "/model/tem_" + index + ".pt") +# Set the model weights to the loaded trained model weights +tem.load_state_dict(model_weights) +# Make sure model is in evaluate mode (not crucial because it doesn't currently use dropout or batchnorm layers) +tem.eval() + +# Initialise environment parameters +batch_size = 16 +arena_x_limits = [ + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], +] +arena_y_limits = [ + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], +] +# arena_x_limits = [[-20,20], [-20,20], [-15,15], [-10,10], [-20,20], [-20,20], [-15,15], [-10,10], +# [-20,20], [-20,20], [-15,15], [-10,10], [-20,20], [-20,20], [-15,15], [-10,10]] +# arena_y_limits = [[-4,4], [-2,2], [-2,2], [-1,1], [-4,4], [-2,2], [-2,2], [-1,1], +# [-4,4], [-2,2], [-2,2], [-1,1], [-4,4], [-2,2], [-2,2], [-1,1]] +env_name = "env_example" +mod_name = "SimpleTEM" +time_step_size = 1 +state_density = 1 +agent_step_size = 1 / state_density +n_objects = 45 + +# Init simple 2D environment with discrtised objects +env_class = DiscreteObjectEnvironment +env = BatchEnvironment( + environment_name=env_name, + env_class=DiscreteObjectEnvironment, + batch_size=batch_size, + arena_x_limits=arena_x_limits, + arena_y_limits=arena_y_limits, + state_density=state_density, + n_objects=n_objects, + agent_step_size=agent_step_size, + use_behavioural_data=False, + data_path=None, + experiment_class=Sargolini2006Data, +) + +# Init TEM agent +agent = Whittington2020( + model_name=mod_name, + params=params, + batch_size=batch_size, + room_widths=env.room_widths, + room_depths=env.room_depths, + state_densities=env.state_densities, + use_behavioural_data=False, +) + +# # Run around environment +# observation, state = env.reset(random_state=True, custom_state=None) +# while agent.n_walk < 5000: +# if agent.n_walk % 100 == 0: +# print(agent.n_walk) +# action = agent.batch_act(observation) +# observation, state = env.step(action, normalize_step=True) +# model_input, history, environments = agent.collect_final_trajectory() +# environments = [env.collect_environment_info(model_input, history, environments)] + +# # Save environments and model_input using pickle +# with open('NPG_environments.pkl', 'wb') as f: +# pickle.dump(environments, f) +# with open('NPG_model_input.pkl', 'wb') as f: +# pickle.dump(model_input, f) + +# Load environments and model_input using pickle +with open("NPG_environments.pkl", "rb") as f: + environments = pickle.load(f) +with open("NPG_model_input.pkl", "rb") as f: + model_input = pickle.load(f) + +with torch.no_grad(): + forward = tem(model_input, prev_iter=None) +include_stay_still = False +shiny_envs = [False, False, False, False] +env_to_plot = 0 +envs_to_avg = shiny_envs if shiny_envs[env_to_plot] else [not shiny_env for shiny_env in shiny_envs] + +correct_model, correct_node, correct_edge = analyse.compare_to_agents( + forward, tem, environments, include_stay_still=include_stay_still +) +zero_shot = analyse.zero_shot(forward, tem, environments, include_stay_still=include_stay_still) +occupation = analyse.location_occupation(forward, tem, environments) +g, p = analyse.rate_map(forward, tem, environments) +from_acc, to_acc = analyse.location_accuracy(forward, tem, environments) + +# Plot rate maps for grid or place cells +agent.plot_rate_map(g) + +# Plot results of agent comparison and zero-shot inference analysis +filt_size = 41 +plt.figure() +plt.plot( + analyse.smooth( + np.mean(np.array([env for env_i, env in enumerate(correct_model) if envs_to_avg[env_i]]), 0)[1:], filt_size + ), + label="tem", +) +plt.plot( + analyse.smooth(np.mean(np.array([env for env_i, env in enumerate(correct_node) if envs_to_avg[env_i]]), 0)[1:], filt_size), + label="node", +) +plt.plot( + analyse.smooth(np.mean(np.array([env for env_i, env in enumerate(correct_edge) if envs_to_avg[env_i]]), 0)[1:], filt_size), + label="edge", +) +plt.ylim(0, 1) +plt.legend() +plt.title( + "Zero-shot inference: " + + str(np.mean([np.mean(env) for env_i, env in enumerate(zero_shot) if envs_to_avg[env_i]]) * 100) + + "%" +) + +# plt.show() diff --git a/examples/agent_examples/whittington_2020_run.py b/examples/agent_examples/whittington_2020_run.py new file mode 100644 index 00000000..a0a30611 --- /dev/null +++ b/examples/agent_examples/whittington_2020_run.py @@ -0,0 +1,124 @@ +""" +Run file for the Tolman-Eichenbaum Machine (TEM) model from Whittington et al. 2020. An example setup is provided, with +TEM learning to predict upcoming sensory stimulus in a range of 16 square environments of varying sizes. +""" + +# Standard Imports + +import matplotlib.pyplot as plt + +# NeuralPlayground Agent Imports +import neuralplayground.agents.whittington_2020_extras.whittington_2020_parameters as parameters +from neuralplayground.agents.whittington_2020 import Whittington2020 +from neuralplayground.arenas.batch_environment import BatchEnvironment + +# NeuralPlayground Arena Imports +from neuralplayground.arenas.discritized_objects import DiscreteObjectEnvironment + +# NeuralPlayground Experiment Imports +from neuralplayground.experiments import Sargolini2006Data + +# Initialise TEM Parameters +pars_orig = parameters.parameters() +params = pars_orig.copy() + +# Initialise environment parameters +batch_size = 16 +arena_x_limits = [ + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], +] +arena_y_limits = [ + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], + [-4, 4], + [-5, 5], + [-6, 6], + [-5, 5], +] +# arena_x_limits = [[-20,20], [-20,20], [-15,15], [-10,10], [-20,20], [-20,20], [-15,15], [-10,10], +# [-20,20], [-20,20], [-15,15], [-10,10], [-20,20], [-20,20], [-15,15], [-10,10]] +# arena_y_limits = [[-4,4], [-2,2], [-2,2], [-1,1], [-4,4], [-2,2], [-2,2], [-1,1], +# [-4,4], [-2,2], [-2,2], [-1,1], [-4,4], [-2,2], [-2,2], [-1,1]] +env_name = "Sargolini2006" +mod_name = "SimpleTEM" +time_step_size = 1 +state_density = 1 +agent_step_size = 1 / state_density +n_objects = 45 + +# # Init environment from Hafting 2008 (optional, if chosen, comment out the ) +# env = Hafting2008(agent_step_size=agent_step_size, +# time_step_size=time_step_size, +# use_behavioral_data=False) + +# # Init simple 2D (batched) environment with discrtised objects +# env_class = DiscreteObjectEnvironment + +# Init environment from Sargolini, with behavioural data instead of random walk +env = BatchEnvironment( + environment_name=env_name, + env_class=DiscreteObjectEnvironment, + batch_size=batch_size, + arena_x_limits=arena_x_limits, + arena_y_limits=arena_y_limits, + state_density=state_density, + n_objects=n_objects, + agent_step_size=agent_step_size, + use_behavioural_data=False, + data_path=None, + experiment_class=Sargolini2006Data, +) + +# Init TEM agent +agent = Whittington2020( + model_name=mod_name, + params=params, + batch_size=batch_size, + room_widths=env.room_widths, + room_depths=env.room_depths, + state_densities=env.state_densities, + use_behavioural_data=False, +) + +# Reset environment and begin training (random_state=True is currently necessary) +observation, state = env.reset(random_state=True, custom_state=None) +for i in range(3): + print("Iteration: ", i) + while agent.n_walk < params["n_rollout"]: + actions = agent.batch_act(observation) + observation, state = env.step(actions, normalize_step=True) + agent.update() + +# Plot most recent trajectory of the first environment in batch +ax = env.plot_trajectory() +fontsize = 18 +ax.grid() +ax.set_xlabel("width", fontsize=fontsize) +ax.set_ylabel("depth", fontsize=fontsize) +plt.savefig("trajectory.png") +plt.show() diff --git a/neuralplayground/agents/whittington_2020.py b/neuralplayground/agents/whittington_2020.py new file mode 100644 index 00000000..a9faf84d --- /dev/null +++ b/neuralplayground/agents/whittington_2020.py @@ -0,0 +1,525 @@ +import copy +import os +import shutil +import sys +import time + +import matplotlib.pyplot as plt +import numpy as np +import torch +from torch.utils.tensorboard import SummaryWriter + +import neuralplayground.agents.whittington_2020_extras.whittington_2020_model as model +import neuralplayground.agents.whittington_2020_extras.whittington_2020_parameters as parameters + +# Custom modules +import neuralplayground.agents.whittington_2020_extras.whittington_2020_utils as utils +from neuralplayground.plotting.plot_utils import make_plot_rate_map + +from .agent_core import AgentCore + +sys.path.append("../") + + +class Whittington2020(AgentCore): + """ + Implementation of TEM 2020 by James C.R. Whittington, Timothy H. Muller, Shirley Mark, Guifen Chen, Caswell Barry, + Neil Burgess, Timothy E.J. Behrens. The Tolman-Eichenbaum Machine: Unifying Space and Relational Memory through + Generalization in the Hippocampal Formation https://doi.org/10.1016/j.cell.2020.10.024. + ---- + Attributes + --------- + mod_kwargs : dict + Model parameters + params: dict + contains the majority of parameters used by the model and environment + room_width: float + room width specified by the environment (see examples/examples/whittington_2020_example.ipynb) + room_depth: float + room depth specified by the environment (see examples/examples/whittington_2020_example.ipynb) + state_density: float + density of agent states (should be proportional to the step-size) + tem: class + TEM model + + Methods + --------- + reset(self): + initialise model and associated variables for training + def initialise(self): + generate random distribution of objects and intialise optimiser, logger and relevant variables + act(self, positions, policy_func): + generates batch of random actions to be passed into the environment. If the returned positions are allowed, + they are saved along with corresponding actions + update(self): + Perform forward pass of model and calculate losses and accuracies + action_policy(self): + random action policy that picks from [up, down, left right] + discretise(self, step): + convert (x,y) position into discrete location + walk(self, positions): + convert continuous positions into sequence of discrete locations + make_observations(self, locations): + observe what randomly distributed object is located at each position of a walk + step_to_actions(self, actions): + convert (x,y) action information into an integer value + """ + + def __init__(self, model_name: str = "TEM", **mod_kwargs): + """ + Parameters + ---------- + model_name : str + Name of the specific instantiation of the ExcInhPlasticity class + mod_kwargs : dict + params: dict + contains the majority of parameters used by the model and environment + room_width: float + room width specified by the environment (see examples/examples/whittington_2020_example.ipynb) + room_depth: float + room depth specified by the environment (see examples/examples/whittington_2020_example.ipynb) + state_density: float + density of agent states (should be proportional to the step-size) + """ + super().__init__() + params = mod_kwargs["params"] + self.room_widths = mod_kwargs["room_widths"] + self.room_depths = mod_kwargs["room_depths"] + self.state_densities = mod_kwargs["state_densities"] + self.pars = copy.deepcopy(params) + self.tem = model.Model(self.pars) + self.batch_size = mod_kwargs["batch_size"] + self.use_behavioural_data = mod_kwargs["use_behavioural_data"] + self.n_envs_save = 4 + self.n_states = [ + int(self.room_widths[i] * self.room_depths[i] * self.state_densities[i]) for i in range(self.batch_size) + ] + self.poss_actions = [[0, 0], [0, -1], [1, 0], [0, 1], [-1, 0]] + self.n_actions = len(self.poss_actions) + self.final_model_input = None + + self.prev_observations = None + self.reset() + + def reset(self): + """ + initialise model and associated variables for training, set n_walk=-1 initially to account for the lack of + actions at initialisation + """ + self.tem = model.Model(self.pars) + self.initialise() + self.n_walk = -1 + self.final_model_input = None + self.obs_history = [] + self.walk_actions = [] + self.walk_action_values = [] + self.prev_action = None + self.prev_observation = None + self.prev_actions = [[None, None] for _ in range(self.batch_size)] + self.prev_observations = [[-1, -1, [float("inf"), float("inf")]] for _ in range(self.batch_size)] + + def act(self, observation, policy_func=None): + """ + The base model executes one of four action (up-down-right-left) with equal probability. + This is used to move on the rectangular environment states space (transmat). + This is done for a single environment. + Parameters + ---------- + positions: array (16,2) + Observation from the environment class needed to choose the right action (Here the position). + Returns + ------- + action : array (16,2) + Action values (Direction of the agent step) in this case executes one of four action + (up-down-right-left) with equal probability. + """ + new_action = self.action_policy() + if observation[0] == self.prev_observation[0]: + self.prev_action = new_action + else: + self.walk_actions.append(self.prev_action) + self.obs_history.append(self.prev_observation) + self.prev_action = new_action + self.prev_observation = observation + self.n_walk += 1 + + return new_action + + def batch_act(self, observations, policy_func=None): + """ + The base model executes one of four action (up-down-right-left) with equal probability. + This is used to move on the rectangular environment states space (transmat). + This is done for a batch of 16 environments. + Parameters + ---------- + observations: array (16,3/4) + Observation from the environment class needed to choose the right action + (here the state ID and position). If behavioural data is used, the observation includes head direction. + Returns + ------- + new_actions : array (16,2) + Action values (direction of the agent step) in this case executes one of four action + (up-down-right-left) with equal probability. + """ + + if self.use_behavioural_data: + state_diffs = [observations[i][0] - self.prev_observations[i][0] for i in range(self.batch_size)] + new_actions = self.infer_action(state_diffs) + self.walk_actions.append(new_actions) + self.obs_history.append(self.prev_observations.copy()) + self.prev_observations = observations + self.n_walk += 1 + + elif not self.use_behavioural_data: + locations = [env[0] for env in observations] + all_allowed = True + new_actions = [] + for i, loc in enumerate(locations): + if loc == self.prev_observations[i][0] and self.prev_actions[i] != [0, 0]: + all_allowed = False + break + + if all_allowed: + self.walk_actions.append(self.prev_actions.copy()) + self.obs_history.append(self.prev_observations.copy()) + for batch in range(self.pars["batch_size"]): + new_actions.append(self.action_policy()) + self.prev_actions = new_actions + self.prev_observations = observations + self.n_walk += 1 + + elif not all_allowed: + for i, loc in enumerate(locations): + if loc == self.prev_observations[i][0]: + new_actions.append(self.action_policy()) + else: + new_actions.append(self.prev_actions[i]) + self.prev_actions = new_actions + + return new_actions + + def update(self): + """ + Compute forward pass through model, updating weights, calculating TEM variables and collecting + losses / accuracies + """ + self.iter = int((len(self.obs_history) / 20) - 1) + self.global_steps += 1 + history = self.obs_history[-self.pars["n_rollout"] :] + locations = [[{"id": env_step[0], "shiny": None} for env_step in step] for step in history] + observations = [[env_step[1] for env_step in step] for step in history] + actions = self.walk_actions[-self.pars["n_rollout"] :] + self.n_walk = 0 + # Convert action vectors to action values + action_values = self.step_to_actions(actions) + self.walk_action_values.append(action_values) + # Get start time for function timing + start_time = time.time() + # Get updated parameters for this backprop iteration + ( + self.eta_new, + self.lambda_new, + self.p2g_scale_offset, + self.lr, + self.walk_length_center, + loss_weights, + ) = parameters.parameter_iteration(self.iter, self.pars) + # Update eta and lambda + self.tem.hyper["eta"] = self.eta_new + self.tem.hyper["lambda"] = self.lambda_new + # Update scaling of offset for variance of inferred grounded position + self.tem.hyper["p2g_scale_offset"] = self.p2g_scale_offset + # Update learning rate (the neater torch-way of doing this would be a scheduler, but this is quick and easy) + for param_group in self.adam.param_groups: + param_group["lr"] = self.lr + + # Collect all information in walk variable + model_input = [ + [ + locations[i], + torch.from_numpy(np.reshape(observations, (20, 16, 45))[i]).type(torch.float32), + np.reshape(action_values, (20, 16))[i].tolist(), + ] + for i in range(self.pars["n_rollout"]) + ] + self.final_model_input = model_input + + forward = self.tem(model_input, self.prev_iter) + + # Accumulate loss from forward pass + loss = torch.tensor(0.0) + # Make vector for plotting losses + plot_loss = 0 + # Collect all losses / variables + for ind, step in enumerate(forward): + # Make list of losses included in this step + step_loss = [] + # Only include loss for locations that have been visited before + for env_i, env_visited in enumerate(self.visited): + if env_visited[step.g[env_i]["id"]]: + step_loss.append(loss_weights * torch.stack([i[env_i] for i in step.L])) + else: + env_visited[step.g[env_i]["id"]] = True + step_loss = torch.tensor(0) if not step_loss else torch.mean(torch.stack(step_loss, dim=0), dim=0) + # Save all separate components of loss for monitoring + plot_loss = plot_loss + step_loss.detach().numpy() + # And sum all components, then add them to total loss of this step + loss = loss + torch.sum(step_loss) + + # Reset gradients + self.adam.zero_grad() + # Do backward pass to calculate gradients with respect to total loss of this chunk + loss.backward(retain_graph=True) + # Then do optimiser step to update parameters of model + self.adam.step() + # Update the previous iteration for the next chunk with the final step of this chunk, removing all operation history + self.prev_iter = [forward[-1].detach()] + + # Compute model accuracies + acc_p, acc_g, acc_gt = np.mean([[np.mean(a) for a in step.correct()] for step in forward], axis=0) + acc_p, acc_g, acc_gt = [a * 100 for a in (acc_p, acc_g, acc_gt)] + # Log progress + if self.iter % 10 == 0: + # Write series of messages to logger from this backprop iteration + self.logger.info("Finished backprop iter {:d} in {:.2f} seconds.".format(self.iter, time.time() - start_time)) + self.logger.info( + "Loss: {:.2f}. {:.2f} {:.2f} {:.2f} {:.2f} {:.2f} {:.2f} \ + {:.2f} {:.2f}".format( + loss.detach().numpy(), *plot_loss + ) + ) + self.logger.info("Accuracy:

{:.2f}% {:.2f}% {:.2f}%".format(acc_p, acc_g, acc_gt)) + self.logger.info( + "Parameters: {:.2f} {:.2f} {:.2f} {:.2f}".format( + np.max(np.abs(self.prev_iter[0].M[0].numpy())), + self.tem.hyper["eta"], + self.tem.hyper["lambda"], + self.tem.hyper["p2g_scale_offset"], + ) + ) + self.logger.info("Weights:" + str([w for w in loss_weights.numpy()])) + self.logger.info(" ") + # Also store the internal state (all learnable parameters) and the hyperparameters periodically + if self.iter % self.pars["save_interval"] == 0: + torch.save(self.tem.state_dict(), self.model_path + "/tem_" + str(self.iter) + ".pt") + torch.save(self.tem.hyper, self.model_path + "/params_" + str(self.iter) + ".pt") + + # Save the final state of the model after training has finished + if self.iter == self.pars["train_it"] - 1: + torch.save(self.tem.state_dict(), self.model_path + "/tem_" + str(self.iter) + ".pt") + torch.save(self.tem.hyper, self.model_path + "/params_" + str(self.iter) + ".pt") + + def initialise(self): + """ + Generate random distribution of objects and intialise optimiser, logger and relevant variables + """ + # Create directories for storing all information about the current run + ( + self.run_path, + self.train_path, + self.model_path, + self.save_path, + self.script_path, + self.envs_path, + ) = utils.make_directories() + # Save all python files in current directory to script directory + self.save_files() + # Save parameters + np.save(os.path.join(self.save_path, "params"), self.pars) + # Create a tensor board to stay updated on training progress. Start tensorboard with tensorboard --logdir=runs + self.writer = SummaryWriter(self.train_path) + # Create a logger to write log output to file + self.logger = utils.make_logger(self.run_path) + # Make an ADAM optimizer for TEM + self.adam = torch.optim.Adam(self.tem.parameters(), lr=self.pars["lr_max"]) + # Initialise whether a state has been visited for each world + self.visited = [[False for _ in range(self.n_states[env])] for env in range(self.pars["batch_size"])] + self.prev_iter = None + + def save_files(self): + """ + Save all python files in current directory to script directory + """ + curr_path = os.path.dirname(os.path.abspath(__file__)) + shutil.copy2( + os.path.abspath(os.path.join(os.getcwd(), os.path.abspath(os.path.join(curr_path, os.pardir)))) + + "/agents/whittington_2020_extras/whittington_2020_model.py", + os.path.join(self.script_path, "whittington_2020_model.py"), + ) + shutil.copy2( + os.path.abspath(os.path.join(os.getcwd(), os.path.abspath(os.path.join(curr_path, os.pardir)))) + + "/agents/whittington_2020_extras/whittington_2020_parameters.py", + os.path.join(self.script_path, "whittington_2020_parameters.py"), + ) + shutil.copy2( + os.path.abspath(os.path.join(os.getcwd(), os.path.abspath(os.path.join(curr_path, os.pardir)))) + + "/agents/whittington_2020_extras/whittington_2020_analyse.py", + os.path.join(self.script_path, "whittington_2020_analyse.py"), + ) + shutil.copy2( + os.path.abspath(os.path.join(os.getcwd(), os.path.abspath(os.path.join(curr_path, os.pardir)))) + + "/agents/whittington_2020_extras/whittington_2020_plot.py", + os.path.join(self.script_path, "whittington_2020_plot.py"), + ) + shutil.copy2( + os.path.abspath(os.path.join(os.getcwd(), os.path.abspath(os.path.join(curr_path, os.pardir)))) + + "/agents/whittington_2020_extras/whittington_2020_utils.py", + os.path.join(self.script_path, "whittington_2020_utils.py"), + ) + return + + def action_policy(self): + """ + Random action policy that selects an action to take from [stay, up, down, left, right] + """ + arrow = self.poss_actions + index = np.random.choice(len(arrow)) + action = arrow[index] + return action + + def step_to_actions(self, actions): + """ + Convert trajectory of (x,y) actions into integer values (i.e. from [[0,0],[0,-1],[1,0],[0,1],[-1,0]] to [0,1,2,3,4]) + + Parameters: + ------ + actions: (16,20,2) + batch of 16 actions for each step in a walk of length 20 + + Returns: + ------ + action_values: (16,20,1) + batch of 16 action values for each step in walk of length 20 + """ + action_values = [] + # actions = np.reshape(actions, (pars['n_rollout'], pars['batch_size'], 2)) + for steps in actions: + env_list = [] + for action in steps: + env_list.append(self.poss_actions.index(list(action))) + action_values.append(env_list) + return action_values + + def infer_action(self, state_diffs): + """ + Infers the action taken between state indices based on the difference between states. + + Parameters + ---------- + state_diff: int + The difference between the state indices. + environment_width: int + The width of the environment (number of states per row). + + Returns + ------- + action: str + The inferred action ('N', 'S', 'W', or 'E') based on the state difference. + """ + actions = [] + for i in range(self.batch_size): + if state_diffs[i] == -self.room_widths[i]: + actions.append([0, 1]) + elif state_diffs[i] == self.room_widths[i]: + actions.append([0, -1]) + elif state_diffs[i] == -1: + actions.append([-1, 0]) + elif state_diffs == 1: + actions.append([1, 0]) + else: + actions.append([0, 0]) + + return actions + + def collect_final_trajectory(self): + """ + Collect the final trajectory of the agent, including the locations, observations and actions taken. + """ + final_model_input = [] + environments = [[], self.n_actions, self.n_states[0], len(self.obs_history[-1][0][1])] + history = self.obs_history[-self.n_walk :] + locations = [[{"id": env_step[0], "shiny": None} for env_step in step] for step in history] + observations = [[env_step[1] for env_step in step] for step in history] + actions = self.walk_actions[-self.n_walk :] + action_values = self.step_to_actions(actions) + + model_input = [ + [ + locations[i], + torch.from_numpy(np.reshape(observations, (self.n_walk, 16, 45))[i]).type(torch.float32), + np.reshape(action_values, (self.n_walk, 16))[i].tolist(), + ] + for i in range(self.n_walk) + ] + + single_index = [[model_input[step][0][0]] for step in range(len(model_input))] + single_obs = [torch.unsqueeze(model_input[step][1][0], dim=0) for step in range(len(model_input))] + single_action = [[model_input[step][2][0]] for step in range(len(model_input))] + single_model_input = [[single_index[step], single_obs[step], single_action[step]] for step in range(len(model_input))] + final_model_input.extend(single_model_input) + + return final_model_input, history, environments + + def plot_rate_map(self, rate_maps): + """ + Plot the TEM rate maps. + + Parameters + ---------- + rate_maps: ndarray, shape (5, N) + The rate maps for TEM, where N is the number of cells in each frequency. + + Returns + ------- + figs: list + A list of matplotlib figures containing the rate map plots for each frequency. + axes: list + A list of arrays of matplotlib axes containing the individual rate map plots for each frequency. + """ + frequencies = ["Theta", "Delta", "Beta", "Gamma", "High Gamma"] + figs = [] + axes = [] + + for i in range(5): + n_cells = rate_maps[0][i].shape[1] + num_cols = 6 # Number of subplots per row + num_rows = np.ceil(n_cells / num_cols).astype(int) + + # Create the figure for the current frequency + fig, axs = plt.subplots(nrows=num_rows, ncols=num_cols, figsize=(15, 10)) + fig.suptitle(f"{frequencies[i]} Rate Maps", fontsize=16) + + # Create a single colorbar for the entire figure + cbar_ax = fig.add_axes([0.91, 0.15, 0.02, 0.7]) + + # Create the subplots for the current frequency + for j in range(n_cells): + if j >= n_cells: + break + ax_row = j // num_cols + ax_col = j % num_cols + + # Get the rate map for the current cell and frequency + rate_map = np.asarray(rate_maps[0][i]).T[j] + + # Reshape the rate map into a matrix + rate_map_mat = np.reshape(rate_map, (self.room_widths[0], self.room_depths[0])) + + # Plot the rate map in the corresponding subplot + title = f"Cell {j+1}" + make_plot_rate_map(rate_map_mat, axs[ax_row, ax_col], title, "", "", "") + + # Hide unused subplots for the current frequency + for j in range(n_cells, num_rows * num_cols): + ax_row = j // num_cols + ax_col = j % num_cols + axs[ax_row, ax_col].axis("off") + + # Add a single colorbar to the figure + cbar = fig.colorbar(axs[0, 0].get_images()[0], cax=cbar_ax) + cbar.set_label("Firing rate", fontsize=14) + + figs.append(fig) + axes.append(axs) + + return figs, axes diff --git a/neuralplayground/agents/whittington_2020_extras/whittington_2020_analyse.py b/neuralplayground/agents/whittington_2020_extras/whittington_2020_analyse.py new file mode 100644 index 00000000..ea6be1ce --- /dev/null +++ b/neuralplayground/agents/whittington_2020_extras/whittington_2020_analyse.py @@ -0,0 +1,401 @@ +import numpy as np +import torch + + +def performance(forward, model, environments): + """ + Track prediction accuracy over walk, and calculate fraction of locations visited and actions taken to assess performance. + Parameters + ---------- + forward : list + List of forward passes through the model, each containing the model input, the model output, and the model state. + model : TEM + The model that was used to generate the forward passes. + environments : list + List of environments that were used to generate the forward passes. + Returns + ------- + all_correct : list + List of lists of booleans, indicating for each step whether the model predicted the observation correctly. + all_location_frac : list + List of lists of floats, indicating for each step the fraction of locations visited. + all_action_frac : list + List of lists of floats, indicating for each step the fraction of actions taken. + """ + # Keep track of whether model prediction were correct, as well as the fraction of nodes/edges visited, across environments + all_correct, all_location_frac, all_action_frac = [], [], [] + # Run through environments and monitor performance in each + for env_i, env in enumerate(environments): + # Keep track for each location whether it has been visited + location_visited = np.full(env.n_locations, False) + # And for each action in each location whether it has been taken + action_taken = np.full((env.n_locations, model.hyper["n_actions"]), False) + # Not all actions are available at every location (e.g. edges of grid world). Find how many actions can be taken + action_available = np.full((env.n_locations, model.hyper["n_actions"]), False) + for currLocation in env.locations: + for currAction in currLocation["actions"]: + if np.sum(currAction["transition"]) > 0: + if model.hyper["has_static_action"]: + if currAction["id"] > 0: + action_available[currLocation["id"], currAction["id"] - 1] = True + else: + action_available[currLocation["id"], currAction["id"]] = True + # Make array to list whether the observation was predicted correctly or not + correct = [] + # Make array that stores for each step the fraction of locations visited + location_frac = [] + # And an array that stores for each step the fraction of actions taken + action_frac = [] + # Run through iterations of forward pass to check when an action is taken for the first time + for step in forward: + # Update the states that have now been visited + location_visited[step.g[env_i]["id"]] = True + # ... And the actions that now have been taken + if model.hyper["has_static_action"]: + if step.a[env_i] > 0: + action_taken[step.g[env_i]["id"], step.a[env_i] - 1] = True + else: + action_taken[step.g[env_i]["id"], step.a[env_i]] = True + # Mark the location of the previous iteration as visited + correct.append((torch.argmax(step.x_gen[2][env_i]) == torch.argmax(step.x[env_i])).numpy()) + # Add the fraction of locations visited for this step + location_frac.append(np.sum(location_visited) / location_visited.size) + # ... And also add the fraction of actions taken for this step + action_frac.append(np.sum(action_taken) / np.sum(action_available)) + # Add performance and visitation fractions of this environment to performance list across environments + all_correct.append(correct) + all_location_frac.append(location_frac) + all_action_frac.append(action_frac) + # Return + return all_correct, all_location_frac, all_action_frac + + +def location_accuracy(forward, model, environments): + """ + Track prediction accuracy per location, after a transition towards the location. + Parameters + ---------- + forward : list + List of forward passes through the model, each containing the model input, the model output, and the model state. + model : TEM + The model that was used to generate the forward passes. + environments : list + List of environments that were used to generate the forward passes. + Returns + ------- + accuracy_from : list + List of lists of floats, indicating for each location the fraction of correct predictions after arriving at + that location. + accuracy_to : list + List of lists of floats, indicating for each location the fraction of correct predictions after leaving + that location. + """ + # Keep track of whether model prediction were correct for each environment, separated by arrival and departure location + accuracy_from, accuracy_to = [], [] + # Run through environments and monitor performance in each + for env_i, env in enumerate(environments): + # Make array to list whether the observation was predicted correctly or not + correct_from = [[] for _ in range(env[2])] + correct_to = [[] for _ in range(env[2])] + # Run through iterations of forward pass to check when an action is taken for the first time + for step_i, step in enumerate(forward[1:]): + # Prediction on arrival: sensory prediction when arriving at given node + correct_to[step.g[env_i]["id"]].append( + (torch.argmax(step.x_gen[2][env_i]) == torch.argmax(step.x[env_i])).numpy().tolist() + ) + correct_from[forward[step_i].g[env_i]["id"]].append( + (torch.argmax(step.x_gen[2][env_i]) == torch.argmax(step.x[env_i])).numpy().tolist() + ) + # Add performance and visitation fractions of this environment to performance list across environments + accuracy_from.append( + [ + sum(correct_from_location) / (len(correct_from_location) if len(correct_from_location) > 0 else 1) + for correct_from_location in correct_from + ] + ) + accuracy_to.append( + [ + sum(correct_to_location) / (len(correct_to_location) if len(correct_to_location) > 0 else 1) + for correct_to_location in correct_to + ] + ) + # Return + return accuracy_from, accuracy_to + + +def location_occupation(forward, model, environments): + """ + Track how often each location was visited during the walk. + Parameters + ---------- + forward : list + List of forward passes through the model, each containing the model input, the model output, and the model state. + model : TEM + The model that was used to generate the forward passes. + environments : list + List of environments that were used to generate the forward passes. + Returns + ------- + occupation : list + List of lists of integers, indicating for each location how often it was visited during the walk. + """ + # Keep track of how many times each location was visited + occupation = [] + # Run through environments and monitor performance in each + for env_i, env in enumerate(environments): + # Make array to list whether the observation was predicted correctly or not + visits = [0 for _ in range(env[2])] + # Run through iterations of forward pass to check when an action is taken for the first time + for step in forward: + # Prediction on arrival: sensory prediction when arriving at given node + visits[step.g[env_i]["id"]] += 1 + # Add performance and visitation fractions of this environment to performance list across environments + occupation.append(visits) + # Return occupation of states during walk across environments + return occupation + + +def zero_shot(forward, model, environments, include_stay_still=True): + """ + Track whether the model can predict the observation correctly when it visits a location for the first time. + Parameters + ---------- + forward : list + List of forward passes through the model, each containing the model input, the model output, and the model state. + model : TEM + The model that was used to generate the forward passes. + environments : list + List of environments that were used to generate the forward passes. + include_stay_still : bool + Whether to include standing still actions in the zero-shot inference analysis. + Returns + ------- + all_correct_zero_shot : list + List of lists of booleans, indicating for each step whether the model predicted the observation correctly + when visiting a location for the first time. + """ + # Get the number of actions in this model + n_actions = model.hyper["n_actions"] + model.hyper["has_static_action"] + # Track for all opportunities for zero-shot inference if the predictions were correct across environments + all_correct_zero_shot = [] + # Run through environments and check for zero-shot inference in each of them + for env_i, env in enumerate(environments): + # Keep track for each location whether it has been visited + location_visited = np.full(env[2], False) + # And for each action in each location whether it has been taken + action_taken = np.full((env[2], n_actions), False) + # Get the very first iteration + prev_iter = forward[0] + # Make list that for all opportunities for zero-shot inference tracks if the predictions were correct + correct_zero_shot = [] + # Run through iterations of forward pass to check when an action is taken for the first time + for step in forward[1:]: + # Get the previous action and previous location location + prev_a, prev_g = prev_iter.a[env_i], prev_iter.g[env_i]["id"] + if model.hyper["has_static_action"] and prev_a == 0 and not include_stay_still: + prev_a = None + # Mark the location of the previous iteration as visited + location_visited[prev_g] = True + # Zero shot inference occurs when the current location was visited, but the previous action wasn't taken before + if location_visited[step.g[env_i]["id"]] and prev_a is not None and not action_taken[prev_g, prev_a]: + # Find whether the prediction was correct + correct_zero_shot.append((torch.argmax(step.x_gen[2][env_i]) == torch.argmax(step.x[env_i])).numpy()) + # Update the previous action as taken + if prev_a is not None: + action_taken[prev_g, prev_a] = True + # And update the previous iteration to the current iteration + prev_iter = step + # Having gone through the full forward pass for one environment, add the zero-shot performance to the list of all + all_correct_zero_shot.append(correct_zero_shot) + # Return lists of success of zero-shot inference for all environments + return all_correct_zero_shot + + +def compare_to_agents(forward, model, environments, include_stay_still=True): + """ + Compare TEM performance to a 'node' and an 'edge' agent, that remember previous observations and guess others. + Parameters + ---------- + forward : list + List of forward passes through the model, each containing the model input, the model output, and the model state. + model : TEM + The model that was used to generate the forward passes. + environments : list + List of environments that were used to generate the forward passes. + include_stay_still : bool + Whether to include standing still actions in the zero-shot inference analysis. + Returns + ------- + all_correct_model : list + List of lists of booleans, indicating for each step whether the model predicted the observation correctly. + all_correct_node : list + List of lists of booleans, indicating for each step whether the node agent predicted the observation correctly. + all_correct_edge : list + List of lists of booleans, indicating for each step whether the edge agent predicted the observation correctly. + """ + # Get the number of actions in this model + n_actions = model.hyper["n_actions"] + model.hyper["has_static_action"] + # Store for each environment for each step whether is was predicted correctly by the model, and by a perfect node and + # perfect edge agent + all_correct_model, all_correct_node, all_correct_edge = [], [], [] + # Run through environments and check for correct or incorrect prediction + for env_i, env in enumerate(environments): + # Keep track for each location whether it has been visited + location_visited = np.full(env[2], False) + # And for each action in each location whether it has been taken + action_taken = np.full((env[2], n_actions), False) + # Make array to list whether the observation was predicted correctly or not for the model + correct_model = [] + # And the same for a node agent, that picks a random observation on first encounter of a node, and the correct + # one every next time + correct_node = [] + # And the same for an edge agent, that picks a random observation on first encounter of an edge, and the correct + # one every next time + correct_edge = [] + # Get the very first iteration + prev_iter = forward[0] + # Run through iterations of forward pass to check when an action is taken for the first time + for step in forward[1:]: + # Get the previous action and previous location + prev_a, prev_g = prev_iter.a[env_i], prev_iter.g[env_i]["id"] + # If the previous action was standing still: only count as valid transition standing still actions + # are included as zero-shot inference + if model.hyper["has_static_action"] and prev_a == 0 and not include_stay_still: + prev_a = None + # Mark the location of the previous iteration as visited + location_visited[prev_g] = True + # Update model prediction for this step + correct_model.append((torch.argmax(step.x_gen[2][env_i]) == torch.argmax(step.x[env_i])).numpy()) + # Update node agent prediction for this step: correct when this state was visited beofre, otherwise chance + correct_node.append( + True + if location_visited[step.g[env_i]["id"]] + else np.random.randint(model.hyper["n_x"]) == torch.argmax(step.x[env_i]).numpy() + ) + # Update edge agent prediction for this step: always correct if no action taken, correct when action leading + # to this state was taken before, otherwise chance + correct_edge.append( + True + if prev_a is None + else True + if action_taken[prev_g, prev_a] + else np.random.randint(model.hyper["n_x"]) == torch.argmax(step.x[env_i]).numpy() + ) + # Update the previous action as taken + if prev_a is not None: + action_taken[prev_g, prev_a] = True + # And update the previous iteration to the current iteration + prev_iter = step + # Add the performance of model, node agent, and edge agent for this environment to list across environments + all_correct_model.append(correct_model) + all_correct_node.append(correct_node) + all_correct_edge.append(correct_edge) + # Return list of prediction success for all three agents across environments + return all_correct_model, all_correct_node, all_correct_edge + + +def rate_map(forward, model, environments): + """ + Calculate the firing rate of each cell in the model for each location in each environment. + Parameters + ---------- + forward : list + List of forward passes through the model, each containing the model input, the model output, and the model state. + model : TEM + The model that was used to generate the forward passes. + environments : list + List of environments that were used to generate the forward passes. + Returns + ------- + all_g : list + List of lists of lists of floats, indicating for each frequency module, for each location, and for each + cell the firing rate. + all_p : list + List of lists of lists of floats, indicating for each frequency module, for each location, and for each + cell the firing rate. + """ + # Store location x cell firing rate matrix for abstract and grounded location representation across environments + all_g, all_p = [], [] + # Go through environments and collect firing rates in each + for env_i, env in enumerate(environments): + # Collect grounded location/hippocampal/place cell representation during walk: separate into frequency + # modules, then locations + p = [[[] for loc in range(env[2])] for f in range(model.hyper["n_f"])] + # Collect abstract location/entorhinal/grid cell representation during walk: separate into frequency + # modules, then locations + g = [[[] for loc in range(env[2])] for f in range(model.hyper["n_f"])] + # In each step, concatenate the representations to the appropriate list + for step in forward: + # Run through frequency modules and append the firing rates to the correct location list + for f in range(model.hyper["n_f"]): + g[f][step.g[env_i]["id"]].append(step.g_inf[f][env_i].detach().numpy()) + p[f][step.g[env_i]["id"]].append(step.p_inf[f][env_i].detach().numpy()) + # Now average across location visits to get a single represenation vector for each location for each frequency + for cells, n_cells in zip([p, g], [model.hyper["n_p"], model.hyper["n_g"]]): + for f, frequency in enumerate(cells): + # Average across visits of the each location, but only the second half of the visits so model + # roughly know the environment + for i, location in enumerate(frequency): + frequency[i] = ( + sum(location[int(len(location) / 2) :]) / len(location[int(len(location) / 2) :]) + if len(location[int(len(location) / 2) :]) > 0 + else np.zeros(n_cells[f]) + ) + # Then concatenate the locations to get a [locations x cells for this frequency] matrix + cells[f] = np.stack(frequency, axis=0) + # Append the final average representations of this environment to the list of representations across environments + all_g.append(g) + all_p.append(p) + # Return list of locations x cells matrix of firing rates for each frequency module for each environment + return all_g, all_p + + +def generate_input(environment, walk): + """ + Generate model input from environment and walk. + Parameters + ---------- + environment : Environment + Environment from which to generate the model input. + walk : list + List of lists of lists, indicating for each step the location, observation, and action. + Returns + ------- + model_input : list + List of lists of lists, indicating for each step the location, observation, and action. + """ + # If no walk was provided: use the environment to generate one + if walk is None: + # Generate a single walk from environment with length depending on number of locations (so you're + # likely to visit each location) + walk = environment.generate_walks(environment.graph["n_locations"] * 100, 1)[0] + # Now this walk needs to be adjusted so that it looks like a batch with batch size 1 + for step in walk: + # Make single location into list + step[0] = [step[0]] + # Make single 1D observation vector into 2D row vector + step[1] = step[1].unsqueeze(dim=0) + # Make single action into list + step[2] = [step[2]] + return walk + + +def smooth(a, wsz): + """ + Smooth a 1D array with a window size. + Parameters + ---------- + a : list + 1D array to be smoothed. + wsz : int + Window size to use for smoothing. + Returns + ------- + out : list + Smoothed 1D array. + """ + out0 = np.convolve(a, np.ones(wsz, dtype=int), "valid") / wsz + r = np.arange(1, wsz - 1, 2) + start = np.cumsum(a[: wsz - 1])[::2] / r + stop = (np.cumsum(a[:-wsz:-1])[::2] / r)[::-1] + return np.concatenate((start, out0, stop)) diff --git a/neuralplayground/agents/whittington_2020_extras/whittington_2020_model.py b/neuralplayground/agents/whittington_2020_extras/whittington_2020_model.py new file mode 100644 index 00000000..f2f2d305 --- /dev/null +++ b/neuralplayground/agents/whittington_2020_extras/whittington_2020_model.py @@ -0,0 +1,1332 @@ +# Standard modules +import copy + +import numpy as np +import torch +from scipy.stats import truncnorm + +import neuralplayground.agents.whittington_2020_extras.whittington_2020_utils as utils + + +class Model(torch.nn.Module): + """ + Model class for TEM model. Inherits from torch.nn.Module, so it can be used as a torch module, and all parameters are + automatically registered as trainable parameters. + """ + + def __init__(self, params): + """ + Initialise model with parameters. + Parameters + ----------- + params: dict of parameters, usually generated from parameters() in parameters.py + """ + # First call super class init function to set up torch.nn.Module style model and inherit it's functionality + super(Model, self).__init__() + # Copy hyperparameters (e.g. network sizes) from parameter dict, usually generated from parameters() in parameters.py + self.hyper = copy.deepcopy(params) + # Create trainable parameters + self.init_trainable() + + def forward(self, walk, prev_iter=None, prev_M=None): + """ + Forward pass of TEM model. This consists of a transition, followed by an inference and a generative step, for + each step of the walk. + Parameters + ----------- + walk: list of [place, observation, action] tuples, where place is a list of locations, observation is a one-hot + vector of sensory observation, and action is a one-hot vector of action taken + prev_iter: list of Iteration objects, which contain all variables of the model for each step of the previous + walk. If None, all variables are initialised as zero. + prev_M: list of memory connectivity matrices for each frequency module. If None, all connectivity matrices are + initialised as zero. + Returns + ----------- + steps: list of Iteration objects, which contain all variables of the model for each step of the walk. + """ + # The previous iteration may contain walks without action. These are new walks, for which some parameters need to + # be reset. + steps = self.init_walks(prev_iter) + # Forward pass: perform a TEM iteration for each set of [place, observation, action], and produce inferred and + # generated variables for each step. + for g, x, a in walk: + # If there is no previous iteration at all: all walks are new, initialise a whole new iteration object + if steps is None: + # Use an Iteration object to set initial values before any real iterations, initialising M, x_inf as zero. + # Set actions to None blank to indicate there was no previous action + steps = [self.init_iteration(g, x, [None for _ in range(len(a))], prev_M)] + # Perform TEM iteration using transition from previous iteration + L, M, g_gen, p_gen, x_gen, x_logits, x_inf, g_inf, p_inf = self.iteration( + x, g, steps[-1].a, steps[-1].M, steps[-1].x_inf, steps[-1].g_inf + ) + # Store this iteration in iteration object in steps list + steps.append(Iteration(g, x, a, L, M, g_gen, p_gen, x_gen, x_logits, x_inf, g_inf, p_inf)) + # The first step is either a step from a previous walk or initialisiation rubbish, so remove it + steps = steps[1:] + + # Return steps, which is a list of Iteration objects + return steps + + def iteration(self, x, locations, a_prev, M_prev, x_prev, g_prev): + """ + Perform a single iteration of the TEM model. This consists of a transition step, followed by an inference step + and a generative step. + Parameters + ----------- + x: sensory observation, one-hot vector + locations: list of locations + a_prev: previous action, one-hot vector + M_prev: previous memory connectivity matrix + x_prev: previous sensory experience + g_prev: previous abstract location + Returns + ----------- + L: list of losses for this iteration + M: list of memory connectivity matrices for this iteration + gt_gen: list of generated abstract (grid cell) locations for this iteration + p_gen: list of generated place cell locations for this iteration + x_gen: list of generated observations for this iteration + x_logits: list of logits for generated observations for this iteration + x_inf: list of inferred observations for this iteration + g_inf: list of inferred abstract (grid cell) locations for this iteration + p_inf: list of inferred grounded (place cell) locations for this iteration + """ + # First, do the transition step, as it will be necessary for both the inference and generative part of the model + gt_gen, gt_inf = self.gen_g(a_prev, g_prev, locations) + # Run inference model: infer grounded location p_inf (hippocampus), abstract location g_inf (entorhinal). + # Also keep filtered sensory observation (x_inf), and retrieved grounded location p_inf_x + x_inf, g_inf, p_inf_x, p_inf = self.inference(x, locations, M_prev, x_prev, gt_inf) + # Run generative model: since generative model is only used for training purposes, it will generate from + # *inferred* variables instead of *generated* variables (as it would when used for generation) + x_gen, x_logits, p_gen = self.generative(M_prev, p_inf, g_inf, gt_gen) + # Update generative memory with generated and inferred grounded location. + M = [self.hebbian(M_prev[0], torch.cat(p_inf, dim=1), torch.cat(p_gen, dim=1))] + # If using memory for grounded location inference: append inference memory + if self.hyper[ + "use_p_inf" + ]: # Inference memory is identical to generative memory if using common memory, and updated separatedly if not + M.append( + M[0] + if self.hyper["common_memory"] + else self.hebbian( + M_prev[1], torch.cat(p_inf, dim=1), torch.cat(p_inf_x, dim=1), do_hierarchical_connections=False + ) + ) + # Calculate loss of this step + L = self.loss(gt_gen, p_gen, x_logits, x, g_inf, p_inf, p_inf_x) + # Return all iteration values + return L, M, gt_gen, p_gen, x_gen, x_logits, x_inf, g_inf, p_inf + + def inference(self, x, locations, M_prev, x_prev, g_gen): + """ + Perform inference step of the TEM model. + Parameters + ----------- + x: sensory observation, one-hot vector + locations: list of locations + M_prev: previous memory connectivity matrix + x_prev: previous sensory experience + g_gen: previous abstract location + Returns + ----------- + x_f: filtered sensory experience + g: inferred abstract (grid cell) locations + p_x: retrieved grounded (place cell) locations from memory by sensory experience + p: inferred grounded (place cell) locations + """ + # Compress sensory observation from one-hot to two-hot (or alternatively, whatever an MLP makes of it) + x_c = self.f_c(x) + # Temporally filter sensory observation by mixing it with previous experience + x_f = self.x_prev2x(x_prev, x_c) + # Prepare sensory experience for input to memory by normalisation and weighting + x_ = self.x2x_(x_f) + # Retrieve grounded location from memory by doing pattern completion on current sensory experience + p_x = ( + self.attractor(x_, M_prev[1], retrieve_it_mask=self.hyper["p_retrieve_mask_inf"]) + if self.hyper["use_p_inf"] + else None + ) + # Infer abstract location by combining previous abstract location and grounded location retrieved from + # memory by current sensory experience + g = self.inf_g(p_x, g_gen, x, locations) + # Prepare abstract location for input to memory by downsampling and weighting + g_ = self.g2g_(g) + # Infer grounded location from sensory experience and inferred abstract location + p = self.inf_p(x_, g_) + # Return variables in order that they were created + return x_f, g, p_x, p + + def generative(self, M_prev, p_inf, g_inf, g_gen): + """ + Perform generative step of the TEM model. + Parameters + ----------- + M_prev: previous memory connectivity matrix + p_inf: inferred grounded (place cell) locations + g_inf: inferred abstract (grid cell) locations + g_gen: previous abstract locations + Returns + ----------- + x_p: generated observation from inferred grounded location + x_g: generated observation from grounded location retrieved from inferred abstract + location + x_gt: generated observation from grounded location retrieved from abstract location + by transitioning + x_p_logits: logits for generated observation from inferred grounded location + x_g_logits: logits for generated observation from grounded location retrieved from + inferred abstract location + x_gt_logits: logits for generated observation from grounded location retrieved from + abstract location by transitioning + p_g_inf: grounded location retrieved from inferred abstract location + """ + # Generate observation from inferred grounded location, using only the highest frequency. + # Also keep non-softmaxed logits which are used in the loss later + x_p, x_p_logits = self.gen_x(p_inf[0]) + # Retrieve grounded location from memory by pattern completion on inferred abstract + # location + p_g_inf = self.gen_p(g_inf, M_prev[0]) # was p_mem_gen + # And generate observation from the grounded location retrieved from inferred abstract + # location + x_g, x_g_logits = self.gen_x(p_g_inf[0]) + # Retreive grounded location from memory by pattern completion on abstract location by + # transitioning + p_g_gen = self.gen_p(g_gen, M_prev[0]) + # Generate observation from sampled grounded location + x_gt, x_gt_logits = self.gen_x(p_g_gen[0]) + # Return all generated observations and their corresponding logits + return (x_p, x_g, x_gt), (x_p_logits, x_g_logits, x_gt_logits), p_g_inf + + def loss(self, g_gen, p_gen, x_logits, x, g_inf, p_inf, p_inf_x): + """ + Calculate losses of the current TEM iteration for each of the generated and inferred + variable. + Parameters + ----------- + g_gen: previous abstract (grid cell) locations + p_gen: previous grounded (place cell) locations + x_logits: logits for generated observation from grounded location retrieved from abstract + location by transitioning + x: sensory observation, one-hot vector + g_inf: inferred abstract (grid cell) locations + p_inf: inferred grounded (place cell) locations + p_inf_x: retrieved grounded (place cell) locations from memory by sensory experience + Returns + ----------- + L: list of losses for this iteration + """ + # Calculate loss function, separately for each component because you might want to reweight + # contributions later + # L_p_gen is squared error loss between inferred grounded location and grounded location retrieved + # from inferred abstract location + L_p_g = torch.sum(torch.stack(utils.squared_error(p_inf, p_gen), dim=0), dim=0) + # L_p_inf is squared error loss between inferred grounded location and grounded location retrieved + # from sensory experience + L_p_x = ( + torch.sum(torch.stack(utils.squared_error(p_inf, p_inf_x), dim=0), dim=0) + if self.hyper["use_p_inf"] + else torch.zeros_like(L_p_g) + ) + # L_g is squared error loss between generated abstract location and inferred abstract location + L_g = torch.sum(torch.stack(utils.squared_error(g_inf, g_gen), dim=0), dim=0) + # L_x is a cross-entropy loss between sensory experience and different model predictions. First get + # true labels from sensory experience + labels = torch.argmax(x, 1) + # L_x_gen: losses generated by generative model from g_prev -> g -> p -> x + L_x_gen = utils.cross_entropy(x_logits[2], labels) + # L_x_g: Losses generated by generative model from g_inf -> p -> x + L_x_g = utils.cross_entropy(x_logits[1], labels) + # L_x_p: Losses generated by generative model from p_inf -> x + L_x_p = utils.cross_entropy(x_logits[0], labels) + # L_reg are regularisation losses, L_reg_g on L2 norm of g + L_reg_g = torch.sum(torch.stack([torch.sum(g**2, dim=1) for g in g_inf], dim=0), dim=0) + # And L_reg_p regularisation on L1 norm of p + L_reg_p = torch.sum(torch.stack([torch.sum(torch.abs(p), dim=1) for p in p_inf], dim=0), dim=0) + # Return total loss as list of losses, so you can possibly reweight them + L = [L_p_g, L_p_x, L_x_gen, L_x_g, L_x_p, L_g, L_reg_g, L_reg_p] + return L + + def init_trainable(self): + """ + Initialise all trainable parameters of the TEM model. This is done in a separate function so that + it can be called again after loading a model from file. + """ + # Scale factor in Laplacian transform for each frequency module. High frequency comes first, low + # frequency comes last. Learn inverse sigmoid instead of scale factor directly, so domain of alpha is -inf, inf + self.alpha = torch.nn.ParameterList( + [ + torch.nn.Parameter( + torch.tensor(np.log(self.hyper["f_initial"][f] / (1 - self.hyper["f_initial"][f])), dtype=torch.float) + ) + for f in range(self.hyper["n_f"]) + ] + ) + # Entorhinal preference weights + self.w_x = torch.nn.Parameter(torch.tensor(1.0)) + # Entorhinal preference bias + self.b_x = torch.nn.Parameter(torch.zeros(self.hyper["n_x_c"])) + # Frequency module specific scaling of sensory experience before input to hippocampus + self.w_p = torch.nn.ParameterList([torch.nn.Parameter(torch.tensor(1.0)) for f in range(self.hyper["n_f"])]) + # Initial activity of abstract location cells when entering a new environment, like a prior on g. + # Initialise with truncated normal + self.g_init = torch.nn.ParameterList( + [ + torch.nn.Parameter( + torch.tensor( + truncnorm.rvs(-2, 2, size=self.hyper["n_g"][f], loc=0, scale=self.hyper["g_init_std"]), + dtype=torch.float, + ) + ) + for f in range(self.hyper["n_f"]) + ] + ) + # Log of standard deviation of abstract location cells when entering a new environment; standard + # deviation of the prior on g. Initialise with truncated normal + self.logsig_g_init = torch.nn.ParameterList( + [ + torch.nn.Parameter( + torch.tensor( + truncnorm.rvs(-2, 2, size=self.hyper["n_g"][f], loc=0, scale=self.hyper["g_init_std"]), + dtype=torch.float, + ) + ) + for f in range(self.hyper["n_f"]) + ] + ) + # MLP for transition weights (not in paper, but recommended by James so you can learn about + # similarities between actions). Size is given by grid connections + self.MLP_D_a = MLP( + [self.hyper["n_actions"] for _ in range(self.hyper["n_f"])], + [ + sum( + [ + self.hyper["n_g"][f_from] + for f_from in range(self.hyper["n_f"]) + if self.hyper["g_connections"][f_to][f_from] + ] + ) + * self.hyper["n_g"][f_to] + for f_to in range(self.hyper["n_f"]) + ], + activation=[torch.tanh, None], + hidden_dim=[self.hyper["d_hidden_dim"] for _ in range(self.hyper["n_f"])], + bias=[True, False], + ) + # Initialise the hidden to output weights as zero, so initially you simply keep the current abstract + # location to predict the next abstract location + self.MLP_D_a.set_weights(1, 0.0) + # Transition weights without specifying an action for use in generative model with shiny objects + self.D_no_a = torch.nn.ParameterList( + [ + torch.nn.Parameter( + torch.zeros( + sum( + [ + self.hyper["n_g"][f_from] + for f_from in range(self.hyper["n_f"]) + if self.hyper["g_connections"][f_to][f_from] + ] + ) + * self.hyper["n_g"][f_to] + ) + ) + for f_to in range(self.hyper["n_f"]) + ] + ) + # MLP for standard deviation of transition sample + self.MLP_sigma_g_path = MLP( + self.hyper["n_g"], + self.hyper["n_g"], + activation=[torch.tanh, torch.exp], + hidden_dim=[2 * g for g in self.hyper["n_g"]], + ) + # MLP for standard devation of grounded location from retrieved memory sample + self.MLP_sigma_p = MLP(self.hyper["n_p"], self.hyper["n_p"], activation=[torch.tanh, torch.exp]) + # MLP to generate mean of abstract location from downsampled abstract location, obtained by summing + # grounded location over sensory preferences in inference model + self.MLP_mu_g_mem = MLP(self.hyper["n_g_subsampled"], self.hyper["n_g"], hidden_dim=[2 * g for g in self.hyper["n_g"]]) + # Initialise weights in last layer of MLP_mu_g_mem as truncated normal for each frequency module + self.MLP_mu_g_mem.set_weights( + -1, + [ + torch.tensor( + truncnorm.rvs( + -2, 2, size=list(self.MLP_mu_g_mem.w[f][-1].weight.shape), loc=0, scale=self.hyper["g_mem_std"] + ), + dtype=torch.float, + ) + for f in range(self.hyper["n_f"]) + ], + ) + # MLP to generate standard deviation of abstract location from two measures (generated observation + # error and inferred abstract location vector norm) of memory quality + self.MLP_sigma_g_mem = MLP( + [2 for _ in self.hyper["n_g_subsampled"]], + self.hyper["n_g"], + activation=[torch.tanh, torch.exp], + hidden_dim=[2 * g for g in self.hyper["n_g"]], + ) + # MLP to generate mean of abstract location directly from shiny object presence. Outputs to object + # vector cell modules if they're separated, else to all abstract location modules + self.MLP_mu_g_shiny = MLP( + [1 for _ in range(self.hyper["n_f_ovc"] if self.hyper["separate_ovc"] else self.hyper["n_f"])], + [n_g for n_g in self.hyper["n_g"][(self.hyper["n_f_g"] if self.hyper["separate_ovc"] else 0) :]], + hidden_dim=[2 * n_g for n_g in self.hyper["n_g"][(self.hyper["n_f_g"] if self.hyper["separate_ovc"] else 0) :]], + ) + # MLP to generate standard deviation of abstract location directly from shiny object presence. + # Outputs to object vector cell modules if they're separated, else to all abstract location modules + self.MLP_sigma_g_shiny = MLP( + [1 for _ in range(self.hyper["n_f_ovc"] if self.hyper["separate_ovc"] else self.hyper["n_f"])], + [n_g for n_g in self.hyper["n_g"][(self.hyper["n_f_g"] if self.hyper["separate_ovc"] else 0) :]], + hidden_dim=[2 * n_g for n_g in self.hyper["n_g"][(self.hyper["n_f_g"] if self.hyper["separate_ovc"] else 0) :]], + activation=[torch.tanh, torch.exp], + ) + # MLP for decompressing highest frequency sensory experience to sensory observation + self.MLP_c_star = MLP(self.hyper["n_x_f"][0], self.hyper["n_x"], hidden_dim=20 * self.hyper["n_x_c"]) + + def init_iteration(self, g, x, a, M): + """ + Initialise a new iteration of the TEM model. + Parameters + ----------- + g: previous abstract (grid cell) locations + x: sensory observation, one-hot vector + a: previous action, one-hot vector + M: previous memory connectivity matrix + Returns + ----------- + iteration: Iteration object, which contains all variables of the model for this iteration. + """ + # On the very first iteration, update the batch size based on the data. This is useful when + # doing analysis on the network with different batch sizes compared to training + self.hyper["batch_size"] = x.shape[0] + # Initalise hebbian memory connectivity matrix [M_gen, M_inf] if it wasn't initialised yet + if M is None: + # Create new empty memory dict for generative network: zero connectivity matrix M_0, then empty + # list of the memory vectors a and b for each iteration for efficient hebbian memory computation + M = [torch.zeros((self.hyper["batch_size"], sum(self.hyper["n_p"]), sum(self.hyper["n_p"])), dtype=torch.float)] + # Append inference memory only if memory is used in grounded location inference + if self.hyper["use_p_inf"]: + # If inference and generative network share common memory: reuse same connectivity, and + # same memory vectors. Else, create a new empty memory list for inference network + M.append( + M[0] + if self.hyper["common_memory"] + else torch.zeros( + (self.hyper["batch_size"], sum(self.hyper["n_p"]), sum(self.hyper["n_p"])), dtype=torch.float + ) + ) + # Initialise previous abstract location by stacking abstract location prior + g_inf = [torch.stack([self.g_init[f] for _ in range(self.hyper["batch_size"])]) for f in range(self.hyper["n_f"])] + # Initialise previous sensory experience with zeros, as there is no data yet for + # temporal smoothing + x_inf = [torch.zeros((self.hyper["batch_size"], self.hyper["n_x_f"][f])) for f in range(self.hyper["n_f"])] + # And construct new iteration for that g, x, a, and M + return Iteration(g=g, x=x, a=a, M=M, x_inf=x_inf, g_inf=g_inf) + + def init_walks(self, prev_iter): + """ + Initialise a new walk of the TEM model. + Parameters + ----------- + prev_iter: list of Iteration objects, which contain all variables of the model for each step of the + previous walk. If None, all variables are initialised as zero. + Returns + ----------- + prev_iter: list of Iteration objects, which contain all variables of the model for each step of the + previous walk. If None, all variables are initialised as zero. + """ + # Only reset parameters for previous iteration if a previous iteration was actually provided - if + # it wasn't, all parameters will be reset when creating a fresh Iteration object in init_iteration + if prev_iter is not None: + # The supplied previous iteration might have new walks starting, with empty actions. For these + # walks some parameters need to be reset + for a_i, a in enumerate(prev_iter[0].a): + # A new walk is indicated by having a None action in the previous iteration + if a is None: + # Reset the initial connectivity matrix for this walk + for M in prev_iter[0].M: + M[a_i, :, :] = 0 + # Reset the abstract location for this walk + for f, g_inf in enumerate(prev_iter[0].g_inf): + g_inf[a_i, :] = self.g_init[f] + # Reset the sensory experience for this walk + for f, x_inf in enumerate(prev_iter[0].x_inf): + x_inf[a_i, :] = torch.zeros(self.hyper["n_x_f"][f]) + # Return the iteration with reset parameters (or simply the empty array if prev_iter was empty) + return prev_iter + + def gen_g(self, a_prev, g_prev, locations): + """ + Perform transition step of the TEM model. This consists of a transition from previous abstract location + to new abstract location using weights specific to + action taken for each frequency module. + Parameters + ----------- + a_prev: previous action, one-hot vector + g_prev: previous abstract (grid cell) locations + locations: list of locations + Returns + ----------- + g_gen: generated abstract (grid cell) locations + g: abstract (grid cell) locations + """ + # Transition from previous abstract location to new abstract location using weights specific to action + # taken for each frequency module + mu_g = self.f_mu_g_path(a_prev, g_prev) + sigma_g = self.f_sigma_g_path(a_prev, g_prev) + # Either sample new abstract location g or simply take the mean of distribution in noiseless case. + g = [ + mu_g[f] + sigma_g[f] * np.random.randn() if self.hyper["do_sample"] else mu_g[f] for f in range(self.hyper["n_f"]) + ] + # But for environments with shiny objects, the transition to the new abstract location shouldn't have + # access to the action direction in the generative model + shiny_envs = [location["shiny"] is not None for location in locations] + # If there are any shiny environments, the abstract locations for the generative model will need to be + # re-calculated without providing actions for those + g_gen = self.f_mu_g_path(a_prev, g_prev, no_direc=shiny_envs) if any(shiny_envs) else g + # Return generated abstract location after transition + return g_gen, (g, sigma_g) + + def gen_p(self, g, M_prev): + """ + Generate grounded location from abstract location by pattern completion on abstract location. This is + used in the generative model to generate observations from grounded location. + Parameters + ----------- + g: abstract (grid cell) locations + M_prev: previous memory connectivity matrix + Returns + ----------- + p: generated grounded (place cell) locations + """ + # We want to use g as an index for memory retrieval, but it doesn't have the right dimensions (these + # are grid cells, we need place cells). We need g_ instead + g_ = self.g2g_(g) + # Retreive memory: do pattern completion on abstract location to get grounded location + mu_p = self.attractor(g_, M_prev, retrieve_it_mask=self.hyper["p_retrieve_mask_gen"]) + sigma_p = self.f_sigma_p(mu_p) + # Either sample new grounded location p or simply take the mean of distribution in noiseless case + p = [ + mu_p[f] + sigma_p[f] * np.random.randn() if self.hyper["do_sample"] else mu_p[f] for f in range(self.hyper["n_f"]) + ] + # Return pattern-completed grounded location p after memory retrieval + return p + + def gen_x(self, p): + """ + Generate observation from grounded location by MLP. This is used in the generative model to generate + observations from grounded location. + Parameters + ----------- + p: grounded (place cell) locations + Returns + ----------- + x: generated observation + logits: logits for generated observation + """ + # Get categorical distribution over observations from grounded location + # If you actually want to sample observation, you need a reparaterisation trick for categorical distributions + # Sampling would be the correct way to do this, since observations are discrete, and it's also what the + # TEM paper says + # However, it looks like you could also get away with using categorical distribution directly as an + # approximation of the one-hot observations + if self.hyper["do_sample"]: + x, logits = self.f_x(p) # This is a placeholder! Should be done using reparameterisation trick (like + # https://blog.evjang.com/2016/11/tutorial-categorical-variational.html) + else: + x, logits = self.f_x(p) + # Return one-hot (or almost one-hot...) observation obtained from grounded location, and also + # the non-softmaxed logits + return x, logits + + def inf_g(self, p_x, g_gen, x, locations): + """ + Infer abstract location from the combination of [grounded location retrieved from memory by sensory + experience] and [previous abstract location and action (path integration)] + Parameters + ----------- + p_x: retrieved grounded (place cell) locations from memory by sensory experience + g_gen: previous abstract (grid cell) locations + x: sensory observation, one-hot vector + locations: list of locations + Returns + ----------- + mu_g: inferred abstract (grid cell) locations + sigma_g: standard deviation of inferred abstract (grid cell) locations + """ + # Infer abstract location from the combination of [grounded location retrieved from memory by sensory + # experience] ... + if self.hyper["use_p_inf"]: + # Not in paper, but makes sense from symmetry with f_x: first get g from p by "summing over sensory + # preferences" g = p * W_repeat^T + g_downsampled = [torch.matmul(p_x[f], torch.t(self.hyper["W_repeat"][f])) for f in range(self.hyper["n_f"])] + # Then use abstract location after summing over sensory preferences as input to MLP to obtain the + # inferred abstract location from memory + mu_g_mem = self.f_mu_g_mem(g_downsampled) + # Not in paper, but this greatly improves zero-shot inference: provide the uncertainty function of the + # inferred abstract location with measures of memory quality + with torch.no_grad(): + # For the first measure, use the grounded location inferred from memory to generate an observation + x_hat, x_hat_logits = self.gen_x(p_x[0]) + # Then calculate the error between the generated observation and the actual observation: if the memory + # is working well, this error should be small + err = utils.squared_error(x, x_hat) + # The second measure is the vector norm of the inferred abstract location; good memories should have similar + # vector norms. Concatenate the two measures as input for the abstract location uncertainty function + sigma_g_input = [ + torch.cat((torch.sum(g**2, dim=1, keepdim=True), torch.unsqueeze(err, dim=1)), dim=1) for g in mu_g_mem + ] + # Not in paper, but recommended by James for stability: get final mean of inferred abstract location by + # clamping activations between -1 and 1 + mu_g_mem = self.f_g_clamp(mu_g_mem) + # And get standard deviation/uncertainty of inferred abstract location by providing uncertainty function with + # memory quality measures + sigma_g_mem = self.f_sigma_g_mem(sigma_g_input) + # ... and [previous abstract location and action (path integration)] + mu_g_path = g_gen[0] + sigma_g_path = g_gen[1] + # Infer abstract location by combining previous abstract location and grounded location retrieved from memory by + # current sensory experience + mu_g, sigma_g = [], [] + for f in range(self.hyper["n_f"]): + if self.hyper["use_p_inf"]: + # Then get full gaussian distribution of inferred abstract location by calculating precision weighted mean + mu, sigma = utils.inv_var_weight([mu_g_path[f], mu_g_mem[f]], [sigma_g_path[f], sigma_g_mem[f]]) + else: + # Or simply completely ignore the inference memory here, to test if things are working + mu, sigma = mu_g_path[f], sigma_g_path[f] + # Append mu and sigma to list for all frequency modules + mu_g.append(mu) + sigma_g.append(sigma) + # Finally (though not in paper), also add object vector cell information to inferred abstract location for + # environments with shiny objects + shiny_envs = [location["shiny"] is not None for location in locations] + if any(shiny_envs): + # Find for which environments the current location has a shiny object + shiny_locations = torch.unsqueeze( + torch.stack( + [ + torch.tensor(location["shiny"], dtype=torch.float) + for location in locations + if location["shiny"] is not None + ] + ), + dim=-1, + ) + # Get abstract location for environments with shiny objects and feed to each of the object vector cell modules + mu_g_shiny = self.f_mu_g_shiny( + [shiny_locations for _ in range(self.hyper["n_f_g"] if self.hyper["separate_ovc"] else self.hyper["n_f"])] + ) + sigma_g_shiny = self.f_sigma_g_shiny( + [shiny_locations for _ in range(self.hyper["n_f_g"] if self.hyper["separate_ovc"] else self.hyper["n_f"])] + ) + # Update only object vector modules with shiny-inferred abstract location: start from offset if object vector + # modules are separate + module_start = self.hyper["n_f_g"] if self.hyper["separate_ovc"] else 0 + # Inverse variance weighting is associative, so I can just do additional inverse variance weighting to the + # previously obtained mu and sigma - but only for object vector cell modules! + for f in range(module_start, self.hyper["n_f"]): + # Add inferred abstract location from shiny objects to previously obtained position, only for environments + # with shiny objects + mu, sigma = utils.inv_var_weight( + [mu_g[f][shiny_envs, :], mu_g_shiny[f - module_start]], + [sigma_g[f][shiny_envs, :], sigma_g_shiny[f - module_start]], + ) + # In order to update only the environments with shiny objects, without in-place value assignment, + # construct a mask of shiny environments + mask = torch.zeros_like(mu_g[f], dtype=torch.bool) + mask[shiny_envs, :] = True + # Use mask to update the shiny environment entries in inferred abstract locations + mu_g[f] = mu_g[f].masked_scatter(mask, mu) + sigma_g[f] = sigma_g[f].masked_scatter(mask, sigma) + # Either sample inferred abstract location from combined (precision weighted) distribution or just take + # mean + g = [ + mu_g[f] + sigma_g[f] * np.random.randn() if self.hyper["do_sample"] else mu_g[f] for f in range(self.hyper["n_f"]) + ] + # Return abstract location inferred from grounded location from memory and previous abstract location + return g + + def inf_p(self, x_, g_): + """ + Infer grounded location from sensory experience and inferred abstract location for each module + Parameters + ----------- + x_: sensory input to memory + g_: abstract (grid cell) locations + Returns + ----------- + p: inferred grounded (place cell) locations + """ + # Infer grounded location from sensory experience and inferred abstract location for each module + p = [] + # Use the same transformation for each frequency module: leaky relu for sparsity + for f in range(self.hyper["n_f"]): + mu_p = self.f_p(g_[f] * x_[f]) # This is element-wise multiplication + sigma_p = 0 # Unclear from paper (typo?). Some undefined function f that takes two arguments: f(f_n(x),g) + # Either sample inferred grounded location or just take mean + if self.hyper["do_sample"]: + p.append(mu_p + sigma_p * np.random.randn()) + else: + p.append(mu_p) + # Return new memory constructed from sensory experience and inferred abstract location + return p + + def x_prev2x(self, x_prev, x_c): + """ + Perform temporal filtering on sensory experience for each frequency module + Parameters + ----------- + x_prev: previous sensory experience + x_c: current sensory experience + Returns + ----------- + x: filtered sensory experience + """ + # Calculate factor for filtering from sigmoid of learned parameter + alpha = [torch.nn.Sigmoid()(self.alpha[f]) for f in range(self.hyper["n_f"])] + # Do exponential temporal filtering for each frequency modulemod + x = [(1 - alpha[f]) * x_prev[f] + alpha[f] * x_c for f in range(self.hyper["n_f"])] + return x + + def x2x_(self, x): + """ + Prepare sensory input for input to memory by weighting and normalisation for each frequency module + Parameters + ----------- + x: sensory observation, one-hot vector + Returns + ----------- + x_: weighted and normalised sensory input to memory + """ + # Prepare sensory input for input to memory by weighting and normalisation for each frequency module + # Get normalised sensory input for each frequency module + normalised = self.f_n(x) + # Then reshape and reweight (use sigmoid to keep weight between 0 and 1) each frequency module separately: + # matrix multiplication by W_tile prepares x for outer product with g by element-wise multiplication + x_ = [ + torch.nn.Sigmoid()(self.w_p[f]) * torch.matmul(normalised[f], self.hyper["W_tile"][f]) + for f in range(self.hyper["n_f"]) + ] + return x_ + + def g2g_(self, g): + """ + Prepare abstract location for input to memory by reshaping and down-sampling for each frequency module + Parameters + ----------- + g: abstract (grid cell) locations + Returns + ----------- + g_: downsampled abstract (grid cell) locations + """ + # Prepares abstract location for input to memory by reshaping and down-sampling for each frequency module + # Get downsampled abstract location for each frequency module + downsampled = self.f_g(g) + # Then reshape and reweight each frequency module separately + g_ = [torch.matmul(downsampled[f], self.hyper["W_repeat"][f]) for f in range(self.hyper["n_f"])] + return g_ + + def f_mu_g_path(self, a_prev, g_prev, no_direc=None): + """ + Perform transition step of the TEM model. This consists of a transition from previous abstract location + to new abstract location using weights specific to + action taken for each frequency module. + Parameters + ----------- + a_prev: previous action, one-hot vector + g_prev: previous abstract (grid cell) locations + no_direc: list of booleans indicating for which walks the transition direction should be omitted + (e.g. no shiny objects, or in inference model: set to all false) + Returns + ----------- + g_step: new abstract (grid cell) locations + """ + # If there are no environments where the transition direction needs to be omitted (e.g. no shiny objects, + # or in inference model: set to all false + no_direc = [False for _ in a_prev] if no_direc is None else no_direc + # Remove all Nones from a_prev: these are walks where there was no previous action, so no step needs to + # be calculated for those + a_prev_step = [a if a is not None else 0 for a in a_prev] + # And also keep track of which walks these valid step actions are for + a_do_step = [a is not None for a in a_prev] + # Transform list of actions into batch of one-hot row vectors. + if self.hyper["has_static_action"]: + # If this world has static actions: whenever action 0 (standing still) appears, the action vector + # should be all zeros. All other actions should have a 1 in the label-1 entry + a = torch.zeros((len(a_prev_step), self.hyper["n_actions"])).scatter_( + 1, + torch.clamp(torch.tensor(a_prev_step).unsqueeze(1) - 1, min=0), + 1.0 * (torch.tensor(a_prev_step).unsqueeze(1) > 0), + ) + else: + # Without static actions: each action label should become a one-hot vector for that label + a = torch.zeros((len(a_prev_step), self.hyper["n_actions"])).scatter_( + 1, torch.tensor(a_prev_step).unsqueeze(1), 1.0 + ) + # Get vector of transition weights by feeding actions into MLP + D_a = self.MLP_D_a([a for _ in range(self.hyper["n_f"])]) + # Replace transition weights by non-directional transition weights in environments where transition direction + # needs to be omitted (can set only if any no_direc) + for f in range(self.hyper["n_f"]): + D_a[f][no_direc, :] = self.D_no_a[f] + # Reshape transition weight vector into transition matrix. The number of rows in the transition matrix is given + # by the incoming abstract location connections for each frequency module + D_a = [ + torch.reshape( + D_a[f_to], + ( + -1, + sum( + [ + self.hyper["n_g"][f_from] + for f_from in range(self.hyper["n_f"]) + if self.hyper["g_connections"][f_to][f_from] + ] + ), + self.hyper["n_g"][f_to], + ), + ) + for f_to in range(self.hyper["n_f"]) + ] + # Select the frequency modules of the previous abstract location that are connected to each frequency module, to + g_in = [ + torch.unsqueeze( + torch.cat( + [g_prev[f_from] for f_from in range(self.hyper["n_f"]) if self.hyper["g_connections"][f_to][f_from]], dim=1 + ), + 1, + ) + for f_to in range(self.hyper["n_f"]) + ] + # Reshape transition weight vector into transition matrix. The number of rows in the transition matrix is given by the + # incoming abstract location connections for each frequency module + delta = [torch.squeeze(torch.matmul(g, T)) for g, T in zip(g_in, D_a)] + # Not in the paper, but recommended by James for stability: use inferred code as *difference* in abstract location. + # Calculate new abstract location from previous abstract location and difference + g_step = [g + d if g.dim() > 1 else torch.unsqueeze(g + d, 0) for g, d in zip(g_prev, delta)] + # Not in paper, but recommended by James for stability: clamp activations between -1 and 1 + g_step = self.f_g_clamp(g_step) + # Build new abstract location from result of transition if there was one, or from prior on abstract location + # if there wasn't + return [ + torch.stack([g_step[f][batch_i, :] if do_step else self.g_init[f] for batch_i, do_step in enumerate(a_do_step)]) + for f in range(self.hyper["n_f"]) + ] + + def f_sigma_g_path(self, a_prev, g_prev): + """ + Use multi layer perceptron to generate standard deviation from all previous abstract locations, including those + that were just initialised and not real previous locations. + Parameters + ----------- + a_prev: previous action, one-hot vector + g_prev: previous abstract (grid cell) locations + Returns + ----------- + sigma_g: standard deviation of new abstract (grid cell) locations + """ + # Keep track of which walks these valid step actions are for + a_do_step = [a is not None for a in a_prev] + from_g = self.MLP_sigma_g_path(g_prev) + # And take exponent to get prior sigma for the walks that didn't have a previous location + from_prior = [torch.exp(logsig) for logsig in self.logsig_g_init] + # Now select the standard deviation generated from the previous abstract location if there was one, and the prior + # standard deviation on abstract location otherwise + return [ + torch.stack([from_g[f][batch_i, :] if do_step else from_prior[f] for batch_i, do_step in enumerate(a_do_step)]) + for f in range(self.hyper["n_f"]) + ] + + def f_mu_g_mem(self, g_downsampled): + """ + Use multi layer perceptron to generate mean of abstract location from down-sampled abstract location, obtained by + summing over sensory dimension of grounded location. + Parameters + ----------- + g_downsampled: downsampled abstract (grid cell) locations + Returns + ----------- + mu_g_mem: inferred abstract (grid cell) locations + """ + return self.MLP_mu_g_mem(g_downsampled) + + def f_sigma_g_mem(self, g_downsampled): + """ + Use multi layer perceptron to generate standard deviation of abstract location from down-sampled abstract location, + obtained by summing over sensory dimension of grounded location. + Parameters + ----------- + g_downsampled: downsampled abstract (grid cell) locations + Returns + ----------- + sigma_g_mem: standard deviation of inferred abstract (grid cell) locations + """ + sigma = self.MLP_sigma_g_mem(g_downsampled) + # Not in paper, but also offset this sigma over training, so you can reduce influence of inferred p early on + return [sigma[f] + self.hyper["p2g_scale_offset"] * self.hyper["p2g_sig_val"] for f in range(self.hyper["n_f"])] + + def f_mu_g_shiny(self, shiny): + """ + Use multi layer perceptron to generate mean of abstract location from boolean location shiny-ness. Outputs to + object vector cell modules if they're separated, + else to all abstract location modules + Parameters + ----------- + shiny: boolean location shiny-ness + Returns + ----------- + mu_g: inferred abstract (grid cell) locations + """ + mu_g = self.MLP_mu_g_shiny(shiny) + # Take absolute because James wants object vector cells to be positive + mu_g = [torch.abs(mu) for mu in mu_g] + # Then apply clamp and leaky relu to get object vector module activations, like it's done for ground location + # activations + g = self.f_p(mu_g) + return g + + def f_sigma_g_shiny(self, shiny): + """ + Use multi layer perceptron to generate standard deviation of abstract location from boolean location shiny-ness. + Outputs to object vector cell modules if they're separated, + else to all abstract location modules + Parameters + ----------- + shiny: boolean location shiny-ness + Returns + ----------- + sigma_g: standard deviation of inferred abstract (grid cell) locations + """ + return self.MLP_sigma_g_shiny(shiny) + + def f_sigma_p(self, p): + """ + Use multi layer perceptron to generate standard deviation of grounded location retrieval. + Parameters + ----------- + p: grounded (place cell) locations + Returns + ----------- + sigma_p: standard deviation of grounded (place cell) locations + """ + return self.MLP_sigma_p(p) + + def f_x(self, p): + """ + Use multi layer perceptron to generate observation from grounded location. Do this by first calculating + categorical probability distribution over observations for a given + ground location, then sampling from that distribution. + Parameters + ----------- + p: grounded (place cell) locations + Returns + ----------- + x: generated observation + logits: logits for generated observation + """ + # Calculate categorical probability distribution over observations for a given ground location + # p is the flattened (by concatenating rows - like reading sentences) outer product of g and x (p = g^T * x). + # Therefore to get the sensory experience x for a grounded location p, sum over all abstract locations + # g for each component of x. That's what the paper means when it says "sum over entorhinal preferences". + # It can be done with the transpose of W_tile + x = self.w_x * torch.matmul(p, torch.t(self.hyper["W_tile"][0])) + self.b_x + # Then we need to decompress the temporally filtered sensory experience into a single current experience prediction + logits = self.f_c_star(x) + # We'll keep both the logits (domain -inf, inf) and probabilities (domain 0, 1) because both are needed later on + probability = utils.softmax(logits) + return probability, logits + + def f_c_star(self, compressed): + """ + Use multi layer perceptron to decompress sensory experience at highest frequency + Parameters + ----------- + compressed: compressed sensory experience + Returns + ----------- + decompressed: decompressed sensory experience + """ + return self.MLP_c_star(compressed) + + def f_c(self, decompressed): + """ + Use multi layer perceptron to compress sensory experience at highest frequency + Parameters + ----------- + decompressed: decompressed sensory experience + Returns + ----------- + compressed: compressed sensory experience + """ + # Compress sensory observation from one-hot provided by world to two-hot for ease of computation + return torch.stack([self.hyper["two_hot_table"][i] for i in torch.argmax(decompressed, dim=1)], dim=0) + + def f_n(self, x): + """ + Normalise sensory observation for each frequency module. + Parameters + ----------- + x: sensory observation, one-hot vector + Returns + ----------- + normalised: normalised sensory observation + """ + normalised = [utils.normalise(utils.relu(x[f] - torch.mean(x[f]))) for f in range(self.hyper["n_f"])] + return normalised + + def f_g(self, g): + """ + Downsample abstract location for each frequency module. + Parameters + ----------- + g: abstract (grid cell) locations + Returns + ----------- + downsampled: downsampled abstract (grid cell) locations + """ + downsampled = [torch.matmul(g[f], self.hyper["g_downsample"][f]) for f in range(self.hyper["n_f"])] + return downsampled + + def f_g_clamp(self, g): + """ + Calculate activation for abstract location, thresholding between -1 and 1. + Parameters + ----------- + g: abstract (grid cell) locations + Returns + ----------- + activation: activation for abstract (grid cell) locations + """ + activation = [torch.clamp(g_f, min=-1, max=1) for g_f in g] + return activation + + def f_p(self, p): + """ + Calculate activation for inferred grounded location, using a leaky relu for sparsity. Either apply to full + multi-frequency grounded location or single frequency module. + Parameters + ----------- + p: grounded (place cell) locations + Returns + ----------- + activation: activation for grounded (place cell) locations + """ + activation = ( + [utils.leaky_relu(torch.clamp(p_f, min=-1, max=1)) for p_f in p] + if type(p) is list + else utils.leaky_relu(torch.clamp(p, min=-1, max=1)) + ) + return activation + + def attractor(self, p_query, M, retrieve_it_mask=None): + """ + Retrieve grounded location from attractor network memory with weights M by pattern-completing query. For example, + initial attractor input can come from abstract location + (g_) or sensory experience (x_). + Parameters + ----------- + p_query: initial attractor input + M: memory connectivity matrix + retrieve_it_mask: mask for hierarchical retrieval + Returns + ----------- + p: retrieved grounded (place cell) locations + """ + # Start by flattening query grounded locations across frequency modules + h_t = torch.cat(p_query, dim=1) + # Apply activation function to initial memory index + h_t = self.f_p(h_t) + # Hierarchical retrieval (not in paper) is implemented by early stopping retrieval for low frequencies, + # using a mask. If not specified: initialise mask as all 1s + retrieve_it_mask = ( + [torch.ones(sum(self.hyper["n_p"])) for _ in range(self.hyper["n_p"])] + if retrieve_it_mask is None + else retrieve_it_mask + ) + # Iterate attractor dynamics to do pattern completion + for tau in range(self.hyper["i_attractor"]): + # Apply one iteration of attractor dynamics, but only where there is a 1 in the mask. NB retrieve_it_mask + # entries have only one row, but are broadcasted to batch_size + h_t = (1 - retrieve_it_mask[tau]) * h_t + retrieve_it_mask[tau] * ( + self.f_p(self.hyper["kappa"] * h_t + torch.squeeze(torch.matmul(torch.unsqueeze(h_t, 1), M))) + ) + # Make helper list of cumulative neurons per frequency module for grounded locations + n_p = np.cumsum(np.concatenate(([0], self.hyper["n_p"]))) + # Now re-cast the grounded location into different frequency modules, since memory retrieval turned it + # into one long vector + p = [h_t[:, n_p[f] : n_p[f + 1]] for f in range(self.hyper["n_f"])] + return p + + def hebbian(self, M_prev, p_inferred, p_generated, do_hierarchical_connections=True): + """ + Update attractor network memory by Hebbian learning of pattern. For example, initial attractor input can + come from abstract location (g_) or sensory experience (x_). + Parameters + ----------- + M_prev: previous memory connectivity matrix + p_inferred: inferred grounded (place cell) locations + p_generated: generated grounded (place cell) locations + do_hierarchical_connections: whether to use hierarchical connections + Returns + ----------- + M: updated memory connectivity matrix + """ + # Create new ground memory for attractor network by setting weights to outer product of learned vectors + # p_inferred corresponds to p in the paper, and p_generated corresponds to p^. + # The order of p + p^ and p - p^ is reversed since these are row vectors, instead of column vectors in the paper. + M_new = torch.squeeze( + torch.matmul(torch.unsqueeze(p_inferred + p_generated, 2), torch.unsqueeze(p_inferred - p_generated, 1)) + ) + # Multiply by connection vector, e.g. only keeping weights from low to high frequencies for hierarchical retrieval + if do_hierarchical_connections: + M_new = M_new * self.hyper["p_update_mask"] + # Store grounded location in attractor network memory with weights M by Hebbian learning of pattern + M = torch.clamp(self.hyper["lambda"] * M_prev + self.hyper["eta"] * M_new, min=-1, max=1) + return M + + +class MLP(torch.nn.Module): + """ + Class for multi layer perceptron with multiple modules. Each module has two layers: input->hidden and hidden->output. + """ + + def __init__(self, in_dim, out_dim, activation=(torch.nn.functional.elu, None), hidden_dim=None, bias=(True, True)): + """ + Initialise multi layer perceptron with multiple modules. + """ + # First call super class init function to set up torch.nn.Module style model and inherit it's functionality + super(MLP, self).__init__() + # Check if this network consists of module: are input and output dimensions lists? If not, make them + # (but remember it wasn't) + if type(in_dim) is list: + self.is_list = True + else: + in_dim = [in_dim] + out_dim = [out_dim] + self.is_list = False + # Find number of modules + self.N = len(in_dim) + # Create weights (input->hidden, hidden->output) for each module + self.w = torch.nn.ModuleList([]) + for n in range(self.N): + # If number of hidden dimensions is not specified: mean of input and output + if hidden_dim is None: + hidden = int(np.mean([in_dim[n], out_dim[n]])) + else: + hidden = hidden_dim[n] if self.is_list else hidden_dim + # Each module has two sets of weights: input->hidden and hidden->output + self.w.append( + torch.nn.ModuleList( + [torch.nn.Linear(in_dim[n], hidden, bias=bias[0]), torch.nn.Linear(hidden, out_dim[n], bias=bias[1])] + ) + ) + # Copy activation function for hidden layer and output layer + self.activation = activation + # Initialise all weights + with torch.no_grad(): + for from_layer in range(2): + for n in range(self.N): + # Set weights to xavier initalisation + torch.nn.init.xavier_normal_(self.w[n][from_layer].weight) + # Set biases to 0 + if bias[from_layer]: + self.w[n][from_layer].bias.fill_(0.0) + + def set_weights(self, from_layer, value): + """ + Set weights for each module from a given layer to a given value. + Parameters + ----------- + from_layer: layer from which to set weights + value: value to set weights to + """ + # If single value is provided: copy it for each module + if type(value) is not list: + input_value = [value for n in range(self.N)] + else: + input_value = value + # Run through all modules and set weights starting from requested layer to the specified value + with torch.no_grad(): + # MLP is setup as follows: w[module][layer] is Linear object, w[module][layer].weight is Parameter object for + # linear weights, w[module][layer].weight.data is tensor of weight values + for n in range(self.N): + # If a tensor is provided: copy the tensor to the weights + if type(input_value[n]) is torch.Tensor: + self.w[n][from_layer].weight.copy_(input_value[n]) + # If only a single value is provided: set that value everywhere + else: + self.w[n][from_layer].weight.fill_(input_value[n]) + + def forward(self, data): + """ + Run input data through MLP network. + Parameters + ----------- + data: input data + Returns + ----------- + output: output data + """ + # Make input data into list, if this network doesn't consist of modules + if self.is_list: + input_data = data + else: + input_data = [data] + # Run input through network for each module + output = [] + for n in range(self.N): + # Pass through first weights from input to hidden layer + module_output = self.w[n][0](input_data[n]) + # Apply hidden layer activation + if self.activation[0] is not None: + module_output = self.activation[0](module_output) + # Pass through second weights from hidden to output layer + module_output = self.w[n][1](module_output) + # Apply output layer activation + if self.activation[1] is not None: + module_output = self.activation[1](module_output) + # Transpose output again to go back to column vectors instead of row vectors + output.append(module_output) + # If this network doesn't consist of modules: select output from first module to return + if not self.is_list: + output = output[0] + # And return output + return output + + +class LSTM(torch.nn.Module): + """ + Class for LSTM with multiple layers. + """ + + def __init__(self, in_dim, hidden_dim, out_dim, n_layers=1, n_a=4): + """ + Initialise LSTM with multiple layers. + """ + # First call super class init function to set up torch.nn.Module style model and inherit it's functionality + super(LSTM, self).__init__() + # LSTM layer + self.lstm = torch.nn.LSTM(in_dim, hidden_dim, n_layers, batch_first=True) + # Hidden to output + self.lin = torch.nn.Linear(hidden_dim, out_dim) + # Copy number of actions, will be needed for input data vector + self.n_a = n_a + + def forward(self, data, prev_hidden=None): + """ + Run input data through LSTM network. + Parameters + ----------- + data: input data + prev_hidden: previous hidden state + Returns + ----------- + out: output data + lstm_hidden: hidden state + """ + # If previous hidden and cell state are not provided: initialise them randomly + if prev_hidden is None: + hidden_state = torch.randn(self.lstm.num_layers, data.shape[0], self.lstm.hidden_size) + cell_state = torch.randn(self.lstm.num_layers, data.shape[0], self.lstm.hidden_size) + prev_hidden = (hidden_state, cell_state) + # Run input through lstm + lstm_out, lstm_hidden = self.lstm(data, prev_hidden) + # Apply linear network to lstm output to get output: prediction at each timestep + lin_out = self.lin(lstm_out) + # And since we want a one-hot prediciton: do softmax on top + out = utils.softmax(lin_out) + # Return output and hidden state + return out, lstm_hidden + + def prepare_data(self, data_in): + """ + Prepare input data for LSTM network. + Parameters + ----------- + data_in: input data + Returns + ----------- + data: prepared input data + """ + # Transform list of actions of each step into batch of one-hot row vectors + actions = [ + torch.zeros((len(step[2]), self.n_a)).scatter_(1, torch.tensor(step[2]).unsqueeze(1), 1.0) for step in data_in + ] + # Concatenate observation and action together along column direction in each step + vectors = [torch.cat((step[1], action), dim=1) for step, action in zip(data_in, actions)] + # Then stack all these together along the second dimension, which is sequence length + data = torch.stack(vectors, dim=1) + # Return data in [batch_size, seq_len, input_dim] dimension as expected by lstm + return data + + +class Iteration: + """ + Class for storing all data from one iteration of the model. + """ + + def __init__( + self, + g=None, + x=None, + a=None, + L=None, + M=None, + g_gen=None, + p_gen=None, + x_gen=None, + x_logits=None, + x_inf=None, + g_inf=None, + p_inf=None, + ): + """ + Initialise iteration with all data from one iteration of the model. + """ + # Copy all inputs + self.g = g + self.x = x + self.a = a + self.L = L + self.M = M + self.g_gen = g_gen + self.p_gen = p_gen + self.x_gen = x_gen + self.x_logits = x_logits + self.x_inf = x_inf + self.g_inf = g_inf + self.p_inf = p_inf + + def correct(self): + """ + Calculate accuracy of model prediction for this iteration. + Returns + ----------- + accuracy: accuracy of model prediction for this iteration + """ + # Detach observation and all predictions + observation = self.x.detach().numpy() + predictions = [tensor.detach().numpy() for tensor in self.x_gen] + # Did the model predict the right observation in this iteration? + accuracy = [np.argmax(prediction, axis=-1) == np.argmax(observation, axis=-1) for prediction in predictions] + return accuracy + + def detach(self): + """ + Detach all tensors contained in this iteration. + Returns + ----------- + self: iteration with all tensors detached + """ + # Detach all tensors contained in this iteration + self.L = [tensor.detach() for tensor in self.L] + self.M = [tensor.detach() for tensor in self.M] + self.g_gen = [tensor.detach() for tensor in self.g_gen] + self.p_gen = [tensor.detach() for tensor in self.p_gen] + self.x_gen = [tensor.detach() for tensor in self.x_gen] + self.x_inf = [tensor.detach() for tensor in self.x_inf] + self.g_inf = [tensor.detach() for tensor in self.g_inf] + self.p_inf = [tensor.detach() for tensor in self.p_inf] + # Return self after detaching everything + return self diff --git a/neuralplayground/agents/whittington_2020_extras/whittington_2020_parameters.py b/neuralplayground/agents/whittington_2020_extras/whittington_2020_parameters.py new file mode 100644 index 00000000..71da21df --- /dev/null +++ b/neuralplayground/agents/whittington_2020_extras/whittington_2020_parameters.py @@ -0,0 +1,386 @@ +import numpy as np +import torch +from scipy.special import comb + + +def parameters(): + """ + Set all parameters for the TEM model. This is a function so that it can be called from other scripts, + e.g. to load parameters from a file. + """ + params = {} + # -- World parameters + # Does this world include the standing still action? + params["has_static_action"] = True + # Number of available actions, excluding the stand still action (since standing still has an action vector + # full of zeros, it won't add to the action vector dimension) + params["n_actions"] = 4 + # Bias for explorative behaviour to pick the same action again, to encourage straight walks + params["explore_bias"] = 2 + # Rate at which environments with shiny objects occur between training environments. Set to 0 for no + # shiny environments at all + params["shiny_rate"] = 0 + # Discount factor in calculating Q-values to generate shiny object oriented behaviour + params["shiny_gamma"] = 0.7 + # Inverse temperature for shiny object behaviour to pick actions based on Q-values + params["shiny_beta"] = 1.5 + # Number of shiny objects in the arena + params["shiny_n"] = 2 + # Number of times to return to a shiny object after finding it + params["shiny_returns"] = 15 + # Group all shiny parameters together to pass them to the world object + params["shiny"] = { + "gamma": params["shiny_gamma"], + "beta": params["shiny_beta"], + "n": params["shiny_n"], + "returns": params["shiny_returns"], + } + + # -- Traning parameters + # Number of walks to generate + params["train_it"] = 20000 + # Number of steps to roll out before backpropagation through time + params["n_rollout"] = 20 + # Saving interval + params["save_interval"] = 1000 + # Number of environments to save + params["n_envs_save"] = 6 + # Batch size: number of walks for training simultaneously + params["batch_size"] = 16 + # Other relevant parameters + params["state_density"] = 1 + # Minimum length of a walk on one environment. Walk lengths are sampled uniformly from a window that + # shifts down until its lower limit is walk_it_min at the end of training + params["walk_it_min"] = 25 + # Maximum length of a walk on one environment. Walk lengths are sampled uniformly from a window that + # starts with its upper limit at walk_it_max in the beginning of training, then shifts down + params["walk_it_max"] = 300 + # Width of window from which walk lengths are sampled: at any moment, new walk lengths are sampled + # window_center +/- 0.5 * walk_it_window where window_center shifts down + params["walk_it_window"] = 0.2 * (params["walk_it_max"] - params["walk_it_min"]) + # Weights of prediction losses + params["loss_weights_x"] = 1 + # Weights of grounded location losses + params["loss_weights_p"] = 1 + # Weights of abstract location losses + params["loss_weights_g"] = 1 + # Weights of regularisation losses + params["loss_weights_reg_g"] = 0.01 + params["loss_weights_reg_p"] = 0.02 + # Weights of losses: re-balance contributions of all losses + params["loss_weights"] = torch.tensor( + [ + params["loss_weights_p"], + params["loss_weights_p"], + params["loss_weights_x"], + params["loss_weights_x"], + params["loss_weights_x"], + params["loss_weights_g"], + params["loss_weights_reg_g"], + params["loss_weights_reg_p"], + ], + dtype=torch.float, + ) + # Number of backprop iters until latent parameter losses (L_p_g, L_p_x, L_g) are all fully weighted + params["loss_weights_p_g_it"] = 2000 + # Number of backptrop iters until regularisation losses are fully weighted + params["loss_weights_reg_p_it"] = 4000 + params["loss_weights_reg_g_it"] = 40000000 + # Number of backprop iters until eta is (rate of remembering) completely 'on' + params["eta_it"] = 16000 + # Number of backprop iters until lambda (rate of forgetting) is completely 'on' + params["lambda_it"] = 200 + # Determine how much to use an offset for the standard deviation of the inferred grounded location + # to reduce its influence + params["p2g_scale_offset"] = 0 + # Additional value to offset standard deviation of inferred grounded location when inferring new + # abstract location, to reduce influence in precision weighted mean + params["p2g_sig_val"] = 10000 + # Set number of iterations where offset scaling should be 0.5 + params["p2g_sig_half_it"] = 400 + # Set how fast offset scaling should decrease - after p2g_sig_half_it + p2g_sig_scale_it the offset + # scaling is down to ~0.25 (1/(1+e) to be exact) + params["p2g_sig_scale_it"] = 200 + # Maximum learning rate + params["lr_max"] = 9.4e-4 + # Minimum learning rate + params["lr_min"] = 8e-5 + # Rate of learning rate decay + params["lr_decay_rate"] = 0.5 + # Steps of learning rate decay + params["lr_decay_steps"] = 4000 + # Number of rollouts in each iteration + params["n_walks"] = generate_n_walk(params) + + # -- Model parameters + # Decide whether to sample, or assume no noise and simply take mean of all distributions + params["do_sample"] = False + # Decide whether to use inferred ground location while inferring new abstract location, instead of + # only previous grounded location (James's infer_g_type) + params["use_p_inf"] = True + # Decide whether to use seperate grid modules that recieve shiny information for object vector cells. + # To disable OVC, set this False, and set n_ovc to [0 for _ in range(len(params['n_g_subsampled']))] + params["separate_ovc"] = False + # Standard deviation for initial initial g (which will then be learned) + params["g_init_std"] = 0.5 + # Standard deviation to initialise hidden to output layer of MLP for inferring new abstract location + # from memory of grounded location + params["g_mem_std"] = 0.1 + # Hidden layer size of MLP for abstract location transitions + params["d_hidden_dim"] = 20 + + # ---- Neuron and module parameters + # Neurons for subsampled entorhinal abstract location f_g(g) for each frequency module + params["n_g_subsampled"] = [10, 10, 8, 6, 6] + # Neurons for object vector cells. Neurons will get new modules if object vector cell modules are + # separated; otherwise, they are added to existing abstract location modules. + # a) No additional modules, no additional object vector neurons (e.g. when not using shiny + # environments): [0 for _ in range(len(params['n_g_subsampled']))], and separate_ovc set to False + # b) No additional modules, but n additional object vector neurons in each grid module: + # [n for _ in range(len(params['n_g_subsampled']))], and separate_ovc set to False + # c) Additional separate object vector modules, with n, m neurons: [n, m], and separate_ovc set to True + params["n_ovc"] = [0 for _ in range(len(params["n_g_subsampled"]))] + # Add neurons for object vector cells. Add new modules if object vector cells get separate modules, + # or else add neurons to existing modules + params["n_g_subsampled"] = ( + params["n_g_subsampled"] + params["n_ovc"] + if params["separate_ovc"] + else [grid + ovc for grid, ovc in zip(params["n_g_subsampled"], params["n_ovc"])] + ) + # Number of hierarchical frequency modules for object vector cells + params["n_f_ovc"] = len(params["n_ovc"]) if params["separate_ovc"] else 0 + # Number of hierarchical frequency modules for grid cells + params["n_f_g"] = len(params["n_g_subsampled"]) - params["n_f_ovc"] + # Total number of modules + params["n_f"] = len(params["n_g_subsampled"]) + # Number of neurons of entorhinal abstract location g for each frequency + params["n_g"] = [3 * g for g in params["n_g_subsampled"]] + # Neurons for sensory observation x + params["n_x"] = 45 + # Neurons for compressed sensory experience x_c + params["n_x_c"] = 10 + # Neurons for temporally filtered sensory experience x for each frequency + params["n_x_f"] = [params["n_x_c"] for _ in range(params["n_f"])] + # Neurons for hippocampal grounded location p for each frequency + params["n_p"] = [g * x for g, x in zip(params["n_g_subsampled"], params["n_x_f"])] + # Initial frequencies of each module. For ease of interpretation (higher number = higher + # frequency) this is 1 - the frequency as James uses it + params["f_initial"] = [0.99, 0.3, 0.09, 0.03, 0.01] + # Add frequencies of object vector cell modules, if object vector cells get separate modules + params["f_initial"] = params["f_initial"] + params["f_initial"][0 : params["n_f_ovc"]] + + # ---- Memory parameters + # Use common memory for generative and inference network + params["common_memory"] = False + # Hebbian rate of forgetting + params["lambda"] = 0.9999 + # Hebbian rate of remembering + params["eta"] = 0.5 + # Hebbian retrieval decay term + params["kappa"] = 0.8 + # Number of iterations of attractor dynamics for memory retrieval + params["i_attractor"] = params["n_f_g"] + # Maximum iterations of attractor dynamics per frequency in inference model, so you can early + # stop low-frequency modules. Set to None for no early stopping + params["i_attractor_max_freq_inf"] = [params["i_attractor"] for _ in range(params["n_f"])] + # Maximum iterations of attractor dynamics per frequency in generative model, so you can early + # stop low-frequency modules. Don't early stop for object vector cell modules. + params["i_attractor_max_freq_gen"] = [params["i_attractor"] - freq_nr for freq_nr in range(params["n_f_g"])] + [ + params["i_attractor"] for _ in range(params["n_f_ovc"]) + ] + + # --- Connectivity matrices + # Set connections when forming Hebbian memory of grounded locations: from low frequency modules to high. + # High frequency modules come first (different from James!) + params["p_update_mask"] = torch.zeros((np.sum(params["n_p"]), np.sum(params["n_p"])), dtype=torch.float) + n_p = np.cumsum(np.concatenate(([0], params["n_p"]))) + # Entry M_ij (row i, col j) is the connection FROM cell i TO cell j. Memory is retrieved by + # h_t+1 = h_t * M, i.e. h_t+1_j = sum_i {connection from i to j * h_t_i} + for f_from in range(params["n_f"]): + for f_to in range(params["n_f"]): + # For connections that involve separate object vector modules: these are connected to all normal + # modules, but hierarchically between object vector modules + if f_from > params["n_f_g"] or f_to > params["n_f_g"]: + # If this is a connection between object vector modules: only allow for connection from + # low to high frequency + if f_from > params["n_f_g"] and f_to > params["n_f_g"]: + if params["f_initial"][f_from] <= params["f_initial"][f_to]: + params["p_update_mask"][n_p[f_from] : n_p[f_from + 1], n_p[f_to] : n_p[f_to + 1]] = 1.0 + # If this is a connection to between object vector and normal modules: allow any connections, + # in both directions + else: + params["p_update_mask"][n_p[f_from] : n_p[f_from + 1], n_p[f_to] : n_p[f_to + 1]] = 1.0 + # Else: this is a connection between abstract location frequency modules; only allow for connections + # if it goes from low to high frequency + else: + if params["f_initial"][f_from] <= params["f_initial"][f_to]: + params["p_update_mask"][n_p[f_from] : n_p[f_from + 1], n_p[f_to] : n_p[f_to + 1]] = 1.0 + # During memory retrieval, hierarchical memory retrieval of grounded location is implemented by early-stopping + # low-frequency memory updates, using a mask for updates at every retrieval iteration + params["p_retrieve_mask_inf"] = [torch.zeros(sum(params["n_p"])) for _ in range(params["i_attractor"])] + params["p_retrieve_mask_gen"] = [torch.zeros(sum(params["n_p"])) for _ in range(params["i_attractor"])] + # Build masks for each retrieval iteration + for mask, max_iters in zip( + [params["p_retrieve_mask_inf"], params["p_retrieve_mask_gen"]], + [params["i_attractor_max_freq_inf"], params["i_attractor_max_freq_gen"]], + ): + # For each frequency, we get the number of update iterations, and insert ones in the mask for those iterations + for f, max_i in enumerate(max_iters): + # Update masks up to maximum iteration + for i in range(max_i): + mask[i][n_p[f] : n_p[f + 1]] = 1.0 + # In path integration, abstract location frequency modules can influence the transition of other + # modules hierarchically (low to high). Set for each frequency module from which other frequencies + # input is received + params["g_connections"] = [ + [params["f_initial"][f_from] <= params["f_initial"][f_to] for f_from in range(params["n_f_g"])] + + [False for _ in range(params["n_f_ovc"])] + for f_to in range(params["n_f_g"]) + ] + # Add connections for separate object vector cell module: only between object vector cell modules - and make + # those hierarchical too + params["g_connections"] = params["g_connections"] + [ + [False for _ in range(params["n_f_g"])] + + [params["f_initial"][f_from] <= params["f_initial"][f_to] for f_from in range(params["n_f_g"], params["n_f"])] + for f_to in range(params["n_f_g"], params["n_f"]) + ] + + # ---- Static matrices + # Matrix for repeating abstract location g to do outer product with sensory information x with elementwise product. + # Also see (*) note at bottom + params["W_repeat"] = [ + torch.tensor(np.kron(np.eye(params["n_g_subsampled"][f]), np.ones((1, params["n_x_f"][f]))), dtype=torch.float) + for f in range(params["n_f"]) + ] + # Matrix for tiling sensory observation x to do outer product with abstract with elementwise product. + # Also see (*) note at bottom + params["W_tile"] = [ + torch.tensor(np.kron(np.ones((1, params["n_g_subsampled"][f])), np.eye(params["n_x_f"][f])), dtype=torch.float) + for f in range(params["n_f"]) + ] + # Table for converting one-hot to two-hot compressed representation + params["two_hot_table"] = [[0] * (params["n_x_c"] - 2) + [1] * 2] + # We need a compressed code for each possible observation, but it's impossible to have more compressed codes + # than "n_x_c choose 2" + for i in range(1, min(int(comb(params["n_x_c"], 2)), params["n_x"])): + # Copy previous code + code = params["two_hot_table"][-1].copy() + # Find latest occurrence of [0 1] in that code + swap = [index for index in range(len(code) - 1, -1, -1) if code[index : index + 2] == [0, 1]][0] + # Swap those to get new code + code[swap : swap + 2] = [1, 0] + # If the first one was swapped: value after swapped pair is 1 + if swap + 2 < len(code) and code[swap + 2] == 1: + # In that case: move the second 1 all the way back - reverse everything after the swapped pair + code[swap + 2 :] = code[: swap + 1 : -1] + # And append new code to array + params["two_hot_table"].append(code) + # Convert each code to column vector pytorch tensor + params["two_hot_table"] = [torch.tensor(code) for code in params["two_hot_table"]] + # Downsampling matrix to go from grid cells to compressed grid cells for indexing memories by simply taking + # only the first n_g_subsampled grid cells + params["g_downsample"] = [ + torch.cat([torch.eye(dim_out, dtype=torch.float), torch.zeros((dim_in - dim_out, dim_out), dtype=torch.float)]) + for dim_in, dim_out in zip(params["n_g"], params["n_g_subsampled"]) + ] + return params + + +# This specifies how parameters are updated at every backpropagation iteration/gradient update +def parameter_iteration(iteration, params): + """ + Update parameters at every backpropagation iteration/gradient update. + Parameters + ---------- + iteration : int + Current iteration/gradient update. + params : dict + Dictionary of parameters. + Returns + ------- + eta : float + Hebbian rate of remembering. + lamb : float + Hebbian rate of forgetting. + p2g_scale_offset : float + Scaling of variance offset for grounded location inference. + lr : float + Learning rate. + walk_length_center : float + Center of walk length window, within which the walk lenghts of new walks are uniformly sampled. + loss_weights : torch.tensor + Current loss weights. + """ + # Calculate eta (rate of remembering) and lambda (rate of forgetting) for Hebbian memory updates + eta = min((iteration + 1) / params["eta_it"], 1) * params["eta"] + lamb = min((iteration + 1) / params["lambda_it"], 1) * params["lambda"] + # Calculate current scaling of variance offset for ground location inference + p2g_scale_offset = 1 / (1 + np.exp((iteration - params["p2g_sig_half_it"]) / params["p2g_sig_scale_it"])) + # Calculate current learning rate + lr = max( + params["lr_min"] + + (params["lr_max"] - params["lr_min"]) * (params["lr_decay_rate"] ** (iteration / params["lr_decay_steps"])), + params["lr_min"], + ) + # Calculate center of walk length window, within which the walk lenghts of new walks are uniformly sampled + walk_length_center = ( + params["walk_it_max"] + - params["walk_it_window"] * 0.5 + - min((iteration + 1) / params["train_it"], 1) + * (params["walk_it_max"] - params["walk_it_min"] - params["walk_it_window"]) + ) + # Calculate current loss weights + L_p_g = min((iteration + 1) / params["loss_weights_p_g_it"], 1) * params["loss_weights_p"] + L_p_x = min((iteration + 1) / params["loss_weights_p_g_it"], 1) * params["loss_weights_p"] * (1 - p2g_scale_offset) + L_x_gen = params["loss_weights_x"] + L_x_g = params["loss_weights_x"] + L_x_p = params["loss_weights_x"] + L_g = min((iteration + 1) / params["loss_weights_p_g_it"], 1) * params["loss_weights_g"] + L_reg_g = (1 - min((iteration + 1) / params["loss_weights_reg_g_it"], 1)) * params["loss_weights_reg_g"] + L_reg_p = (1 - min((iteration + 1) / params["loss_weights_reg_p_it"], 1)) * params["loss_weights_reg_p"] + # And concatenate them in the order expected by the model + loss_weights = torch.tensor([L_p_g, L_p_x, L_x_gen, L_x_g, L_x_p, L_g, L_reg_g, L_reg_p]) + # Return all updated parameters + return eta, lamb, p2g_scale_offset, lr, walk_length_center, loss_weights + + +def generate_n_walk(params): + """ + Generate number of steps to roll out before backpropagation through time for each iteration. + Parameters + ---------- + params : dict + Dictionary of parameters. + Returns + ------- + n_walks : list + List of number of steps to roll out before backpropagation through time for each iteration. + """ + n_walks = [] + for iter in range(params["train_it"]): + n_steps = ( + params["walk_it_max"] + - params["walk_it_window"] * 0.5 + - min((iter + 1) / params["train_it"], 1) + * (params["walk_it_max"] - params["walk_it_min"] - params["walk_it_window"]) + ) + n_walks.append(round(n_steps / params["n_rollout"])) + return n_walks + + +# (*) Note on W_tile and W_repeat: +# W_tile and W_repeat are for calculating outer products then vector flattening by matrix multiplication then +# elementwise product: +# g = np.random.rand(4,1) +# x = np.random.rand(3,1) +# out1 = np.matmul(g,np.transpose(x)).reshape((4*3,1)) +# W_repeat = np.kron(np.eye(4),np.ones((3,1))) +# W_tile = np.kron(np.ones((4,1)),np.eye(3)) +# out2 = np.matmul(W_repeat,g) * np.matmul(W_tile,x) +# Or in the case of row vectors, which is what you'd do for batch calculation: +# g = g.T +# x = x.T +# out3 = np.matmul(np.transpose(g), x).reshape((1,4*3)) # Notice how this is not batch-proof! +# W_repeat = np.kron(np.eye(4), np.ones((1,3))) +# W_tile = np.kron(np.ones((1,4)),np.eye(3)) +# out4 = np.matmul(g, W_repeat) * np.matmul(x,W_tile) # This is batch-proof diff --git a/neuralplayground/agents/whittington_2020_extras/whittington_2020_utils.py b/neuralplayground/agents/whittington_2020_extras/whittington_2020_utils.py new file mode 100644 index 00000000..de5b353b --- /dev/null +++ b/neuralplayground/agents/whittington_2020_extras/whittington_2020_utils.py @@ -0,0 +1,330 @@ +import copy as cp +import datetime +import logging +import os + +import numpy as np +import torch + + +def inv_var_weight(mus, sigmas): + """ + Calculates tensors of inverse-variance weighted averages and tensors of inverse-variance weighted standard deviations. + Parameters + ---------- + mus : list of torch tensors + List of tensors of means of distributions + sigmas : list of torch tensors + List of tensors of standard deviations of distributions + """ + # Stack vectors together along first dimension + mus = torch.stack(mus, dim=0) + sigmas = torch.stack(sigmas, dim=0) + # Calculate inverse variance weighted variance from sum over reciprocal of squared sigmas + inv_var_var = 1.0 / torch.sum(1.0 / (sigmas**2), dim=0) + # Calculate inverse variance weighted average + inv_var_avg = torch.sum(mus / (sigmas**2), dim=0) * inv_var_var + # Convert weigthed variance to sigma + inv_var_sigma = torch.sqrt(inv_var_var) + # And return results + return inv_var_avg, inv_var_sigma + + +def softmax(x): + """ + Calculates softmax of input tensor x. + """ + # Return torch softmax + return torch.nn.Softmax(dim=-1)(x) + + +def normalise(x): + """ + Normalises (L2) vector of input to unit norm, using torch normalise function. + """ + return torch.nn.functional.normalize(x, p=2, dim=-1) + + +def relu(x): + """ + Applies rectified linear activation unit to tensors of inputs, using torch relu funcion + """ + return torch.nn.functional.relu(x) + + +def leaky_relu(x): + """ + Applies leaky (meaning small negative slope instead of zeros) rectified linear activation unit to tensors + of inputs, using torch leaky relu funcion + """ + return torch.nn.functional.leaky_relu(x) + + +def squared_error(value, target): + """ + Calculates mean squared error (L2 norm) between (list of) tensors value and target by using torch MSE loss. + Parameters + ---------- + value : torch tensor + Tensor of values + target : torch tensor + Tensor of targets + Returns + ------- + loss : torch tensor + Tensor of mean squared errors + """ + # Return torch MSE loss + if type(value) is list: + loss = [0.5 * torch.sum(torch.nn.MSELoss(reduction="none")(value[i], target[i]), dim=-1) for i in range(len(value))] + else: + loss = 0.5 * torch.sum(torch.nn.MSELoss(reduction="none")(value, target), dim=-1) + return loss + + +def cross_entropy(value, target): + """ + Calculates binary cross entropy between tensors value and target by using torch cross entropy loss. + Parameters + ---------- + value : torch tensor + Tensor of values + target : torch tensor + Tensor of targets + Returns + ------- + loss : torch tensor + Tensor of binary cross entropies + """ + # Return torch BCE loss + if type(value) is list: + loss = [torch.nn.CrossEntropyLoss(reduction="none")(val, targ) for val, targ in zip(value, target)] + else: + loss = torch.nn.CrossEntropyLoss(reduction="none")(value, target) + return loss + + +def downsample(value, target_dim): + """ + Does downsampling by taking the an input vector, then averaging chunks to make it of requested dimension. + Parameters + ---------- + value : torch tensor + Tensor of values + target_dim : int + Target dimension of output vector + Returns + ------- + downsample : torch tensor + Tensor of values, downsampled to target_dim + """ + # Get input dimension + value_dim = value.size()[-1] + # Set places to break up input vector into chunks + edges = np.append(np.round(np.arange(0, value_dim, float(value_dim) / target_dim)), value_dim).astype(int) + # Create downsampling matrix + downsample = torch.zeros((value_dim, target_dim), dtype=torch.float) + # Fill downsampling matrix with chunks + for curr_entry in range(target_dim): + downsample[edges[curr_entry] : edges[curr_entry + 1], curr_entry] = torch.tensor( + 1.0 / (edges[curr_entry + 1] - edges[curr_entry]), dtype=torch.float + ) + # Do downsampling by matrix multiplication + return torch.matmul(value, downsample) + + +def make_directories(): + """ + Returns directories for storing data during a model training run. + """ + # Get current date for saving folder + date = datetime.datetime.today().strftime("%Y-%m-%d") + # Initialise the run and dir_check to create a new run folder within the current date + run = 0 + dir_check = True + # Initialise all pahts + train_path, model_path, save_path, script_path, run_path = None, None, None, None, None + # Find the current run: the first run that doesn't exist yet + while dir_check: + # Construct new paths + run_path = "../Summaries2/" + date + "/torch_run" + str(run) + "/" + train_path = run_path + "train" + model_path = run_path + "model" + save_path = run_path + "save" + script_path = run_path + "script" + envs_path = script_path + "/envs" + run += 1 + # And once a path doesn't exist yet: create new folders + if not os.path.exists(train_path) and not os.path.exists(model_path) and not os.path.exists(save_path): + os.makedirs(train_path) + os.makedirs(model_path) + os.makedirs(save_path) + os.makedirs(script_path) + os.makedirs(envs_path) + dir_check = False + # Return folders to new path + return run_path, train_path, model_path, save_path, script_path, envs_path + + +def set_directories(date, run): + """ + Returns directories for storing data during a model training run. + """ + # Initialise all pahts + train_path, model_path, save_path, script_path, run_path = None, None, None, None, None + # Find the current run: the first run that doesn't exist yet + run_path = "../Summaries/" + date + "/run" + str(run) + "/" + train_path = run_path + "train" + model_path = run_path + "model" + save_path = run_path + "save" + script_path = run_path + "script" + envs_path = script_path + "/envs" + # Return folders to new path + return run_path, train_path, model_path, save_path, script_path, envs_path + + +def make_logger(run_path): + """ + Creates a logger object for logging training progress. + Parameters + ---------- + run_path : str + Path to the run folder + Returns + ------- + logger : logger object + Logger object for logging training progress + """ + # Create new logger + logger = logging.getLogger(__name__) + logger.setLevel(logging.INFO) + # Remove anly existing handlers so you don't output to old files, or to new files twice + logger.handlers = [] + # Create a file handler, but only if the handler does + handler = logging.FileHandler(run_path + "report.log") + handler.setLevel(logging.INFO) + # Create a logging format + formatter = logging.Formatter("%(asctime)s: %(message)s") + handler.setFormatter(formatter) + # Add the handlers to the logger + logger.addHandler(handler) + # Return the logger object + return logger + + +def prepare_data_maps(data, prev_cell_maps, positions, pars): + """ + Prepare data for online cell normalisation. + Parameters + ---------- + data : list of torch tensors + List of tensors of data + prev_cell_maps : list of torch tensors + List of tensors of previous cell maps + positions : list of torch tensors + List of tensors of positions + pars : dict + Dictionary of parameters + Returns + ------- + cell_list : list of torch tensors + List of tensors of cell maps + positions : list of torch tensors + List of tensors of positions + """ + gs, ps, position = data + gs_all, ps_all = prev_cell_maps + + g1s = np.transpose(np.array(cp.deepcopy(gs)), [1, 2, 0]) + p1s = np.transpose(np.array(cp.deepcopy(ps)), [1, 2, 0]) + # pos_to = position[:][1:pars['n_rollout'] + 1] + pos_to = position + + gs_all = cell_norm_online(g1s, pos_to, gs_all, pars) + ps_all = cell_norm_online(p1s, pos_to, ps_all, pars) + + cell_list = [gs_all, ps_all] + + return cell_list, positions + + +def cell_norm_online(cells, positions, current_cell_mat, pars): + """ + Online cell normalisation. + Parameters + ---------- + cells : list of torch tensors + List of tensors of cells + positions : list of torch tensors + List of tensors of positions + current_cell_mat : list of torch tensors + List of tensors of current cell maps + pars : dict + Dictionary of parameters + Returns + ------- + new_cell_mat : list of torch tensors + List of tensors of new cell maps + """ + # for separate environments within each batch + envs = pars["diff_env_batches_envs"] + n_states = pars["n_states_world"] + n_envs_save = pars["n_envs_save"] + + num_cells = np.shape(cells)[1] + n_trials = np.shape(cells)[2] + + cell_mat = [np.zeros((n_states[envs[env]], num_cells)) for env in range(n_envs_save)] + + new_cell_mat = [None] * n_envs_save + + for env in range(n_envs_save): + for ii in range(n_trials): + position = int(positions[ii][env]["id"]) + cell_mat[env][position, :] += cells[env, :, ii] + try: + new_cell_mat[env] = cell_mat[env] + current_cell_mat[env] + except (ValueError, TypeError): + new_cell_mat[env] = cell_mat[env] + + return new_cell_mat + + +def check_wall(pre_state, new_state, wall, wall_closenes=1e-5, tolerance=1e-9): + """ + Parameters + ---------- + pre_state : (2,) 2d-ndarray + 2d position of pre-movement + new_state : (2,) 2d-ndarray + 2d position of post-movement + wall : (2, 2) ndarray + [[x1, y1], [x2, y2]] where (x1, y1) is on limit of the wall, (x2, y2) second limit of the wall + wall_closenes : float + how close the agent is allowed to be from the wall + + Returns + ------- + new_state: (2,) 2d-ndarray + corrected new state. If it is not crossing the wall, then the new_state stays the same, if the state cross the + wall, new_state will be corrected to a valid place without crossing the wall + cross_wall: bool + True if the change in state cross a wall + """ + + # Check if the line of the wall and the line between the states cross + A = np.stack([np.diff(wall, axis=0)[0, :], -new_state + pre_state], axis=1) + b = pre_state - wall[0, :] + try: + intersection = np.linalg.inv(A) @ b + except Exception: + intersection = np.linalg.inv(A + np.identity(A.shape[0]) * tolerance) @ b + smaller_than_one = intersection <= 1 + larger_than_zero = intersection >= 0 + + # If condition is true, then the points cross the wall + cross_wall = np.alltrue(np.logical_and(smaller_than_one, larger_than_zero)) + if cross_wall: + new_state = (intersection[-1] - wall_closenes) * (new_state - pre_state) + pre_state + + return new_state, cross_wall diff --git a/neuralplayground/arenas/__init__.py b/neuralplayground/arenas/__init__.py index a24d3638..774aaca8 100644 --- a/neuralplayground/arenas/__init__.py +++ b/neuralplayground/arenas/__init__.py @@ -5,3 +5,5 @@ from .hafting_2008 import Hafting2008 from .sargolini_2006 import Sargolini2006, BasicSargolini2006 from .wernle_2018 import Wernle2018, MergingRoom +from .batch_environment import BatchEnvironment +from .discritized_objects import DiscreteObjectEnvironment diff --git a/neuralplayground/arenas/batch_environment.py b/neuralplayground/arenas/batch_environment.py new file mode 100644 index 00000000..37b0ae9f --- /dev/null +++ b/neuralplayground/arenas/batch_environment.py @@ -0,0 +1,272 @@ +import matplotlib as mpl +import matplotlib.pyplot as plt +import numpy as np + +from neuralplayground.arenas.arena_core import Environment +from neuralplayground.arenas.simple2d import Simple2D + + +class BatchEnvironment(Environment): + def __init__(self, environment_name: str = "BatchEnv", env_class: object = Simple2D, batch_size: int = 1, **env_kwargs): + """ + Initialise a batch of environments. This is useful for training a single agent on multiple environments simultaneously. + Parameters + ---------- + environment_name: str + Name of the environment + env_class: object + Class of the environment + batch_size: int + Number of environments in the batch + **env_kwargs: dict + Keyword arguments for the environment + """ + super().__init__(environment_name, **env_kwargs) + self.batch_size = batch_size + self.batch_x_limits = env_kwargs["arena_x_limits"] + self.batch_y_limits = env_kwargs["arena_y_limits"] + self.use_behavioural_data = env_kwargs["use_behavioural_data"] + self.environments = [] + for i in range(self.batch_size): + env_kwargs["arena_x_limits"] = self.batch_x_limits[i] + env_kwargs["arena_y_limits"] = self.batch_y_limits[i] + self.environments.append(env_class(**env_kwargs)) + + self.room_widths = [np.diff(self.environments[i].arena_x_limits)[0] for i in range(self.batch_size)] + self.room_depths = [np.diff(self.environments[i].arena_y_limits)[0] for i in range(self.batch_size)] + self.state_densities = [self.environments[i].state_density for i in range(self.batch_size)] + + def reset(self, random_state: bool = True, custom_state: np.ndarray = None): + """ + Reset the environment + Parameters + ---------- + random_state: bool + If True, the agent will be placed in a random state + custom_state: np.ndarray + If not None, the agent will be placed in the state specified by custom_state + Returns + ------- + all_observations: list of np.ndarray + List of observations for each environment in the batch + all_states: list of np.ndarray + List of states for each environment in the batch + """ + self.global_steps = 0 + self.global_time = 0 + self.history = [] + + all_observations = [] + all_states = [] + for i, env in enumerate(self.environments): + env_obs, env_state = env.reset(random_state=random_state, custom_state=custom_state) + all_states.append(env_state) + all_observations.append(env_obs) + + return all_observations, all_states + + def step(self, actions: np.ndarray, normalize_step: bool = False): + """ + Step the environment + Parameters + ---------- + actions: np.ndarray + Array of actions for each environment in the batch + normalize_step: bool + If True, the agent will be placed in the state specified by custom_state + Returns + ------- + all_observations: list of np.ndarray + List of observations for each environment in the batch + all_states: list of np.ndarray + List of states for each environment in the batch + """ + all_observations = [] + all_states = [] + all_allowed = True + for batch, env in enumerate(self.environments): + action = actions[batch] + env_obs, env_state = env.step(action, normalize_step) + if self.use_behavioural_data: + if env.state[0] == env.old_state[0]: + all_allowed = False + else: + if env.state[0] == env.old_state[0] and action != [0, 0]: + all_allowed = False + all_observations.append(env_obs) + all_states.append(env_state) + + if not all_allowed: + for env in self.environments: + env.state = env.old_state + else: + self.history.append([env.transition for env in self.environments]) + + return all_observations, all_states + + def plot_trajectory( + self, history_data: list = None, ax=None, return_figure: bool = False, save_path: str = None, plot_every: int = 1 + ): + """Plot the Trajectory of the agent in the environment + Parameters + ---------- + history_data: list of interactions + if None, use history data saved as attribute of the arena, use custom otherwise + ax: mpl.axes._subplots.AxesSubplot (matplotlib axis from subplots) + axis from subplot from matplotlib where the trajectory will be plotted. + return_figure: bool + If true, it will return the figure variable generated to make the plot + save_path: str, list of str, tuple of str + saving path of the generated figure, if None, no figure is saved + Returns + ------- + ax: mpl.axes._subplots.AxesSubplot (matplotlib axis from subplots) + Modified axis where the trajectory is plotted + f: matplotlib.figure + if return_figure parameters is True + """ + env = self.environments[0] + # Use or not saved history + if history_data is None: + history_data = [his[0] for his in self.history] + + # Generate Figure + if ax is None: + f, ax = plt.subplots(1, 1, figsize=(8, 6)) + + # Draw walls + for wall in env.default_walls: + ax.plot(wall[:, 0], wall[:, 1], "C3", lw=3) + + # Draw custom walls + for wall in env.custom_walls: + ax.plot(wall[:, 0], wall[:, 1], "C0", lw=3) + + # Making the trajectory plot roughly square to show structure of the arena better + lower_lim, upper_lim = np.amin(env.arena_limits), np.amax(env.arena_limits) + ax.set_xlim([lower_lim, upper_lim]) + ax.set_ylim([lower_lim, upper_lim]) + + # Make plot of positions + if len(history_data) != 0: + state_history = [s["state"][-1] for s in history_data] + next_state_history = [s["next_state"][-1] for s in history_data] + state_history[0] + next_state_history[-1] + + cmap = mpl.cm.get_cmap("plasma") + norm = plt.Normalize(0, len(state_history)) + + aux_x = [] + aux_y = [] + for i, s in enumerate(state_history): + if i % plot_every == 0: + if i + plot_every >= len(state_history): + break + x_ = [s[0], state_history[i + plot_every][0]] + y_ = [s[1], state_history[i + plot_every][1]] + aux_x.append(s[0]) + aux_y.append(s[1]) + sc = ax.plot(x_, y_, "-", color=cmap(norm(i)), alpha=0.6) + + sc = ax.scatter(aux_x, aux_y, c=np.arange(len(aux_x)), vmin=0, vmax=len(aux_x), cmap="plasma", alpha=0.6, s=0.1) + cbar = plt.colorbar(sc, ax=ax, ticks=[0, len(state_history)]) + cbar.ax.set_ylabel("N steps", rotation=270, fontsize=16) + cbar.ax.set_yticklabels([0, len(state_history)], fontsize=16) + + if save_path is not None: + plt.savefig(save_path, bbox_inches="tight") + + if return_figure: + return ax, f + else: + return ax + + def collect_environment_info(self, model_input, history, environments): + """ + Collect information about the environment for each step of the trajectory. + Parameters + ---------- + model_input: list of np.ndarray + List of model inputs for each step of the trajectory + history: list of np.ndarray + List of histories for each step of the trajectory + environments: list of dict + List of environments for each step of the trajectory + Returns + ------- + environments: list of dict + List of environments for each step of the trajectory + """ + for step in range(len(model_input)): + id = model_input[step][0][0]["id"] + if not any(d["id"] == id for d in environments[0]): + x, y = history[step][0][-1][0], history[step][0][-1][1] + + # Round the (x, y) coordinates to the center of the nearest state + rounded_x, rounded_y = self.round_to_nearest_state_center(x, y) + + # Normalize the rounded coordinates + normalized_x, normalized_y = self.normalize_coordinates(rounded_x, rounded_y) + + loc_dict = { + "id": id, + "observation": int(np.argmax(model_input[step][1])), + "x": normalized_x, + "y": normalized_y, + "shiny": None, + } + environments[0].append(loc_dict) + + environments[0] = sorted(environments[0], key=lambda x: x["id"]) + + return environments + + def round_to_nearest_state_center(self, x, y): + """ + Round the (x, y) coordinates to the center of the nearest state. + Parameters + ---------- + x: float + x coordinate + y: float + y coordinate + Returns + ------- + rounded_x: float + x coordinate rounded to the center of the nearest state + rounded_y: float + y coordinate rounded to the center of the nearest state + """ + state_width = 1 / self.state_densities[0] + state_depth = 1 / self.state_densities[1] + + half_state_width = state_width / 2 + half_state_depth = state_depth / 2 + + rounded_x = round((x + half_state_width) / state_width) * state_width - half_state_width + rounded_y = round((y + half_state_depth) / state_depth) * state_depth - half_state_depth + + return rounded_x, rounded_y + + def normalize_coordinates(self, x, y): + """ + Normalize the (x, y) coordinates to the range [0, 1]. + Parameters + ---------- + x: float + x coordinate + y: float + y coordinate + Returns + ------- + normalized_x: float + x coordinate normalized to the range [0, 1] + normalized_y: float + y coordinate normalized to the range [0, 1] + """ + x_min, x_max = self.batch_x_limits[0][0], self.batch_x_limits[0][1] + y_min, y_max = self.batch_y_limits[0][0], self.batch_y_limits[0][1] + normalized_x = (x - x_min) / (x_max - x_min) + normalized_y = (y - y_min) / (y_max - y_min) + return normalized_x, normalized_y diff --git a/neuralplayground/arenas/discritized_objects.py b/neuralplayground/arenas/discritized_objects.py new file mode 100644 index 00000000..6f0d35b1 --- /dev/null +++ b/neuralplayground/arenas/discritized_objects.py @@ -0,0 +1,370 @@ +import random + +import matplotlib.pyplot as plt +import numpy as np + +from neuralplayground.arenas.arena_core import Environment +from neuralplayground.utils import check_crossing_wall + + +class DiscreteObjectEnvironment(Environment): + """ + Arena class which accounts for discrete sensory objects, inherits from the Simple2D class. + + Methods + ------ + __init__(self, environment_name='DiscreteObject', **env_kwargs): + Initialize the class. env_kwargs arguments are specific for each of the child environments and + described in their respective class. + reset(self): + Re-initialize state and global counters. Resets discrete objects at each state. + generate_objects(self): + Randomly distribute objects (one-hot encoded vectors) at each discrete state within the environment + make_observation(self, step): + Convert an (x,y) position into an observation of an object + pos_to_state(self, step): + Convert an (x,y) position to a discretised state index + plot_objects(self, history_data=None, ax=None, return_figure=False): + + Attributes + ---------- + state: array + Empty array for this abstract class + history: list + Contains transition history + env_kwags: dict + Arguments given to the init method + global_steps: int + Number of calls to step method, set to 0 when calling reset + global_time: float + Time simulating environment through step method, then global_time = time_step_size * global_steps + number_object: int + The number of possible objects present at any state + room_width: int + Size of the environment in the x direction + room_depth: int + Size of the environment in the y direction + state_density: int + The density of discrete states in the environment + """ + + def __init__( + self, + recording_index: int = None, + environment_name: str = "DiscreteObject", + verbose: bool = False, + experiment_class: str = None, + **env_kwargs, + ): + """ + Initialize the class. env_kwargs arguments are specific for each of the child environments and + described in their respective class. + Parameters + ---------- + environment_name: str + Name of the environment + verbose: bool + If True, print information about the environment + experiment_class: str + Name of the class of the experiment to use + **env_kwargs: + Arguments specific to each environment + """ + super().__init__(environment_name, **env_kwargs) + self.environment_name = environment_name + self.use_behavioral_data = env_kwargs["use_behavioural_data"] + self.experiment = experiment_class( + experiment_name=self.environment_name, + data_path=env_kwargs["data_path"], + recording_index=recording_index, + verbose=verbose, + ) + if self.use_behavioral_data: + self.state_dims_labels = ["x_pos", "y_pos", "head_direction_x", "head_direction_y"] + self.arena_limits = self.experiment.arena_limits + self.arena_x_limits = self.arena_limits[0].astype(int) + self.arena_y_limits = self.arena_limits[1].astype(int) + else: + self.state_dims_labels = ["x_pos", "y_pos"] + self.arena_x_limits = env_kwargs["arena_x_limits"] + self.arena_y_limits = env_kwargs["arena_y_limits"] + + self.n_objects = env_kwargs["n_objects"] + self.state_density = env_kwargs["state_density"] + self.arena_limits = np.array( + [[self.arena_x_limits[0], self.arena_x_limits[1]], [self.arena_y_limits[0], self.arena_y_limits[1]]] + ) + self.room_width = np.diff(self.arena_x_limits)[0] + self.room_depth = np.diff(self.arena_y_limits)[0] + self.agent_step_size = env_kwargs["agent_step_size"] + self._create_default_walls() + self._create_custom_walls() + self.wall_list = self.default_walls + self.custom_walls + + # Variables for discretised state space + self.resolution_w = int(self.state_density * self.room_width) + self.resolution_d = int(self.state_density * self.room_depth) + self.x_array = np.linspace( + -self.room_width / 2 + (1 / 2 * self.state_density), + self.room_width / 2 - (1 / 2 * self.state_density), + num=self.resolution_w, + ) + self.y_array = np.linspace( + -self.room_depth / 2 + (1 / 2 * self.state_density), + self.room_depth / 2 - (1 / 2 * self.state_density), + num=self.resolution_d, + ) + self.mesh = np.array(np.meshgrid(self.x_array, self.y_array)) + self.xy_combination = np.stack(np.array(np.meshgrid(self.x_array, self.y_array)), axis=-1) + self.ws = int(self.room_width * self.state_density) + self.hs = int(self.room_depth * self.state_density) + self.n_states = self.resolution_w * self.resolution_d + self.objects = np.empty(shape=(self.n_states, self.n_objects)) + + def reset(self, random_state=True, custom_state=None): + """ + Reset the environment variables and distribution of sensory objects. + Parameters + ---------- + random_state: bool + If True, sample a new position uniformly within the arena, use default otherwise + custom_state: np.ndarray + If given, use this array to set the initial state + + Returns + ---------- + observation: ndarray + Because this is a fully observable environment, make_observation returns the state of the environment + Array of the observation of the agent in the environment (Could be modified as the environments are evolves) + + self.state: ndarray (2,) + Vector of the x and y coordinate of the position of the animal in the environment + """ + + self.global_steps = 0 + self.global_time = 0 + self.history = [] + self.state = [-1, -1, [self.room_width + 1, self.room_depth + 1]] + if random_state: + pos = [ + np.random.uniform(low=self.arena_limits[0, 0], high=self.arena_limits[0, 1]), + np.random.uniform(low=self.arena_limits[1, 0], high=self.arena_limits[1, 1]), + ] + else: + pos = np.array([0, 0]) + + if custom_state is not None: + pos = np.array(custom_state) + + # Reset to first position recorded in this session + if self.use_behavioral_data: + pos, head_dir = self.experiment.position[0, :], self.experiment.head_direction[0, :] + custom_state = np.concatenate([pos, head_dir]) + + self.objects = self.generate_objects() + + # Fully observable environment, make_observation returns the state + observation = self.make_object_observation(pos) + self.state = observation + return observation, self.state + + def step(self, action: np.ndarray, normalize_step: bool = False, skip_every: int = 10): + """ + Runs the environment dynamics. Increasing global counters. Given some action, return observation, + new state and reward. + + Parameters + ---------- + action: ndarray (2,) + Array containing the action of the agent, in this case the delta_x and detla_y increment to position + normalize_step: bool + If true, the action is normalized to have unit size, then scaled by the agent step size + skip_every: int + When using behavioral data, the next state will be the position and head direction + "skip_every" recorded steps after the current one, essentially reducing the sampling rate + + Returns + ------- + reward: float + The reward that the animal receives in this state + new_state: ndarray + Update the state with the updated vector of coordinate x and y of position and head directions respectively + observation: ndarray + Array of the observation of the agent in the environment, in this case the sensory object. + """ + self.old_state = self.state.copy() + if self.use_behavioral_data: + # In this case, the action is ignored and computed from the step in behavioral data recorded from the experiment + if self.global_steps * skip_every >= self.experiment.position.shape[0] - 1: + self.global_steps = np.random.choice(np.arange(skip_every)) + # Time elapsed since last reset + self.global_time = self.global_steps * self.time_step_size + + # New state as "skip every" steps after the current one in the recording + new_pos_state = ( + self.experiment.position[self.global_steps * skip_every, :], + self.experiment.head_direction[self.global_steps * skip_every, :], + ) + new_pos_state = np.concatenate(new_pos_state) + else: + if action[0] == 0: + action_rev = np.array([0.0, -action[1]]) + else: + action_rev = action + if normalize_step and np.linalg.norm(action) > 0: + action_rev = action_rev / np.linalg.norm(action_rev) + new_pos_state = self.state[-1] + self.agent_step_size * action_rev + else: + new_pos_state = self.state[-1] + action_rev + new_pos_state, valid_action = self.validate_action(self.state[-1], action_rev, new_pos_state) + reward = self.reward_function(action, self.state[-1]) # If you get reward, it should be coded here + observation = self.make_object_observation(new_pos_state) + self.state = observation + self.transition = { + "action": action, + "state": self.old_state, + "next_state": self.state, + "reward": reward, + "step": self.global_steps, + } + # self.history.append(transition) + self._increase_global_step() + return observation, self.state + + def generate_objects(self): + """ + Generate objects in the environment. In this case, the objects are one-hot encoded vectors. + Returns + ------- + objects: ndarray (n_states, n_objects) + Array of the objects in the environment, one-hot encoded + """ + poss_objects = np.zeros(shape=(self.n_objects, self.n_objects)) + for i in range(self.n_objects): + for j in range(self.n_objects): + if j == i: + poss_objects[i][j] = 1 + # Generate landscape of objects in each environment + objects = np.zeros(shape=(self.n_states, self.n_objects)) + for i in range(self.n_states): + rand = random.randint(0, self.n_objects - 1) + objects[i, :] = poss_objects[rand] + return objects + + def make_object_observation(self, pos): + """ + Make an observation of the object in the environment at the current position. + Parameters + ---------- + pos: ndarray (2,) + Vector of the x and y coordinate of the position of the animal in the environment + Returns + ------- + observation: ndarray (n_objects,) + Array of the observation of the agent in the environment, in this case the sensory object. + """ + index = self.pos_to_state(np.array(pos)) + object = self.objects[index] + + return [index, object, pos] + + def pos_to_state(self, pos): + """ + Convert an (x,y) position to a discretised state index + Parameters + ---------- + pos: ndarray (2,) + Vector of the x and y coordinate of the position of the animal in the environment + Returns + ------- + index: int + Index of the state in the discretised state space + """ + if len(pos) > 2: + pos = pos[:2] + diff = (self.xy_combination - pos) ** 2 + dist = np.sum(diff**2, axis=-1) + index = np.argmin(dist) + return index + + def _create_default_walls(self): + """Generate walls to limit the arena based on the limits given in kwargs when initializing the object. + Each wall is presented by a matrix + [[xi, yi], + [xf, yf]] + where xi and yi are x y coordinates of one limit of the wall, and xf and yf are coordinates of the other limit. + Walls are added to default_walls list, to then merge it with custom ones. + See notebook with custom arena examples. + """ + self.default_walls = [] + self.default_walls.append( + np.array([[self.arena_limits[0, 0], self.arena_limits[1, 0]], [self.arena_limits[0, 0], self.arena_limits[1, 1]]]) + ) + self.default_walls.append( + np.array([[self.arena_limits[0, 1], self.arena_limits[1, 0]], [self.arena_limits[0, 1], self.arena_limits[1, 1]]]) + ) + self.default_walls.append( + np.array([[self.arena_limits[0, 0], self.arena_limits[1, 0]], [self.arena_limits[0, 1], self.arena_limits[1, 0]]]) + ) + self.default_walls.append( + np.array([[self.arena_limits[0, 0], self.arena_limits[1, 1]], [self.arena_limits[0, 1], self.arena_limits[1, 1]]]) + ) + + def _create_custom_walls(self): + """Custom walls method. In this case is empty since the environment is a simple square room + Override this method to generate more walls, see jupyter notebook with examples""" + self.custom_walls = [] + + def validate_action(self, pre_state, action, new_state): + """Check if the new state is crossing any walls in the arena. + + Parameters + ---------- + pre_state : (2,) 2d-ndarray + 2d position of pre-movement + new_state : (2,) 2d-ndarray + 2d position of post-movement + + Returns + ------- + new_state: (2,) 2d-ndarray + corrected new state. If it is not crossing the wall, then the new_state stays the same, if the state cross the + wall, new_state will be corrected to a valid place without crossing the wall + crossed_wall: bool + True if the change in state crossed a wall and was corrected + """ + crossed_wall = False + for wall in self.wall_list: + new_state, crossed = check_crossing_wall(pre_state=pre_state, new_state=new_state, wall=wall) + crossed_wall = crossed or crossed_wall + return new_state, crossed_wall + + # to be written again here + def plot_objects(self, history_data=None, ax=None, return_figure=False): + """Plot the Trajectory of the agent in the environment + + Parameters + ---------- + history_data: None + default to access to the saved history of positions in the environment + ax: None + default to create ax + Returns + ------- + Returns a plot of the trajectory of the animal in the environment + """ + if history_data is None: + history_data = self.history + if ax is None: + f, ax = plt.subplots(1, 1, figsize=(8, 6)) + + for wall in self.default_walls: + ax.plot(wall[:, 0], wall[:, 1], "C3", lw=3) + + for wall in self.custom_walls: + ax.plot(wall[:, 0], wall[:, 1], "C0", lw=3) + + if return_figure: + return f, ax + else: + return ax diff --git a/neuralplayground/experiments/sargolini_2006_data.py b/neuralplayground/experiments/sargolini_2006_data.py index ce5eb941..980b2e18 100644 --- a/neuralplayground/experiments/sargolini_2006_data.py +++ b/neuralplayground/experiments/sargolini_2006_data.py @@ -138,8 +138,8 @@ def _load_data(self): self.best_recording_index = 0 # Nice session recording as default # Arena limits from the experimental setting, first row x limits, second row y limits, in cm self.arena_limits = np.array([[-50.0, 50.0], [-50.0, 50.0]]) - data_path_list = glob.glob(self.data_path + "*.mat") - mice_ids = np.unique([dp.split("/")[-1][:5] for dp in data_path_list]) + data_path_list = glob.glob(os.path.join(self.data_path, "*.mat")) + mice_ids = np.unique([os.path.basename(dp)[:5] for dp in data_path_list]) # Initialize data dictionary, later handled by this object itself (so don't worry about this) self.data_per_animal = {} for m_id in mice_ids: