Scipy Softmax

Scipy Softmax

Python to najbardziej wszechstronny i dobrze znany język programowania wszystkich innych istniejących języków programowania. Python jest najbardziej lubiany przez programistów amatorskich, ponieważ Python ma stosunkowo prosty skrypt, który najbardziej przypomina język angielski. Ponadto ten język jest uważany za przenośny, a krzyżowy język komputerowy, ponieważ Python nie wymaga żadnych zależności od określonych systemów operacyjnych, aby jego interpreter działał poprawnie.

Scipy to pakiet zawierający obszerną listę języków programowania Python. Ten pakiet służy do budowy i szkolenia sztucznych sieci neuronowych i modeli głębokiego uczenia się. Umożliwia także obliczenia matematyczne dla programów. SCIPY „Softmax” reprezentuje funkcję używaną do nd-array w programach do zastosowania transformacji softmax na rzędach nd-array i obliczania suma wzdłuż rzędów tablicy.

Aby zrozumieć softmax, możemy założyć, że funkcja softmax może przekształcić wiersze lub każdy element w nd-array i może obliczyć wykładniczy elementu indywidualnego, biorąc jego podział z sumą wykładniczy wszystkich elementów w rzędach /kolumny. Jest to funkcja matematyczna i jest odpowiedzialna za przekształcenie wektora, który jest liczby w wektorze. To prawdopodobieństwo każdego elementu jest proporcjonalne do skali/zakresu każdego z wartości elementu w tym wektorze i jest podawane przez równanie w następujący sposób:

$ softmax (x) = np. exp (x)/ sum (NP. exp (x))

Softmax jest funkcją aktywacji i uogólnia lub zbliża się do zestawu wartości na pewien próg. Jeśli wartość jest mniejsza niż próg, będzie miała inne znaczenie niż wartość równa lub większa niż próg, który należy do innej kategorii. W sztucznych sieciach neuronowych funkcja aktywacji decyduje, który neuron jest wystrzeliwany lub aktywowany, aby spaść na wyjściu.

Procedura:

W artykule zaimplementujemy funkcję aktywacji Softmax z SCIPY. Zbadamy, jak działa ta funkcja i jakie korzyści może przynieść w programie. Dowiemy się również o składni tej funkcji i wykonamy dwa przykłady, aby uzyskać dobrą praktykę w funkcji.

Składnia:

$ scipy. jest wyjątkowy.softmax (x, oś = brak)

Parametry softmax to „x” i „osi”, w których „x” definiuje tablicę lub zestaw danych, na którym stosujemy aktywację softmax, a „osi” to oś, którą obliczamy tę funkcję softmax. Jego wartość domyślna jest równa brakowi.

Wartość zwracana:

Ponieważ funkcje konwertują wartość każdego elementu w tablicy na jego prawdopodobieństwo, wartość zwracana tej funkcji jest pojedyncza wartość i wynosi „1”, ponieważ wymaga maksymalnej i aproksymacji wszystkich wartości wykładniczych w wierszach.

Przykład:

Użyjmy funkcji Softmax w tablicy i zbadajmy wyjście, czy jest ona dokładnie taka, jak twierdziliśmy w opisie funkcji. Przejdź do „Google COLLAB”. Jest to platforma Python online i zapewnia wstępnie zainstalowane pakiety z alokacją GPU, aby zapisać czas i przechowywanie systemu. Aby współpracować z Google COLLAB, tworzymy nowy notebook i zapisujemy go w Dysku Google. Na początek zaimportujmy kilka niezbędnych pakietów z wstępnie zainstalowanego pakietu Pythona, aby załadować odpowiednie moduły, które umożliwiają działanie funkcji „softmax ()”.

Dwie najważniejsze biblioteki są zawarte w programie, „Numpy” i „Scipy. Biblioteki specjalne ”. Importujemy Numpy jako „NP”. Scipy.Specjalne jest importowane jako „Softmax”. Ten softmax jest teraz dodawany do naszego programu. Możemy go teraz użyć i sprawić, by nasz program był bez wysiłku. Teraz tworzymy nd-array, abyśmy mogli zastosować na niej funkcję aktywacji softmax. Ale wcześniej robimy kolejny krok, a mianowicie przygotowanie wartości pływakowych w naszej tablicy, które są wyświetlane do jakiej precyzji lub do jakiej liczby miejsc po dziesiętnej. Odbywa się to, pisząc polecenie jako „NP.set_printoptions (Precision = 4) ”w programie. Funkcja set_printoptions wykonuje tę precyzję. Tutaj precyzja równa „4” oznacza, że ​​wartości drukują do czterech miejsc dziesiętnych.

Po zakończeniu tego kroku deklarujemy teraz zmienną o nazwie „tablica”. Przypisujemy 3-wymiarową tablicę do tej zmiennej. Aby utworzyć trójwymiarową tablicę, nazywamy „NP. Metoda tablicy ([]) ”jako„ NP. tablica ([[1, 0.5, 0.2, 3], [1, -1, 7, 3], [2, 12, 13, 3]]) ”. To jest trójwymiarowa tablica, ponieważ ta tablica ma trzy kolumny i trzy wiersze. Ta tablica w przykładzie reprezentuje zestaw danych, ponieważ zestaw danych jest również tablicą wielowymiarową. Stosujemy funkcję Softmax w tej tablicy jako „Softmax (tablica)” i zapisujemy wyniki z tej funkcji w inną zmienną „wynik”. Lub bezpośrednio drukujemy wyniki za pomocą funkcji „print ()”. Kod tego programu jest wyświetlany w poniższym załączonym fragmencie:

od Scipy.Specjalny import Softmax
importować Numpy jako NP
NP.set_printoptions (precyzja = 4)
array = np.tablica ([[1, 2, 8, 3],
[1, -1, 2, 3],
[2, 11, 14, 3]])
wynik = softmax (tablica)
Drukuj (wynik)
wynik.suma()

Zgodnie z wyjściem, że funkcja przekonwertowała wartość w wierszu, która była liczba na wartości wykładnicze dokładnie tak, jak omówiliśmy wcześniej we wprowadzaniu tego tematu. Teraz, aby sprawdzić kolejną kwestię, że ta funkcja przyjmuje sumę tych wartości i zwraca wartość równą „1”, przekazujemy wyniki z funkcji softmax do funkcji sumy jako „wynik.sum () ”i wyświetl wyniki. Kod tego wyjaśnienia podano w następującym wyjściu:

Wyjście zwraca wartość „1” po obliczeniu sumy, co oznacza, że ​​drugi punkt jest również weryfikowany.

Wniosek

Artykuł umieszcza funkcję Scipy „Softmax” w centrum uwagi. Artykuł daje głębszy wgląd w koncepcję funkcji aktywacji Softmax i dlaczego potrzebujemy go w naszych modelach. Następnie pokazuje metodę zastosowania funkcji Softmax na nd-array w celu zweryfikowania wyników omówionych w wyjaśnieniu tematu.