# 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>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://philipp-gadow.gitbook.io/bsm4tops-gnn/concepts/artificial-neural-networks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
