YOLO szybka detekcja i klasyfikacja obiektów

Computer Vision jest jednym z najciekawszych i moim ulubionym obszarem zastosowań dla sztucznej inteligencji. Sporym wyzwaniem dla algorytmów analizy obrazów jest szybka detekcja i klasyfikacja obiektów w czasie rzeczywistym. Problem detekcji obiektów jest dużo trudniejszy niż klasyfikacja, którą wielokrotnie omawiałem na moim blogu, ponieważ nie tylko musimy wskazać co to za obiekt, ale również miejsce, …

Czytaj dalej

Mały model językowy do generowania XIX-wiecznego bełkotu – część 1

W momencie pisania tego posta (kwiecień 2023) nadal panuje dość powszechna ekscytacja możliwościami dużych modeli językowych. Możliwości te w spektakularny sposób pokazało nam rozwiązanie udostępnione pod koniec 2022 przez OpenAI i nasz świat nigdy nie będzie już taki sam. Duże modele językowe, w tym konwersacyjne takie jak ChatGPT, w większości wykorzystują wariacje architektury Transformer. Punktem …

Czytaj dalej

Przygotowanie danych do uczenia maszynowego w PyTorch

Przygotowanie danych do uczenia maszynowego nie jest zadaniem, za którym tęskni większość specjalistów AI. Dane bywają różnej jakości, najczęściej wymagają bardzo dokładnej analizy, czasami ręcznego przeglądu, a na pewno selekcji i wstępnego przetworzenia. W przypadku zadań klasyfikacyjnych podział zbioru na klasy bywa niewłaściwy lub niewystarczająco zbalansowany. Często danych jest również po prostu za mało i …

Czytaj dalej

Sztuczna inteligencja – kilka kluczowych pojęć

Jeszcze do niedawna duża część kluczowych pojęć z zakresu szeroko rozumianej sztucznej inteligencji nie była jednoznacznie zdefiniowana. Niektóre z nich, jak Deep Learning, były nawet określane mianem “buzzwords”, czyli pojęć używanych głównie przez marketing i nie mających ścisłego przełożenia na obszary naukowe. Obecnie wydaje się, że podstawowe pojęcia ugruntowały się i większość osób zajmujących profesjonalnie …

Czytaj dalej

k najbliższych sąsiadów w klasyfikacji pisma

W uczeniu maszynowym jest takie stare, ale sprawdzone powiedzenie: „Nie da ci ojciec, nie da ci matka, tego co może dać ci … k najbliższych sąsiadów”. 😉 Nie wierzycie? Ja też nie mogłem w to uwierzyć, póki nie spróbowałem sklasyfikować pisma odręcznego z użyciem tego algorytmu. k najbliższych sąsiadów – z ang. k-nearest neighbours lub …

Czytaj dalej

Sieci konwolucyjne 4: data augmentation

W poprzednich trzech częściach tutoriala w szczegółach poznaliśmy sieci konwolucyjne. Przyjrzeliśmy się operacji konwolucji, architekturze sieci konwolucyjnych oraz problemowi overfittingu. W klasyfikacji zbioru CIFAR-10 osiągnęliśmy wynik 81% na zbiorze testowym. Aby pójść dalej, musielibyśmy zmienić architekturę naszej sieci, poeksperymentować z hiperparametrami lub uzyskać więcej danych. Dwa pierwsze rozwiązania zostawiam dla was, 😉 a sam będę …

Czytaj dalej

Konwolucyjne sieci neuronowe 3: overfitting

Konwolucyjne sieci neuronowe to jedna z najbardziej skutecznych architektur sieci neuronowych w obszarze klasyfikacji obrazów. W pierwszej części tutoriala omówiliśmy zagadnienie konwolucji oraz zbudowaliśmy prostą, gęsto połączoną sieć neuronową, której użyliśmy do klasyfikacji zbioru CIFAR-10, uzyskując skuteczność na poziomie 47%. W części drugiej tutoriala zapoznaliśmy się szczegółowo z architekturą i parametrami konwolucyjnej sieci neuronowej, zbudowaliśmy …

Czytaj dalej

Neuronowe sieci konwolucyjne 2: architektura

Neuronowe sieci konwolucyjne pozwalają uzyskać bardzo dobre wyniki klasyfikacji w przypadku obrazów. W poprzednim poście mieliście okazję dowiedzieć się, czym jest konwolucja oraz jak sklasyfikować zbiór CIFAR-10 wykorzystując prostą klasyczną sieć neuronową. Przypomnę, że uzyskaliśmy poprawność klasyfikacji na zbiorze testowym na poziomie 47%. W drugiej części tutoriala idziemy dalej: Niniejszy post jest drugą częścią tutoriala, …

Czytaj dalej

Convolutional neural network

Konwolucyjne sieci neuronowe 1: konwolucja

Głębokie sieci neuronowe znajdują szerokie zastosowanie w rozpoznawaniu obrazów i kształtów. Przykładowe aplikacje obejmują rozpoznawanie twarzy, analizę obrazów w medycynie, klasyfikację pisma czy detekcję obiektów otoczenia. Specjalnym rodzajem sieci neuronowej, który wyjątkowo dobrze radzi sobie z przetwarzaniem obrazu, są konwolucyjne sieci neuronowe. Przyznam, że ConvNet to moja ulubiona architektura głębokich sieci neuronowych i bardzo lubię …

Czytaj dalej

Naive Bayes in machine learning

Naiwny Bayes w uczeniu maszynowym

Czy lubicie statystykę? Jest duże prawdopodobieństwo, 😉 że nie. Nie przejmujcie się jednak, statystyka nie jest również moją mocną stroną. W sumie trudno powiedzieć, dlaczego większość osób stroni od statystyki, ale czuję, że wiele zagadnień statystycznych jest nie do końca intuicyjnych. Wystarczy sięgnąć po paradoks hazardzisty lub paradoks Monty’ego Halla. Ciekawa lektura, 🙂 Serio! Niezależnie …

Czytaj dalej