W nauce o odwróconym uczeniu ze wzmocnieniem (IRL), kluczowym celem jest wnioskowanie o funkcji nagrody oraz polityce agenta na podstawie obserwacji jego działań i stanów. Złożoność tego zadania polega na tym, że zarówno funkcja nagrody, jak i polityka są nieznane, a ich wyznaczenie na podstawie danych zebranych z demonstracji wymaga przyjęcia szeregu założeń. Jednym z naturalnych założeń w tym kontekście jest przypuszczenie, że wykonywane przez agenta działania są optymalne lub przynajmniej bliskie optymalności. Jednakże w rzeczywistości, kiedy rozważamy agentów działających w świecie rzeczywistym, możliwe jest, że podejmowane decyzje nie będą zawsze idealne. W takim przypadku bardziej wyrozumiałym podejściem jest założenie, że agent podąża za stochastyczną polityką, w której nieoptymalne akcje są dozwolone, ale powinny być tłumione zgodnie z określonym modelem.
Model taki, wyrażony jako polityka stochastyczna, jest często parametryzowany w sposób wykładniczy, a jego postać w odwróconym uczeniu ze wzmocnieniem jest znana jako polityka Boltzmanna. Polityka ta ma swoje korzenie w fizyce statystycznej i jest szczególnie powiązana z rozkładem Boltzmanna, który opisuje prawdopodobieństwo stanu układu fizycznego w zależności od jego energii. Rozkład Boltzmanna wyraża się wzorem:
gdzie to funkcja związana z wartością nagrody i funkcją wartości akcji, a jest normalizatorem tej funkcji. Tego typu polityki stochastyczne są wynikiem maksymalizacji entropii lub minimalizacji rozbieżności Kullbacka-Leiblera w przestrzeni parametryzowanych polityk działań.
Zarówno w teorii statystycznej, jak i w kontekście uczenia maszynowego, idea maksymalnej entropii (MaxEnt) jest popularnym podejściem do problemów z odwróconym wnioskowaniem, gdzie z dostępnych danych należy wywnioskować rozkład prawdopodobieństwa. Głównym założeniem tej metody jest, że po spełnieniu wszystkich znanych ograniczeń, wyciągnięty rozkład powinien być maksymalnie nieinformatywny, co oznacza, że rozkład ten powinien charakteryzować się największą możliwą niepewnością. Koncept ten jest powiązany z zasadą Laplace’a o niewystarczającej wiedzy, a jego matematyczną implementacją jest funkcja entropii, która jest maksymalizowana przy zachowaniu określonych ograniczeń.
Przykład działania tej metody można zilustrować na prostym przypadku, w którym uczymy politykę agenta na podstawie jego działań w środowisku. W takim przypadku problem optymalizacji sprowadza się do znalezienia funkcji polityki, która maksymalizuje wartość oczekiwaną nagrody, jednocześnie minimalizując niepewność w doborze akcji. Zastosowanie regularyzacji entropii prowadzi do uzyskania polityki, która uwzględnia zarówno oczekiwane korzyści, jak i niepewność związana z decyzjami agenta.
Z punktu widzenia matematycznego, proces optymalizacji polityki w ramach zasady maksymalnej entropii staje się problemem, w którym funkcja celu łączy wartość nagrody oraz entropię polityki:
gdzie to funkcja wartości stanu, to entropia polityki, a jest parametrem regularyzacji, który kontroluje stopień wpływu entropii na politykę. Optymalizacja tej funkcji prowadzi do uzyskania optymalnej polityki w sensie maksymalnej entropii.
Takie podejście do odwróconego uczenia ze wzmocnieniem ma swoje korzenie w fizyce statystycznej, gdzie rozkłady wykładnicze, takie jak rozkład Boltzmanna, pojawiają się w kontekście układów w równowadze termodynamicznej. Jako przykład, rozkład Boltzmanna w statystyce molekularnej opisuje rozkład prawdopodobieństw stanów energetycznych cząsteczek gazu w równowadze z otoczeniem, gdzie temperatura układu jest parametrem regulującym tę równowagę.
Ponadto warto zauważyć, że metoda maksymalnej entropii jest nie tylko teoretycznym narzędziem, ale ma również konkretne zastosowanie w praktycznych problemach związanych z modelowaniem agentów w uczeniu maszynowym. Optymalizacja polityk w ramach tego podejścia pozwala na uzyskanie modeli, które są bardziej odporne na błędy, jak np. niedokładności w estymacji parametrów modelu, szum w danych czy też nieprecyzyjne założenia o agentach. W kontekście nauki o odwróconym uczeniu ze wzmocnieniem, takie podejście umożliwia stworzenie bardziej elastycznych i stabilnych systemów, które lepiej radzą sobie w trudnych warunkach rzeczywistego świata.
Warto również pamiętać, że zasada maksymalnej entropii może być wykorzystywana nie tylko w przypadku stochastycznych polityk, ale także w innych dziedzinach, gdzie istnieje potrzeba modelowania niepewności i wykorzystywania ograniczonych informacji w sposób optymalny. Dzięki tej metodzie możliwe jest nie tylko modelowanie agentów działających w różnych środowiskach, ale również rozwiązywanie szerokiego zakresu problemów w statystyce, fizyce oraz innych dziedzinach, gdzie zachowanie systemu jest trudne do przewidzenia.
Jak działa Adwersarialne Uczenie Imitacyjne w kontekście uczenia przez wzmacnianie i odwrotnego uczenia wzmacniania?
Adwersarialne Uczenie Imitacyjne (GAIL) jest rozwinięciem tradycyjnego podejścia do uczenia przez wzmacnianie (Reinforcement Learning, RL), w którym celem jest modelowanie polityki działania na podstawie obserwacji expertów, zamiast polegania na ręcznie określonych nagrodach. GAIL korzysta z koncepcji uczenia generatywnego, w którym agent nie tylko uczy się maksymalizować swoją politykę, ale także stara się naśladować zachowanie ekspertów, traktując to jako grę rywalizacyjną między dwoma agentami – generatorem i dyskryminatorem.
Kluczową ideą tego podejścia jest obliczanie oczekiwań w kontekście bieżącej polityki π, co dla przestrzeni akcji o wysokiej wymiarowości prowadzi do obliczeń złożonych całek w tej przestrzeni. Zastosowanie próbkowania ważoności (importance sampling) może być kluczowe, jednak znalezienie odpowiedniej rozkładu próbkowania stanowi wyzwanie. Optymalnym rozkładem próbkowania w tym przypadku jest sama polityka π, co można wywnioskować z równości (11.75). Sugeruje to konieczność zastosowania iteracyjnej procedury optymalizacji, polegającej na przemiennym maksymalizowaniu funkcji straty, aż do osiągnięcia zbieżności. W jednym kroku, funkcja straty jest obliczana przy pomocy próbkowania ważoności, a w kolejnym kroku, rozkład próbkowania jest aktualizowany, by jak najbardziej zbliżyć go do optymalnej polityki π oraz polityki eksperta πE.
Taki proces optymalizacji jest realizowany za pomocą generatora Gθ, który generuje próbki z polityki działania. Używa on funkcji zależnych od stanu, które są przekształceniami losowego szumu. Typowym przykładem jest użycie szumu Gaussowskiego, z którego generuje się próbki akcji zgodne z rozkładem polityki. Ważnym aspektem jest to, że funkcje te mogą być implementowane za pomocą sieci neuronowych, co pozwala na dużą elastyczność w modelowaniu rozkładów.
Metodologia ta może zostać zinterpretowana jako gra typu min-max między dwoma graczami: generatorem i dyskryminatorem. Generator stara się wygenerować próbki, które będą jak najbardziej podobne do tych generowanych przez politykę eksperta, podczas gdy dyskryminator stara się odróżnić próbki generowane przez model od tych rzeczywistych. Gra ta jest bardzo podobna do popularnego podejścia stosowanego w Generatywnych Sieciach Adwersarialnych (GAN), zaproponowanych przez Goodfellowa i współpracowników w 2014 roku.
Równania opisujące ten proces są dość złożone, jednak ogólny schemat działania jest dość przejrzysty. W jednym etapie procesu optymalizacji generowane są próbki z polityki modelu, które są oceniane przez dyskryminator, a w drugim etapie generator jest modyfikowany, by wytwarzał próbki jak najbardziej odpowiadające tym pochodzącym od eksperta. Celem jest osiągnięcie takiej polityki, która sprawi, że dyskryminator nie będzie w stanie odróżnić próbki generowanej przez model od tej pochodzącej od eksperta.
Jest to przykład zastosowania metody adversarialnej, w której generator stara się wprowadzać w błąd dyskryminatora, podobnie jak podrabiacz stara się wytwarzać fałszywe banknoty, a dyskryminator działa jak organ ścigania, starający się zidentyfikować fałszywe próbki. Kluczowym elementem tej metody jest wykorzystywanie gradientów do iteracyjnego dostosowywania zarówno generatora, jak i dyskryminatora w celu optymalizacji obydwu polityk.
Podobnie jak w klasycznych sieciach GAN, Adwersarialne Uczenie Imitacyjne stoi przed wyzwaniem związanym z niestabilnością treningu, szczególnie w kontekście oryginalnej funkcji celu GAN, która może prowadzić do znikających gradientów. Aby temu zaradzić, wprowadzono modyfikacje takie jak Wasserstein GAN (WGAN), które pozwalają na stabilizację procesu treningowego, rozwiązując problem niestabilnych gradientów poprzez modyfikację funkcji kosztu.
W procesie optymalizacji GAIL wykorzystywane są także różne podejścia uogólniające oryginalne GAN, jak np. stosowanie dywergencji f (f-Divergence), które pozwalają na lepsze dopasowanie rozkładów generowanych przez model i rozkładów ekspertów. Użycie tej techniki daje większą elastyczność w modelowaniu problemów, w tym przypadku rozkładów akcji.
Warto również zauważyć, że w obliczu tego typu złożonych wyzwań, techniki takie jak GAN i GAIL wymagają dużej precyzji w doborze parametrów, aby proces nauki przebiegał stabilnie. Niedostosowanie odpowiednich hiperparametrów może prowadzić do problemów, które mogą utrudnić lub wręcz uniemożliwić skuteczne uczenie.
Dodatkowo, dla osiągnięcia efektywności w praktycznych zastosowaniach, istotne jest zastosowanie odpowiednich technik regularizacji oraz unikanie przetrenowania modelu. Często spotyka się także potrzebę fine-tuningu modeli przy użyciu danych rzeczywistych w celu poprawy ich zdolności generalizacyjnych.
Jakie jest prawdopodobieństwo, że model przeszacowuje szacunki analityka walutowego przy użyciu rozkładu Bayesa w analizie rynku?
Załóżmy, że mamy do czynienia z rynkiem walutowym, na którym kurs JPY/USD może się wzmocnić względem dolara w zależności od zmienności indeksu S&P 500. Rozważmy konkretny przypadek, w którym analizujemy zmiany kursu JPY względem USD w kontekście szeregów czasowych obserwacji S&P 500 oraz codziennych zmian kursu walutowego. Oparta na tym analiza bayesowska pozwala na ocenę, w jakim stopniu zmiany na rynku finansowym mogą wpływać na naszą prognozę dotyczącą przyszłych wahań kursów walutowych.
Dla lepszego zrozumienia, należy przyjąć model probabilistyczny, który zależy od tego, jak zmieniają się ceny aktywów. Jeśli zmiany na rynku S&P 500 mogą wpływać na wzmocnienie się JPY, to prawdopodobieństwo tego wzmocnienia, przedstawiane przez parametr θ, można określić za pomocą funkcji gęstości Beta. Powyższa funkcja jest opisana wzorem:
gdzie i są parametrami określającymi kształt rozkładu, a reprezentuje stopień przekonania analityka o wzmocnieniu JPY względem dolara. Podstawowym zadaniem jest obliczenie prawdopodobieństwa, że dany model wyolbrzymia ocenę analityka w kontekście szacowanego wzmocnienia waluty, bazując na dostępnych danych.
Model bazujący na analizie bayesowskiej pozwala również na uwzględnienie niepewności w prognozach, co jest niezwykle istotne w kontekście zmiennych warunków rynkowych. Z racji tego, że na rynku finansowym obserwujemy jedynie próbki danych (zmiany kursów) oraz odczyty wskaźników (np. zmiany S&P 500), nie możemy w pełni zaufać modelowi deterministycznemu. Zamiast tego, poprzez zastosowanie rozkładów prawdopodobieństwa, jak np. Beta, jesteśmy w stanie uzyskać bardziej wiarygodne prognozy, które uwzględniają zarówno zmienność danych, jak i potencjalne niepewności związane z rynkiem.
Warto zauważyć, że w rzeczywistych zastosowaniach finansowych często istnieje potrzeba uwzględnienia dodatkowych zmiennych, takich jak zmiany w polityce monetarnej, globalne wydarzenia geopolityczne czy decyzje inwestycyjne wielkich graczy na rynku, które mogą wprowadzać dodatkową zmienność. Zatem, podczas gdy model probabilistyczny oferuje ogólną ramę do analizy, w praktyce niezbędne jest ciągłe aktualizowanie i weryfikowanie modelu na podstawie nowych danych.
Zastosowanie metody bayesowskiej w kontekście prognozowania rynku walutowego pozwala na uzyskanie bardziej elastycznych wyników, które mogą być dostosowane w miarę napływu nowych informacji. Obliczając posteriori dla danego modelu, możemy nie tylko lepiej zrozumieć prawdopodobieństwo wzmocnienia JPY, ale również uwzględnić inne zmienne wpływające na jego wartość. Takie podejście jest również bardziej odpornie na błędy w początkowych założeniach oraz na niewielkie odchylenia w danych, co czyni go bardziej stabilnym w długim okresie.
Równocześnie, ważne jest zrozumienie, że przyjęcie takiego modelu wiąże się z koniecznością obliczenia tzw. funkcji wiarygodności (likelihood) oraz uwzględnienia priorytetów dotyczących różnych scenariuszy rynkowych. Możemy przyjąć priorytety oparte na wcześniejszych doświadczeniach rynkowych, historycznych danych lub oczekiwaniach ekonomicznych, jednak takie priorytety powinny być regularnie dostosowywane, aby unikać nadmiernego przeszacowania lub niedoszacowania określonych prognoz.
Kluczowym wnioskiem jest to, że nie ma jednego uniwersalnego modelu, który sprawdziłby się w każdej sytuacji. Modele probabilistyczne, a w szczególności te bazujące na metodach bayesowskich, muszą być dostosowane do specyfiki analizowanego rynku. Oznacza to, że w praktyce konieczne jest podejście iteracyjne – w miarę napływania nowych danych rynkowych, parametry modelu powinny być rewidowane, aby dostarczyć jak najbardziej trafnych prognoz.
Jakie są podstawy regresji przy użyciu procesów Gaussa i jak wybrać odpowiednią metodę jądra?
Regresja z użyciem procesów Gaussa (GP) opiera się na probabilistycznym podejściu, które traktuje funkcje jako zmienne losowe. Modelowanie takie jest szczególnie użyteczne, gdy zależności między danymi nie są łatwe do wyrażenia za pomocą tradycyjnych modeli liniowych. Regresja przy użyciu GP jest powszechnie wykorzystywana w analizie czasów odpowiedzi systemów dynamicznych, modelowaniu ryzyka finansowego, a także w różnych zastosowaniach związanych z predykcją.
Podstawową koncepcją w procesach Gaussa jest funkcja jądra, która określa, w jaki sposób dane wejściowe (np. punkty na wykresie) wpływają na wartości wyjściowe. Każde takie jądro jest określane przez zestaw hiperparametrów, które kontrolują właściwości modelu. Aby wybrać odpowiednie jądro, stosuje się maksymalizację dowodu (ang. evidence), który ma na celu znalezienie najlepszych wartości hiperparametrów. Dowód ten jest funkcją prawdopodobieństwa i jest wyrażony jako:
gdzie to macierz kowariancji obliczana na podstawie funkcji jądra, a to wektor hiperparametrów jądra. Celem jest maksymalizacja tej funkcji, co oznacza minimalizowanie negatywnego dowodu za pomocą metod optymalizacji, takich jak stochastyczny spadek gradientu.
Pierwsza część tej funkcji odpowiada za dopasowanie modelu do danych, podczas gdy druga część to kara za złożoność modelu. Maksymalizowanie dowodu jest ekwiwalentne do zastosowania zasady "brzytwy Okhama", co oznacza, że podczas procesu optymalizacji model automatycznie upraszcza swoje założenia. Możliwość optymalizacji tych hiperparametrów pozwala na dokładniejsze dopasowanie modelu do rzeczywistych danych, umożliwiając precyzyjniejsze prognozy.
Stosując algorytm gradientu stochastycznego (SGD), można zoptymalizować ten dowód w celu uzyskania najlepszych wartości hiperparametrów jądra. Obliczanie gradientu dowodu jest kluczowe dla procesu optymalizacji, a wzory do jego obliczenia są wyrażone w sposób analityczny. W szczególności, gradient dowodu względem hiperparametrów jądra można wyrazić jako:
gdzie , a wzory dla obliczania pochodnych względem różnych hiperparametrów jądra są szczegółowo opisane w literaturze (Rasmussen i Williams, 2006).
Jednak zastosowanie procesu Gaussa wiąże się z wyzwaniami obliczeniowymi. Obliczanie macierzy kowariancji , zwłaszcza gdy liczba obserwacji jest duża, może prowadzić do bardzo dużych kosztów obliczeniowych. Rozwiązanie tego problemu można znaleźć w podejściu, które wykorzystuje tzw. punkty indukujące. Dzięki tym punktom, możliwe jest zmniejszenie wymagań pamięciowych i poprawa skalowalności algorytmu, co jest szczególnie ważne w przypadku dużych zbiorów danych.
Jeżeli chodzi o skalowalność, procesy Gaussa można rozszerzyć do tzw. procesów Gaussa o dużej skali (MSGP). W tym przypadku podstawowym podejściem jest wykorzystanie metody strukturalnej interpolacji jądra (SKI), w której wykorzystuje się niewielką liczbę punktów indukujących do przyspieszenia obliczeń. Dzięki tej metodzie możliwe jest przyspieszenie procesu nauki modelu, zachowując jednocześnie wysoką jakość predykcji.
Wykorzystanie strukturalnej interpolacji jądra polega na aproksymacji macierzy kowariancji, co pozwala na efektywne zarządzanie dużymi zbiorami danych. W tym przypadku jądra są reprezentowane w sposób rozkładu Kroneckera, co umożliwia obliczanie ich dekompozycji z użyciem szybkiej transformacji Fouriera (FFT). Dzięki temu można przyspieszyć obliczenia, co ma ogromne znaczenie w kontekście przetwarzania dużych ilości danych w czasie rzeczywistym.
Chociaż stosowanie procesów Gaussa wiąże się z wyzwaniami obliczeniowymi, szczególnie w kontekście dużych zbiorów danych, zastosowanie nowoczesnych metod takich jak SKI i MSGP pozwala na ich efektywne skalowanie. Te podejścia zapewniają, że procesy Gaussa mogą być wykorzystywane w bardziej wymagających zastosowaniach, takich jak analiza opcji finansowych czy predykcja ryzyka w czasie rzeczywistym.
Na koniec warto zauważyć, że procesy Gaussa są nie tylko użyteczne w teorii, ale również w praktyce, szczególnie w kontekście dynamicznych rynków finansowych, gdzie modelowanie ryzyka w czasie rzeczywistym jest kluczowe. W tym kontekście, procesy Gaussa mogą być wykorzystywane do kalibracji modeli opcji, a także do oszacowania ich "greków", co jest istotne w praktyce inwestycyjnej.
Jak przewidywać ceny na podstawie danych finansowych przy użyciu RNN i CNN?
Aby przewidywać ceny kryptowalut, takie jak te prezentowane na platformie Coindesk, istotne jest zastosowanie odpowiednich narzędzi analitycznych oraz metod statystycznych, które pozwalają na właściwe modelowanie szeregów czasowych. Recurrent Neural Networks (RNN) i Convolutional Neural Networks (CNN) są popularnymi technologiami wykorzystywanymi w analizie takich danych, umożliwiając uzyskanie trafnych prognoz nawet na podstawie nieliniowych i skomplikowanych zależności w danych.
Zanim przystąpimy do budowy modelu predykcyjnego, musimy zwrócić uwagę na kluczową właściwość danych: stacjonarność. W kontekście modelowania szeregów czasowych stacjonarność oznacza, że właściwości statystyczne danych, takie jak średnia i wariancja, nie zmieniają się w czasie. Aby sprawdzić, czy dane są stacjonarne, można przeprowadzić test Augmented Dickey-Fuller (ADF). Jeśli dane są niestacjonarne, może to wskazywać na potrzebę ich przekształcenia, np. poprzez różnicowanie, zanim przystąpimy do budowy modelu.
Dalszym krokiem jest określenie odpowiedniej długości sekwencji, która zostanie użyta w modelu RNN. W tym celu warto zastosować miarę opóźnienia (lag) optymalnego dla danych, opierając się na estymacji autokorelacji częściowej (PACF). Należy tu wybrać taki lag, który będzie odpowiadał najwyższemu poziomowi istotności przy 99% poziomie ufności, ponieważ to właśnie ten parametr decyduje o długości sekwencji w sieci neuronowej.
W kontekście oceny jakości modelu, bardzo ważne jest zrozumienie, w jaki sposób zmienia się jego błąd średniokwadratowy (MSE) w zależności od liczby neuronów ukrytych w sieci. Różne konfiguracje tej liczby mogą prowadzić do zjawiska przeuczenia, zwłaszcza jeśli liczba neuronów jest zbyt duża w stosunku do liczby próbek treningowych. Aby tego uniknąć, pomocna może być technika regularizacji L1, która zmniejsza wariancję modelu, eliminując mniej istotne cechy i zapobiegając nadmiernej adaptacji modelu do danych treningowych.
Kiedy model jest już wytrenowany, warto porównać jego wydajność na danych testowych z wynikami osiągniętymi przez inne modele, takie jak GRU (Gated Recurrent Unit). GRU jest zaawansowaną wersją RNN, która wykorzystuje mechanizmy bramkowania, co pozwala na lepsze modelowanie długoterminowych zależności w szeregach czasowych. Porównanie wydajności zwykłego RNN z GRU na danych testowych pomoże zrozumieć, czy mechanizmy pamięci w GRU rzeczywiście poprawiają dokładność prognoz w przypadku danych finansowych.
Ostatecznym krokiem jest analiza reszty modelu, czyli błędu, który pozostaje po dopasowaniu modelu do danych. Można to zrobić za pomocą testu Ljunga-Boxa, który pozwala określić, czy pozostały błąd jest białym szumem, czy jest skorelowany z wcześniejszymi obserwacjami. Dobrze dopasowany model powinien generować błędy, które będą losowe i niezależne od siebie, zarówno na zbiorze treningowym, jak i testowym.
Praca z danymi, które mają charakter stacjonarny, umożliwia uzyskanie bardziej trafnych prognoz i zmniejsza ryzyko nadmiernego dopasowania modelu. Z kolei techniki regularizacji, jak L1, są kluczowe, by uniknąć problemów związanych z przeuczeniem, zwłaszcza gdy liczba parametrów modelu jest znacznie większa od liczby dostępnych próbek treningowych.
W kontekście używania CNN do przewidywania cen, te sieci neuronowe mogą być równie efektywne, zwłaszcza gdy analizujemy dane, które mają charakter przestrzenny lub czasowy. W przypadku analizy szeregów czasowych, CNN mogą być stosowane do ekstrakcji cech z danych, które następnie są wykorzystywane w zadaniach regresji lub klasyfikacji. Warto jednak pamiętać, że dobór odpowiednich filtrów w sieci CNN może wpłynąć na jej efektywność. Użycie większej liczby filtrów może prowadzić do lepszego dopasowania modelu, ale również do większego ryzyka nadmiernego dopasowania.
Wszystkie te techniki – zarówno w kontekście RNN, jak i CNN – wymagają staranności przy doborze parametrów i zrozumienia statystycznych właściwości danych. Ostateczny wybór modelu i jego konfiguracji powinien być wynikiem analizy specyfiki danych, ich stacjonarności oraz potencjalnych zależności, które mogą występować w czasie.
Federalny Instytut Pomiarów Pedagogicznych opublikował przykładowe materiały ogólnorosyjskich prac kontrolnych (WPR) dla uczniów 11 klasy
Szkolne wydarzenia – inspirujące spotkania, teatr i odkrywanie przyszłości
Zasady zapewnienia wyżywienia uczniom Samorządowej Szkoły Ogólnokształcącej nr 2 w Makariowie rejonu makariewskiego obwodu kostromskiego
Harmonogram wdrażania i realizacji nowego standardu edukacyjnego (FГОС) w klasach 5–9 w Szkole Średniej nr 2 na rok szkolny 2018/2019

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский