We wcześniejszym wpisie adwentowym wspominałem o frameworku TesnorFlow. Wspominałem o jego wydajności i uniwersalności, ale jednocześnie odradzałem ten framework jako punkt startowy w poznawaniu uczenia głębokiego. Dobrze byłoby więc, żebym pokazał framework, który z kolei będzie się nadawał do rozpoczęcia przygody z uczeniem głębokim. Taki framework to fastai.
Fastai jako sposób na naukę
Framework fastai powstał jako efekt uboczny kursu sztucznej inteligencji. Kurs ten prowadzony był przez zespół, w którego skład wchodzą Jeremy Howard, Rachel Thomas i Sylvain Gugger. Pisałem już o nim wcześniej w dłuższym wpisie. Idea, która przysługuje twórcom tego kursu, jest prosta: pokazać na dużej liczbie prostych przykładów, jak można używać sieci neuronowe. A następnie systematycznie schodzić coraz głębiej do coraz bardziej teoretycznych ich aspektów.
Idea jest więc prosta i nieco odwrotna względem typowego akademickiego podejścia. I w mojej osobistej opinii sprawdza się doskonale. Bo jeśli kogoś temat w ogóle nie rusza, to nie jest on celem tego kursu. Jest natomiast wiele osób, które mogą być autentycznie przerażone ścianą „teorii” która ich potencjalnie czeka. A jeśli od razu wkręcą się w eksperymenty, to nawet jej nie zauważą, a być może doskonale ją przyswoją.
Fastai jako framework
Tak jak wspomniałem, w czasie kursu powstał framework fastai. Chodziło w nim o to, żeby wydobyć jak najwięcej praktycznych elementów uczenia głębokiego do jak najbardziej przystępnych funkcji. Framework ten bazuje na frameworku PyTorch, który aktualnie ma opinię najbardziej elastycznego i innowacyjnego i jednocześnie najtrudniejszego do opanowania. Wydaje się więc, że powstanie fastai jest całkiem zasadne — możemy skupić się na edukacji, nie tracąc jednocześnie dostępu do najnowocześniejszych narzędzi.
Fastai — Podsumowanie
Szerokie używanie fastai nie jest może zbyt popularnym podejściem. W drodze do produkcji oczekuje się bowiem frameworków, które posiadają bardziej klasyczny cykl rozwoju i wydań. A fastai najmocniej jest rozwijane w okolicach kolejnych semestrów głównego kursu. Używanie fastai ma jednak dość dużą zaletę — bardzo łatwo i szybko w nim zaimplementować najnowsze publikacje naukowe. Jeśli więc głowisz się nad jakimś problemem, to niegłupie może okazać się użycie tego frameworku do zbudowania prototypu do oceny jakiegoś pomysłu. Później tylko trzeba będzie go przerobić na PyTorch albo Kerasa. Ale często już samo zakodowanie pomysłu pozwala go rozwiązać. Czemu więc nie?