Glosariusz systemów uczących się: modele obrazów

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Ta strona zawiera terminy słowniczka modeli obrazów. Wszystkie terminy słowniczka znajdziesz tutaj.

A

rzeczywistość rozszerzona

#image

Technologia, która nakłada się na obraz wygenerowany przez komputer i oferuje widok złożony z rzeczywistych światów.

B

ramka ograniczająca

#image

Na obrazie współrzędne (x, y) prostokąta wokół obszaru, który Cię interesuje, np. psa na obrazie poniżej.

Zdjęcie psa, który siedzi na kanapie. Zielone ramki graniczne ze współrzędnymi lewymi (275, 1271) i prawym dolnym rogu (2954, 2761) krążą ciało psa.

C

splot

#image

W obliczeniach matematyki ich kombinacja jest prosta. W przypadku systemów uczących się splot łączy filtr konwakcyjny z matrycą danych wejściowych, by wytrenować wagi.

Pojęcie „zastosowanie systemów uczących się” jest często skrótowym odniesieniem do operacji splotowej lub warstwy splotowej.

Bez algorytmów uczących się algorytm systemów uczących się musiałby nauczyć się osobnej wagi każdej komórki w dużym tensorze. Na przykład szkolenie algorytmów systemów uczących się w obrazach o wymiarach 2 x 2 tys. będzie musiało uzyskać 4 mln oddzielnych wag. Dzięki splotom algorytm systemów uczących się musi znaleźć tylko każdą wagę w filtrze konwakcyjnym, co znacznie zmniejsza ilość pamięci potrzebnej do trenowania modelu. Po zastosowaniu filtra spowodowanego zostanie on powielony w komórkach tak, aby każdy został pomnożony przez filtr.

filtr splotowy

#image

Jeden z 2 aktorów wykonujących operację atomową. (inny podmiot to wycinek tablicy wejściowej). Filtr ewolucyjny to macierz o takim samym rankingu jak matryca danych, ale mniejszy. Na przykład przy macierze wejściowej 28 x 28 filtr może być matrycą 2D mniejszym niż 28 x 28.

W przypadku manipulacji fotograficznych wszystkie komórki w prostokątnym filtrowaniu mają zazwyczaj stały wzór równy 0. W systemach uczących się filtry splotowe są zwykle zastępowane losowymi liczbami, a następnie sieć trenuje idealne wartości.

warstwa splotowa

#image

Warstwa głębokiej sieci neuronowej, w której filtr konwakcyjny przechodzi przez macierę wejściową. Rozważmy na przykład ten filtr równoczesny 3 x 3:

Tablica 3 x 3 z tymi wartościami: [[0,1,0], [1,0,1], [0,1,0]]

Poniższa animacja przedstawia warstwę splotową składającą się z 9 operacji splotowych obejmujących macierze wejściowe 5 x 5. Zwróć uwagę, że każda operacja splotowa działa w innym wycinku tablicy wejściowej 3 x 3. Otrzymany matryca 3 x 3 (po prawej) składa się z 9 operacji splotowych:

Animacja pokazująca 2 matryce. Pierwsza macierz to macierz 5 x 5: [[128,97,53,201,198], [35,22,25,200,195],
 [37,24,28,197,182], [33,28,92,195,179]9]
          Druga macierz to macierz 3 x 3: [[181 303,618], [115 338 605], [169 351 560]].
          Druga macierz oblicza się, stosując filtr konwakcyjny [[0, 1, 0], [1, 0, 1], [0, 1, 0]] w różnych podzbiorze macierzy 5x5.

neuronowa sieć neuronowa

#image

Sieć neuronowa, w której co najmniej 1 warstwa jest warstwą splotową. Typowa sieć neuronowa atomowa składa się z kilku kombinacji tych warstw:

Rewolucyjne sieci neuronowe okazały się skuteczne w przypadku pewnych problemów, na przykład rozpoznawania obrazów.

operacja splotowa

#image

Ta dwuetapowa operacja matematyczna:

  1. Mnożenie przez element filtra konwakcyjnego i wycinek tablicy wejściowej. (Wycinek tablicy wejściowej ma ten sam ranking i rozmiar co filtr współczesny).
  2. Suma wszystkich wartości w tablicy wynikowej produktu.

