> For the complete documentation index, see [llms.txt](https://philipp-gadow.gitbook.io/bsm4tops-gnn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://philipp-gadow.gitbook.io/bsm4tops-gnn/concepts/artificial-neural-networks.md).

# Artificial neural networks

#### Book about machine learning in physics

A very nice and gentle introduction (based on TensorFlow and Keras) is provided in the textbook *Deep Learning for Physics Research* by [Martin Erdmann](https://www.physik.rwth-aachen.de/user/erdmann), [Jonas Glombitza](https://www.jonas-glombitza.com/), [Gregor Kasieczka](https://www.physik.uni-hamburg.de/iexp/gruppe-kasieczka.html), and Uwe Klemradt.

{% embed url="<https://worldscientific.com/worldscibooks/10.1142/12294>" %}

Perhaps your library has a copy of the book. The Kindle eBook is at 35$.

You can find the excercises to the book (for free) here:

{% embed url="<http://www.deeplearningphysics.org>" %}

#### **Introduction to Machine Learning**

This video provides an introduction into the history of machine learning. You don't need it for tackling the problem. It gives some perspective and aims for a broader picture.

{% embed url="<https://www.youtube.com/watch?v=mTtDfKgLm54&list=PLLHTzKZzVU9e6xUfG10TkTWApKSZCzuBI&index=1>" %}

To get some perspective in what areas of particle physics machine learning is used, please have a look at this review article about the use of machine learning in LHC physics:

{% embed url="<https://arxiv.org/abs/1806.11484>" %}

**Building intuition about deep learning**

A very nice introduction to build up intuition what deep learning actually is: an optimisation problem in which arbitrary (unknown) functions are approximated is the YouTube series by 3Blue1Brown.

{% embed url="<https://www.3blue1brown.com/topics/neural-networks>" %}

**Introduction to PyTorch**

Alfredo Canziani (the same guy from the introduction video) provides a very nice introduction into PyTorch.

You can have a look at this GitHub project:

{% embed url="<https://github.com/Atcold/pytorch-Deep-Learning>" %}

The tutorial makes heavy use of Jupyter notebooks. If you want to try them, you can open them directly in your browser, using a service called binder. Try it out:

{% embed url="<https://mybinder.org/v2/gh/Atcold/pytorch-Deep-Learning/master>" %}

The suggested tutorial notebooks are:

1. <https://github.com/Atcold/pytorch-Deep-Learning/blob/master/01-tensor_tutorial.ipynb>
2. <https://github.com/Atcold/pytorch-Deep-Learning/blob/master/03-autograd_tutorial.ipynb>
3. <https://github.com/Atcold/pytorch-Deep-Learning/blob/master/04-spiral_classification.ipynb>

A different introductio to PyTorch is offered here:

{% embed url="<https://github.com/yandexdataschool/mlhep2019/blob/master/notebooks/day-3/seminar_pytorch.ipynb>" %}

You can also open this notebook interactively (this time not via binder but via Google's Colab):

{% embed url="<https://github.com/yandexdataschool/mlhep2019/blob/master/notebooks/day-3/seminar_pytorch.ipynb>" %}
