Splotowe sieci neuronowe

Ukończone

Uwaga / Notatka

Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .

Możliwość stosowania filtrów do stosowania efektów do obrazów jest przydatna w zadaniach przetwarzania obrazów, takich jak w przypadku oprogramowania do edycji obrazów. Jednak celem przetwarzania obrazów jest często wyodrębnianie znaczenia lub przynajmniej praktycznych szczegółowych informacji z obrazów; które wymaga utworzenia modeli uczenia maszynowego, które są szkolone do rozpoznawania funkcji na podstawie dużych ilości istniejących obrazów.

Wskazówka

W tej lekcji założono, że znasz podstawowe zasady uczenia maszynowego i masz koncepcyjną wiedzę na temat uczenia głębokiego z sieciami neuronowymi. Jeśli dopiero zaczynasz korzystać z uczenia maszynowego, rozważ ukończenie modułu Wprowadzenie do pojęć dotyczących uczenia maszynowego w środowisku Microsoft Learn.

Jedną z najpopularniejszych architektur modelu uczenia maszynowego do przetwarzania obrazów jest splotowa sieć neuronowa (CNN), typ architektury uczenia głębokiego. Sieci CNN używają filtrów do wyodrębniania map cech liczbowych z obrazów, a następnie przekazywania wartości cech do modelu uczenia głębokiego w celu wygenerowania przewidywanej etykiety. Na przykład w scenariuszu klasyfikacji obrazów etykieta reprezentuje główny temat obrazu (innymi słowy, co to jest obraz?). Możesz wytrenować model CNN na obrazach różnych rodzajów owoców (takich jak jabłko, banan i pomarańcza), aby przewidywana etykieta była typem owocu na danym obrazie.

Podczas procesu uczenia sieci CNN, jądra filtrów są początkowo definiowane przy użyciu losowo wygenerowanych wartości wagowych. Następnie w miarę postępu procesu trenowania przewidywania modeli są oceniane względem znanych wartości etykiet, a wagi filtrów są dostosowywane w celu zwiększenia dokładności. W końcu wytrenowany model klasyfikacji obrazów owoców używa wag filtrów, które najlepiej wyodrębniają cechy, które pomagają zidentyfikować różne rodzaje owoców.

Na poniższym diagramie przedstawiono sposób działania sieci CNN dla modelu klasyfikacji obrazów:

Diagram splotowej sieci neuronowej.

  1. Obrazy ze znanymi etykietami (na przykład 0: jabłko, 1: banan lub 2: pomarańczowy) są przekazywane do sieci w celu wytrenowania modelu.
  2. Co najmniej jedna warstwa filtrów służy do wyodrębniania funkcji z każdego obrazu, ponieważ jest on podawany za pośrednictwem sieci. Jądra filtru zaczynają się od losowo przypisanych wag i generują tablice wartości liczbowych nazywanych mapami funkcji. Dodatkowe warstwy mogą agregować lub zmniejszać mapy cech, aby utworzyć mniejsze tablice podkreślające kluczowe cechy wizualne wyodrębnione przez filtry.
  3. Mapy funkcji są spłaszczone w jednowymiarową tablicę wartości cech.
  4. Wartości funkcji są wprowadzane do w pełni połączonej sieci neuronowej.
  5. Warstwa wyjściowa sieci neuronowej używa softmax lub podobnej funkcji, aby wygenerować wynik zawierający wartość prawdopodobieństwa dla każdej możliwej klasy, na przykład [0.2, 0.5, 0.3].

Podczas trenowania prawdopodobieństwa danych wyjściowych są porównywane z rzeczywistą etykietą klasy — na przykład obraz bananu (klasa 1) powinien mieć wartość [0.0, 1.0, 0.0]. Różnica między przewidywanymi i rzeczywistymi ocenami klas służy do obliczania straty w modelu, a wagi w w pełni połączonej sieci neuronowej i jądra filtrów w warstwach wyodrębniania cech są modyfikowane w celu zmniejszenia utraty.

Proces trenowania powtarza się przez wiele epok do czasu uzyskania optymalnego zestawu wag. Następnie wagi są zapisywane i model może służyć do przewidywania etykiet dla nowych obrazów, dla których etykieta jest nieznana.

Uwaga / Notatka

Architektury sieci CNN zwykle obejmują wiele warstw filtrów splotowych i dodatkowych warstw, aby zmniejszyć rozmiar map funkcji, ograniczyć wyodrębnione wartości i w inny sposób manipulować wartościami funkcji. Te warstwy zostały pominięte w tym uproszczonym przykładzie, aby skupić się na kluczowej koncepcji, która polega na tym, że filtry są używane do wyodrębniania cech liczbowych z obrazów, które są następnie używane w sieci neuronowej do przewidywania etykiet obrazów.