
Data: 2025.01.31 | Kategoria: Blog | Tagi: sieci neuronowe , glebokie uczenie , deep learning , LLM , AI , sztuczna inteligencja , SI

Architektura sieci neuronowych to struktura, która definiuje sposób organizacji i poĹÄ czeĹ miÄdzy neuronami (jednostkami obliczeniowymi) w modelu. Sieci neuronowe sÄ inspirowane biologicznym ukĹadem nerwowym, ale w praktyce sÄ to matematyczne modele przetwarzajÄ ce dane. PoniĹźej szczegóĹowe wyjaĹnienie:
Neuron to podstawowa jednostka obliczeniowa.
DziaĹa w trzech krokach:
- Suma waĹźona: z=
: WejĹcia (dane lub wyjĹcia z poprzednich neuronów).
: Wagi (parametry do nauki).
: Bias (staĹa przesuniÄcia).
- Funkcja aktywacji:
PrzykĹady funkcji: ReLU, sigmoid, tanh.
- WyjĹcie: jest przekazywane do kolejnych neuronów.
- Warstwa wejĹciowa: Przyjmuje dane (np. piksele obrazu, sĹowa tekstu).
- Warstwy ukryte: WykonujÄ transformacje nieliniowe.
- Warstwa wyjĹciowa: Generuje wynik (np. klasÄ, wartoĹÄ liczbowÄ ).
- KaĹźdy neuron w warstwie jest poĹÄ czony z kaĹźdym neuronem w poprzedniej warstwie.
- PrzykĹad:
from tensorflow.keras.layers import Dense
dense_layer = Dense(units=64, activation='relu')
- UĹźywana w sieciach CNN do przetwarzania obrazów.
- Filtry (kernels): Przesuwane po obrazie, wykrywajÄ lokalne wzorce (np. krawÄdzie, tekstury).
- Parametry: Rozmiar filtra (np. 3x3), liczba filtrów, krok (stride), dopeĹnienie (padding).
- PrzykĹad:
from tensorflow.keras.layers import Conv2D
conv_layer = Conv2D(filters=32, kernel_size=(3, 3), activation='relu')
Redukuje wymiarowoĹÄ danych, zachowujÄ c najwaĹźniejsze informacje.
Typy: Max pooling, Average pooling.
PrzykĹad:
from tensorflow.keras.layers import MaxPooling2D
pooling_layer = MaxPooling2D(pool_size=(2, 2))
UĹźywana w sieciach RNN do przetwarzania sekwencji (np. tekst, dane czasowe).
PamiÄÄ: Przechowuje informacje z poprzednich kroków czasowych.
PrzykĹad:
from tensorflow.keras.layers import SimpleRNN
rnn_layer = SimpleRNN(units=64, activation='tanh')
Zaawansowane wersje RNN, lepiej radzÄ ce sobie z dĹugimi sekwencjami.
LSTM (Long Short-Term Memory): UĹźywa bramek do kontrolowania przepĹywu informacji.
GRU (Gated Recurrent Unit): Uproszczona wersja LSTM.
PrzykĹad:
from tensorflow.keras.layers import LSTM
lstm_layer = LSTM(units=128)
UĹźywana w NLP do mapowania sĹów na wektory liczbowe.
PrzykĹad:
from tensorflow.keras.layers import Embedding
embedding_layer = Embedding(input_dim=10000, output_dim=128)
Zapobiega overfittingowi przez losowe wyĹÄ czanie neuronów podczas treningu.
PrzykĹad:
from tensorflow.keras.layers import Dropout
dropout_layer = Dropout(rate=0.5)
Funkcje aktywacji wprowadzajÄ nieliniowoĹÄ, co pozwala sieci uczyÄ siÄ zĹoĹźonych wzorców.
ReLU (Rectified Linear Unit): – najpopularniejsza.
Sigmoid: – uĹźywana w klasyfikacji binarnej.
Tanh: – podobna do sigmoid, ale zakres [-1, 1].
Softmax: UĹźywana w warstwie wyjĹciowej do klasyfikacji wieloklasowej.
Dane przechodzÄ przez sieÄ od warstwy wejĹciowej do wyjĹciowej.
KaĹźda warstwa wykonuje obliczenia: wejĹcie→suma waĹźona→funkcja aktywacji.
Mierzy bĹÄ d miÄdzy predykcjÄ a prawdziwÄ wartoĹciÄ .
PrzykĹady:
MSE (Mean Squared Error): Dla regresji.
Cross-Entropy: Dla klasyfikacji.
Algorytm propagacji wstecznej oblicza gradienty funkcji straty wzglÄdem wag.
Gradienty sÄ uĹźywane do aktualizacji wag za pomocÄ optymalizatorów (np. SGD, Adam).
SGD (Stochastic Gradient Descent): Podstawowy optymalizator.
Adam: ĹÄ czy zalety SGD i adaptacyjnego uczenia.
PrzykĹad:
from tensorflow.keras.optimizers import Adam
optimizer = Adam(learning_rate=0.001)
SkĹada siÄ z warstw gÄstych.
UĹźywany do prostych zadaĹ klasyfikacji/regresji.
SkĹadajÄ siÄ z warstw konwolucyjnych, poolingowych i gÄstych.
UĹźywane do przetwarzania obrazów.
SkĹadajÄ siÄ z warstw rekurencyjnych.
UĹźywane do przetwarzania sekwencji (np. tekst, dane czasowe).
SkĹadajÄ siÄ z mechanizmów uwagi (attention) i warstw gÄstych.
UĹźywane w NLP (np. GPT, BERT).
Overfitting: SieÄ zapamiÄtuje dane zamiast siÄ uogólniaÄ (rozwiÄ zanie: dropout, regularyzacja).
ZanikajÄ ce gradienty: Problem w gĹÄbokich sieciach (rozwiÄ zanie: ReLU, LSTM).
DuĹźe zapotrzebowanie na dane i moc obliczeniowÄ .
Architektura sieci neuronowych to system warstw, które przetwarzajÄ dane w sposób hierarchiczny. KaĹźda warstwa ma swojÄ specyficznÄ funkcjÄ (np. ekstrakcja cech, redukcja wymiarowoĹci), a poĹÄ czenie ich pozwala modelowi uczyÄ siÄ zĹoĹźonych wzorców. Wybór odpowiedniej architektury zaleĹźy od zadania (np. CNN dla obrazów, LSTM dla sekwencji).
Zapraszamy do współpracy