IT
Oprogramowanie do nauki głębokich i płytkich sieci neuronowych
Do nauki głębokich sieci neuronowych można wykorzystać Python3 i
bibliotekę Keras lub PyTorch. Keras jest łatwiejszy do nauki.
Przydatna jest znajomość Numpy.
Kwestie sprzętowe
Do nauki wielowarstwowych perceptronów z niewielką liczbą warstw oraz
niezbyt dużych sieci głebokich wystarczy PC.
Trening większych sieci neuronowych można przeprowadzić w
chmurze obliczeniowej np. korzystając z bezpłatnej:
Google Colaboratory (jednorazowo do 12godzin). Obecnie istnieje spora liczba różnorodnych chmur do maszynowego uczenia. Intensywne
Trening sieci z biblioteką Keras można wykonać na własnym sprzęcie, jeżeli dysponuje
się odpowiednią kartą GPU z obsługą bibllioteki CUDA. Bublioteka PyTorch umozliwia wykorzystanie kart GPU róznych prodecentów.
Podczas instalacji potrzenych sterowników karty, CUDA, CuDNN, Tensorflow nalezy zwrócić uwagę na
zgodność ich wersji
Deep learning w zbiorach elektronicznych Biblioteki PWr
Osoby zainteresowane samodzielną nauką uczenia głębokiego mogą na początek skorzystać z następujących książek:
[1] Francois Chollet, "Deep Learning. Praca z językiem Python i biblioteką Keras", Helion, 2019.
[2] Aurélien Géron, Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow, Wydanie II
[3] Eli Stevens, Luca Antiga, Thomas Viehmann, Deep Learning with PyTorch, MANNING, 2020
[4] Denis Rothman Transformers for Natural Language Processing and Computer Vision - Third Edition: Explore Generative AI and Large Language Models with Hugging Face, ChatGPT, GPT-4V, and DALL-E 3 3rd ed., Pact Publishing Ltd. 2024 - transformery, berty, gpt, DALL-E itp.\vspace{0.5cm}
[5]
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Attention Is All You Need v7
W [1] jest dobre wprowadzenie wraz z praktycznym kursem w programowania w Kerasie. W [2] znajduje się intuicyjne wytłumaczenie różnych metod maszynowego uczenia (m.in. SVM, KNN, drzewa, lasy) do problemów klasyfikacji i regresji. Jest też sporo materiału poswięconego głebokim sieciom neuronowym. Bardzo dobrze wyjaśniono działanie optymalizatorów. W [3] przedstawiono sposób korzystania z biblioteki PyTorch. Transformery, BERTy, GPT, DALL-E są opisane w [4]. W [5] przedstawiono po raz pierwszy architekturę transformera.
Pozycje [1] i [2] są dostępnych online w zbiorach elektronicznych Biblioteki Politechniki Wrocławskiej.
Dobór funkcji straty oraz funkcji aktywacji do typowych zadań
Zadanie |
Funkcja aktywacji w warstwie wyjściowej |
Funkcja straty |
Nazwa funkcji straty w bibliotece Keras |
Regresja |
liniowa f(x)=x |
Błąd średniokwadratowy MSE |
mse |
Klasyfikacja binarna |
f.logistyczna (sigmoid) |
Binarna entropia krzyżowa |
binary_crossentropy |
Wieloklasowa klasyfikacja jednoetykietowa |
softmax |
Kategorialna entropia krzyżowa |
categorical_crossentropy |
Wieloklasowa klasyfikacja wieloetykietowa |
sigmoid |
Binarna entropia krzyżowa |
binary_crossentropy |
Więcej funkcji celu dostępnych w bibliotece Keras jest podanych w
dokumentacji.
Kontakt
dr inż. Krzysztof Halawa
Katedra Informatyki Technicznej
Wydział Informatyki i Telekomunikacji
Politechnika Wrocławska
Email: krzysztof.halawa(at)pwr.edu.pl
Department of Computer Engineering
Faculty of Information and Communication Technology
Wroclaw University of Science and Technology
Wybrzeże Wyspiańskiego 27
50-370, Wrocław, Poland
P2.2-C16 (Technopolis)
Konsultacje:
Aktualne godziny konsultacji