Deep learning w przetwarzaniu języka naturalnego
Czas trwania szkolenia:4 dni (32h)
Kod kursu:DL/NLP
Poziom zaawansowania:
O szkoleniu Deep learning w przetwarzaniu języka naturalnego
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Osób, które mają co najmniej podstawową wiedzę z obszaru uczenia maszynowego
- programistów
- osób pracujących na stanowisku data scientist
Wymagania
- Od uczestników szkolenia wymagana jest dobra (pozwalająca na swobodne pisanie nieskomplikowanego kodu) znajomość języka Python
- Ogólna wiedza z klasycznego uczenia maszynowego (problemy regresji i klasyfikacji, ogólne zasady pracy z algorytmami uczenia maszynowego)
- Podstawowa wiedza o sieciach neuronowych (strukura i mechanizm działania perceptronu wielowarstwowego, mechanizm uczenia sieci).
Zalety
- Poznanie zaawansowanych metod, które zrewolucjonizowały wiele obszarów biznesowych
- Dokładne zrozumienie algorytmów pozwalające na samodzielne wykorzystanie ich w przyszłości
- Poznanie wiodącej w tej dziedzinie biblioteki PyTorch
- Duża dawka praktycznej wiedzy i umiejętności, przydatnej podczas rozwiązywania rzeczywistych problemów
- Zdobycie wiedzy, umożliwiającej wejście na wysoki poziom kompetencji obszarze deep learning w przetwarzaniu języka naturalnego (NLP)
Cele szkolenia
- Zdobycie spejalistyczniej wiedzy o sieciach neuronowych stosowanych w przetwarzaniu języka naturalnego (NLP)
- Zdobycie umiejętności implementacji omawianych algorytmów z wykorzystaniem biblioteki PyTorch w języku Python
Program
Wprowadzenie do biblioteki PyTroch
- Implementacja perceptronu wielowarstwowego
- Implementacja procesu uczenia sieci neuronowej
Zanurzenia słów - word embeddings
- Model word2vec
- GLOVE
- FastText
Rekurencyjne sieci neuronowe (recurrent neural networks - RNNs)
- Sieć rekurencyjna prosta
- Sieć LSTM
- Sieć GRU
- Klasyfikacja tekstu przy użyciu sieci rekurencyjnych
- Wykrywanie nazw własnych (NER) przy użyciu sieci rekurencyjnych
- Złożone struktury sieci rekurencyjnych w zadaniach NLP: wielowarstwowość, dwukierunkowość
Generowanie tekstu przy użyciu sieci neuronowych
- Model językowy
- Mechanizmy generowania tekstu w oparciu o model językowy: generowanie proste, beam search, generowanie z randomizacją
Zadania NLP związane z generowaniem tekstu
- Typowe problemy "sequence to sequence": tłumaczenie maszynowe, podsumowywanie tekstu, odpowiadanie na pytania
- Model seq2seq, struktura encoder-decoder
- Generowanie tekstu dotyczącego obiektów wejściowych (np. opisów obrazów)
Sieć neuronowa Transformer - state of the art współczesnego NLP
- Mechnizm uwagi vs mechanizm rekurencji, rola uwagi w generowaniu tekstu
- Mechanizm Multihead Attention
- Mechanizm Positional Encoding
- Architektura sieci Transformer
- Praktyczne wady i zalety sieci Transformer
Transfer learning - wykorzystywanie gotowych potężnych sieci do własnych zadań NLP
- Transfer wiedzy - schemat działania
- Model BERT - sieć kodująca tekst do generalnego użytku
- Dostępne przetrenowane sieci BERT- biblioteka HuggingFace
- Zastosowanie transferu wiedzy w analizie podobieństwa tekstów
- Zastosowanie sieci BERT jako model bazowy w klasycznych zadaniach: klasyfikcja tekstu, generowanie tekstu
- Fine tuning - dotrenowywanie dostępnych modeli
- Dostępne gotowe modele w bibliotece Spacy
LLMs - Large Language Models
- Duże modele językowe - wprowadzenie
- Możliwości i ograniczenia dużych modeli językowych
- LLM w wykonywaniu zadań NLP
- Problem inżynierii promptów, prompt jako hiperparametr
- Kiedy używać LLM'ów, a kiedy trenować własne sieci