Neuroinformatyka! Czyli o neuronach w komputerach

Prowadzący: Marcin Kępa

Zadania kwalifikacyjne są tutaj.

Opis

To, że mózg jest złożony z neuronów jest oczywiste, jednak czy zastanawialiście się kiedyś co dokładnie robią te neurony i dlaczego są takie specjalne? Dlaczego mają taki dziwny kształt i co mają impulsy elektryczne do komórek? Co się z nimi dzieje, gdy się uczysz? Czy możemy je wrzucić w jakiś software i stworzyć symulację mózgu? 

Aby zaspokoić swoją ciekawość, oprócz suchej wiedzy na temat dynamiki i budowy neuronu, możemy zrobić coś jeszcze! Możemy spróbować stworzyć taką sieć używając technik komputerowych. Możemy implementować kolejne zachowania neuronu, o których się dowiadujemy z ogromnej ilości badań podstawowych, a następnie patrzeć jak to wpłynie naszej zbitki neuronów. Sytuacja dosyć szybko się komplikuje, więc mózgu(nawet mrówki) nie uda nam się zasymulować, nie mniej jednak mam nadzieję, że pozwoli nam to dotknąć tej tematyki i zaspokoi przynajmniej część ciekawości.

Dokładnie taki będzie cel warsztatów – poznać określone zachowania neuronu, stworzyć sieć, która będzie złożona z takich obiektów, zobaczyć co się stanie oraz spróbować zmusić ją do zrobienia czegoś bardziej interesującego. W tym celu zaczniemy od krótkiej dyskusji co i jak w tym neuronie się dzieje, wspomnimy co nieco o plastyczności, jaki wpływ ma kształt i fizyczne rozmieszczenie neuronów, w jaki sposób komórki mogą się ze sobą komunikować, a następnie przejdziemy do implementacji tego w symulacji. 

Wykorzystamy framework NEURON, który będziemy obsługiwać z poziomu Python'a. Framework zajmie się za nas liczeniem naszych komórek, pomoże nam zorganizować neurony w konkretną sieć oraz pozwoli obserwować co się w nich dzieje.

Wymagania

  • Głównym celem warsztatów jest wykonanie symulacji sieci, także na pewno doświadczenie z programowaniem, czy jakimiś językami skryptowymi będzie przydatne. Będziemy korzystać z Python'a, aczkolwiek, postaramy się nie zagłębiać zbyt głęboko w implementację, a na wykorzystaniu przygotowanych funkcji i obiektów na zrobienie tego, czym chcemy się bawić.
  • Jeśli nie interesowałeś/łaś się tematem wcześniej, to warto zajrzeć na Wikipedię i poczytać na tematy wypisane w następnej sekcji. Mniej więcej skrócę to, czego będziemy potrzebować w czasie zajęć, ale szybciej zaczniemy robić coś ciekawego, jeśli będziemy mieli jakąś wiedzę wstępną.
  • Laptop z zainstalowanym oprogramowaniem. Co i jak zainstalować zostanie napisane w zadaniach. Zdecydowanie preferowany Linux. Oprogramowanie istnieje w wersji na Windows, ale zdecydowanie jest ono pisane pod Linuxa, więc łatwiej i przyjemniej będzie nam pracować na tej platformie.

Przydatne rzeczy

Wspomniane artykuły na Wikipedii: