Napisz sieć konwolucyjną klasyfikującą obrazki z bazy CIFAR-10.
Wymagana skuteczność na zbiorze testowym to 81% bez augmentacji i głosowań oraz 92% bez tych ograniczeń.
Aby uczynić Państwa przygodę bardziej efektywną proponuję następujące zasady: co najwyżej 30 epok, co najwyżej 90 sekund na epokę na miraclu (u mnie ~40 sek.), sieć musi zmieścić się na kartę graficzną na miraclu.
bez augmentacji i głosowań:
Termin: 16 listopada za 1,00 punkt
Termin: 22 listopada za 0,50 punktu
całość:
Termin: 22 listopada za 0,50 punktu
Termin: 29 listopada za 0,25 punktu
Dodatkowo student, który uzyska najlepszy wynik na zbiorze testowym otrzyma w nagrodzie ocenę 5,0 z całości kursu (pod warunkiem, że otrzymałby bez nagrody zaliczenie w pierwszym terminie na ocenę pozytywną).
W tym konkursie, ograniczenia na rozmiar sieci nieobowiązują z wyjątkiem tego, że obliczenia powinny być wykonane na miraclu.
Termin rozstrzygnięcia konkursu to 25 listopada.
Architektura sieci: Zachęcam Państwa do eksperymentów.
Na pewno przydadzą się:
-
warstwy konwolucyjne (ile filtrów i jakiej wielkości? ja używałem tylko 3x3, a liczba filtrów w najszerszym miejscu to 128);
-
klasyczna normalizacja batcha dla sieci konwolucyjnej;
-
nieliniowa funkcja aktywacji (u mnie zawsze ReLU choć ludzie eksperymentują: leakyReLU, ELU, ...);
-
exponential moving average
-
wybór optimieraL SGD vs Adam
-
przy tych wszystkich uśrednianiach nie zmieniam learning-rate i moje źródła mówią, że 0,001 to domyślny learning-rate dla AdamOptimizer;
-
dropout, choć moja sieć najlepiej działa bez;
-
residualne przejścia pomiędzy warstwami;
-
normalizacja obrazków w batchu na wejściu może pomóc
-
dropout na wejściu nie jest uznawany jako augmentacja
-
augmentacja danych (to naprawdę pomaga!): ja dość brutalnie i losowo obcinam obrazek na wejściu; można odwracać, rotować ...
-
na samym końcu będzie można ugrać coś (~1-2%) generując 2 lub 5 modeli i przeprowadzając głosowanie.
- głosowania wewnętrzne (w ramach jednego modelu) również moga pomóc
Uwagi:
-
Uwaga:
W pierwszych liniach kodu proszę napisać oświadczenie o samodzielności wykonania rozwiązania.
Jeśli przyjdą Państwo z zachowannymi modelami proszę o oświadczenie, że to Państwa modele.
Proszę wspomnieć o tym jak zaprojektowali Państwo sieć (oczywiście zachęcam do dyskusji nad architekturą).
-
Zachęcam do zadawania pytań poprzez email lub forum.