NLP – co rozumieją maszyny?

Karen Hao, już tutaj przywoływana, publikuje nowy artykuł na temat sztucznej inteligencji a dokładnie na temat NLP, wprowadzając stary temat, dotyczący zdolności rozumienia przez maszynę tekstu, który jest przez nią generowany. Problem jest stary ponieważ jego źródłem i obszerną realizacją jest idea tak zwanego chińskiego pokoju. Przy okazji Karen Hao dokonuje rekonstrukcji współczesnych technologii NLP w obszarze analizy semantycznej. Artykuł znajduje się tu.

NLP DIY

Bardzo prosty framework for state-of-the-art NLP, stworzony przez Zalando Research to flair. Opis frameworka znajduje się tutaj. Różne typy sieci neuronowych zastosowane do obsługi NLP można znaleźć tutaj. Polski wkład do tej problematyki rozwija się dzięki polskiej odnodze sieci Clarin, która prezentuje projekty na własnej stronie GitHuba. Wśród nich znajduje się projekt pn. PolDeepNer, który rozpoznaje kategorie informacji w tekście, opierając się na deep learning.Polskie zasoby NLP znajdują się także tutaj.

Aktualizowany artykuł podsumowujący postęp rozwiązań na polu NLP przy użyciu deep learning znajduje się tutaj.

Niezły przegląd ostatnich technik NLP w Towards Data Science tutaj.

Ostatni sukces OpenAI: Better Language Models and Their Implications (luty 2019). Model języka pn. GPT-2 opisany w tym artykule jest uznawany za bardzo obiecujący, a nawet niebezpieczny. Komentarz do tego modelu znajduje się na stronie Towards Data Science. Detaliczny i prosty opis jego głównego składnika, którym jest tzw. Transformer architecture znajduje się tutaj.

Kurs na Uniwersytecie Stanforda: CS224n: Natural Language Processing with Deep Learning (mnóstwo materiałów 🙂 )

Bardzo dobry A Beginner’s Guide to Word2Vec and Neural Word Embeddings.

Inna koncepcja NLP, obejmująca analizę kontekstową tzw. deep contextualised word embeddings: ELMo model, w tekście “ELMo: Contextual language embedding” by Josh Taylor.

Aktualizacja 02.04.2019:
Na stronie mc.ai można znaleźć artykuły poświęcone podstawom neural networks i deep learning oraz ich implementacji w Pythonie – a must see – część I: Bread and Butter from Deep Learning by Andrew Ng — Course 1: Neural Networks and Deep Learning by Keon Yong Lee, 2.03.2019 oraz część II: The Bread and Butter from Deep Learning by Andrew Ng — Course 2: Improving Deep Neural Networks by Keon Yong Lee, 8.03.2019.
Pochodzą one z Medium, ale tam mogą być niedostępne.

 

 

DIY – Jeszcze o Keras i innych

Wiele podstawowych informacji nt. Keras mozna odnaleźć tutaj.  A zainteresowanych kursami dotyczącymi tej problematyki odsyłam nie tylko na Courserę ale także na fast.ai. Ważna strona dla zainteresowanych data science to ODSC (opendatascience).
Pomocne i darmowe narzędzie do projektowania graficznego sieci neuronowych to Deep Learning Studio produkcji Deep Cognition. W wersji desktopowej (lokalnej) jest darmowe, w wersji chmurowej pojawiają się opłaty za użycie mocy obliczeniowej. Jest dostępne dla Windows i Ubuntu. Innym takim narzędziem jest Neural Designer, dostępny dla Windows, Maca i Ubuntu. Wersja darmowa jest ograniczona liczbą linii kodu i dopuszczalną wydajnością procesora. Microsoft ma podobne narzędzie, jednak tylko w wersji webowej, pod nazwą Microsoft Azure Machine Learning Studio, które także ma wersję darmową, wymagającą konta Microsoft. Google udostępnia treningową i poglądową aplikację webową (playground tensorfow), pozwalająca projektować i obserwować w działaniu sieci neuronowe, działająca w oparciu o bibliotekę Tensorflow. Aplikacja Google ma charakter otwarty i jej kod jest dostępny na GitHub, co pozwala na własne modyfikacje włącznie z uruchomieniem lokalnym.

DIY – konwolucyjne sieci neuronowe w Keras

Poradnik, jak użyć frameworku Keras do tworzenia konwolucyjnych sieci neuronowych na szkolnym przykładzie rozpoznawania cyfr z bazy MNIST na stronie Towards Data Science, gdzie jest wiele materiałów poświęconych machine learning, data science itp. Keras jest nakładką na Tensorflow napisaną w Pythonie i znacznie ułatwia korzystanie z tego ostatniego. Stamtąd także pochodzi poradnik: How to build your own Neural Network from scratch in Python.
A jak ktoś szuka materiałów polskich to proszę zajrzeć na przykład do blogu About Data Krzysztofa Sopyły.

CAPTCHA złamana – nowe możliwości sieci neuronowych

Wyborcza podała, ze w Science 26.10. br. ukazał się artykuł dotyczący nowych możliwości sieci neuronowych. Praktycznie służy ona do rozpoznawania przypadkowych, graficznych znaków, które człowiek jest w stanie rozpoznać jako litery lub cyfry (opiera się na tym zabezpieczenie przed maszynową aktywnością, badające czy proces uruchamia człowiek zastosowany np. w systemie CAPTCHA). Jednak zakład jest o wiele poważniejszy; chodzi o osiągnięcie przez maszynę zdolności dotychczas zastrzeżonych dla człowieka: „zdolności do uczenia się i uogólniania na podstawie niewielkiej ilości przykładów”. Rozwiązanie proponowane przez autorów – Recursive Cortical Network, opiera się na mechanizmie zaobserwowanym u ssaków i implementuje stosowne odkrycie z dziedziny neuroscience w odpowiednio skonstruowanej sieci neuronowej.