Warunki zaliczenia

Wykład

Zaliczenie wykładu odbędzie sie na podstawie egzaminu. Egzamin ma formę testu w systemie Moodle. W celu zaliczenia egzaminu należy uzyskać minimum 50% punktów.

Laboratorium

Zaliczenie laboratorium odbywa się na podstawie rozwiązań zadań z zajęć oraz dwóch projektów zaliczeniowych

Warunki zaliczenia laboratorium:

zaliczenie minimum 50% zadań z laboratorium. Każde zadanie oceniane jest w skali 0-1 punktu. Zadanie uznane jest za zaliczone po uzyskaniu 0.5 punktu. Zadania przewidziane są do realizacji w czasie laboratorium, jednakże w przypadku braku oddania rozwiązania lub w przypadku niezaliczenia zadania istnieje możliwość przesłania rozwiązania w późniejszym terminie

dwa projekty zaliczeniowe realizowane samodzielnie. Każdy z projektów musi uzyskać min. 50% punktów.

Projekty zaliczeniowe

Każdy projekt składa się z aplikacji oraz raportu (opisu).

Raport powinien zawierać zwięzły:

opis metody

opis wymagań niezbędnych do zainstalowania i uruchomienia aplikacji

opis parametrów (ustawień) oraz funkcji programu

opis symulacji przeprowadzonych za pomoca aplikacji

interpretację wyników symulacji

Projekt 1

Projekt 1 to samodzielna implementacja od podstaw wybranej sieci neuronowej wraz z algorytmem treningu.
Projekt powiezień zawierać:

implementację algorytmu treningu sieci do rozwiązywania określonego zadania

możliwość zmiany ustawień za pomocą odpowiedniego interfejsu (np. GUI, pliki konfiguracyjne lub argumenty wiersza poleceń) bez konieczności „dłubania w kodzie”

możliwość zapisu wytrenowanego modelu

możliwość wykorzystania zapisanego modelu do predykcji nowych danych

Tematy projektów

Self-Organizing Maps (SOM). Wizualizacja mapowania 2D do 1D, np. „sznurek” neuronów odwzorowujący figurę (trójkąt, kwadrat, inne kształty), 2D do 2D np. odwzorowanie siatki neuronów w kwadracie, itp..

rozrastająca się kwantyzacja wektorowa, np.: Growing Cell Structures, Neural Gas, inne.

MLP z algorytmem wstecznej propagacji w zadaniach klasyfikacji lub regresji. Minimum architektura z jedną warstwą ukrytą o stałej liczbie neuronów wejściowych i wyjściowych. Bardziej ambitnie, dowolna liczba warstw i ilość neuronów w każdej warstwie.

sieć Hopfielda w roli pamięci autoasocjacyjnej, np. zapamiętywanie obrazków, cyfr, itp. Można dodać interfejs do rysowania wzorców oraz możliwość zaszumienia wzorca wejściowego. Inne zastosowanie sieci to rozwiązanie problemu optymalizacyjnego jak problem komiwojażera (np. najkrótsza droga pomiędzy miastami korzystając z Google Maps)

autoenkoder do kompresji stratnej sygnału. Minimalna architektura z jedna warstwą ukrytą (kodującą) w bardziej ambitnych podejściach możliwośc definiowania dowolnie głębokiego kodera i dekodera. Obok kodowania można zrealizować sieć do odszumiania sygnału.

inne „klasyczne” algorytmy, nie tylko z wykładu, po uzgodnieniu z prowadzącym

Projekt 2

Projekt 2 to demonstracja działania wybranego modelu głębokiego. Do realizacji można wykorzystać dowolne oprogramowanie lub framework umożliwiający trening głębokich sieci neuronowych (np. TensorFlow, Keras). Projekt może być autorską aplikacją wykorzystującą istniejące modele do własnych zastosowań lub może prezentować użycie znanych modeli wytrenowanych na własnym zestawie danych. W ramach projektu można również zmodyfikować trening wybranego modelu głębokiego wzorując się na repozytoriach dostępnych w internecie. Wówczas raport powinien uwzględniać porównanie wyników działania sieci dla kilku konfiguracji treningu (np. z różną głębokością architektury, z odmiennymi algorytmami regularyzacji, itp.).

Tematy projektów

Przykładowe tematy projektów

rozpoznawanie nastroju osoby na zdjęciu lub z kamery

generowanie muzyki w stylu wybranego artysty

generowanie zdjęć twarzy

rozpoznawanie twarzy na zdjęciach

rozpoznawanie grzybów z fotografii

własne propozycje mile widziane