Professional Documents
Culture Documents
Sztucznego Neuronu
Sztucznego Neuronu
Sztucznego Neuronu
Sztucznego neuronu
Nieskończenie wiele
Ile może być przypisanych wag (parametrów modelu) w ramach jednego neuronu?
Funkcja aktywacji
Jeśli jedna z warstw posiada pięć neuronów i sygnały wyjściowe podawane również są na warstwę
o 5 neuronach, to ile, co najmniej, wag będzie pomiędzy tymi warstwami przypisane ?
25
A Spowalniają uczenie
B Pozwalają przeskalować wartości neuronów
C Wprowadzają liniowość
D Wprowadzają nieliniowość
A ReLu
B Sigmoid
C Softmax
D TanH
E Solosis
A Skalowanie korekty wagi, jaka zostanie zaaplikowana do obecnych wag - wielkość kroku
B Regularyzację - karanie algorytmu za zbyt duże wagi
C Obliczenie błędu dowolnego modelu
D Usunięcie części neuronów w procesie treningu aby przeciwdziałać zjawisku overfittingu
-Forecasting
-Computer Vision (Classification, Classification+Localization, Object Detection, Instance
Segmentation)
-Natural Language Processing
-Reinforcment Learning
-Modele Generatywne
- sigmoid (od 0 do 1)
-TanH
-Solosis
• Pozwala na rozdzielenie hiperprzestrzeni liniowo • Może działać w wielu wymiarach (xi) Czy jeden
neuron wystarczy? • Nie sprawdza się w problemach nieliniowych, które najczęściej są spotykane w
Data Science • W rzeczywistości dane dla których budujemy modele nie są tak łatwo rozdzielne
Warstwy:
- dowolność modyfikacji
• Kolejne iteracje pozwalają na wytrenowanie wag, dzięki uzyskamy wynik ze zmniejszonym błędem
• Podział hiperprzestrzeni, których rozdział liniowy jest niemożliwy
I do przodu (feed forward) - Macierz wag: • Liczba wierszy = liczba neuronów na kolejnej
warstwie • Liczba kolumn = liczba wejść / neuronów na wcześniejszej warstwie g - funkcja
aktywacji z - po warstwie, przed funkcją aktywacji a = g(z)
do tyłu (backpropagation)
gradienty w dół (gradient descent): Cel: Znalezienie wag dla którego uzyskamy minimum
globalne kosztu • Krokowa korekta wag przy wykorzystaniu gradientu • Gradient skalowany
parametrem szybkości uczenia
Funkcja Kosztu
• Regresja: MSE (Mean Squared Error)
• Klasyfikacja: CE (Cross Entropy), Quadratic, Likelihood-używane z Softmax
• Pozwala na obliczenie błędu dowolnego modelu
• Jest on wykorzystywany w procesie optymalizacji
Korekta wag
• Batch - pojedyncza “porcja” danych treningowych, najczęściej 32-128 próbek. Pozwala “wygładzić”
proces optymalizacji wag i przyspiesza trening.
Człon momentum
+ -
• Wszechstronna (regresja, klasyfikacja i inne ● Może wymagać milionów i więcej parametrów
zadania) ● Złożona obliczeniowo
• Dowolne wymiary wejścia i wyjścia ● Problem zanikającego i eksplodującego
• Radzi sobie z dużą ilością danych (szczególnie gradientu
DNN) ● Relatywnie długi trening bez GPU/VPU/TPU
• Teoretycznie istnieje taka SN, która poradzi
sobie z każdym problemem
Google Colab
- Środowisko podobne do jupyter notebooka
- Uruchamiane na linuxowych serwerach google
- Możliwość korzystania z GPU i TPU do obliczeń
- Łatwa integracja z usługami google
- Istnieje darmowa wersja
Tf.keras - API :
ZALETY KERAS:
Augmentacja danych:
Problem:
- Zbyt mało danych
- Mała różnorodność
- Przeuczanie
- Słabe predykcje na zbiorze walidacyjnym
Rozwiązanie:
- Urozmaicenie danych
- Zmiana tła
- Usunięcie niektórych szczegółów, by model musiał wykorzystać inne
Parametry:
samplewise_center i samplewise_std_normalization – standaryzacja
preprocessing_function - pozwala zdefiniować sposób obróbki danych funkcją
Warstwy konwolucyjne:
- Macierz 5x5
- Filtr konwolucyjny o kroku (stride) 1 i wymiarze 3x3
- Brak obramowania (padding)
- Tylko jeden filter - zwykle stosujemy ich więcej
Dropout:
▪ Powoduje wyzerowanie % map aktywacji losowych neuronów w trakcie treningu
▪ Zapobiega przeuczeniu
▪ Jest jedną z metod regularyzacji
LSTM(Long Short Term Memory Networks) – rodzaj rekurencyjnych sieci neuronowych, zdolne do
Kiedy wartość błędu na zbiorze treningowym jest znacznie odbiegająca(niższa) od wartości błędu na
zbiorze walidacyjnym
Nie. Za duży model może nie osiągnąć lepszych wyników, zaś łatwiej wpada w nadmierne
dopasowanie
Jaką optymalną wartość hiperparametru learning rate należy zawsze ustawić na początku
treningu?
Nie jest to określone, ponieważ to zależy na przykład od tego jak duży mamy model lub jak trudny
jest zbiór treningowy
Jaką warstwę warto dodać aby zapobiegać nadmiernemu dopasowaniu (ang. overfitting)?
tensorflow.keras.layers.Dropout()
W jaki sposób można stworzyć stałą w tensorflow.keras, której wartości nie mogą być
modyfikowane podczas treningu sieci?
tensorflow.constant()
Czy konieczne jest zawsze podawać funkcję kosztu podczas uczenia sieci?
Wykonanych zostanie 100 rund dopasowania modelu, za każdym razem na całym zbiorze
treningowym
Co otrzymamy po wykonaniu metody predict() w ramach modelu sztucznej sieci neuronowej w
tensorflow.keras ?
Zawsze jeden
Learning rate
W jaki sposób możemy pozyskać z tabeli komórkę z drugiego wiersza oraz trzeciej kolumny tabeli?
df.iloc[1][2]
krotkę (3,3)