🎯 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
Warstwa | Rola |
---|---|
Wejściowa | Reprezentuje dane wejściowe (np. piksele, cechy) |
Ukryte (hidden) | Przetwarzają dane i uczą się reprezentacji pośrednich |
Wyjściowa | Wytwarza 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
- Forward Pass – dane przechodzą przez sieć do wyniku końcowego.
- Obliczenie błędu – wg funkcji kosztu (loss function), np. MSE, cross-entropy.
- Backpropagation – propagacja błędu wstecz przez sieć.
- 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
- https://cs231n.github.io/neural-networks-1/
- https://www.tensorflow.org/learn
- https://keras.io/guides/sequential_model/
- https://machinelearningmastery.com/neural-networks-crash-course/
- https://deepai.org/machine-learning-glossary-and-terms/neuronal-network
👽 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ść