Sztuczna Inteligencja – narzędzie do bicia ludzkich rekordów

Go, wywodząca się z Chin gra z historią liczącą ponad 2500 lat oraz szachy, które wywodzą się z Indii od ok. 1500 lat, to najpopularniejsze strategiczne gry planszowe na świecie o znaczeniu nie tylko rozrywkowym, ale również kulturowym. Zasady są jasne i precyzyjne, przez co próg wejścia dla nowych graczy dla obu wspomnianych gier jest bardzo niski. Właśnie ta prostota jest źródłem wymyślania niebanalnych rozwiązań, taktyk, a przede wszystkim ogromnego ludzkiego wysiłku intelektualnego – wszystko po to, aby pokonać przeciwnika. 

Sztuczna Inteligencja to nie tylko temat poważnych zastosowań takich jak Inteligent Acoustics w przemyśle, Aritificial Intelligence Adaptation w badaniach rozwojowych czy Data Engineering. Te i inne algorytmy są wykorzystywane również w różnych dziedzinach rozrywki. Używa się ich do tworzenia modeli, sztucznych zawodników, którzy mają na celu pokonać ludzkich graczy w grach planszowych, a nawet w e-sporcie. 

Na przełomie XX i XXI wieku szachy i Go doczekały się swoich cyfrowych wersji. Pojawiły się także gry komputerowe, w których gracze walczą o pierwsze miejsce w tabeli i tytuły e-sportowych mistrzów. Równolegle z nimi powstało wiele modeli sztucznej inteligencji z odpowiednio zaimplementowanymi zasadami. Stało się to, aby wyszukiwać jeszcze lepsze zagrania oraz pokonywać ludzkich graczy. W niniejszym wpisie opisuję jak gry planszowe, komputerowe i sztuczna inteligencja wzajemnie się dopełniają i inspirują. Pokażę również, jak odpowiednio wytrenowany model sztucznej inteligencji pokonał nie tylko pojedynczych współczesnych arcymistrzów, ale też całe zespoły.

Sztuczna Inteligencja podbija gry planszowe

Historia, w której sztuczna inteligencja pokonała arcymistrza szachowego, ma swoje korzenie w projekcie Deep Blue prowadzonym przez firmę IBM. Głównym celem projektu było stworzenie komputerowego systemu szachowego. Deep Blue był wynikiem wieloletnich prac naukowców i inżynierów. Pierwsza wersja Deep Blue została opracowana w latach 80. XX wieku. Wykorzystywał on zaawansowane algorytmy t.j.: 

  • Przeszukiwanie drzewa gry (Tree Search) na podstawie bazy danych z ruchami i pozycjami szachowymi, 
  • Ocena pozycji (Position Evaluation), 
  • Przeszukiwanie głębokie (Depth Search). 

W 1996 roku doszło do pierwszego meczu między Deep Blue a Garri Kasparowem. Mecz ten miał charakter eksperymentalny i był pierwszym, tego typu, oficjalnym spotkaniem. Kasparow wtedy wygrał trzy partie, remisując i przegrywając jedną. W maju 1997 roku w Nowym Jorku doszło do ponownego starcia. Tym razem Garii Kasparow poległ w pojedynku ze sztuczną inteligencją. Deep Blue zwyciężyło dwukrotnie, trzykrotnie uznano remis, a przegrało tylko raz.

Rys. 1 Garii Kasparow rozgrywa partię z Deep Blue w maju 1997 roku. 

Źródło: https://www.scientificamerican.com/article/20-years-after-deep-blue-how-ai-has-advanced-since-conquering-chess/ 

Mniej znaczy więcej

Równie ciekawym przypadkiem jest program stworzony przez firmę DeepMind o nazwie AlphaGo. Ta sztuczna inteligencja została zaprojektowana do gry w Go, o czym świat się przekonał, kiedy pokonała arcymistrza Go, Lee Sedola. Go jest dla znacznie trudniejsze od innych gier, w tym również szachów. Wynika to z dużo większej liczby możliwych ruchów, co utrudnia stosowanie tradycyjnych metod AI, takich jak wyszukiwanie wyczerpujące [1, 2]. DeepMind rozpoczęło prace nad programem AlphaGo w 2014 roku. Celem było stworzenie algorytmu, który mógłby konkurować z mistrzami. Wykorzystywał on zaawansowane techniki uczenia maszynowego:

  • Głębokie uczenie (ang. Deep Learning), 
  • Uczenie ze wzmocnieniem (ang. Reinforcement Learning, RL), 
  • Monte Carlo Tree Search

Pierwszym znaczącym osiągnięciem AlphaGo było pokonanie europejskiego zawodnika Fana Huiego w październiku 2015 roku. Silnik od DeepMind całkowicie zdominował każdą z partii wygrywając tym samym pięć do zera [3]. Kolejnym krokiem było pokonanie arcymistrza Lee Sedola. W trakcie meczów sztuczna inteligencja zaskoczyła nie tylko swojego przeciwnika, ale również ekspertów swoimi nietypowymi i kreatywnymi ruchami. Program wykazywał się zdolnością do przewidywania strategii i dostosowywania się do zmieniających się warunków na planszy. W rezultacie po rozgrywkach toczących się w dniach 9-15 marca 2016 roku, AlphaGo odniosło historyczne zwycięstwo nad Lee Sedolem, wygrywając serię pięciu meczów 4-1.

Rywalizacja na cyfrowych planszach

W 2018 roku OpenAI stworzyło zespół sztucznych graczy, tzw. botów, nazwany OpenAI Five. Drużyna botów zmierzyła się z profesjonalnymi graczami w grze Dota 2, jednej z najbardziej skomplikowanych gier typu MOBA (Multiplayer Online Battle Arena). Dwie pięcioosobowe drużyny walczą tam przeciwko sobie, aby zniszczyć bazę przeciwnika. Do “wytrenowania” OpenAI Five wykorzystano kilka zaawansowanych technik i koncepcji uczenia maszynowego: 

  • Uczenie ze wzmocnieniem – boty uczyły się podejmować decyzje poprzez interakcję ze środowiskiem i otrzymywanie nagród za określone akcje, 
  • Proximal Policy Optimization (PPO) – jest to konkretna technika RL, która, jak podają twórcy, była kluczowa do osiągnięcia sukcesu [5]. Metoda ta optymalizuje tzw. politykę (czyli strategię podejmowania decyzji) w sposób, który jest bardziej stabilny i mniej podatny na oscylacje w porównaniu do wcześniejszych metod, takich jak Trust Region Policy Optimization (TRPO) [6],
  • Samoistne uczenie się – sztuczni zawodnicy rozgrywali miliony gier przeciwko sobie. Dzięki temu mogli oni rozwijać coraz bardziej zaawansowane strategie, ucząc się na podstawie swoich błędów i sukcesów. 

W sierpniu 2018 roku sztuczna inteligencja pokonała półprofesjonalny zespół Pain Gaming na corocznych mistrzostwach świata Dota. W 2019 roku, podczas wydarzenia OpenAI Five Finals, boty pokonały zespół składający się z najlepszych graczy, w tym członków zespołu OG, zwycięzców The International w 2018. Z kolei DeepMind nie poprzestało na AlphaGo i skierowało swoje zainteresowanie w stronę gry StarCraft II. To jedna z najpopularniejszych gier strategicznych czasu rzeczywistego (RTS) tworząc program AlphaStar. Sztuczna inteligencja stanęła do pojedynków jeden na jeden z profesjonalnymi graczami StarCraft II w 2019 roku. W styczniu pokonała czołowych graczy tej strategii – dwukrotnie Grzegorza „MaNa” Komincza, a także zwyciężyła nad Dario „TLO” Wünschem. AlphaStar w ten sposób udowodnił swoje zdolności. 

Sztuczna Inteligencja w e-sporcie

Sztuczna inteligencja odgrywa coraz większą rolę w szkoleniu profesjonalnych zespołów e-sportowych, szczególnie w takich krajach jak Korea Południowa, gdzie Liga Legend (ang. League of Legends) jest jedną z najpopularniejszych gier. Oto kilka kluczowych obszarów, w których AI jest wykorzystywana do szkoleń w profesjonalnych organizacjach takich jak T1, czy Gen.G

Zespoły analityków wykorzystują ogromne ilości zgromadzonych danych z rozgrywek ligowych i towarzyskich. Analizują statystyki meczów, takie jak liczba asyst, zdobyte złoto, najczęściej obierane ścieżki i inne kluczowe wskaźniki. Dzięki temu trenerzy mogą zidentyfikować wzorce i słabości zarówno u swoich zawodników, jak i przeciwników. 

Zaawansowane narzędzia treningowe wykorzystujące sztuczną inteligencję, takie jak „AIM Lab” czy „KovaaK’s”, pomagają graczom rozwijać konkretne umiejętności. Takie narzędzia mogą spersonalizować programy treningowe, które skupiają się na poprawie reakcji, celowania, decyzji taktycznych i innych kluczowych aspektów gry. 

Wykorzystywane są również do tworzenia zaawansowanych symulacji i scenariuszy gry, naśladując przy tym różne sytuacje, które mogą wystąpić w trakcie meczu, umożliwiając graczom trening w warunkach zbliżonych do rzeczywistych. Dzięki temu zawodnicy mogą lepiej przygotować się na niespodziewane wydarzenia i szybciej podejmować lepsze decyzje podczas faktycznych spotkań. 

Algorytmy SI mogą być używane do optymalizacji składu zespołu, analizując dane dotyczące indywidualnych umiejętności i preferencji graczy. Wyniki takich badań mogą sugerować, którzy zawodnicy powinni grać na jakich pozycjach. Mogą również pomóc dobrać skład osobowy, aby zmaksymalizować skuteczność zespołu.

Podsumowanie

Artykuł przedstawia, jak sztuczna inteligencja zdominowała gry planszowe i na stałe zawitała w e-sporcie. Pokonała ludzkich mistrzów w szachach, Go, Dota 2 i StarCraft II. Sukcesy projektów takich jak Deep Blue, AlphaGo, OpenAI Five i AlphaStar pokazują potencjał SI w tworzeniu zaawansowanych strategii i doskonaleniu technik gry. Przyszłe możliwości rozwoju obejmują jej wykorzystanie w tworzeniu bardziej realistycznych scenariuszy, opracowywania szczegółowych i spersonalizowanych ścieżek rozwoju graczy oraz analizy predykcyjne, które mogą rewolucjonizować treningi i strategie w różnych branżach.

Bibliografia

[1] Google achieves AI ‘breakthrough’ by beating Go champion, „BBC News”, 27 stycznia 2016 

[2] AlphaGo: Mastering the ancient game of Go with Machine Learning, „Research Blog” 

[3] David Larousserie et Morgane Tual, Première défaite d’un professionnel du go contre une intelligence artificielle, „Le Monde.fr”, 27 stycznia 2016, ISSN 1950-6244 

[4] https://openai.com/index/openai-five-defeats-dota-2-world-champions/ dostęp 13.06.2024 

[5] https://openai.com/index/openai-five/ dostęp 13.06.2024 

[6] Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347

Dolina niesamowitości 

Dolina niesamowitości (ang. uncanny valley) to pojęcie odnoszące się do powszechnego, niepokojącego wrażenia doświadczanego przez ludzi w sytuacji, kiedy robot w bardzo dużym stopniu przypomina człowieka, ale nie jest dostatecznie przekonująco realistyczny [1]. Zjawisko to po raz pierwszy pojawiło się w latach 70. XX wieku, kiedy to japoński robotyk Masahiro Mori zaobserwował, że roboty stają się tym bardziej interesujące, im bardziej przypominają swoim wyglądem człowieka, ale tendencja ta utrzymuje się tylko do pewnego momentu. Określił on wówczas ten fenomen jako bukimi no tani (pol. dolina niesamowitości). Po „osiągnięciu” bukimi no tani poczucie zainteresowania zamienia się w poczucie obcości, niepokoju lub nawet strachu [2].

Rys. 1. Wykres obrazujący zjawisko doliny niesamowitości. 

Źródło: https://www.linkedin.com/pulse/uncanny-valley-personalization-mac-reddin-/  

Dlaczego doświadczamy zjawiska doliny niesamowitości?

Na dzień dzisiejszy nie jest nam znana jedna, konkretna odpowiedź na to pytanie. Istnieje natomiast kilka teorii, które pozwalają lepiej zrozumieć przyczyny występowania tego zjawiska. Przyczyny te dzielimy na: 

  • Neurologiczne 

W badaniu przeprowadzonym w 2019 roku, Fabian Grabenhorst wraz z zespołem neurologów poddali analizie neurologiczny aspekt doliny niesamowitości. Zbadali oni wzorce mózgowe u 21 osób wykorzystując funkcjonalne obrazowanie metodą rezonansu (fMRI), czyli technikę pomiaru zmian w przepływie krwi w różnych obszarach mózgu. Podczas testów uczestnicy określali swój poziom zaufania względem ludzi oraz robotów o różnym poziomie ludzkiego podobieństwa. Wyniki pokazały, że pewne konkretne części mózgu były szczególnie ważne w kontekście uncanny valley. Dwie części przyśrodkowej kory przedczołowej – odpowiedzialnej za uwagę i zmysły – wykazały pewną niestandardową aktywność. Jedna z nich przekształciła „sygnał podobieństwa do człowieka” w „sygnał wykrycia człowieka” oraz nadmiernie wyeksponowała granicę między człowiekiem a nie-człowiekiem. Z kolei druga, skorelowała ten sygnał z oceną sympatii. Połączenie to utworzyło mechanizm, który ściśle przypomina to, czym charakteryzuje się dolina niesamowitości.

  • Psychologiczne