Weźmy na przykład tę tablicę wejściowe 5 x 5:

Tablica 5 x 5: [[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [31,49]

A teraz wyobraź sobie ten filtr splotowy 2 x 2:

Tablica 2 x 2: [[1, 0], [0, 1]]

Każda operacja splotowa obejmuje pojedynczy wycinek tablicy wejściowej 2 x 2. Załóżmy na przykład, że mamy segment 2 x 2 w lewym górnym rogu tablicy wejściowej. Operacja przełączenia tego wycinka wygląda tak:

Stosuję filtr konwakcyjny [[1, 0], [0, 1]] w lewej górnej części tablicy wejściowej, [[128,97], [35,22]].
          Filtr konwersyjny pozostawia 128 i 22 bez zmian, ale zeruje 97 i 35. W związku z tym operacja splotu otrzymuje wartość 150 (128+22).

Warstwa splotowa składa się z serii operacji splotowych, z których każda działa na innym wycinku tablicy wejściowej.

D

wzbogacanie danych

#image

Sztuczne zwiększenie zakresu i liczby przykładów przez przekształcenie istniejących przykładów w celu utworzenia dodatkowych przykładów. Załóżmy na przykład, że obrazy to jedna z funkcji, ale zbiór danych nie zawiera wystarczającej liczby przykładów obrazów, by można było poznać przydatne powiązania. Najlepiej jest dodać do zbioru danych wystarczającą liczbę obrazów oznaczonych etykietą, aby model mógł się uczyć prawidłowo. Jeśli nie jest to możliwe, można użyć powiększania danych, obracać i odbijać poszczególne obrazy, aby uzyskać różne wersje oryginalnego zdjęcia.

oddzielna splotowa sieć neuronowa (sepCNN)

#image

Komunikacyjna architektura neuronowa oparta na Incepcji, gdzie moduły Inception są zastępowane głęboko odmiennymi splotami. Znana też jako Xception.

Głęboko-oddzielone konwersje (nazywane też równodzielną konwersją) są połączone w standardową konwersję 3D w 2 osobne operacje splotu: pod kątem 1 głębokości, głębokości 1 (n ∨ n ∨ 1) i drugiej z długą konwersją.

Więcej informacji znajdziesz w artykule Xception: Głębokie nauczanie dzięki konwersjom głębokim i rozdzielczości.

zmniejszenie

#image

Termin przeciążony może oznaczać:

  • Ograniczenie ilości informacji w funkcji w celu skuteczniejszego trenowania modelu. Na przykład przed wytrenowaniem modelu rozpoznawania obrazów zmniejszymy rozdzielczość obrazów o wysokiej rozdzielczości do formatu o niższej rozdzielczości.
  • Trening na nieproporcjonalnie długim przykładzie zbyt wielu reprezentowanych grup class, aby poprawić trenowanie modelu w niedostatecznie reprezentowanych klasach. Na przykład w zbiorze danych niezrównoważonym modele zwykle uzyskują więcej informacji o klasie mniejszości i za mało o klasy mniejszości. Ta funkcja pomaga zrównoważyć liczbę szkoleń na klasach większości i mniejszości.

I

rozpoznawanie obrazów

#image

Proces klasyfikujący obiekty, wzorce lub koncepcje na obrazie. Rozpoznawanie obrazów jest też nazywane klasyfikacją obrazów.

Więcej informacji znajdziesz na stronie ML Practicum: Classification obrazu.

skrzyżowanie (IoU)

#image

Połączenie dwóch zestawów podzielonych przez ich połączenie. W zadaniach wykrywania obrazów z systemami uczącymi się IoU służy do pomiaru dokładności ramki ograniczającej prognozowanej w odniesieniu do terenu granicznego. W tym przypadku wartość IOU dla dwóch pól to stosunek między pokrywającym się obszarem a łącznym obszarem, a jego wartość mieści się w zakresie od 0 (niepokrywające się ramki graniczne i ramowe dane prawdopodobne) do 1 (zaufana granica ograniczająca i rama prawdy).

Na przykład na ilustracji poniżej:

  • Przewidywana wartość graniczna (współrzędne określające miejsce, w którym znajduje się tabela nocne na obrazie) jest oznaczona na fioletowo.
  • Ramka granicy danych podstawowych (ground truth) (czyli współrzędne zależne od miejsca, w którym znajduje się nocna ilustracja) jest oznaczona na zielono.

Obraz Van Gogha z sypialnią w Arles w budynku 2 różnych obwódek wokół nocnego stołu przy łóżku. Pudełko graniczne oparte na podstawowych zasadach (kolorem zielonym) idealnie krąży nocą. Prognozowana ramka ograniczająca (na fioletowo) odsunie się o 50% w dół i w prawo do pola granicznego z podstawą. Powoduje ono ukrycie prawego dolnego rogu tabeli nocnej, ale brakuje jej w pozostałej części.

Skrzyżowanie pól progowych prognozowanych i ziemia (po lewej) 1 po lewej, a łączenie krawędzi prognostycznych i podstawowej (po prawej) 7, więc IOU to \(\frac{1}{7}\).

Ten sam obraz jak powyżej, ale z każdą ramką podzieloną na kwadraty. Suma kwadratów wynosi 7 kwartałów, ponieważ kwartał prawy dolny granicę gruntu (ground truth) i lewy górny kwadrat okna granicznego nakładają się na siebie. Ta pokrywająca się część (wyróżniona na zielono) reprezentuje skrzyżowanie i ma obszar równy 1. Ten sam obraz jak powyżej, ale z każdą ramką podzieloną na kwadraty. Suma kwadratów wynosi 7 kwartałów, ponieważ kwartał prawy dolny granicę gruntu (ground truth) i lewy górny kwadrat okna granicznego nakładają się na siebie.
          Całe wnętrze umieszczone w obu ramkach ograniczających (zaznaczone na zielono) reprezentuje całość i ma obszar równy 7.

K

punkty kluczowe

#image

Współrzędne określonych funkcji na zdjęciu. Na przykład w modelu rozpoznawania obrazów, który rozróżnia gatunki kwiatów, kluczowe punkty mogą znajdować się w centrum każdego płatka, łodygi, stojaka itp.

N

punkty orientacyjne

#image

synonim kluczowych punktów.

M

MNIST

#image

Publiczny zbiór danych z domeny publicznej skompilowany przez LeCuna, Cortesa i Burgesa, w którym każdy zawiera 60 tys. obrazów przedstawiających ręczną narrację z cyfr 0–9. Każdy obraz jest przechowywany w postaci tablicy 28 x 28, gdzie każda liczba całkowita jest wartością w skali od 0 do 255 włącznie.

MNIST to kanoniczny zbiór danych przeznaczony do systemów uczących się, często używany do testowania nowych metod. Więcej informacji znajdziesz w bazie danych MNIST z odręcznymi cyframi.

P

pływanie

#image

Zmniejszenie matrycy (lub matryc) utworzonej przez wcześniejszą warstwę konwakcyjną do mniejszej matrycy. Zwykle łączenie danych odbywa się na obszarze skumulowanego obszaru ze średnią lub średnią. Załóżmy na przykład, że mamy taką macierz 3 x 3:

Tablica 3 x 3 [[5,3,1], [8,2,5], [9,4,3]].

Operacja grupowania przebiega podobnie jak operacja splotowa. Dzieli ona matrycę na kawałki, a następnie przesuwa slajdy w ten sposób, korzystając z kroków. Załóżmy na przykład, że operacja segregacji dzieli materię splotową na wycinki 2 x 2 z krokiem 1 x 1. Poniższa ilustracja przedstawia 4 operacje łączenia. Wyobraź sobie, że każda operacja grupowania wybiera maksymalną wartość czterech czterech w tym wycinku:

Tablica wejściowa 3 x 3 z wartościami: [[5,3,1], [8,2,5], [9,4,3]].
          Lewa górna matryca 2 x 2 z tablicy wejściowej to [[5,3], [8,2]], więc działanie scalania w lewym górnym rogu generuje wartość 8 (czyli maksymalnie 5, 3, 8 i 2). W prawym górnym rogu tablicy podrzędnej tablicy 2 x 2 znajdują się [[3,1], [2,5]], więc w prawym górnym rogu widoczna jest wartość 5. Lewa dolna podrzędna matryca 2 x 2 w tablicy wejściowej to [[8,2], [9,4]], więc operacja segregacji w lewym dolnym rogu generuje wartość 9.  Podrzędna matryca 2 x 2 w matrycy wejściowej to [[2,5], [4,3]], więc operacja prawego dolnego rogu zwraca wartość 5.  Podsumowując, operacja agregacji skutkuje uzyskaniem macierzy 2x2 [[8,5], [9,5]].

Agregacja pomaga wymuszać niezmienność translacji w tablicy wejściowej.

Łączenie aplikacji do rozpoznawania wzroku nazywa się skumulowaniem przestrzennym. Aplikacje oferujące ciągi czasowe są zazwyczaj nazywane tymczasowym łączeniem danych. Mniej formalnie nazywamy je „sampsling” lub downsampling.

C

Niezmienność obrotowa

#image

W problemie z klasyfikacją obrazu używany jest algorytm, który klasyfikuje obrazy nawet w przypadku zmiany orientacji. Na przykład algorytm może nadal rozpoznawać rakietę tenisowym, niezależnie od tego, czy jest skierowany w górę, na boki czy w dół. Pamiętaj, że nie zawsze jest to zniekształcone w rotacji – na przykład do góry nogami 9 nie należy klasyfikować 9.

Zapoznaj się też z informacjami o zmienności translacji i niezmienności rozmiaru.

s

niezmienność rozmiaru

#image

W problemie z klasyfikacją obrazu algorytm klasyfikuje obrazy nawet w razie zmiany rozmiaru obrazu. Na przykład algorytm nadal może zidentyfikować kota, który pochłania 2 mln lub 200 tys. pikseli. Pamiętaj, że nawet najlepsze algorytmy klasyfikacji obrazów wciąż mają praktyczne ograniczenia w zakresie niezmienności rozmiaru. Na przykład algorytm (lub człowiek) prawdopodobnie nie sklasyfikuje obrazu kota, który pochłania tylko 20 pikseli.

Zobacz też niezmienność translacji i niezmienność rotacyjną.

basen przestrzenny

#image

Zobacz pooling.

stride

#image

W operacji scalonej lub łączeniu, delta w każdym wymiarze kolejnych wycinków danych wejściowych. Na przykład ta animacja prezentuje postęp (1,1) podczas czynności splotowej. Dlatego kolejny wycinek danych wejściowych rozpoczyna się o 1 pozycję po prawej stronie poprzedniego wycinka. Gdy operacja dotrze do prawej krawędzi, następny wycinek znajdzie się po lewej stronie, ale tylko w jednym miejscu.

Wprowadzająca macierz 5 x 5 i 3-prostokątny filtr 3 x 3. Etap jest równy 1,1, więc filtr splotowy zostanie zastosowany 9 razy. Pierwszy wymienny skrętowy ocenia lewy górny panel 3 x 3 w macie. Drugi wycinek ocenia górną podrzędną właściwość 3 x 3. Trzeci wyrywkowy splotowy pozwala ocenić prawą krawędź podrzędnej 3 x 3.  Czwarty wycinek ocenia tablicę podrzędną 3 x 3 środkową.
     Piąty wycinek ocenia środkową podmatę 3 x 3. Szósty wycinek ocenia tablicę podrzędną prawy prawy 3 x 3. Siódmy wycinek ocenia tablicę podrzędną 3 × 3.  Ósmy wycinek ocenia dolną matrycę 3 x 3 na dole. Dziewiąty wycinek ocenia tablicę podrzędną 3 x 3 w prawym dolnym rogu.

W poprzednim przykładzie widać dwuwymiarowy postęp. Jeśli macierz wejściowa jest trójwymiarowa, krok będzie też trójwymiarowy.

podpróbkowanie

#image

Zobacz pooling.

T

niezmienność tłumaczenia

#image

W problemie z klasyfikacją obrazu algorytm klasyfikuje obrazy nawet w przypadku zmiany pozycji obiektów. Na przykład algorytm może rozpoznawać psa niezależnie od tego, czy znajduje się on w środkowej części ramki, czy po jej lewej stronie.

Zobacz też zmienność rozmiaru oraz średnia zmiennych.