{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise 11.1 - Solution\n", "## Air-shower reconstruction\n", "Follow the description of a cosmic-ray observatory in Example 11.2 and Fig. 11.2(b).\n", "The simulated data contain 9 × 9 detector stations which record traversing particles from the cosmic-ray induced air shower. \n", "Each station measures two quantities, which are stored in the form of a map (2D array) corresponding to the station positions in offset coordinates:\n", "- arrival time T: time point of detection in seconds\n", "- signal S: signal strength in arbitrary units\n", "\n", "The following shower properties need to be reconstructed:\n", "- axis: x, y, z unit vector of the shower arrival direction\n", "- core: position of the shower core in meters\n", "- logE: $\\log_{10} (E / \\mathrm{eV})$, energy of the cosmic ray\n", "\n", "Reconstruct the properties of the arriving cosmic rays by analyzing their\n", "air showers:\n", "\n", "### Tasks \n", "1. Set up a multi-task regression network for simultaneously predicting shower direction, shower core position, and energy. The network should consist of a common part to the three properties, followed by an individual subnetwork for each property. Combine the mean squared errors of the different properties using weights $w_j$. \n", "\n", "\n", "2. Train the model to the following precisions:\n", "- Better than $1.5^\\circ$ angular resolution\n", "- Better than $25$ m core position resolution\n", "- Better than $7\\%$ relative energy uncertainty $\\left(\\frac{E_\\mathrm{pred} - E_\\mathrm{true}}{E_\\mathrm{true}}\\right)$\n", "\n", " Estimate what these requirements mean in terms of the mean squared error loss and adjust the relative weights in the objective function accordingly. \n", "\n", "3. Plot and interpret the resulting training curves, both with and without the weights $w_j$ in the objective function.\n", "\n", "##### Hint: using a GPU for this task may be advantageous!" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "keras 2.4.0\n" ] } ], "source": [ "from tensorflow import keras\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "layers = keras.layers\n", "\n", "print(\"keras\", keras.__version__)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Download data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "import gdown\n", "url = \"https://drive.google.com/u/0/uc?export=download&confirm=HgGH&id=1nQDddS36y4AcJ87ocoMjyx46HGueiU6k\"\n", "output = 'airshowers.npz'\n", "\n", "if os.path.exists(output) == False:\n", " gdown.download(url, output, quiet=True)\n", "\n", "f = np.load(output)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Input 1: arrival times" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(200000, 9, 9)\n" ] } ], "source": [ "# time map\n", "T = f['time']\n", "T -= np.nanmean(T)\n", "T /= np.nanstd(T)\n", "T[np.isnan(T)] = 0\n", "\n", "print(T.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot four example arrival time maps" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "