Co to jest sieć neuronowa?
Jeden czerwony neuronalny to model matematyczny i obliczeniowy inspirowany sieciami neuronowymi ludzkiego mózgu.
Sztuczne sieci neuronowe zostały opracowane w zakresie sztuczna inteligencja i były używane w wielu zadaniach, takie jak rozpoznawanie wzorców i klasyfikacja danych.
Jak działa sieć neuronowa
Sieć neuronowa składa się z jednostki przetwarzania dzwoni neurony.
Każdy neuron jest połączony z innymi neuronami przez spinki do mankietów że przekazują oznaki między nimi.
Neurony i linki mają peso związane z nimi, służy do modyfikacji sygnału przekazywanego między neuronami.
Jak uczy się sieci neuronowej
The uczenie się w sieci neuronowej odbywa się to poprzez dostosowanie wag połączeń między neuronami.
Ta regulacja jest dokonywana za pomocą algorytm de propagacji wstecznej, który modyfikuje wagi łączy w taki sposób, aby zminimalizować błędy w wyjściach sieciowych.
Jak zaimplementować sieć neuronową w Pythonie
Istnieje wiele bibliotek oprogramowania, które można wykorzystać do implementacji sieci neuronowych w Pythonie..
Niektóre z najpopularniejszych to TensorFlow, Keras • tak PyTorch.
w tym przewodniku, skorzystajmy z biblioteki Keras • z zapleczem TensorFlow.
Paso 1: Importuj niezbędne biblioteki
Pierwszy, musimy zaimportować niezbędne biblioteki do tego samouczka.
Zaimportujmy bibliotekę Keras • i niektóre funkcje TensorFlow czego będziemy potrzebować.
”’
z keras.models import Sequential
z keras.layers importuj Dense
importuj tensorflow jako tf
”’
Paso 2: Zdefiniuj sieć neuronową
W tym kroku, zdefiniujmy model naszej sieci neuronowej.
Będziemy używać czerwony neuronowy w pełni połączony, który składa się z gęstych warstw neuronów połączonych między wszystkimi neuronami poprzedniej warstwy.
Pierwszym krokiem jest stworzenie obiekt sekwencji. Ten obiekt służy do definiowania struktury sieci neuronowej.
”’
model = sekwencyjny()
”’
Następny, do naszego modelu dodajemy pierwszą gęstą warstwę neuronów.
Ta warstwa będzie 100 neurony, a warstwa wejściowa będzie miała 784 neurony (po jednym na każdy piksel obrazu MNIST).
Funkcja Skręcić Służy do tworzenia gęstej warstwy neuronów.
”’
model.add(Skręcić(100, input_dim=784, activation='relu'))
”’
Następny, Dodajemy drugą gęstą warstwę neuronów.
Ta warstwa będzie 50 neurony.
”’
model.add(Skręcić(50, activation='relu'))
”’
Wreszcie, Dodawanie warstwy wyjściowej.
Ta warstwa będzie 10 neurony, po jednej dla każdej cyfry zbioru danych MNIST.
Funkcja aktywacji, której użyjemy w tej warstwie, będzie Softmax, która jest funkcją aktywacji używaną w Klasyfikacja wieloklasowa.
”’
model.add(Skręcić(10, activation='softmax'))
”’
Paso 3: Skompiluj model
Po zdefiniowaniu modelu naszej sieci neuronowej, Potrzeba Kompilować zanim będziemy mogli go użyć do nauki.
W tym kroku, Określmy Funkcja kosztu i Optymalizator których będziemy używać.
The Funkcja kosztu jest miarą tego, jak dobrze model radzi sobie w uczeniu się..
The Optymalizator to algorytm używany do regulacji wag sieci neuronowej.
w tym przewodniku, Użyjmy Entropia krzyżowa, kategoryczna funkcja kosztu i Stochastyczny optymalizator gradientu malejącego.
”’
model.compile(loss='categorical_crossentropy',
optimizer='sgd',
metryki=["dokładność"])
”’
Paso 4: Trenuj model
Po skompilowaniu modelu, jesteśmy gotowi Cię przeszkolić.
w tym przewodniku, użyjemy zbioru danych MNIST.
Zawiera zbiór danych 60.000 obrazy odręcznych cyfr do treningu i 10.000 obrazy odręcznych cyfr do walidacji.
Będziemy trenować naszą sieć neuronową podczas 20 pory roku, i zamierzamy użyć wielkość partii z 128.
”’
model.fit(x_pociąg, y_pociąg,
wielkość_paczki=128,
epoki=20,
validation_data=(x_test, y_test))
”’
Paso 5: Oceń model
Po przeszkoleniu modelu, ocenimy jego wydajność na testowym zbiorze danych.
Ten zestaw danych zawiera 10.000 odręczne obrazy cyfr.
”’
wynik = model.ocena(x_test, y_test, wielkość_paczki=128)
”’
The wynik zwracana jest lista z dwiema wartościami.
Pierwsza wartość to strata (Funkcja kosztu) modelu w zbiorze danych testowych.
Druga wartość to precyzja (precyzja) modelu w zbiorze danych testowych.
”’
wydrukować(wynik)
Zastosowania sieci neuronowych
sztuczne sieci neuronowe (ANN, Sztuczna sieć neuronowa) to rodzina modeli Uczenie maszynowe w oparciu o strukturę i funkcję Ośrodkowy układ nerwowy żywych istot, w szczególności z Kora mózgowa.
Istnieją różne zastosowania sieci neuronowych., najbardziej godne uwagi są następujące:
rozpoznawanie wzorców
The rozpoznawanie wzorców Jest to jedno z najbardziej znanych zastosowań sieci neuronowych.. Jest to proces, dzięki któremu można wykryć i sklasyfikować pewne wzorce w zbiorze danych..
Niektóre przykłady rozpoznawania wzorców to rozpoznawanie obiektów na obrazie, rozpoznawanie mowy lub rozpoznawanie znaków w dokumencie.
przetwarzanie języka naturalnego
The przetwarzanie języka naturalnego (NLP, Przetwarzanie języka naturalnego) to kolejne zastosowanie sieci neuronowych. Jest to dyscyplina odpowiedzialna za analizę, rozumieć i generować język naturalny.
Niektóre przykłady przetwarzania języka naturalnego to nazwane rozpoznawanie jednostek, analiza sentymentu lub tłumaczenie maszynowe.
Wykrywanie anomalii
The wykrywanie anomalii to kolejne zastosowanie sieci neuronowych. Jest to proces, dzięki któremu w zbiorze danych można wykryć nietypowe lub nietypowe wzorce..
Niektóre przykłady wykrywania anomalii to wykrywanie oszustw w transakcjach bankowych, wykrywanie intruzów w systemie komputerowym lub wykrywanie błędów w procesie produkcyjnym.
Przewidywanie szeregów czasowych
The prognoza szeregów czasowych to kolejne zastosowanie sieci neuronowych. Jest to proces, dzięki któremu można przewidzieć przyszłe wartości szeregu czasowego na podstawie poprzednich wartości..
Niektóre przykłady prognozowania szeregów czasowych to prognozowanie ceny akcji na giełdzie., przewidywanie zapotrzebowania na produkt na rynku lub przewidywanie zużycia energii w mieście.