Okazuje się, że już w 1919 roku Sigmund Freud zaobserwował zjawisko, które opisał jako „dziwna emocja odczuwana przez ludzi, którą budzą pewne przedmioty”. Sugerował, że uczucie, które nam wtedy towarzyszy może być związane z wątpliwościami co do tego, czy coś nieożywionego, co obserwujemy, posiada duszę. Co ciekawe, w tamtym czasie jego spostrzeżenie odnosiło się oczywiście nie do robotów, lecz do realistycznych lalek czy też figur woskowych, co sugeruje, że zjawisko to może być starsze niż nam się wydaje oraz występować na większej ilości płaszczyzn niż tylko wśród maszyn. Dzisiaj podobny mechanizm wykorzystywany jest w branży filmowej. Wiele horrorów nadaje cechy ludzkie postaciom, które ludźmi nie są.

  • Ewolucyjne

Uncanny valley może być również powiązana z ewolucją. Roboty, które klasyfikujemy do doliny niesamowitości, wyglądają jak ludzie, ale posiadają również cechy, które wyraźnie nie są ludzkie. Niektóre z tych cech, takie jak skóra pozbawiona życia, nienaturalne rysy twarzy czy też głos nieadekwatny do wyglądu, mogą kojarzyć się nam z czymś odstającym od normy, czy nawet niebezpiecznym. To z kolei wywołuje w nas uczucie niechęci, strachu. Kiedy mamy do czynienia z czymś, co jest ludzkie, ale nierealistyczne, nie „jak żywe”, budzi to w nas odczucie podobne do takiego, którego doświadczamy, kiedy stykamy się z czymś, co jest martwe.

  • Kognitywne

Zjawisko doliny niesamowitości może również wynikać z egzystencjonalnego strachu przed zastąpieniem ludzi przez roboty. Widok robota, który swoim wyglądem przypomina człowieka, ale człowiekiem nie jest, zaburza nasze oczekiwania względem tego, jak wygląda człowiek, a jak wygląda robot. Budzi to w nas wątpliwości odnośnie do tego, kim jest człowiek, jak powinien wyglądać oraz jak powinien się zachowywać. Warto zauważyć, że niepokój nie wynika z samego faktu istnienia robotów, lecz z faktu istnienia takich robotów, które łączą w sobie elementy zazwyczaj nie występujące razem. Przykładowo, roboty „brzmiące jak roboty” nie stanowią dla nas problemu, natomiast roboty posługujące się typowo ludzkim głosem, już tak [2] [3].

Dolina niesamowitości w rzeczywistości

Fenomen doliny niesamowitości obecny jest w wielu różnych dziedzinach. Poza obszarem robotyki, zaobserwować możemy go również w grach komputerowych, czy filmach wykorzystujących technologię CGI, czyli obrazy generowane komputerowo. Efekt ten wykracza poza świat technologii i powodować go mogą przedmioty takie jak realistyczne lalki, manekiny czy figury woskowe.

  • Sophia

Fot. 1. Zdjęcie przedstawiające robota Sophia. 

Źródło: https://pl.wikipedia.org/wiki/Plik:Sophia_%28robot%29.jpg  

Sophia jest najbardziej zaawansowanym robotem humanoidalnym, jaki dotychczas powstał. Stworzona przez Hanson Robotics, po raz pierwszy aktywowana została w 2016 roku. Uzyskała obywatelstwo Arabii Saudyjskiej, stając się tym samym pierwszym robotem-obywatelką na świecie. Przyznany został jej tytuł Ambasadorki Innowacji Programu Rozwoju Narodów Zjednoczonych. Rozpoznawalność zyskała również dzięki występom w programach telewizyjnych, takich jak Good Morning Britain czy The Tonight Show [4]. Sophia posiada umiejętność wyrażania różnych złożonych emocji, przybierania ludzkich wyrazów twarzy i wchodzenia w interakcje z innymi ludźmi. Wyposażona jest w umiejętność przetwarzania oraz posługiwania się językiem naturalnym, rozpoznawania twarzy oraz śledzenia wizualnego [5]. Jej „skóra” wykonana jest ze specjalnego materiału, opracowanego przez naukowców z Hanson Robotics, który nazwany został Frubber. Jest to rodzaj gumy, która swoją fakturą i elastycznością przypomina ludzką skórę [6]. Z powodu jej wyglądu i zachowań, które są bardzo bliskie tym odpowiadającym człowiekowi, wciąż są zbyt nienaturalne. Sophia jest klasyfikowana do doliny niesamowitości, mogąc budzić w nas tym samym uczucie dyskomfortu oraz niepokoju.

  • Ekspres polarny

Rys. 2. Komputerowo wygenerowany kadr z filmu Ekspres polarny. 

Źródło: https://collider.com/worst-cases-of-uncanny-valley-movies/ 

Ekspres polarny to film animowany w reżyserii Roberta Zemeckisa, powstały w 2004 roku. Film zrealizowany został z wykorzystaniem technologii CGI, która zdaniem wielu wykorzystana została w sposób nietrafny. Sami producenci ekranizacji mieli sprzeczną wizję, wobec tego w jaki sposób powinien powstać film. Robert Zemeckis w wywiadzie dla Wired powiedział, że „live-action wyglądałoby okropnie i byłoby niemożliwe do zrealizowania – kosztowałoby 1 miliard dolarów zamiast 160 milionów dolarów”. Natomiast Tom Hanks, odgrywający w filmie rolę aż siedmiu postaci, twierdził, iż film nie powinien powstać w wersji animowanej [7]. Twórcy znaleźli pewnego rodzaju porozumienie, łączące ze sobą te dwa podejścia. Wykorzystali oni technologię przechwytywania ruchu (ang. motion capture), czyli metodę polegająca na rejestrowaniu ruchów aktorów, a następnie zapisywaniu ich w komputerze. Jednak krytycy twierdzą, iż twórcom nie udało się dobrze odzwierciedlić postaci, przez co wydają się one niedostatecznie realistyczne. Bohaterom brakuje ludzkich emocji oraz mimiki, poruszają się w sposób nienaturalny, a ich oczy wydają się być ciągle „nieobecne”.

Konsekwencje doliny niesamowitości

Zjawisko doliny niesamowitości ma znaczący wpływ na przyszłość wielu różnych obszarów naszego życia. Dzięki obecnej wiedzy, jakie niechciane uczucia może powodować to zjawisko, robotycy, producenci filmów oraz projektanci gier wideo mogą uwzględniać ten problem w swoich działaniach. Na ten moment wiadomo już, że warto tworzyć roboty, które nie powodują braku zaufania pomiędzy maszyną, a użytkownikiem. W przeciwnym razie narażone będą one na zły odbiór oraz mniejszą przydatność w osiągnięciu zamierzonego celu. Z kolei w filmach, zbyt realistyczne postacie wygenerowane komputerowo w najlepszym przypadku wywołać mogą brak sympatii ze strony widza, a w najgorszym uczucia takie jak niepokój, czy nawet strach. Dlatego właśnie twórcy filmów często decydują się na wręcz zbyt przesadne uwydatnienie niektórych cech fizycznych swoich bohaterów. Nadawanie postaciom charakterystyk takich jak przesadnie duże oczy, nienaturalny kolor skóry czy nadmiernie dynamiczne ruchy stanowi jeden ze sposobów na radzenie sobie z uniknięciem efektu wywołanego przez dolinę niesamowitości. Podobne mechanizmy zachodzą również w grach komputerowych – projektanci mogą chcieć starać się tworzyć swoje postacie z myślą o niezbyt przesadnym realizmie, gdyż w przeciwnym razie mogą spotkać się z negatywnym odbiorem ze strony graczy. Choć istnieją również wyjątki – w niektórych przypadkach filmowcy lub projektanci gier mogą chcieć uzyskać postacie, które celowo „wpadają” do uncanny valley. Dzięki temu mogą mieć kontrolę chociażby nad tym, w jaki sposób odbierane będą czarne charaktery. Bohater, który przejawiał będzie pewne nienaturalne, lecz jednocześnie zbyt realistyczne cechy, wywoływał będzie poczucie niechęci wśród odbiorców [8] [9].

Dolina niesamowitości a UX

Bardzo ciekawe zagadnienie w kontekście uncanny valley stanowi również jej wpływ na projektowanie interfejsów użytkownika. Dodanie pewnych elementów realistycznych do wyglądu interfejsu może mieć pozytywne skutki. Przykładowo, światło i cień nadają poczucia możliwości naciśnięcia danego elementu, a dźwięk może stanowić odpowiednik danego odgłosu, który usłyszymy również w prawdziwym życiu. Jednak dodanie zbyt dużej ilości realizmu może prowadzić do powstania zbyt cienkiej granicy pomiędzy tym co wirtualne, a tym co rzeczywiste. Przykładowo, bardzo detaliczna aplikacja kalendarza, którego faktura przypomina prawdziwy papier. Fakt, że nie jesteśmy w stanie go dotknąć, a jedynie „przewijać” na ekranie komputera czy też smartfona, może sprawiać dla nas wrażenie czegoś dziwnego, „niepasującego”. Dlatego tak istotne jest, aby nie dążyć do osiągnięcia elementów, które wręcz w całkowity sposób odzwierciedlają realne obiekty. Dzięki zachowaniu odpowiedniego balansu pomiędzy realizmem a fikcją, doświadczenie użytkownika staje się przyjemne oraz pozbawione dylematów [10].

Rys. 3. Grafika przedstawiająca bardzo realistyczne logo Google Chrome z 2008 roku oraz jego unowocześnioną, znacznie mniej realistyczną wersję z 2011. 

Źródło: https://bpando.org/2011/03/17/the-new-chrome-logo/  

Podsumowanie

Ludzie doświadczają niepokoju, gdy napotykają wyglądające niemal jak prawdziwe, ale wciąż niedostatecznie realistyczne jednostki przypominające ludzi – zjawisko to określane jest jako dolina niesamowitości. Ma ono kluczowe znaczenie w różnych dziedzinach. Jego przykłady obejmują zaawansowane roboty, postacie generowane komputerowo czy nawet formy wykraczające poza sferę technologii, takie jak lalki czy figury woskowe. Konsekwencje uncanny valley mogą w znaczącym stopniu wpływać na akceptację oraz użyteczność danej technologii. W kontekście UX, świadomość istnienia doliny niesamowitości jest kluczowa dla projektantów, którzy starają się zminimalizować niepożądane efekty poprzez odpowiednie zaprojektowanie interfejsów tak, aby użytkownicy czuli się komfortowo oraz byli zaangażowani w interakcje z produktami.

Bibliografia

[1] https://www.techtarget.com/whatis/definition/uncanny-valley  

[2] https://spectrum.ieee.org/what-is-the-uncanny-valley  

[3] https://www.sciencefocus.com/news/uncanny-valley-what-is-it-and-why-do-we-experience-it  

[4] https://aidriven.pl/ai/etyka-i-prawo/robot-sophia-jak-humanoidy-zmieniaja-nasze-postrzeganie-ai/ 

[5] https://robotsguide.com/robots/sophia 

[6] https://www.hansonrobotics.com/the-making-of-sophia-frubber/ 

[7] https://faroutmagazine.co.uk/the-disturbing-valley-robert-zemeckis-polar-express/  

[8] https://www.techtarget.com/whatis/definition/uncanny-valley  

[9] https://www.verywellmind.com/what-is-the-uncanny-valley-4846247 

[10] https://cassidyjames.com/blog/uncanny-valley-curve/

Sztuczna inteligencja a twórczość głosowa

Sztuczna inteligencja a twórczość głosowa

Ostatnimi czasy sztuczna inteligencja (AI) przestała być frazesem używanym wyłącznie w twórczości science-fiction – stała się częścią naszej rzeczywistości. Od wszelkiego rodzaju asystentów, po generatory tekstów, obrazów czy dźwięków, maszyna i produkowane przez nią odpowiedzi wdarły się przebojem do naszej codzienności. Czy istnieją wady tego stanu rzeczy? Jeśli tak, to czy są przeciwważone zaletami? Nad tymi pytaniami oraz innymi dylematami związanymi z wykorzystaniem AI przy zagadnieniach związanych z głosem ludzkim pochylimy się w tym wpisie. 

