Wieloklasowy składnik sieci neuronowej

W tym artykule opisano składnik w projektancie usługi Azure Machine Learning.

Ten składnik umożliwia utworzenie modelu sieci neuronowej, który może służyć do przewidywania celu zawierającego wiele wartości.

Na przykład sieci neuronowe tego typu mogą być używane w złożonych zadaniach przetwarzania obrazów, takich jak rozpoznawanie cyfr lub liter, klasyfikacja dokumentów i rozpoznawanie wzorców.

Klasyfikacja przy użyciu sieci neuronowych jest metodą uczenia nadzorowanego i dlatego wymaga oznakowanego zestawu danych zawierającego kolumnę etykiety.

Model można wytrenować, podając model i oznakowany zestaw danych jako dane wejściowe do trenowania modelu. Wytrenowany model może następnie służyć do przewidywania wartości dla nowych przykładów wejściowych.

Informacje o sieciach neuronowych

Sieć neuronowa to zestaw połączonych warstw. Dane wejściowe są pierwszą warstwą i są połączone z warstwą wyjściową przez graf acykliczny składający się z ważonych krawędzi i węzłów.

Między warstwami wejściowymi i wyjściowymi można wstawić wiele ukrytych warstw. Większość zadań predykcyjnych można łatwo wykonać tylko z jedną lub kilkoma ukrytymi warstwami. Jednak ostatnie badania wykazały, że głębokie sieci neuronowe (DNN) z wieloma warstwami mogą być skuteczne w złożonych zadaniach, takich jak rozpoznawanie obrazów lub mowy. Kolejne warstwy są używane do modelowania rosnących poziomów głębi semantycznej.

Relacja między danymi wejściowymi i wyjściowymi jest oparta na trenowaniu sieci neuronowej na danych wejściowych. Kierunek grafu przechodzi z danych wejściowych przez warstwę ukrytą i do warstwy wyjściowej. Wszystkie węzły w warstwie są połączone przez ważone krawędzie z węzłami w następnej warstwie.

Aby obliczyć dane wyjściowe sieci dla określonego danych wejściowych, wartość jest obliczana w każdym węźle w ukrytych warstwach i w warstwie wyjściowej. Wartość jest ustawiana przez obliczenie ważonej sumy wartości węzłów z poprzedniej warstwy. Następnie do tej ważonej sumy jest stosowana funkcja aktywacji.

Konfigurowanie wieloklasowej sieci neuronowej

  1. Dodaj składnik Wieloklasowej sieci neuronowej do potoku w projektancie. Ten składnik można znaleźć w obszarze Machine Learning, Initialize, w kategorii Klasyfikacja .

  2. Utwórz tryb trenera: użyj tej opcji, aby określić sposób trenowania modelu:

    • Pojedynczy parametr: wybierz tę opcję, jeśli wiesz już, jak skonfigurować model.

    • Zakres parametrów: wybierz tę opcję, jeśli nie masz pewności co do najlepszych parametrów i chcesz uruchomić zamiatanie parametrów. Wybierz zakres wartości do iterowania, a hiperparametry modelu dostrajania iterują wszystkie możliwe kombinacje podanych ustawień w celu określenia hiperparametrów, które generują optymalne wyniki.

  3. Specyfikacja warstwy ukrytej: wybierz typ architektury sieci do utworzenia.

    • W pełni połączony przypadek: wybierz tę opcję, aby utworzyć model przy użyciu domyślnej architektury sieci neuronowej. W przypadku wieloklasowych modeli sieci neuronowych wartości domyślne są następujące:

      • Jedna ukryta warstwa
      • Warstwa wyjściowa jest w pełni połączona z warstwą ukrytą.
      • Warstwa ukryta jest w pełni połączona z warstwą wejściową.
      • Liczba węzłów w warstwie wejściowej jest określana przez liczbę funkcji w danych treningowych.
      • Użytkownik może ustawić liczbę węzłów w warstwie ukrytej. Wartość domyślna to 100.
      • Liczba węzłów w warstwie wyjściowej zależy od liczby klas.
  4. Liczba ukrytych węzłów: ta opcja umożliwia dostosowanie liczby ukrytych węzłów w domyślnej architekturze. Wpisz liczbę ukrytych węzłów. Wartość domyślna to jedna ukryta warstwa z 100 węzłami.

  5. Wskaźnik nauki: zdefiniuj rozmiar kroku wykonanego w każdej iteracji przed korektą. Większa wartość współczynnika uczenia może spowodować szybsze zbieżnie modelu, ale może zastąpić lokalne minima.

  6. Liczba iteracji uczenia: określ maksymalną liczbę przypadków przetwarzania przypadków trenowania przez algorytm.

  7. Początkowa średnica wag uczenia: określ wagi węzłów na początku procesu uczenia.

  8. Pęd: określ wagę, która ma być stosowana podczas uczenia się do węzłów z poprzednich iteracji.

  9. Przykłady mieszania: wybierz tę opcję, aby przetasować przypadki między iteracjami.

    Jeśli usuniesz zaznaczenie tej opcji, sprawy są przetwarzane dokładnie w tej samej kolejności przy każdym uruchomieniu potoku.

  10. Inicjator liczb losowych: wpisz wartość, która ma być używana jako inicjator, jeśli chcesz zapewnić powtarzalność między przebiegami tego samego potoku.

  11. Trenowanie modelu:

    • Jeśli ustawisz opcję Utwórz tryb trenera na pojedynczy parametr, połącz oznakowany zestaw danych i składnik Train Model (Trenowanie modelu ).

    • Jeśli ustawisz opcję Utwórz tryb trenera na wartość Zakres parametrów, połącz oznakowany zestaw danych i wytrenuj model przy użyciu hiperparametrów dostrajania modelu.

    Uwaga

    Jeśli przekazujesz zakres parametrów do trenowania modelu, używa tylko wartości domyślnej na liście pojedynczych parametrów.

    W przypadku przekazania pojedynczego zestawu wartości parametrów do składnika Hiperparametrów modelu dostrajania , gdy oczekuje ona zakresu ustawień dla każdego parametru, ignoruje wartości i używa wartości domyślnych dla ucznia.

    Jeśli wybierzesz opcję Zakres parametrów i wprowadzisz pojedynczą wartość dla dowolnego parametru, określona pojedyncza wartość będzie używana w całym zamiataniu, nawet jeśli inne parametry zmienią się w zakresie wartości.

Wyniki

Po zakończeniu szkolenia:

  • Aby zapisać migawkę wytrenowanego modelu, wybierz kartę Dane wyjściowe w prawym panelu składnika Trenowanie modelu . Wybierz ikonę Zarejestruj zestaw danych , aby zapisać model jako składnik wielokrotnego użytku.

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning.