🎯 Definicja

Sieci neuronowe (ang. Artificial Neural Networks, ANN) to klasa modeli w sztucznej inteligencji inspirowana strukturą i działaniem ludzkiego mózgu. Składają się z warstw połączonych ze sobą sztucznych “neuronów”, które przekazują i przekształcają informacje, ucząc się odwzorowywać złożone relacje w danych na podstawie przykładów treningowych.

🔑 Kluczowe punkty

  • 🧠 Sieci neuronowe uczą się poprzez proces optymalizacji wag (połączeń) na danych treningowych.
  • 🎛️ Składają się z warstw: wejściowej, ukrytych (ang. hidden) i wyjściowej.
  • 🔁 Sieci wielowarstwowe (MLP, DNN) mogą reprezentować złożoną nieliniową funkcję.
  • 🧮 Stosują funkcje aktywacji (np. ReLU, sigmoid, tanh) i propagację wsteczną (backpropagation).
  • 📦 Są podstawą uczenia głębokiego (deep learning) oraz nowoczesnych modeli jak CNN, RNN, LSTM czy transformery.

📚 Szczegółowe wyjaśnienie

Struktura i działanie

Sieć neuronowa to graficzny model funkcji, gdzie dane są przetwarzane przez kolejne warstwy neuronów. Każdy neuron:

  • Otrzymuje sygnały wejściowe, przemnaża je przez wagi,
  • Sumuje je i przepuszcza przez funkcję aktywacji,
  • Przekazuje wynik do kolejnej warstwy.

Warstwy

WarstwaRola
WejściowaReprezentuje dane wejściowe (np. piksele, cechy)
Ukryte (hidden)Przetwarzają dane i uczą się reprezentacji pośrednich
WyjściowaWytwarza końcowy wynik (np. klasyfikacja)

Typy sieci neuronowych

  • MLP (Multi-Layer Perceptron) – klasyczna struktura, używana w zadaniach klasyfikacyjnych i regresyjnych.
  • CNN (Convolutional Neural Networks) – sieci do przetwarzania danych o strukturze siatki, np. obrazów.
  • RNN (Recurrent Neural Networks) – sieci do sekwencji, np. tekstów, sygnałów czasowych.
  • LSTM/GRU – warianty RNN, lepiej radzące sobie z zależnościami długoterminowymi.
  • Transformery – nowoczesna architektura używana m.in. w GPT, BERT – działa równolegle i skutecznie przetwarza długie sekwencje.

Proces uczenia

  1. Forward Pass – dane przechodzą przez sieć do wyniku końcowego.
  2. Obliczenie błędu – wg funkcji kosztu (loss function), np. MSE, cross-entropy.
  3. Backpropagation – propagacja błędu wstecz przez sieć.
  4. Update wag – optymalizacja (np. SGD, Adam) aktualizuje wagi neuronów.

💡 Przykład zastosowania

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
 
# Tworzymy prostą sieć neuronową do klasyfikacji binarnej
model = Sequential([
    Dense(64, activation='relu', input_shape=(10,)),
    Dense(64, activation='relu'),
    Dense(1, activation='sigmoid')  # Wynik: prawdopodobieństwo klasy 1
])
 
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

📌 Źródła

👽 Brudnopis

  • 🤯 Duża liczba parametrów = duża zdolność reprezentacji, ale też ryzyko overfittingu
  • 🔧 Kluczowe aspekty: inicjalizacja wag, normalizacja danych, wybór liczby warstw i neuronów
  • 🧪 Oprócz klasycznych zastosowań — wejście do modeli generatywnych, RL i modeli multimodalnych
  • ✨ Nowoczesne architektury hybrydowe (np. ConvMixer, ViT) łączą zalety różnych podejść