Jak sztuczna inteligencja dostaje swój głos? Rozwój głosów AI obejmuje wiele nowatorskich dziedzin, ale do głównie stosowanych metod należą:  

 

  • algorytmy uczenia maszynowego – umożliwiają systemom uczenie się na podstawie danych i z biegiem czasu poprawianie ich wydajności. Uczenie nadzorowane jest często wykorzystywane do szkolenia modeli głosu AI przy użyciu dużych zbiorów danych dotyczących ludzkiej mowy. Dzięki nadzorowanemu uczeniu się model sztucznej inteligencji uczy się rozpoznawać wzorce i korelacje między danymi wejściowymi tekstowymi a odpowiadającymi im komunikatami głosowymi. Sztuczna inteligencja uczy się na wielu przykładach ludzkiej mowy i dostosowuje swoje ustawienia tak, aby to co wygeneruje było jak najbardziej zbliżone do mowy prawdziwego człowieka. W miarę jak model przetwarza więcej danych, udoskonala zrozumienie fonetyki, intonacji i innych cech mowy, co prowadzi do coraz bardziej naturalnych i wyrazistych głosów;  

 

  • przetwarzanie języka naturalnego (NLP) – umożliwia maszynom rozumienie i interpretowanie ludzkiego języka. Korzystanie z technik NLP pozwala sztucznej inteligencji rozkładać zapisane słowa i zdania w celu znalezienia ważnych szczegółów, takich jak gramatyka, znaczenie oraz emocje. NLP pozwala głosom AI interpretować i wypowiadać złożone zdania, nawet jeśli słowa mają wiele znaczeń lub brzmią tak samo. Dzięki temu głos AI brzmi naturalnie i ma sens, niezależnie od rodzaju używanego języka. NLP to magia, która wypełnia lukę między słowami pisanymi a mową mówioną, dzięki czemu głosy AI brzmią jak prawdziwi ludzie, nawet w przypadku skomplikowanych wzorców językowych.  

 

  • techniki syntezy mowy – umożliwiają maszynom przekształcanie przetworzonego tekstu w zrozumiałą i wyrazistą mowę. Można to zrobić na różne sposoby, na przykład poprzez składanie nagranej mowy w celu utworzenia zdań (synteza konkatenatywna) lub używanie modeli matematycznych do tworzenia mowy (synteza parametryczna), co pozwala na większe dostosowanie. W ostatnim czasie pojawiła się przełomowa metoda zwana neuronowym TTS (Text-to-Speech). Wykorzystuje modele głębokiego uczenia się, takie jak sieci neuronowe, do generowania mowy z tekstu. Dzięki tej technice głosy AI brzmią jeszcze bardziej naturalnie i wyraziście, rejestrując najdrobniejsze szczegóły, które sprawiają, że ludzka mowa jest wyjątkowa, takie jak rytm i ton.  

 

 

W praktyce dostępne narzędzia można podzielić na dwie główne kategorie: Text-to-Speech oraz Voice-to-Voice. Każde z nich umożliwia stworzenie klonu głosu danej osoby, jednak TTS jest dużo bardziej ograniczony w zakresie odtwarzania nietypowych słów, odgłosów, reakcji oraz możliwości wyrażania emocji. Voice-to-Voice w dużym uproszczeniu „zastępuje” brzmienie jednego głosu drugim, umożliwiając na przykład stworzenie sztucznego wykonania utworu jednego wokalisty przez zupełnie innego wokalistę, zaś Text-to-Speech wykorzystuje stworzony model głosu do odczytania wprowadzonego tekstu (tworząc z tekstu mel spektrogram, a następnie przekazując go do vocodera, który generuje plik audio) [1]. Podobnie jak w przypadku każdego zagadnienia związanego z uczeniem maszynowym, tak i tutaj jakość ostatecznie wygenerowanej mowy zależy w dużej mierze od modelu i danych, na których model ten był trenowany.  

Początki badań nad ludzką mową miały miejsce już pod koniec XVIII wieku, jednak prace nad syntezą mowy nabrały rozpędu dużo później, gdyż w latach 20-30. XX wieku, kiedy to w Bell Labs opracowano pierwszy vocoder [2]. Zagadnienia związane z imitacją i klonowaniem głosu (co określane jest też mianem głosowych deepfake’ów) pierwszy raz na szerszą skalę poruszono w artykule naukowym opublikowanym w 1997 roku, zaś najszybszy rozwój technologii znanych nam dzisiaj nastąpił po 2010 roku. Szczególnym wydarzeniem, które napędziło popularność i dostępność narzędzi do klonowania głosu, było opublikowanie przez Google w 2017 roku algorytmu do syntezy mowy Tacotron [3].   

 

Już teraz sztuczna inteligencja „rozmawia” z nami w wielu sytuacjach z codziennego życia: wirtualni asystenci jak Siri czy Alexa w urządzeniach czy automaty do telefonicznej obsługi klienta w różnych firmach i instytucjach to już powszechne zjawisko. Jednakże technologia ta daje możliwości, które mogą być źródłem problemów, co wzbudza kontrowersje dotyczące etyczności rozwijania jej w przyszłości. 

Na pierwszy plan wysuwają się tutaj problemy zgłaszane przez osoby pracujące głosem, które obawiają się niebezpieczeństwa utraty pracy na rzecz maszyn. W przypadku tych osób głos, poza byciem częścią tożsamości, jest też źródłem wyrazu artystycznego i narzędziem pracy. W przypadku stworzenia odpowiednio dobrego modelu głosu danego człowieka, dalsza jego praca nagle, teoretycznie, przestaje być potrzebna. Dokładnie ten temat był przedmiotem dyskusji, która rozpaliła Internet w sierpniu 2023, kiedy to jeden z twórców wstawił na serwis YouTube wykonaną samodzielnie w Blenderze animację inspirowaną kultowym serialem Scooby-Doo [4]. Powodem kontrowersji było użycie przez początkującego autora AI do wygenerowania dialogów dla 4 występujących postaci, które używały modeli głosowych oryginalnej (i wciąż czynnej zawodowo) obsady. Na twórcę spadła fala krytyki za używanie czyjegoś głosu bez pozwolenia, na własny użytek. Sprawa dyskutowana była w środowisku osób zawodowo związanych z animacją, skomentowała ją także jedna z aktorek głosowych z oryginalnej obsady serialu. Wyraziła ona swoje oburzenie i dodała, że nigdy nie podejmie współpracy z tym twórcą oraz że będzie ostrzegała przed nim swoich kolegów z branży. Po opublikowaniu przeprosin przez twórcę (który przyznał się do błędu i tłumaczył swoje działania brakiem funduszy na zatrudnienie osób podkładających głos oraz całkowicie hobbystycznym i niezarobkowym charakterem stworzonej animacji) „wilczy bilet” został cofnięty, a strony pogodziły się. Z dyskusji wyłaniał się jednak wniosek o konieczności uregulowania prawnego wykorzystywania sztucznej inteligencji do takich celów. Lista zawodów, których ten temat dotyczy jest długa, a już w tym momencie istnieje mnóstwo utworów korzystających z czyjegoś głosu w podobny sposób. I mimo, że są to w większości treści tworzone przez fanów i dla fanów, w swego rodzaju hołdzie dla materiału źródłowego, to nadal jest to technicznie wykorzystanie części czyjejś tożsamości bez jego zgody. 

 

Kolejnym dylematem są wątpliwości etyczne, gdy rozważamy wykorzystanie głosu osoby zmarłej do tworzenia nowych treści. Internet pełen jest już „coverów”, w których nowo wydane utwory są „śpiewane” przez nieżyjących już artystów. Jest to temat niezwykle delikatny, biorąc pod uwagę uczucia rodziny, bliskich i fanów zmarłego, jak i to, jak zmarła osoba postrzegałaby takie wykorzystanie części jej wizerunku.  

Następnym zagrożeniem jest oszukiwanie i wprowadzanie w błąd za pomocą tej technologii. O ile przeróbki z politykami grającymi w gry multiplayer pozostają raczej w strefie niewinnych żartów, tak wkładanie w usta polityków słów, których nigdy nie wypowiedzieli, na przykład w trakcie kampanii wyborczej jest już sytuacją niebezpieczną, która może mieć poważne konsekwencje dla całego społeczeństwa. Na takie fałszywki i manipulacje są narażone obecnie zwłaszcza osoby starsze, jednak wraz z udoskonalaniem modeli i równoległym rozwojem metod generowania obrazu i ruchu ust, nawet osoby zaznajomione ze zjawiskiem mogą mieć coraz większe problemy z rozdzieleniem fałszu od rzeczywistości [5].  

Podobne oszustwa w najgorszym przypadku mogą poskutkować kradzieżą tożsamości. Co jakiś czas nagłaśniane są sprawy, gdy postać celebryty występuje w reklamie, o której on sam nigdy nie słyszał [6]. Ofiarami takich kradzieży tożsamości mogą być również eksperci bądź autorytety w danej dziedzinie, na przykład lekarze, których sztucznie wytworzony wizerunek jest wykorzystywany do reklamowania rozmaitych, często nie mających żadnego związku z medycyną preparatów. Tego typu sytuacje, już teraz mające miejsce w naszym kraju [7], są szczególnie szkodliwe, gdyż potencjalni odbiorcy takich reklam są narażeni nie tylko na niepotrzebny wydatek, lecz również ryzykują swoim zdrowiem a może i życiem. Nie jest także rzadkością weryfikacja biometryczna za pomocą głosu – w przypadku wiernego modelu głosu klienta i wycieku jego danych osobistych sytuacja taka może skutkować potencjalną katastrofą. Ryzyko takiego scenariusza potwierdzono już w przypadku jednej ze stworzonych przez australijski rząd aplikacji [8]. 

 

Niezwykle trudno przewidzieć w jakim kierunku będzie zmierzał rozwój sztucznej inteligencji w zastosowaniu do generowania głosu ludzkiego. Konieczne wydają się regulacje w kwestii możliwości stosowania modeli głosu celebrytów w celach zarobkowych oraz zapewnienie, iż człowiek nie zostanie w tej sferze całkowicie zastąpiony przez maszynę. Brak znaczących zmian w tej materii może poskutkować dalszą utratą zaufania do narzędzi wykorzystujących sztuczną inteligencję. Ten temat dzieli ludzi, ma wielu zwolenników jak i przeciwników.  Jak każde narzędzie, nie jest ono dobre ani złe – wszystko zależy od sposobu wykorzystania i intencji korzystającego. Już teraz istnieją narzędzia, które pozwalają wykryć, czy dane nagranie zostało sztucznie wygenerowane. Nie można też zapominać, iż do stworzenia przekonującego klonu ludzkiego głosu potrzebna jest wiedza, umiejętności i wysiłek. W przeciwnym wypadku rezultat jest niezgrabny i natychmiast można rozpoznać, że coś jest nie tak, doświadczamy wtedy „doliny niesamowitości” (eng. uncanny valley). Obecne w ludzkim głosie subtelności, emocje, różnice, akcenty, niedoskonałości są niezwykle trudne do odwzorowania. To daje nadzieję, iż maszyna nie wyprze całkiem człowieka i to tylko dzięki naszej doskonałej niedoskonałości.

 

Analiza danych historycznych i zakodowane uprzedzenia

Prater & Borden

Praca z danymi historycznymi, jakkolwiek przydatna, dla algorytmów uczenia maszynowego nie może obejść się bez unikania uprzedzeń, które są głęboko ukryte w danych. W 2014 roku osiemnastoletnia Brisha Borden została oskarżona o popełnienie kradzieży mienia wartości osiemdziesięciu dolarów po tym, jak postanowiła przejechać się pozostawionym i niezabezpieczonym rowerkiem dziecięcym. Brisha w przeszłości, w wieku nieletnim, popełniła mniejsze wykroczenia. Rok wcześniej czterdziestojednoletni Vernon Prater został przyłapany na kradzieży narzędzi ze sklepu o łącznej wartości 86,35 dolarów. Vernon był już oskarżony o kradzież z bronią w ręku, za co dostał wyrok pięciu lat pozbawienia wolności. Był też oskarżony o próbę dokonania napadu z bronią w ręku. W USA w tamtym czasie używany był system służący predykcji ryzyka, który miał na celu ocenę, czy dana osoba w przyszłości będzie popełniać inne przestępstwa. Analiza systemu przyznawała ocenę od 1 do 10, gdzie im wyższa wartość liczbowa, tym większe ryzyko popełniania przestępstw w przyszłości. Borden – czarna nastolatka – dostała ocenę wysokiego ryzyka: 8. Prater zaś – biały, dorosły mężczyzna – ocenę niskiego ryzyka: 3. Po dwóch latach Brisha Borden nie popełniła żadnego przestępstwa, natomiast Vernon Prater odsiadywał wyrok ośmiu lat pozbawienia wolności po tym, jak włamał się do magazynu i ukradł elektronikę wartości kilku tysięcy dolarów. [1] 

Analiza ukrytych danych

 

Zautomatyzowane systemy uczenia maszynowego i big data są coraz liczniejsze w naszym codziennym życiu. Poczynając od algorytmów proponujących użytkownikowi serial do obejrzenia, kończąc na takim, który zadecyduje o racie twojego kredytu hipotecznego. I właśnie, w momencie, kiedy algorytm decyduje o tak ważnej dla człowieka sprawie wchodzimy na dość niebezpieczny grunt. Czy możemy w ogóle ufać takim systemom, aby podejmowały istotne decyzje? Algorytmy komputerowe dają poczucie bezstronności i obiektywności. Czy jednak istotnie tak jest? 

 

W dużym skrócie – algorytmy uczenia maszynowego „uczą się” podejmować decyzje na podstawie dostarczonych danych. Niezależnie od sposobu tej nauki, czy to proste drzewa decyzyjne, czy bardziej zaawansowane sztuczne sieci neuronowe, z założenia algorytm powinien wyciągnąć ukryte w danych wzorce. Tak więc algorytm będzie tak obiektywny, jak obiektywne są dane uczące. O ile możemy się zgodzić, że na przykład dane medyczne czy pogodowe są obiektywne, ponieważ oczekiwane rezultaty nie wynikają z decyzji ludzkich, o tyle decyzje o np. przyznaniu kredytu czy zatrudnieniu były historycznie podejmowane przez ludzi. A ludzie, jak wiadomo, nie są stuprocentowo obiektywni i kierują się określonym światopoglądem i niestety też uprzedzeniami. A te uprzedzenia trafiają do danych w mniej lub bardziej bezpośredni sposób. 

 

Kwestia przygotowania danych nadających się do trenowania algorytmów uczenia maszynowego to bardzo obszerne zagadnienie. Omówienie możliwych rozwiązań to temat na osobny artykuł. 

 

W takim razie, skoro nie chcemy aby algorytm podejmował decyzje na podstawie płci, wieku czy koloru skóry, to czy nie można po prostu nie podawać tych danych? Takie naiwne podejście, choć wydaje się logiczne, ma jedną dużą lukę. Informacja o tych danych wrażliwych może być (i prawdopodobnie jest) zakodowana w innych, pozornie niepowiązanych informacjach. 

 

Dane historyczne są tworzone przez ludzi, a ludzie niestety kierują się pewnymi uprzedzeniami. Decyzje te przesiąkają przez dane, i nawet jeśli tworząc model uwzględni się, aby na wejściu nie uwzględniał danych o rasie, wieku, płci itp. to może się okazać, że informacje te przedostają się pośrednio poprzez np. informacje o kodzie pocztowym. Można przykładowo użyć sieci Bayesowskich (Bayesian networks) do zwizualizowania wzajemnych połączeń między różnymi cechami. To narzędzie ma na celu wskazanie gdzie mogą ukryte być dane, na podstawie których nie chcielibyśmy podejmować decyzji. [2]

Sądowy system oceny ryzyka w USA

 

Powróćmy do algorytmu wykorzystywanego w systemie karnym USA (system COMPAS). Julia Dressel i Hany Farid [3] spróbowali wykonać analizę działania tego systemu. Na początku przeprowadzili sondę, w której ankietowani bez żadnego doświadczenia w kryminologii dostali krótki opis dokonanego przestępstwa osoby oskarżonej (w tym jej wiek i płeć, ale nie rasę) i historię jej wcześniejszych oskarżeń, ich celem było przewidzenie, czy dana osoba będzie ponownie karana w ciągu najbliższych dwóch lat. Analiza przeprowadzonego badania wykazała skuteczność (67%) podobną do systemu wykorzystywanego przez system karny USA (65,2%). Co ciekawe, udział odpowiedzi fałszywie pozytywnych, czyli takich, w których osoby oskarżone zostały przydzielone błędnie do grupy wysokiego ryzyka, był stały bez względu na rasę. Osoby czarnoskóre, zarówno w anonimowej sondzie, jak i według systemu COMPAS, miały większe prawdopodobieństwo bycia zakwalifikowanymi do grupy wyższego ryzyka niż osoby białe. Dla przypomnienia – ankietowani nie posiadali informacji o rasie osób oskarżonych. 

 

Następnie przetestowane zostały inne metody uczenia maszynowego, w tym algorytm regresji logistycznej z dwoma cechami na wejściu – wiek i liczba wcześniejszych oskarżeń. Algorytm ten działa w taki sposób, że na (w tym przypadku) dwuwymiarowej płaszczyźnie (każda oś jest wartością danej cechy) umieszczane są poszczególne pomiary ze zbioru treningowego. Następnie wyznaczana jest prosta oddzielająca przypadki z dwóch różnych kategorii. Zwykle nie jest możliwe idealne wyznaczenie prostej, która by bezbłędnie oddzielała dwie kategorie. Dlatego też wyznacza się prostą, której błąd jest minimalny. W ten sposób uzyskano takie działanie prostej, która dzieli płaszczyznę na dwie kategorie – osoby które w przeciągu dwóch lat zostały oskarżone, i te które nie zostały oskarżone (Rys.1). 

wykres liniowy przedstawiający analizę danych historycznych
Rys.1 Sposób działania algorytmu regresji logistycznej.

Algorytm ten ma skuteczność (66,8%) zbliżoną do systemu COMPAS (65,4%). W tym przypadku również zaobserwowano dużo wyższy odsetek osób czarnych niepoprawnie sklasyfikowanych jako osoby wyższego ryzyka od osób białych. 

 

Jak się okazuje, informacja o rasie może przeniknąć też w danych o ilości zatrzymań [2][3]. Na przykład w USA osoby czarnoskóre są aresztowane za posiadanie narkotyków cztery razy częściej od osób białych [8][9]. 

 

Niedziałające modele

 

Czasami modele po prostu nie działają. 

 

W 2012 roku opublikowano dane systemu oceniającego nowojorskich nauczycieli z lat 2007-2010. System ten dawał nauczycielom ocenę od 1 do 100 rzekomo na podstawie osiągnięć uczniów danego nauczyciela. Gary Rubinstein [4] postanowił przyjrzeć się opublikowanym danym. Podjęta przez niego analiza ujawniła, że w statystykach nauczyciele, którzy zostali objęci programem oceny przez kilka lat, mają osobną ocenę z każdego roku. Wychodząc z założenia, że ocena nauczyciela nie powinna się dramatycznie zmienić z roku na rok, postanowił sprawdzić jak zmieniła się w rzeczywistości. Wykreślił oceny nauczycieli, gdzie na osi X oznaczył ocenę z nauczania pierwszego roku, a na osi Y ocenę z drugiego roku nauczania tej samej klasy. Każda kropka na wykresie reprezentuje jednego nauczyciela (Rys.2).

analiza danych historycznych na wykresie z różowymi kwadratami
Rys.2 Wykres ocen nauczycieli w dwóch następujących po sobie latach. [4]

Logicznym wynikiem byłaby zależność zbliżona do liniowej, bądź inna korelacja, ze względu na to że wyniki tej samej klasy u jednego nauczyciela z roku na rok nie powinien się drastycznie zmienić. Tutaj wykres przypomina bardziej generator liczb losowych, a niektóre klasy oceniane na ocenę bliską 100, następnego roku miały wynik bliski 0 i vice versa. Nie jest to wynik, który powinien zwracać system, na podstawie którego ustalane są płace nauczycieli, czy nawet decyzja czy zwolnić taką osobę. Ponieważ ten system po prostu nie działa. 

 

Podobny problem mają algorytmy rozpoznawania twarzy. Zwykle takie technologie są tworzone w taki sposób, że analiza wykonywana przez algorytm uczenia maszynowego dotyczy wielkiej ilości obrazów, które są twarzą, i wielu obrazów które przedstawiają coś innego. System wykrywa wzorce, które są charakterystyczne dla twarzy, które nie występują na innych obrazach. Problem zaczyna się, gdy ktoś ma twarz odbiegającą od tych występujących w zbiorze treningowym. Osoby tworzące taki algorytm powinny postarać się o jak najbardziej różnorodny zbiór treningowy. Niestety okazuje się, że często w zbiorach treningowych jest niedostateczna reprezentacja osób o ciemniejszym kolorze skóry. Zbiory treningowe najczęściej mają dystrybucję koloru skóry podobną do społeczeństwa, z którego są zbierane dane. To znaczy, jeżeli zbiór treningowy składa się na przykład ze zdjęć obywateli USA i Europy, wtedy procentowy udział każdego koloru skóry w zbiorze danych będzie zbliżony do tego w demografii USA i Europy, gdzie przeważają osoby o jasnej karnacji (Rys.3). 

wykres słupkowy przedstawiający dane historyczne z podziałem na rasy
Rys.3 Po lewej: dane ze spisu ludności w USA [6]. Po prawej: procentowy udział ras w ogólnodostępnych zbiorach danych [7].

Analiza wykonana na uniwersytecie MIT [5] badała dokładność algorytmów rozpoznawania twarzy z uwzględnieniem podziału na płeć i kolor skóry. Okazało się, że technologie najpopularniejszych firm, takich jak Amazon czy IBM, nie radzą sobie z rozpoznawaniem kobiet o ciemnym kolorze skóry (rys.4). W sytuacji, gdy technologie te używane są w produktach wykorzystujących technologię rozpoznawania twarzy, pojawia się problem dostępności i bezpieczeństwa. Jeśli dokładność działania jest niska nawet dla jednej określonej grupy odbiorców, istnieje duże ryzyko uzyskania dostępu do np. telefonu przez osobę do tego nieupoważnioną. W czasach kiedy technologie rozpoznawania twarzy wykorzystywane są przez policję w kamerach monitoringu, istnieje duże ryzyko, że niewinne osoby zostaną błędnie rozpoznane jako osoby poszukiwane. Takie sytuacje już miały wielokrotnie miejsce. A wszystko przez niepoprawnie działający algorytm, który dość łatwo można by naprawić poprzez odpowiednie dobranie danych uczących. 

wykres słupkowy przedstawiający dane historyczne z podziałem na przedsiębiorstwa
Rys.4 Zbadana dokładność technologii rozpoznawania twarzy. [5]

Po opublikowaniu badania MIT większość firm poprawiła działanie swoich algorytmów, dzięki czemu dysproporcje w rozpoznawaniu twarzy są znikome. 

 

Inkluzywny kod

 

Nie możemy być w stu procentach ufni algorytmom uczenia maszynowego i big data. Zwłaszcza jeśli w grę wchodzi decydowanie o ludzkim losie. 

Jeśli chcemy tworzyć narzędzia, które są skuteczne, i nie uczą się uprzedzeń ludzkich, należy zejść do poziomu danych. Analiza ich wzajemnych zależności atrybutów, które mogą wskazywać na rasę, płeć, czy wiek jest absolutnie konieczna. Selekcjonować te, które są naprawdę niezbędne do poprawnego działania algorytmu. Następnie konieczna jest analiza samego działania algorytmu i jego wyników, aby zapewnić, że algorytm jest w istocie obiektywny. 

Modele uczenia maszynowego uczą się poszukując wzorców i odtwarzając je. Jeśli podajemy nieprzefiltrowane dane historyczne, nie tworzymy tak naprawdę nowych, skuteczniejszych narzędzi, tylko automatyzujemy status quo. A gdy w grę wchodzi ludzki los, my, jako developerzy, nie możemy pozwolić sobie na powtarzanie starych błędów.

Bibliografia

Grać jak z nut – cz.3

W drugiej części cyklu „Grać jak z nut” stworzyliśmy harmonię utworu. Potrzebujemy teraz jakiejś dobrej melodii, która będzie do tej harmonii pasować. Melodie składają się z motywów, czyli małych fragmentów ok. 2-5 nutowych oraz ich wariacji (czyli przekształceń). Zaczniemy od wygenerowania pierwszego motywu – jego rytmu i dźwięków. Podobnie jak w przypadku generowaniu harmonii, skorzystamy ze statystyk, N-gramów, wyznaczonych na utworach muzycznych. Do przygotowania takich statystyk wykorzystamy bazę Essen Folksong Collection. Równie dobrze można skorzystać z dowolnej innej bazy melodii, taki wybór bazy będzie rzutować na to, jakiego rodzaju melodie będą generowane. Z każdego utworu trzeba wyodrębnić melodię, zamienić ją na ciąg wartości rytmicznych oraz ciąg dźwięków, a z tych  ciągów wyciągnąć statystyki. Przy tworzeniu statystyk dźwięków warto melodie najpierw  w pewien sposób przygotować –  przetransponować je wszystkie do dwóch tonacji, np. C-dur i c-moll. Zmniejszy to liczbę możliwych (prawdopodobnych) N-gramów 12-krotnie, a dzięki temu statystyki będą lepiej oszacowane.

Dobry motyw

Stworzenie pierwszego motywu zaczniemy od wygenerowania jego rytmu. Przypomnę tutaj, że przyjęliśmy wcześniej pewne uproszczenie – każdy z motywów i ich wariacji będzie grać przez dokładnie jeden takt. Kolejne kroki generowania rytmu motywu: – losujemy pierwszą wartość rytmiczną z użyciem unigramów, – losujemy kolejną wartość rytmiczną z użyciem bigramów i unigramów – kontynuujemy losowanie kolejnych wartości rytmicznych, z użyciem N-gramów co raz wyższych rzędów (aż do 5-gramów), – przerywamy aż osiągniemy sumaryczną wartość rytmiczną równą długości jednego taktu – jeśli przekroczyliśmy długość 1 taktu, zaczynamy cały proces od początku (takie generowanie jest to na tyle szybkie, że możemy sobie pozwolić na taką niezbyt optymalną metodę prób i błędów).

Następny etap to wygenerowanie dźwięków motywu. Kolejnym uproszczeniem jakie wcześniej przyjęliśmy jest to, że generujemy utwory tylko w tonacji C-dur, dlatego skorzystamy ze statystyk N-gramów stworzonych na utworach przetransponowanych do tej tonacji, z wyłączeniem utworów w tonacjach molowych. Schemat działania jest podobny do tego przy generowaniu rytmu: – losujemy pierwszy dźwięk z użyciem unigramów, – losujemy kolejny dźwięk z użyciem bigramów i unigramów, – kontynuujemy aż wylosujemy tyle dźwięków, ile wylosowaliśmy wcześniej wartości rytmicznych – sprawdzamy, czy motyw pasuje do harmonii, jeśli nie to wracamy zaczynamy od początku – jeśli po ok. 100 próbach nie udało się wygenerować motywu pasującego do harmonii, to może oznaczać, że przy zadanej harmonii i zadanym rytmie jest bardzo małe prawdopodobieństwo wylosowania dźwięków, które będą pasować do harmonii. W takim przypadku cofamy się i generujemy nowy rytm motywu.

Generuj do skutku

Zarówno przy generowaniu rytmu motywu jak i generowaniu jego dźwięków stosujemy metodę prób i błędów. Będziemy ją też stosować w opisanym niżej generowaniu wariacji motywów. Choć taki sposób może się  wydawać “głupi”, to jest prosty i działa. Pomimo iż bardzo często takie losowo wygenerowane motywy nie pasują do harmonii, to możemy sobie pozwolić na wiele takich pomyłek. Nawet 1000 prób zajmuje krótki czas obliczeń na dzisiejszych komputerach, a wystarczy by znaleźć odpowiedni motyw.

Wariacje z powtórzeniami

Mamy pierwszy motyw, a następnie potrzebujemy dalszego ciągu melodii. Nie będziemy jednak cały czas generować nowych motywów, ponieważ utwór stałby się chaotyczny. Nie możemy także ciągle grać tego samego motywu, ponieważ utwór stałby się zbyt nudny. Rozsądną drogą będzie oprócz powtórzeń motywów stworzyć także modyfikację tego motywu co zapewni zróżnicowanie, ale nie uczyni utworu chaotycznym.

Istnieje wiele metod tworzenia wariacji motywu. Jedną z nich jest transpozycja chromatyczna. Polega ona na tym, że wszystkie nuty transponowane są w górę lub dół o ten sam interwał. W takim przypadku zdarza się, że wariacja motywu posiada dźwięki spoza tonacji utworu. To z kolei powoduje, że szansa na to, że wariacja będzie pasować do harmonii jest bardzo mała. Kolejnym sposobem jest transpozycja diatoniczna, gdzie wszystkie nuty są transponowane o tę samą liczbę stopni skali. W przeciwieństwie do poprzedniej metody, wariacje diatoniczne nie posiadają dźwięków spoza tonacji.

Następnym sposobem jest zmiana jednego interwału – zmieniamy wtedy jeden z interwałów motywu pozostawiając wszystkie pozostałe interwały niezmienione. W ten sposób jedną część motywu (początek lub koniec) transponujemy (transpozycją chromatyczną lub diatoniczną). Inne metody to zamiana dwóch nut o tej samej wartości rytmicznej na jedną oraz zamiana jednej nuty na dwie nuty o tej samej wartości rytmicznej. W przypadku pierwszej metody, jeśli motyw posiada dwie nuty o tej samej wartości rytmicznej to możemy zmienić jego rytm i połączyć dwie takie nuty. W przypadku drugiej metody w sposób losowy wybieramy nutę, która zamieniamy na dwie „krótsze”.

Dzięki każdemu z opisanych sposobów tworzenia wariacji można wygenerować różne motywy. Wymienione metody nie są jedynymi obowiązującymi. Można ich wymyślić znacznie więcej. Jedyną zasadą ograniczającą w tym procesie jest to by wygenerowane wariacje nie różniły się za bardzo od oryginalnego motywu. W przeciwnym wypadku to już nie będzie wariacja tylko nowy motyw. Granica pomiędzy tym gdzie kończy się wariacja, a gdzie zaczyna już inny motyw jest umowna.

Itp. itd.

Metod do tworzenia wariacji motywów jest o wiele więcej, wymyślić można ich mnóstwo. Jedyne co nas ogranicza, to zasada, by wygenerowane wariacje nie różniły się za bardzo od oryginalnego motywu. W przeciwnym wypadku to już nie będzie wariacja, tylko nowy motyw. Granica pomiędzy tym gdzie kończy się wariacja a gdzie zaczyna już inny motyw jest raczej umowna i każdy trochę inaczej ją “czuje”, definiuje.

Czy to już koniec?

No to tyle jeśli chodzi o generowanie utworów. Podsumujmy więc kroki jakie przedsięwzięliśmy:

  1. Generacja harmonii utworu:
    • generacja rytmu harmonicznego,
    • generacja progresji akordów.
  2. Generacja melodii:
    • generowanie rytmu motywu,
    • generowanie dźwięków motywu,
    • tworzenie wariacji motywów,
    • tworzenie motywów i wariacji “aż do skutku”, czyli aż będą dopasowane do wygenerowanej harmonii

Pozostało nam jeszcze sprawienie by wygenerowane utwory miały zadaną, tj. dopasowaną do umiejętności grającego, trudność.

Sterowanie trudnością

Jednym z naszych założeń była możliwość sterowania trudnością utworu. Możemy to uzyskać dzięki dwóm podejściom:

  1. generowaniu utworów „jak leci” i sprawdzanie ich poziomów trudności (wg sposobów opisanych wcześniej); przygotowaniu w ten sposób dużej bazy utworów, z której następnie zostaną wybrane losowe utwory o zadanej trudności,
  2. sterowaniu parametrami tworzenia harmonii, motywów i wariacji tak by częściej generowały elementy muzyczne o zadanej trudności

Oba sposoby nie wykluczają się wzajemnie, dlatego możemy z powodzeniem stosować je razem. W pierwszej kolejności należy wygenerować losowo np. 1000 utworów, a następnie sterować parametrami tak by wytworzyć kolejne (ale tylko takie jakich nam brakuje). Odnośnie sterowania parametrami warto zaznaczyć, że można zmieniać prawdopodobieństwo powtórzenia się motywu. Dla utworów o zadanym niskim poziomie trudności nadane prawdopodobieństwo będzie większe (powtórzenia gra się łatwiej). Trudne utwory z kolei będą miały nadane większe prawdopodobieństwo oraz rzadziej spotykane harmonie (które wymuszą także rzadziej spotykane motywy i wariacje).

Grać jak z nut – cz. 2

Z pierwszej części artykułu dowiedzieliśmy się bardzo dużo pojęć muzycznych i technicznych. Teraz czas je wykorzystać do zbudowania automatycznego kompozytora. Zanim jednak do tego przystąpimy, musimy przyjąć pewne założenia (a raczej uproszczenia):

  • utwory będą się składały z 8 taktów w budowie okresowej (poprzednik 4 takty, następnik 4 takty)
  • metrum będzie 4/4 (czyli 4 ćwierćnuty na takt, akcent na pierwszą i trzecią miarę taktu)
  • długość każdego motywu wynosi 1 takt (mimo że to wymaganie wydaje się restrykcyjne, jednak wiele popularnych utworów jest zbudowanych właśnie z motywów, które trwają 1 takt).
  • stosowana będzie tylko tonacja C-dur (w razie potrzeby zawsze można po wygenerowaniu utworu przetransponować go do dowolnej tonacji)
  • ograniczymy się do ok. 25 najczęściej stosowanych odmian stopni harmonicznych (stopni jest 7, ale część z nich ma kilka wersji, z dodatkowymi dźwiękami, które zmieniają barwę akordu).

Co jest potrzebne do stworzenia utworu?

Do stworzenia w automatyczny sposób prostego utworu muzycznego potrzebne nam jest:

  • wygenerowanie harmonii utworu – akordów i ich rytmu
  • stworzenie motywów – ich dźwięków (wysokości) i rytmu
  • stworzenie wariacji tych motywów – j.w.
  • połączenia motywów i wariacji w melodię, dopasowując je do harmonii

Po opanowaniu podstaw możemy przejść do pierwszej części automatycznego komponowania – generowania harmonii. Zacznijmy od stworzenia rytmu harmonii.

Wolny rytm

Choć można by się pokusić o stworzenie statystycznego modelu rytmu harmonicznego, to, niestety, (przynajmniej w chwili pisania tego artykułu) nie ma dostępnej bazy, która by to umożliwiła. Wobec powyższego, musimy poradzić sobie w inny sposób – sami wymyślmy taki model. W tym celu wybierzmy kilka “sensownych” rytmów harmonicznych i zadamy im jakieś “sensowne” prawdopodobieństwa.

rytmprawdopodobieństworytmprawdopodobieństwo
[8]0.2[2,2]0.1
[6, 2]0.1[2,1,1]0.02
[2, 6]0.1[3,1]0.02
[7, 1]0.02[1,1,1,1]0.02
[4]0.4[1,1,2]0.02
Tab1. Rytmy harmoniczne, wartości wyrażane w ćwierćnutach – [6, 2] oznacza rytm, w którym są dwa akordy, pierwszy trwa 6 ćwierćnut, a drugi 2 ćwierćnuty.


Rytmy w tabeli przedstawione są w postaci tego, jak długo akordy będą trwały, a długość trwania przedstawiona jest w liczbie ćwierćnut. Niektóre rytmy trwają dwa takty (np. [8], [6, 2]), a pozostałe jeden takt ([4], [1, 1, 2] itd.).

Generowanie rytmu harmonii przebiega w następujący sposób. Losujemy kolejne rytmy aż do momentu, gdy otrzymamy tyle taktów, ile potrzebowaliśmy (w naszym przypadku 8). Ze względu na to, że rytmy mają różną długość, czasami mogą wyniknąć z tego pewne komplikacje. Przykładowo, może zaistnieć taka sytuacja, że do zakończenia generacji będzie potrzebny ostatni rytm o długości 4 ćwierćnut, a my natomiast wylosujemy rytm o długości 8. W takim przypadku, aby uniknąć niepotrzebnych problemów, można wymusić losowanie z podzbioru rytmów o długości 4 ćwierćnut.

W takim razie, zgodnie z powyższymi ustaleniami, załóżmy, że wylosowaliśmy następujące rytmy:

  • poprzednik: [4, 4], [2, 2], [3, 1], 
  • następnik: [3, 1], [8], [2, 2]

Likelihood

W kolejnym kroku będziemy wykorzystywali pojęcie likelihood. Jest to nieznormalizowane do jedynki prawdopodobieństwo (tzw. pseudo-prawdopodobieństwo), które pomaga ocenić względny poziom prawdopodobieństwa różnych zdarzeń. Dla przykładu, jeżeli likelihoody zdarzeń A i B wynoszą odpowiednio 10 oraz 20, to oznacza, że zdarzenie B jest dwa razy bardziej prawdopodobne od zdarzenia A. Równie dobrze mogłyby te likelihoody wynosić 1 oraz 2, albo 0.005 oraz 0.01. Z likelihoodów można policzyć prawdopodobieństwo. Jeśli założymy, że jedynie zdarzenia A i B mogą wystąpić, to ich prawdopodobieństwa będą wynosić odpowiednio:

Obrazek posiada pusty atrybut alt; plik o nazwie Zasob-1.svg

Progresje akordów

Aby wygenerować prawdopodobne przebiegi harmoniczne najpierw przygotujemy sobie modele N-gramowe stopni harmonicznych. W tym celu skorzystamy z modeli n-gramów udostępnionych na githubie (https://github.com/DataStrategist/Musical-chord-progressions).

Nasz przykładzie będzie wykorzystywać 1-, 2-, 3-, 4- i 5-gramy.

W rytmie harmonii poprzednika jest 6 wartości rytmicznych, więc musimy przygotować przebieg 6 stopni harmonicznych. Pierwszy akord generujemy z użyciem unigramów (1-gramów). Przygotowujemy sobie zatem najpierw likelihoody dla każdego możliwego stopnia, a następnie losujemy z uwzględnieniem tych likelihoodów. Wzór na likelihood jest w tym przypadku dość prosty:

likelihoodX=p(X)

gdzie
X oznacza dowolny stopień harmoniczny
p(X) to prawdopodobieństwo 1-gramu X

My w tym przypadku wylosowaliśmy IV stopień (w tej tonacji F-dur).

Drugi akord generujemy z użyciem bigramów oraz unigramów, z wagą większą dla bigramów:

likelihoodX=waga2gramp(X v IV)+waga1gram*p(X)

gdzie:

  • p(X v IV) to prawdopodobieństwo przebiegu (IV, X)
  • wagaNgram to przyjęta waga N-gramu (im większa tym większy wpływ tego modelu n-gramowego, a mniejszy wpływ innych modeli)

Wagi n-gramów możemy przyjąć takie, jakie chcemy. Na potrzeby przykładu wybraliśmy takie:

n-gram12345
waga0.0010.010.115

Kolejny akord jaki wylosowaliśmy to: vi stopień (a-moll).

Generowanie trzeciego akordu przebiega podobnie, z tym że możemy już wykorzystać 3-gramy:

likelihoodX=waga3gramp(X v IV, vi)+waga2gramp(X v IV)+waga1gram*p(X)

I tak kontynuujemy, aż wygenerujemy wszystkie potrzebne akordy. W naszym przypadku wylosowaliśmy:

IV,  vi, I, iii, IV, vi (w przyjętej tonacji C-dur to są kolejno akordy F-dur, a-moll, C-dur, e-moll, F-dur, a-moll)

Nie jest to jakiś bardzo często spotykany przebieg akordów, ale jak się okazuje występuje w 5 popularnych piosenkach (https://www.hooktheory.com/trends#node=4.6.1.3.4.6&key=rel)

Podsumowanie

Udało nam się wygenerować rytmy i akordy, które są składowymi harmonii utworu. Należy tutaj jednak zwrócić jeszcze uwagę, że dla uproszczenia, nie wzięliśmy pod uwagę dwóch ważnych czynników:

  • Przebiegi harmoniczne poprzednika i następnika są bardzo często w jakiś sposób powiązane. Harmonia następnika może być identyczna do tej poprzednika lub ewentualnie lekko zmieniona, aby sprawiać wrażenie, że te dwa zdania są ze sobą w jakiś sposób powiązane.
  • Poprzednik i następnik kończą się prawie zawsze na konkretnych stopniach harmonicznych. Nie jest to ścisła reguła, ale niektóre stopnie harmoniczne są o wiele bardziej prawdopodobne od innych na końcach zdań muzycznych.

Na potrzeby przykładu można jednak uznać zadanie za zakończone. Harmonię utworu mamy już gotową, teraz należy jedynie stworzyć melodię do tej harmonii. W trzeciej części naszego artykułu można dowiedzieć się, jak właśnie taką melodię skomponować.

Nowe rozwiązania w komputerach stacjonarnych

Współczesny rynek technologiczny prężnie rozwija się w zakresie komputerów stacjonarnych. Firmy technologiczne próbują wyróżniać swoje produkty poprzez wprowadzanie do nich innowacyjnych rozwiązań. W ostatnim czasie duży rozgłos zyskał Mac M1 Ultra.

Nowy komputer od Apple, odznacza się przede wszystkim swoją wielkością i mobilnością. Zaprezentowany na początku marca produkt jest pełnoprawnym desktopem zamkniętym w obudowie o wymiarach 197 x 197 x 95 mm. Porównując to do kart graficznych NVIDIA z serii RTX, np. Gigabyte GeForce RTX 3090 Ti 24GB GDDR6X, gdzie samo GPU ma wymiary 331 x 150 x 70 mm, okazuje się, że otrzymujemy cały komputer o rozmiarach karty graficznej. [4]

Apple M1 Ultra  - przedni panel

Rys. 1 – Apple M1 Ultra  – przedni panel [5]

Różnica w budowie

Rdzenie to fizyczne elementy procesora w których zachodzą procesy i obliczenia, im więcej rdzeni tym szybciej pracować będzie komputer. Proces technologiczny wyrażony w nm oznacza wielkość bramki tranzystora i przekłada się na zapotrzebowanie energii oraz ciepło generowane przez procesor. Zatem im mniejsza wartość jest wyrażona w nm, tym wydajniejszy jest procesor.

Procesor M1 Ultra ma 20 rdzeni i tyle samo wątków, a wykonany jest w technologii 5nm. [4][6] Dla porównania AMD oferuje maksymalnie 16 rdzeni i 32 wątki w technologii 7nm [7] (nowe procesory AMD z serii ZEN4 mają mieć technologię 5nm, jednak na  ten moment nie znamy dokładnej specyfikacji [3]) a Intel 16 rdzeni i 32 wątki w technologii 14nm [8]. Wobec powyższego, w teorii produkt od Apple ma znaczną przewagę nad jednostkami z komputerów stacjonarnych w kwestiach wydajności pojedynczego wątku. [Rys. 2]

Wydajność nowego komputera Apple

Według zapewnień producenta, GPU od Apple miało przewyższać najlepszą, na tamten moment, dostępną kartę graficzną – RTX 3090.

Wykres  wydajności procesora od ilości zużytego prądu

Rys. 2 – Wykres  wydajności procesora od ilości zużytego prądu [9] . Wykres pokazany przez Apple podczas prezentacji nowego produktu

Zintegrowana karta graficzna miała zapewniać lepszą wydajność przy zużyciu ponad 200W mniej mocy. [Rys. 3] Po premierze, użytkownicy sprawdzili jednak szybko zapewnienia producenta i okazało się, że RTX znacznie przewyższa w testach benchmarkowych produkt Apple.

Wykres wydajności karty graficznej od ilości zużytego prądu

Rys. 3 – Wykres wydajności karty graficznej od ilości zużytego prądu [9]. Wykres pokazany przez Apple podczas prezentacji nowego produktu. Porównany z RTX 3090

Problemem jest to, że te benchmarki w większości wykorzystują programy niezoptymalizowane pod Mac OS, przez co produkt Apple nie wykorzystuje całości swojej mocy. W testach wykorzystujących całą moc GPU M1 Ultra wypada bardzo podobnie do swojego dedykowanego rywala. Niestety nie wszystkie aplikacje są napisane pod system operacyjny Apple, co mocno ogranicza zastosowania, w których wykorzystamy pełną moc komputera. [10]

Na poniższym wykresie zostało przedstawione porównanie liczby klatek na sekundę w “Shadow of the Tomb Raider” z 2018 roku. [Rys. 4] Im więcej klatek tym płynniejszy jest obraz. [2]

Liczba klatek na sekundę w grze z serii Tomb Raider

Rys. 4 – Liczba klatek na sekundę w grze z serii Tomb Raider (im więcej tym lepiej). [2]

Pobór energii nowego Mac Studio M1 Ultra w porównaniu do standardowych komputerów stacjonarnych

Pomimo dużej mocy obliczeniowej, nowy produkt Apple jest bardzo energooszczędny. Producent podaje, że jego maksymalny ciągły pobór mocy wynosi 370W. Standardowe PC na współczesnych podzespołach nie schodzą poniżej 500W a rekomendowana moc dla sprzętu z najlepszymi częściami wynosi 1000W [Tab. 1] ( Nvidia GeForce RTX 3090 Ti + AMD R7/9 lub Intel i7/9 ).  

 Intel i5
AMD R5
Intel i7
AMD R7
Intel i9 K
AMD R9
NVIDIA RTX 3090 Ti850W1000W1000W
NVIDIA RTX 3090750W850W850W
NVIDIA RTX 3080 Ti750W850W850W
NVIDIA RTX 3080750W850W850W
NVIDIA RTX 3070 Ti750W850W850W
NVIDIA RTX 3070650W750W750W
Lower graphic cards650W650W650W
Tab. 1 – Tabela rekomendowanej mocy zasilacza zależnie od użytego procesora i karty graficznej. W kolumnach procesory AMD i Intel, w wierszach karty graficzne NVIDIA z serii RTX. [1]

Oznacza to znacznie mniejsze koszty utrzymania takiego komputera. Zakładając, że nasz komputer pracuje 8h dziennie i średni koszt kWh na poziomie 0,77 PLN, otrzymujemy oszczędność na poziomie 1500 zł rocznie. W krajach, które nie są zasilane zieloną energią oznacza to również mniejszą ilość zanieczyszczeń.

Problemy produktu od Apple

Produkty od Apple mają dedykowany software, co oznacza lepszą kompatybilność z hardware i przekłada się na lepszą wydajność, ale oznacza też, że dużo programów nie napisanych pod Mac OS nie jest w stanie całkowicie wykorzystać potencjału M1 Ultra. Produkt nie pozwala na korzystanie z dwóch systemów operacyjnych lub samodzielne zainstalowanie Windowsa/Linuxa. Okazuje się więc, że to co pozwala M1 Ultra osiągnąć tak dobre wyniki w niektórych warunkach, jest też powodem przez który nie jest w stanie konkurować wydajnością w innych programach dla komputerów stacjonarnych. [10]

Podsumowanie

Apple M1 Ultra jest silnym komputerem w małej obudowie. Technologia 5nm zapewnia najlepszą energooszczędność wśród produktów aktualnie dostępnych na rynku. Jednak przez swoją niską kompatybilność i wysoką cenę nie zastąpi standardowych komputerów stacjonarnych. Aby uzyskać maksymalną wydajność potrzebne są programy dedykowane pod system operacyjny Apple. Decydując się na ten komputer trzeba to mieć na myśli. Z tego powodu, pomimo wielu zalet jest to raczej produkt przeznaczony dla profesjonalnych grafików, muzyków lub edytorów wideo.

Bibliografia

[1] https://www.msi.com/blog/we-suggest-80-plus-gold-1000w-and-above-psus-for-nvidia-geforce-rtx-3090-Ti

[2] https://nano.komputronik.pl/n/apple-m1-ultra/

[3] https://www.tomshardware.com/news/amd-zen-4-ryzen-7000-release-date-specifications-pricing-benchmarks-all-we-know-specs

[4] https://www.x-kom.pl/p/730594-nettop-mini-pc-apple-mac-studio-m1-ultra-128gb-2tb-mac-os.html

[5] https://dailyweb.pl/apple-prezentuje-kosmicznie-wydajny-mac-studio-z-nowym-procesorem-m1-ultra/

[6] https://geex.x-kom.pl/wiadomosci/apple-m1-ultra-specyfikacja-wydajnosc/

[7] https://www.amd.com/pl/partner/ryzen-5000-series-desktop

[8] https://www.cpu-monkey.com/en/

[9] https://www.apple.com/pl/newsroom/2022/03/apple-unveils-m1-ultra-the-worlds-most-powerful-chip-for-a-personal-computer/

[10] https://youtu.be/kVZKWjlquAU?t=301

Chmury obliczeniowe a środowisko

Termin chmury obliczeniowej trudno jest jednoznacznie zdefiniować. Inne podejście do chmury będą miały przedsiębiorstwa czy osoby prywatne. Zwykle mówimy o chmurze obliczeniowej jako o sieci dostępnych na żądanie zasobów serwerowych – mocy obliczeniowej oraz przestrzeni dyskowej, ale również i oprogramowania – dostarczanych przez zewnętrzne podmioty, czyli tzw. dostawców chmury (ang. cloud provider). Dostarczane zasoby są dostępne przez Internet oraz zarządzane przez dostawcę, eliminując tym samym wymóg kupowania sprzętu oraz bezpośredniego zarządzania fizycznymi serwerami przez firmy. Dodatkowo, chmura jest rozproszona na wiele centrów danych w wielu rejonach świata, dzięki czemu możemy liczyć na mniejszą awaryjność oraz większą dostępność naszych usług [1].

Podstawowe działanie chmury

Zasoby dostępne w chmurze są współdzielone przez wielu klientów, dzięki czemu można lepiej wykorzystać dostępną moc obliczeniową oraz przy odpowiednim użyciu, może okazać się ona korzystniejsza cenowo. Takie podejście do współdzielenia zasobów może budzić pewne obawy, jednak dzięki wykorzystaniu technologii wirtualizacji, chmura zapewnia wyższe bezpieczeństwo niż w klasycznym modelu obliczeniowym. Wirtualizacja pozwala na tworzenie symulowanych komputerów, tzw. maszyn wirtualnych, które zachowują się tak jak ich fizyczne odpowiedniki, jednak znajdują się na jednym serwerze i są od siebie w pełni odizolowane. Współdzielenie zasobów i wirtualizacja pozwalają na efektywne wykorzystanie sprzętu oraz ostatecznie ograniczenie poboru prądu przez serwerownie. Oszczędności finansowe możemy natomiast odczuć ze względu na powszechnie stosowany przez dostawców model biznesowy “pay-as-you-go” polegający na rozliczaniu użytkowników za faktycznie wykorzystane zasoby (np. za minuty czy nawet sekundy wykorzystanego czasu obliczeniowego) w przeciwieństwie do stałego abonamentu. 

Samo określenie “chmury” zapoczątkowało się jako termin slangowy. Często na schematach technicznych infrastrukturę sieciową i serwerową reprezentujemy jako ikonę chmury [2]. Aktualnie “chmura obliczeniowa” jest powszechnie przyjętym określeniem w środowisku IT oraz popularnym modelem obliczeniowym. Przystępność cenowa chmury oraz brak konieczności samodzielnego zarządzania nią, sprawia, że ten model obliczeniowy jest coraz częściej wybierany przez firmy informatyczne, co pozytywnie przekłada się na aspekty środowiskowe [3].

Mniejsze zużycie energii elektrycznej 

Wzrastające zapotrzebowanie na rozwiązania z obszaru IT niesie za sobą równocześnie większe zapotrzebowanie na energię elektryczną – zasób strategiczny z punktu widzenia utrzymania chmury. Utrzymywanie swojej własnej serwerowni w przedsiębiorstwie wiąże się jednak z ogromnymi nakładami energetycznymi, które generuje nie tylko sam sprzęt komputerowy, ale także system do chłodzenia serwerowni. 

Wbrew pozorom większe serwerownie, które przeliczają na raz ogromne ilości danych są bardziej przyjazne środowisku niż lokalne serwerownie w przedsiębiorstwach [4]. Według badań Accenture, przeniesienie własności przedsiębiorstwa do chmury może zredukować zużycie energii nawet o prawie 65%. Jest to wynikiem tego, że największe rozwiązania chmurowe budowane są zazwyczaj w przeznaczonym do tego miejscu, co pozwala na lepszą organizację infrastruktury i zarządzanie zasobami [5]. Dostawcy dużych usług chmurowych mogą z wyprzedzeniem zaplanować system chłodzenia, który będzie dawać najlepsze efekty. Dodatkowo dysponują nowoczesnym, często dużo wydajniejszym prądowo sprzętem niż przeciętna serwerownia. W badaniach przeprowadzonych w 2019 roku, stwierdzono, że chmura AWS była 3,6 razy bardziej efektywna pod względem wykorzystywanej energii niż mediana badanych centrów danych przedsiębiorstw w USA [6].

Co więcej, ze względu na to, że chmura jest środowiskiem współdzielonym, można efektywnie sterować mocą. Skala użytkowników jednej chmury obliczeniowej pozwala na bardziej rozważne rozdysponowanie zużywanej energii pomiędzy poszczególnymi przypadkami. Zrównoważone zarządzanie zasobami umożliwia również nasz produkt Data Engineering, który zbiera i analizuje dane w celu maksymalizacji wydajności i efektywności pracy.

Zmniejszenie emisji szkodliwych substancji

Poprzez budowę centrów przetwarzania danych, które korzystają z ekologicznych źródeł energii oraz opierają się na niskoemisyjnych rozwiązaniach, można chociażby kontrolować emisję dwutlenku węgla i innych gazów mających wpływ na efekt cieplarniany. Zgodnie z danymi z raportu “The Green Behind Cloud” [7] migracje do chmury publicznej mogą zredukować globalną emisję dwutlenku węgla o 59 mln ton rocznie, co jest porównywalne do usunięcia 22 milionów samochodów z drogi.

Warto również zainteresować się migracją do dostawców mających na uwadze swój ślad węglowy. Dla przykładu chmura firmy Google jest w pełni neutralna pod względem emisji dwutlenku węgla wykorzystując energię odnawialną, a od roku 2030 zobowiązuje się do wykorzystywania wyłącznie energii bezemisyjnej przez całą dobę we wszystkich centrach danych [8]. Chmura Azure firmy Microsoft jest neutralna emisyjnie od 2012 roku, a klienci mogą śledzić emisję swoich usług w specjalnie przygotowanym kalkulatorze [9].

Redukcja hałasu związanego z użytkowaniem sprzętu IT 

Hałas klasyfikowany jest jako zanieczyszczenie środowiska. Mimo że na pierwszy rzut oka wydaje się on całkiem niepozorny i nieszkodliwy, ma on negatywny wpływ na zdrowie człowieka i jakość środowiska. W odniesieniu do człowieka, zwiększa on ryzyko chorób takich jak nowotwór, zawał serca czy nadciśnienie. Z kolei z perspektywy środowiskowej ma on wpływ na zmianę zachowania zwierząt, migracji ptaków czy też ich reprodukcję.

Głównym źródłem hałasu w rozwiązaniach przechowywania danych w serwerach w firmie jest specjalny system chłodzenia, który pozwala utrzymać odpowiednią temperaturę w serwerowni. Wykorzystanie rozwiązań chmurowych pozwala zredukować emitowany hałas przez urządzenia chłodzące w miejscach pracy, co w konsekwencji przyczynia się do zmniejszenia zanieczyszczenia środowiska hałasem.

Jeśli chcesz dowiedzieć się więcej o dostępnych rozwiązaniach pozwalających na redukcję hałasu przemysłowego, sprawdź nasz produkt Intelligent Acoustics.

Redukcja poziomu odpadów 

Zastosowanie chmury obliczeniowej w swojej działalności, w przeciwieństwie do posiadania tradycyjnych serwerów w zasobach firmowych, wpływa również na zmniejszenie ilości produkowanych odpadów komputerowych. Wynika to głównie z faktu, iż chmura obliczeniowa nie wymaga zakupu dodatkowego wyposażenia czy też przygotowania infrastruktury do serwerowni w firmie, co w późniejszej perspektywie ogranicza ilość sprzętu do utylizacji.  

Ponadto, stosowane mechanizmy wirtualizacji, polegające na zastępowaniu większej liczby serwerów z małą mocą obliczeniową na mniejsze ilości serwerów, które później skuteczniej wykorzystują ową moc, optymalizują i zwiększają wydajność serwera, a to w rezultacie zmniejsza zapotrzebowanie na zasoby sprzętowe.  

Podsumowanie 

Aktualnie działanie zrównoważone jest ważnym czynnikiem przy wyborze technologii. Ochrona środowiska staje się dla firm, a także producentów urządzeń sieciowych czy telekomunikacyjnych, sprawą priorytetową, co przekłada się na szukanie bardziej ekologicznych rozwiązań. Chmura obliczeniowa zdecydowanie wpisuje się w ten trend. Nie tylko przyczynia się do ograniczenia zużycia zasobów sprzętowych, energetycznych, a także redukuje emisję szkodliwych substancji do ekosystemu czy emitowany hałas do środowiska.  

Bibliografia

[1] https://www.wit.edu.pl/dokumenty/wydawnictwa_naukowe/zeszyty_naukowe_WITZ_06/0006_Joszczuk-Januszewska.pdf 

[2] https://rocznikikae.sgh.waw.pl/p/roczniki_kae_z36_21.pdf 

[3] http://yadda.icm.edu.pl/yadda/element/bwmeta1.element.ekon-element-000171363539  

[4] Paula Bajdor, Damian Dziembek “Środowiskowe i społeczne efekty zastosowania chmury obliczeniowej w przedsiębiorstwach”, 2018 

[5] https://www.accenture.com/_acnmedia/PDF-135/Accenture-Strategy-Green-Behind-Cloud-POV.pdf  

[6] “Reducing carbon by moving to AWS” https://www.aboutamazon.com/news/sustainability/reducing-carbon-by-moving-to-aws

[7] https://www.accenture.com/us-en/insights/strategy/green-behind-cloud

[8] “Operating on 24/7 Carbon-Free Energy by 2030.” https://sustainability.google/progress/energy/

[9] https://www.microsoft.com/en-us/sustainability/emissions-impact-dashboard

ANC – finansowe aspekty

Dzisiejsze realia w coraz większym stopniu angażują ludzi do rozmowy o finansach. Zarówno, jeżeli chodzi o nasze prywatne domowe budżety, jak i o wielkie inwestycje na szczeblu globalnym. Nie sposób nie zauważyć faktu, że dbałość o finanse zaowocowała wypracowaniem nowatorskich metod ich analizy. Począwszy od prostych aplikacji, które pozwalają nam monitorować codzienne wydatki, kończąc na olbrzymich systemach rachunkowo księgowych, które obsługują globalne korporacje. Rozmowy o pieniądzach dotyczą również szeroko pojętych inwestycji. Bardzo często związane są one z wdrożeniami nowoczesnych technologii, które w domyśle mają przynosić jeszcze większe korzyści, z finalnym efektem w postaci większego zysku. W jaki sposób możemy zdefiniować zysk? I czy rzeczywiście jest on najważniejszym czynnikiem w dzisiejszym postrzeganiu biznesu? Jak aktywna redukcja hałasu może wpłynąć na wydajność i zysk?

Co to jest zysk?

Sięgając do literatury czytamy, że „zysk stanowi nadwyżkę przychodów nad kosztami” [1]. Innymi słowy zysk stanowi dodatni wynik finansowy. Potocznie rzecz biorąc jest to stan, w którym więcej sprzedajemy niż wydajemy. I oczywiście jest to zjawisko zdecydowanie pożądane, bowiem w zamyśle firma powinna przynosić zysk. Stanowi on podstawę do kolejnych inwestycji, aby w dalszym ciągu mieć możliwość zaspokajać potrzeby klientów. Mówiąc o zysku możemy wyróżnić kilka jego rodzajów [2]:

  1. Zysk brutto, czyli różnicę pomiędzy przychodami netto ze sprzedaży a kosztami sprzedanych produktów. Dzięki niemu możemy zobaczyć jak jednostka naszego wyrobu przekłada się na wynik finansowy. Ma to szczególne znaczenie dla przedsiębiorstw produkcyjnych, które często poszukują takich usprawnień, które w efekcie pozwolą im na zachowanie efektu skali.
  2. Zysk netto, czyli nadwyżkę, która zostaje po odjęciu wszystkich kosztów. W bilansowym ujęciu jest to różnica między kosztami całkowitymi a przychodem ze sprzedaży. W dzisiejszym świecie bardzo często pojmowany jako czynnik, który świadczy o dobrej kondycji finansowej przedsiębiorstwa.
  3. Zysk operacyjny, czyli specyficzny rodzaj zysku, który skupia się tylko i wyłącznie na wyniku w obszarze podstawowej działalności firmy. Bardzo często odzwierciedlony w rachunku zysków i strat w postaci EBIT-u.

Zysk a wydajność

Wydajność w takim rozumieniu wiąże się z zagwarantowaniem w długim okresie czasu, że praca nie zaszkodzi życiu lub zdrowiu pracowników. Ogólna klasyfikacja Centralnego Instytutu Ochrony Pracy wymienia czynniki takie jak [3]:

  • hałas i drgania mechaniczne,
  • czynniki mechaniczne,
  • czynniki chemiczne i pyły,
  • obciążenia mięśniowo – szkieletowe,
  • stres,
  • oświetlenie,
  • promieniowanie optyczne,
  • prąd elektryczny.

Klasyfikacja wymienia również obciążenia termiczne, pole elektromagnetyczne, czynniki biologiczne oraz zagrożenia wybuchem i pożarem. Najczęstszym jednak problemem jest kwestia hałasu przemysłowego i drgań, których często nawet ludzkie ucho nie jest w stanie wychwycić. Bardzo często w wyniku przebywania w środowisku wiecznie hałaśliwym koncentracja i poziom senności wzrastały. Stąd możemy wywnioskować, że nawet coś tak niepozornego jak hałas i drgania generują dla przedsiębiorcy spore koszty, zwłaszcza jeśli chodzi o koszty jednostkowe (przy masowej produkcji), dlatego istotnym jest podjęcie działań w kierunku redukcji hałasu. Jeśli chcesz dowiedzieć się więcej na temat tego jak walczyć z hałasem zapisz się na szkolenie tutaj.

Jak zapobiec generowaniu kosztów?

Dzisiejsze firmy z branży R&D, inżynierowie i specjaliści wnikliwie badają i usprawniają systemy produkcyjne, oferując im rozwiązania, które eliminują nawet te najtrudniejsze do rozwiązania problemy, dotyczące efektywności pracy człowieka. Świadomość lepszej opieki nad pracownikiem pogłębia się z roku na rok. Stąd też przysłowiowy „boom” na rozwiązania z zakresu sztucznej inteligencji oraz systemów, które będą ułatwiały pracę człowiekowi. Rozwiązania tego typu to jednak spora inwestycja, stąd starania inżynierów finansowych do optymalizacji kosztów takich rozwiązań.

Krok 1 – Zapoznanie się z charakterystyką wydajności systemu produkcyjnego fabryki w ujęciu produkcyjnym oraz ekonomicznym.

Każdy z procesów produkcyjnych ma swoją wydajność i charakterystykę, która w określonym stopniu przekłada się na wyniki produkcji. Aby te procesy były mierzalne, należy wcześniej je za pomocą mierników. Na bazie wiedzy o procesie oraz danych, które określone są przy użyciu wspomnianych mierników warto określić poziom wydajności procesu w dwóch ujęciach, produkcyjnym oraz ekonomicznym. Pierwsze z nich określi poziom wydajności pracy zespołu człowiek – maszyna, drugie natomiast spojrzy na problem wydajności w perspektywie zysków lub strat. Bardzo często na tym etapie wyłapywane są tzw. wąskie gardła produkcji, które stanowią o wydajności danego procesu. Warto w tym momencie sporządzić raporty, dotyczące stanu wydajności produkcji.

Krok 2 – Określenie założeń techniczno – ekonomicznych

Podstawą do określenia założeń będzie raport z charakterystyki wydajności procesu. Dzięki niemu będziemy w stanie określić najmniej i najbardziej wydajny proces. Określenie założeń ma na celu sporządzenie aktualnych celów dla zarządzających konkretnymi procesami. W obszarze technicznym założenia dotyczą najczęściej optymalizacji produkcji w wąskich gardłach, natomiast w obszarze ekonomicznym swoją uwagę warto skupić na optymalizacji kosztowej, wynikającej z prowadzonych rachunków kosztów w ramach rachunkowości zarządczej. Założenia techniczno-ekonomiczne są podstawą do wdrożenia innowacyjnych rozwiązań, dają bowiem zielone światło dla zmian, które należy przeprowadzić, aby proces był rentowny.

Krok 3 – Prognozy wartości dochodów i nakładów inwestycyjnych a aktywna redukcja hałasu

Następnie przystępujemy do badania prognostycznego. Ma ono na celu zbadać jaki rozkład w czasie będą miały dochody oraz nakłady inwestycyjne, poniesione zarówno na wdrożenie i późniejsze działanie systemu w warunkach przemysłowych.

Nakład z aktywnej redukcji hałasu jest wyższy na przestrzeni lat od zwykłego nakładu
Rys. 1 Prognozowane nakłady na lata 2017-2027
Dochód z aktywnej redukcji hałasu utrzymuje się na podobnym poziomie, a dochód bez anc jest niestabilny
Rys. 2 Prognozowany dochód na lata 2017-2027

Wdrożenie systemu aktywnej redukcji hałasu jest w stanie, z punktu widzenia ekonomicznego, uspokoić wahania dochodów w czasie.  Trend na podstawie analizy poprzednich okresów wyraźnie pokazuje cykliczność i tendencję liniową do zarówno wzrostów jak i spadków. Stabilizacja koreluje z wdrożeniem opisywanego systemu. Może się to wiązać ze stałym dodatkowym wzrostem mocy produkcyjnych związanych z implementacją systemu do procesu produkcyjnego. Stąd też wniosek, że poprawa wydajności produkcyjnej przynosi w rezultacie stabilizację dochodów w czasie. Z drugiej strony poziom nakładów jest wyższy w przypadku wdrożenia systemu. Mimo tego faktu poziom ten ma tendencje spadkowe z roku na rok.

Na podstawie tych danych jesteśmy w stanie obliczyć podstawowe mierniki opłacalności inwestycji. W tym momencie również przeprowadzamy obliczenia wprowadzające, mające na celu sprowadzenie dochodów oraz nakładów do jednego momentu w czasie. Zabieg ten pozwoli na obliczenia stopy dyskonta oraz pozwoli zaprognozować przyszłe okresy inwestycji [1].

Krok 4 – Ocena efektywności inwestycji metodami statycznymi

Mierniki opłacalności inwestycji liczymy, chcąc sprawdzić, czy to, w co chcemy włożyć nasz kapitał, przyniesie nam odpowiednie i satysfakcjonujące zyski. Inwestowanie w takie rozwiązania jest konieczne, przy znaczącej konkurencji. Oczywiście podejmowane decyzje mogą przechylić szalę w dwojaki sposób. Zwiększenie zysków, obniżenie kosztów czy też mocniejsza pozycja na rynku to jedne, z wielu pozytywnych aspektów inwestowania. Istnieje też druga strona medalu. Złe decyzje, opierane najczęściej na nieprzygotowanych analizach, lub nawet braku takich analiz, wiążą się niejednokrotnie z utraconymi zyskami, często ponosimy koszty alternatywne. Jeszcze częściej nieprzemyślane ruchy inwestycyjne powodują obniżanie się wartości firmy. W ujęciu statycznym mówimy o następujących wskaźnikach:

  • Roczna stopa zwrotu,
  • Księgowa stopa zwrotu,
  • Prosty okres zwrotu.

W omawianym przypadku, czyli wdrożeniu systemu aktywnej redukcji hałasu, mówimy o rocznej oraz księgowej stopie zwrotu na poziomie ok. 200% wartości. Okres zwrotu oscyluje na poziomie niecałego roku. Jest to związane z dużą dysproporcją pomiędzy nakładami poniesionymi na wdrożenie systemu, a korzyściami jego implementacji. Jednak aby mieć stuprocentową pewność wdrożenia, należy policzyć jeszcze przede wszystkim zaktualizowaną wartość netto (NPV) oraz wewnętrzną stopę zwrotu (IRR). Określą one wydajność inwestycji na przestrzeni kolejnych badanych okresów.

Krok 5 – Ocena efektywności metodami dynamicznymi

W tej części należy zastanowić się jak efektywna jest inwestycja i jaki przez to ma wpływ na jej wartość przyszłą. Dlatego obliczone zostaną wskaźniki takie jak:

  • Zaktualizowana wartość netto (NPV),
  • Zdyskontowana stopa zysku (NPVR),
  • Wewnętrzna stopa zwrotu (IRR),

Realizując politykę wprowadzania innowacyjności w spółkach przemysłowych firmy stoją przed wyzwaniem maksymalizacji wskaźników efektywności. Widząc zatem korelację pomiędzy możliwościami zastosowania metod aktywnej redukcji hałasu, które poprawiają jakość warunków pracy – wpływając na realizację zadań przez pracowników, można stwierdzić, że poprawa wydajności pracy odbija się na wynikach finansowych co ma bezpośredni wpływ na ocenę efektywności realizacji takiego projektu. Mimo wysokich nakładów początkowych korzyści mają charakter długoterminowy, wpływając na poprawę stabilizacji produkcji.

Czy warto prowadzić wstępne kalkulacje zyskowności inwestycji?

Odpowiedź jest krótka, warto. Pomagają one w procesach decyzyjnych. Stanowią dla decydentów pierwsze przetarcie, wstępną selekcję inwestycji opłacalnych oraz nieopłacalnych. W tym momencie zarząd jest w stanie ustalić prognozowaną zyskowność, którą są w stanie kreować już na pułapie operacyjnym działalności. Reagując na ubytki wydajności szefowie są w stanie wychwycić uciekające źródła dochodów oraz wcześniej zareagować na potencjalne nowinki technologiczne. Wstępna ocena opłacalności jest pomocnym narzędziem w podejmowaniu trafnych i obiektywnych decyzji.

Bibliografia

[1] D.Begg, G.Vernasca, S.Fischer „Mikroekonomia” PWE Warszawa 2011
[2] mfiles.pl/pl/index.php/Zysk

[3] Felis P., 2005: Metody i procedury oceny efektywności inwestycji rzeczowych przedsiębiorstw. Wydawnictwo Wyższej Szkoły Ekonomiczno-Informatycznej. Warszawa.

Cyfrowe przetwarzanie obrazów

Przetwarzanie sygnałów towarzyszy każdemu człowiekowi codziennie. Wszystkie bodźce (sygnały) odbierane z otaczającego nas świata, tj. dźwięk, światło, temperatura są przetwarzane w impulsy elektryczne, przesyłane następnie do mózgu. Tam następuje analiza i interpretacja odebranych sygnałów, w wyniku której otrzymujemy informacje płynące z danego rodzaju sygnału (np. rozpoznajemy kształt przedmiotu, odczuwamy ciepło itp.).

W podobny sposób działa Cyfrowe Przetwarzanie Sygnałów (CPS). W tym przypadku sygnał analogowy konwertuje się na sygnał cyfrowy przez przetwornik analogowo-cyfrowy. Następnie przy użyciu komputera przetwarzane są dostarczone sygnały. W systemach CPS wykorzystuje się również komputerowe urządzenia peryferyjne, wyposażone w procesory sygnałowe, dzięki którym możliwe jest przetwarzanie sygnałów w czasie rzeczywistym. Niekiedy potrzebna jest ponowna konwersja sygnału do postaci analogowej (np. do sterowania jakiegoś urządzenia). W tym celu wykorzystuje się przetworniki cyfrowo-analogowe.

Cyfrowe przetwarzanie sygnałów ma bardzo szerokie zastosowanie. Może być wykorzystywane m.in. do przetwarzania dźwięku, rozpoznawania i przetwarzania mowy, czy do przetwarzania obrazów. To ostatnie zagadnienie będzie przedmiotem tego artykułu, a konkretnie omówimy w nim podstawową operację wykonywaną w procesie cyfrowego przetwarzania obrazów, tj. filtrację splotową.

Czym jest przetwarzanie obrazów?

Mówiąc w najprostszy sposób, przetwarzanie obrazów polega na przekształceniu obrazu wejściowego w obraz wyjściowy. Celem tego procesu jest selekcja informacji – wybranie najistotniejszych (np. kształtu) oraz wyeliminowanie zbędnych (np. szumów). Proces cyfrowego przetwarzania obrazów obejmuje szereg różnorodnych operacji, m.in.:

  • filtrację,
  • binaryzację,
  • segmentację,
  • transformację geometryczną,
  • kodowanie,
  • kompresję.

Jak już wspominaliśmy, w tym artykule omówimy szerzej operację filtracji obrazów.

Filtracja splotowa

Zarówno w domenie jednowymiarowej, przykładowo dla sygnałów audio, tak również dla dwóch wymiarów istnieją odpowiednie narzędzia służące przeprowadzeniu operacji na sygnałach, w tym przypadku na obrazach. Jednym z takich narzędzi jest filtracja. Polega ona na wykonaniu na pikselach obrazu wejściowego pewnych operacji matematycznych, w wyniku których otrzymywany jest nowy obraz. Najczęściej filtrację wykorzystuje się w celu poprawy jakości obrazu lub wydobycia z niego istotnych cech.

Podstawową operacją w metodzie filtracji jest operacja splotu 2D. Pozwala ona na aplikowanie przekształceń obrazu z użyciem odpowiednio przygotowanych do tego filtrów w postaci macierzy współczynników. Wykorzystanie filtrów polega na obliczeniu nowej wartości punktu na podstawie wartości punktów znajdujących się w jego otoczeniu. Do obliczeń wykorzystuje się tzw. maski, zawierające wagi pikseli z otoczenia danego piksela. Najczęściej spotykane rozmiary masek to 3×3, 5×5 i 7×7. Poniżej przybliżono proces przeprowadzenia konwolucji obrazu oraz filtra.

Przyjmując, że obraz reprezentowany jest przez macierz o wymiarach 5×5, zawierającą wartości kolorów, a filtr reprezentowany macierzą 3×3, przeprowadzono modyfikację obrazu poprzez splecenie jednej z nich z drugą.

Pierwsze, co należy wykonać to zamiana wierszy, a następnie kolumn w macierzy filtra (wiersz/kolumna pierwsza → wiersz/kolumna ostatnia – i na odwrót). Należy również przyjąć, że środek jądra filtracji h(0,0) znajduje się w środku macierzy, tak jak to pokazano na poniższym rysunku. W związku z taką konwencją indeksy (m,n) oznaczające wiersze i kolumny macierzy filtra będą ujemne i dodatnie.

Przetwarzanie obrazów - schemat filtracji obrazu
Rys. 1 Schemat filtracji obrazu

Uznając macierz filtra (kolor niebieski) za odwróconą w pionie i poziomie, możemy przeprowadzić operację filtracji. Dokonujemy tego umieszczając element h(0,0) → h(m,n) macierzy niebieskiej w elemencie s(-2,-2) → s(i,j) macierzy obrazu (kolor żółty). Następnie wymnażamy nachodzące na siebie wartości obu macierzy i sumujemy. W ten sposób otrzymaliśmy wynik splotu dla komórki o(-2,2) obrazu wyjściowego.

Kolejne etapy procesu są analogiczne, przesuwamy środek macierzy niebieskiej do elementu s(-2,-1), wymnażamy nachodzące na siebie wartości, sumujemy, otrzymując wynik wyjściowy. Pola, które wykraczają poza obszar macierzy s(i,j) uznajemy za niezdefiniowane, w związku z tym wartości w tych miejscach nie istnieją, a więc nie dokonujemy mnożenia.

Zastosowanie filtracji splotowej

W zależności od rodzaju filtra wyróżnia się różne zastosowania filtracji splotowej. Filtry dolnoprzepustowe wykorzystywane są do usuwania szumów w obrazach, natomiast filtry górnoprzepustowe stosowane są do wyostrzania lub podkreślenia krawędzi.

W celu zobrazowania działania poszczególnych rodzajów filtrów spróbujmy zastosować praktyczny przypadek konwolucji na rzeczywistym obrazie. Poniższy obraz w formacie „.jpg” został wczytany jako macierz MxNx3 pikseli. Na jego przykładzie pokażemy podstawowe efekty możliwe do uzyskania, dzięki zastosowaniu filtracji splotowej.

Oryginalny obraz wejściowy
Rys. 2. Oryginalny obraz wejściowy

Rozmycie Gaussowskie

Aby dokonać rozmycia obrazu należy zastosować funkcję splotu, jak również odpowiednio przygotowany kernel – filtr. Jednym z najczęściej wykorzystywanych do tego filtrów dolnoprzepustowych jest filtr Gaussowski. Pozwala on na zmniejszenie ostrości obrazu, jak również stosuje się go przy redukcji szumu obecnego w obrazie.

W prezentowanym przypadku wykorzystano macierz o wymiarach 29×29, wygenerowaną na podstawie funkcji Gaussowskiej o odchyleniu standardowym równym 5. Rozkład normalny nadaje wagi otaczającym pikselom w procesie konwolucji. Działanie filtra dolnoprzepustowego polega na tłumieniu elementów obrazu charakteryzujących się wysoką częstotliwością i przepuszczaniu tych elementów, których częstotliwość jest mała. W rezultacie następuje redukcja szumów oraz rozmycie obrazu, a otrzymany obraz jest mniej wyraźny niż pierwotny.

Rozmyty obraz wejściowy
Rys. 3 Rozmyty obraz wejściowy

Wyostrzanie

Analogicznie jak przy rozmyciu Gaussowskim można sprawić, że obraz zostanie wyostrzony. W tym celu należy zastosować odpowiedni filtr górnoprzepustowy. Jego działanie polega na przepuszczaniu oraz wzmacnianiu elementów obrazu, które odznaczają się dużą częstotliwością, np. szumów czy krawędzi. Natomiast elementy o małej częstotliwości filtr wytłumia. W wyniku zastosowania filtru następuje wyostrzenie pierwotnego obrazu, co można łatwo zauważyć na przykład w okolicach ramienia.

Wyostrzony obraz wejściowy
Rys. 4 Wyostrzony obraz wejściowy

Detekcja krawędzi

Kolejnym zabiegiem możliwym do przeprowadzenia przy użyciu filtracji splotowej jest detekcja krawędzi. Do przeprowadzenia operacji wykrywania krawędzi wykorzystuje się filtry przesuwania i odejmowania. Ich działanie polega na przesunięciu obrazu i odjęciu obrazu pierwotnego od jego kopii. W wyniku tej operacji następuje detekcja krawędzi.

Detekcja krawędzi
Rys. 5 Detekcja krawędzi

BFirst.Tech a przetwarzanie obrazów

Jako firma posiadamy wykwalifikowaną kadrę, a także doświadczenie w dziedzinie cyfrowego przetwarzania obrazów.

Projektem, do realizacji którego wykorzystano przetwarzanie obrazów, jest platforma Webowa Virdiamed. Została ona stworzona we współpracy z firmą Rehasport Clinic. Platforma polega na rekonstrukcji 3D danych pochodzących z tomografu komputerowego, a także z rezonansu magnetycznego. Umożliwia ona podgląd danych 3D w przeglądarce internetowej. Więcej informacji o naszych projektach znajdziesz tutaj.

Cyfrowe przetwarzanie sygnałów, w tym także przetwarzanie obrazów, jest dziedziną techniki o szerokich możliwościach stosowania, a jej popularność ciągle rośnie. Nieustający postęp technologiczny sprawia, że również ta dziedzina cały czas się rozwija. Wiele technologii stosowanych na co dzień działa w oparciu o przetwarzanie sygnałów, dlatego też pewnym jest, że w przyszłości znaczenie CPS będzie ciągle rosnąć.

Bibliografia

[1] Leonowicz Z.: „Praktyczna realizacja systemów DSP”

[2] http://www.algorytm.org/przetwarzanie-obrazow/filtrowanie-obrazow.html