Skip to content

Commit

Permalink
deploy: 17fd577
Browse files Browse the repository at this point in the history
  • Loading branch information
sagerpascal committed Sep 29, 2023
0 parents commit 7393c55
Show file tree
Hide file tree
Showing 47 changed files with 3,450 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: c6b51c10e20ffa45be5c63e767b50c1b
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Binary file added .doctrees/presentation.doctree
Binary file not shown.
Binary file added .doctrees/results/final_results.doctree
Binary file not shown.
Binary file added .doctrees/thesis.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
28 changes: 28 additions & 0 deletions _sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.. Lateral Connections documentation master file, created by
sphinx-quickstart on Mon May 22 17:18:05 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Self-Organisation in a Biologically Inspired Learning Framework Based on Bernoulli Neurons
==========================================================================================

Welcome to the online showcase of my master's thesis, titled "Self-Organisation in a Biologically Inspired Learning Framework Based on Bernoulli Neurons." This exploration delves into the crossroads of neuroscience and machine learning, focusing on the fascinating phenomenon of self-organisation within an novel learning framework.
Please find the abstract, the full thesis, and videos presenting the results below.

.. toctree::
:maxdepth: 1
:caption: Contents

presentation
thesis
results/final_results

---

.. raw:: html

<embed>
<p><a href="_static/results/msc_thesis-Pascal_Sager-V1_0.pdf" target="_blank">Download</a> the thesis as PDF.</p>
</embed>


5 changes: 5 additions & 0 deletions _sources/presentation.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Presentation
============

.. video:: _static/results/thesis_defence_presentation.mp4
:width: 800
136 changes: 136 additions & 0 deletions _sources/results/final_results.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
Results
=======

In the following, video visualisations of the results presented in the thesis are shown.
The input into the model is a line that is rotating counter-clockwise around the origin.
This input is fed into the sensory system that is shown in the center of the video.
The sensory system has 4 filters to extract different features. These features are visualised with different colors.

The output of the sensory system is fed into the *S1*, the network with lateral connections building net fragments.
These net fragments are visualised in the top right corner of the video, using the same colors per feature channel as the sensory system.

The net fragments are fed into *S2*, that maps the net fragments to a 1D representation of length :math:`16`. This 1D vector is visualised
as circles in the bottom center of the video. Thereby, a green circle corresponds to an active neuron, while a red circle corresponds
to an inactive neuron.
The reconstructed net fragment of *S2* is shown in the bottom right corner of the video.

In the following, the results from multiple experiments are visualised. For each experiment, two videos are shown:
Both videos are produced by the same model using the same weights. However, the first
video shows the activations if a fixed threshold of :math:`0.5` (*S1*) and :math:`0.9` (*S2*) for each neuron is used (i.e. probabilities :math:`\geq 0.5` / :math:`\geq 0.9` lead to an activation of a neuron).
This helps to better understand the behaviour of the model.
The second video shows the activations if the neurons are sampled from a Bernoulli distribution.
This corresponds to the behaviour of the model during training.

Please not that the model has only seen horizontal, vertical, and diagonal lines during training.
Therefore, *S2* only stored these lines in its memory.
However, *S1* can also build net fragments for data not seen during training.

.. warning::
If the videos are not shown, the encoding is not supported by your browser.
Please try a Chromium-based browser (e.g. Google Chrome, Brave Browser, etc.).


Rotating Line
~~~~~~~~~~~~~

The following videos show the behaviour of the model if the line is rotated around the origin.


**Fixed Threshold**


.. video:: ../_static/results/final_results/threshold/normal.mp4
:width: 450

**Bernoulli Sampling**

.. video:: ../_static/results/final_results/bernoulli/normal.mp4
:width: 450


Noise in the Input
~~~~~~~~~~~~~~~~~~

The following videos show the behaviour of the model if each *input* pixel is flipped with a probability of :math:`0.005`.
The model is not able to filter all noise. A reason is that each filter activates quite strongly to noise in the input data,
leading to many active neurons at the same position. This noise roughly correspond to the same pattern that can
be observed at line endings. Therefore, the noise receives lateral support and is not properly suppressed by inhibitory signals.

**Fixed Threshold**

.. video:: ../_static/results/final_results/threshold/005_noise.mp4
:width: 450

**Bernoulli Sampling**

.. video:: ../_static/results/final_results/bernoulli/005_noise.mp4
:width: 450


Noise in the Feature Channels
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The same experiment is repeated, but this time the noise is added to each *feature channel* after the filter has been applied.
Thus, the same amount of noise is added, but not at the same position per channel.
As it can be observed, the model is able to filter the noise much better.
The reason is that the noise is not concentrated at the same position per channel, but is distributed over the whole image.
Therefore, the noise does not receive enough lateral support and is suppressed.

**Fixed Threshold**

.. video:: ../_static/results/final_results/threshold/005_noise_per_channel.mp4
:width: 450

**Bernoulli Sampling**

.. video:: ../_static/results/final_results/bernoulli/005_noise_per_channel.mp4
:width: 450


Interrupted Line
~~~~~~~~~~~~~~~~

The following videos show the behaviour of the model if the line is interrupted in the middle.
Due to the lateral support, the model is able to reconstruct the line if up to :math:`8` pixels are missing.
This is quite remarkable, as the model has never seen such a line during training and the lateral support range
is limited to :math:`11` pixels.


5 Missing Pixels
^^^^^^^^^^^^^^^^

**Fixed Threshold**

.. video:: ../_static/results/final_results/threshold/5_black_pixels.mp4
:width: 450

**Bernoulli Sampling**

.. video:: ../_static/results/final_results/bernoulli/5_black_pixels.mp4
:width: 450

8 Missing Pixels
^^^^^^^^^^^^^^^^

**Fixed Threshold**

.. video:: ../_static/results/final_results/threshold/8_black_pixels.mp4
:width: 450

**Bernoulli Sampling**

.. video:: ../_static/results/final_results/bernoulli/8_black_pixels.mp4
:width: 450

10 Missing Pixels
^^^^^^^^^^^^^^^^^

**Fixed Threshold**

.. video:: ../_static/results/final_results/threshold/10_black_pixels.mp4
:width: 450

**Bernoulli Sampling**

.. video:: ../_static/results/final_results/bernoulli/10_black_pixels.mp4
:width: 450
10 changes: 10 additions & 0 deletions _sources/thesis.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Thesis
======

.. raw:: html

<embed>
<object data="_static/results/msc_thesis-Pascal_Sager-V1_0.pdf" type="application/pdf" width="100%" height="600px">
<p>Unable to display PDF file. <a href="_static/results/msc_thesis-Pascal_Sager-V1_0.pdf" target="_blank">Download</a> instead.</p>
</object>
</embed>
Loading

0 comments on commit 7393c55

Please sign in to comment.