Uczenie maszynowe: Różnice pomiędzy wersjami

Z Encyklopedia Zarządzania
m (Infobox update)
 
m (cleanup bibliografii i rotten links)
 
(Nie pokazano 52 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
{{infobox4
'''Uczenie maszynowe (ang. machine learning)''' - to nauka o algorytmach komputerowych, które automatycznie doskonalą (uczą) się poprzez własne wyniki.
|list1=
Jest ona postrzegana jako część sztucznej inteligencji. Algorytmy uczenia maszynowego budują [[model]] w oparciu o przykładowe [[dane]], znane jako "dane treningowe" (ang. training data), w celu dokonywania przewidywań lub podejmowania decyzji bez wyraźnego zaprogramowania do tego (ang. "hard coding") (A. Samuel, 1959).
<ul>
Algorytmy uczenia maszynowego są wykorzystywane w wielu różnych zastosowaniach, takich jak np. medycyna czy analiza obrazów cyfrowych, gdzie niewykonalne jest opracowanie standardowych algorytmów do wykonywania potrzebnych zadań.
<li>[[Sztuczna inteligencja]]</li>
<li>[[Daniel Kahneman]]</li>
<li>[[Koncentracja uwagi]]</li>
<li>[[Język wysokiego poziomu]]</li>
<li>[[Algorytm przetwarzania]]</li>
<li>[[Data science]]</li>
<li>[[Ethereum]]</li>
<li>[[Rozszerzona rzeczywistość]]</li>
<li>[[Bioinformatyka]]</li>
</ul>
}}


==TL;DR==
Uczenie maszynowe to nauka o algorytmach komputerowych, które doskonalą się poprzez własne wyniki. Jest wykorzystywane w różnych dziedzinach, takich jak medycyna czy analiza obrazów cyfrowych. Istnieją trzy rodzaje uczenia maszynowego: nadzorowane, nienadzorowane i przez wzmocnienie. Sieci neuronowe są używane do rozwiązywania problemów i modelowania mózgu. Istnieją jednak ograniczenia i wątpliwości związane z uczeniem maszynowym, takie jak brak danych, stronniczość algorytmów i problemy z oceną.


'''Uczenie maszynowe (ang. machine learning)''' - jest nauką łączącą takie dziedziny jak [[informatyka]] i robotyka. Głównym celem uczenia maszynowego jest rozwój [[sztuczna inteligencja|sztucznej inteligencji]] poprzez samodoskonalenie się systemu na podstawie dostarczonych danych (czyli doświadczenia) i zdobywanie wiedzy.
==Historia rozwoju==
==Idea==
Pojęcia "Uczenie Maszynowe" jako pierwszy użył Arthur Samuel w 1959 roku w swojej pracy dotyczącej modeli sztucznej inteligencji w grach komputerowych (w tym wypadku Warcabów) (A. Samuel, 1959).
Uczenie maszynowe to dział nauki rozwijający się niezwykle prężnie ze względu na możliwości, które stwarza jej dynamiczny rozwój. Jest to bowiem proces przebiegający inaczej, niż uczenie się przez człowieka. Przede wszystkim maszyny "uczą się" znacznie szybciej, niż człowiek. Zapamiętują i przetwarzają momentalnie dane, które uzyskają - informację wystarczy dostarczyć maszynie jeden raz. Dla kontrastu człowiek, chcąc przyswoić wiedzę, musi ją zapamiętać. Proces ten może być długotrwały i nie daje gwarancji, że człowiek zapamięta przyswojoną informację na zawsze. (Herbert A. S, 1983, s. 26-27) Zatem w teorii duża część pracy ludzkiej, wymagającej specjalistycznej wiedzy, mogłaby zostać zastąpiona przez sztuczną inteligencję. Nie jest to jednak możliwe w pełni, ponieważ maszyny nie są "kreatywne" - w przeciwieństwie do człowieka nie są w stanie wymyślić czegoś, czego nie zostały nauczone.
Przez kolejne lata była ona rozwijana i kolejnym krokiem milowym była [[praca]] Richarda Duda'y i Petera Harta dotycząca rozpoznawania wzorów (ang. "pattern recognition"). Stworzyli oni model potrafiący rozpoznać 40 różnych znaków (26 liter, 10 cyfr oraz 4 symbole specjalne) (R. Duda, P. Hart, 1973).
<google>t</google>
Współcześnie uczenie maszynowe ma dwa [[cele]], jednym z nich jest klasyfikowanie danych na podstawie opracowanych modeli, drugim z nich jest przewidywanie przyszłych wyników na podstawie tych modeli ("Introduction to AI", 2020).


==Pattern recognition==
==Powiązania z innymi dziedzinami==
Rozpoznawanie wzorców (ang. pattern recognition) jest to identyfikacja cech danego obiektu albo zjawiska, która pozwala na jego klasyfikację. Proces ten jednak może zachodzić tylko na podstawie posiadanych wcześniej na temat obiektu informacji. Termin pattern recognition jest kojarzony z gałęzią nauczania maszynowego, która umożliwia komputerowi zidentyfikować przedstawione mu obrazy. Jest to naśladowanie przez maszyny umiejętności istot żywych, które działają według schematu wykształconego w ciągu setek tysięcy lat ewolucji. Najpierw spostrzegają one konkretne działanie, następnie rozpoznając w nim wzorzec, by w końcu podjąć właściwe działanie na podstawie interpretacji występującej sytuacji. Pattern recognition to technologia, która polega na dosłownym nauczeniu maszyn tej samej umiejętności.
W związku ze swoją złożonością, algorytmy uczenia maszynowego czerpią z wielu dziedzin techniki i informatyki.
Głównym celem pattern recognition jest praca nad systemami, dzięki którym maszyny nauczą się rozróżniania oraz klasyfikowania obiektów. (Beyerer J., Nagel M., Richter M., 2017, s. 12) Dlaczego jednak uczyć maszyn umiejętności, z która świetnie radzą sobie istoty żywe? Badanie wykazało, że u maszyny margines błędu wynosi 7,5%, a u ludzi 3,5%. Jednakże łącząc prace maszyny i człowieka, wskaźnik ten wynosi jedynie 0,5%. (Satell G., 2018) Zatem celem rozwoju rozpoznawania wzorców u maszyn jest zwiększenie efektywności pracy człowieka, który z pomocą technologii jest w stanie popełniać mniej błędów w swojej pracy.
* [[Sztuczna inteligencja]] (ang. AI - Artificial Intelligence) - [[proces]] '''podejmowania abstrakcyjnych decyzji''' na podstawie nauczonego wzorca (modelu).
* Pozyskiwanie danych (ang. [[Data mining]]) - proces '''poszukiwania wzorów''' w grupach danych.
* [[Optymalizacja]] - podczas tworzenia modelu, minimalizuję się tzw. '''funkcję strat''' (ang. loss function), by stworzony [[wzorzec]] był jak najbardziej korzystny i optymalny.
* [[Statystyka]] - Uczenie maszynowe bazuje na '''metodach predykcyjnyc'''h (na podstawie modeli przewiduje zachowanie/wynik), gdzie statystyka bazuje na danych historycznych.


==Google Quick Draw==
<google>n</google>
Firma Google uruchomiła w listopadzie 2016 roku grę ''Quick, Draw!''. Zabawa polega na grze w kalambury. Jednak przełomem w grze jest przeciwnik, z którym mamy się zmierzyć - nie gramy w grę z innym człowiekiem, ale z gigantyczną siecią neuronową, która ma za zadanie odgadywać tworzone przez gracza obrazki. Oto zasady: jedna rozgrywka trwa sześć rund, każda z nich to inny obraz, który gracz musi narysować. Sztuczna inteligencja ma 20 sekund na odgadnięcie, jaki obraz obecnie powstaje. ''Quick, Draw!'' to nic innego, jak system mający za zadanie uczenie maszyny rozpoznawania wzorców. Sztuczna inteligencja uczy się rozpoznawać rysunki na podstawie wcześniej narysowanych przez innych graczy obrazów. Zapamiętuje schematy i obrazy by móc je porównywać z rysunkami tworzonymi w czasie rzeczywistym. Gracz jest w tym przypadku "nauczycielem" - im więcej osób weźmie udział w grze, tym większe będą możliwości rozpoznania obrazu przez komputer. Obecnie, po dwóch latach od uruchomienia gry sztuczna inteligencja potrafi przy pomocy ''pattern recognition'' rozpoznać rysunek niemalże błyskawicznie. (Google, 2018)


==Uczenie maszynowe w popkulturze==
==Rodzaje uczenia maszynowego==
Uczenie maszynowe niegdyś było zagadnieniem z pogranicza science-fiction - autorzy książek i filmów chętnie sięgali po taka tematykę, budując nierzeczywisty i nowoczesny świat w swoich dziełach. Do dziś zresztą sztuczna inteligencja, uczenie maszynowe czy tez rozpoznawanie wzorców to tematy przewijające się niezwykle często w tekstach kultury. Współcześnie jednak jest to zagadnienie bardziej rzeczywiste - fikcja przeplata się z rozwiązaniami, które naprawdę istnieją. Poniżej znajdują się przykłady:
Podejścia do uczenia maszynowego dzieli się na '''trzy rozbudowane kategorie''', w zależności od charakteru dostarczanych informacji lub oczekiwanej informacji zwrotnej dostępnej dla systemu uczącego się (M. Bishop, 2006):
* ''Avengers: Czas Ultrona'' (2015) – film, w którym tytułowy Ultron jest programem, który poprzez uczenie maszynowe doskonali swoją sztuczną inteligencję.  
* Uczenie nadzorowane (ang. Supervised learning) - Komputerowi przedstawiane są przykładowe "wejścia" i ich pożądane "wyjścia", a celem jest stworzenie ogólnej reguły, która odwzorowuje te zależności. Proces taki wygląda następująco:
* ''Black Mirror'' (2011) – serial, w którym każdy odcinek opowiada osobną historię osadzoną w futurystycznej przyszłości. Ze względu na tematykę serialu, kwestia sztucznej inteligencji i uczenia maszynowego pojawia się w nim wielokrotnie. Na szczególną uwagę w tym względzie zasługuje odcinek ''Hated in the Nation''. Pojawiają się w nim miniaturowe drony w kształcie pszczół. Ich zadaniem jest zastąpienie żywych pszczół – drony mają rozpoznawać kwiaty poprzez nauczenie się i przetwarzanie wzorców, czyli ''pattern recognition''. Przykład ten zasługuje na uwagę, ponieważ prace nad takimi dronami są już obecnie prowadzone. (Floreano D., Wood RJ., 2015, s. 3)
# Przed podjęciem jakichkolwiek działań twórca musi zdecydować, jaki '''rodzaj danych''' ma być użyty jako zbiór treningowy. W przypadku analizy pisma odręcznego może to być na przykład pojedynczy znak pisma odręcznego, całe słowo lub zdanie.
# '''Zgromadzenie''' zbioru wszystkich danych które posłużą jako wzór treningowy.
# '''Określenie''' reprezentacji cech wejściowych dla wyuczonej funkcji. Obiekt wejściowy jest przekształcany w wektor cech, które później będą ewaluowane.
# Określenie struktury uczonej funkcji i odpowiadającego jej algorytmu uczenia. Na przykład, twórca może zdecydować się na użycie tzw. '''maszyn wektorów wspierających''' lub '''drzew decyzyjnych'''.
# '''Uruchomienie algorytmu''' na zebranym zbiorze treningowym (uczenie się).
# '''[[Ocena]] dokładności''' wyuczonej funkcji. [[Wydajność]] wynikowej funkcji powinna być mierzona na oddzielnym zbiorze od zbioru treningowego, dlatego aby wykluczyć zapamiętanie modelu (wyuczenie na pamięć).
* Uczenie nienadzorowane (ang. Unsupervised learning) - Algorytmowi uczącemu nie podaje się żadnych zdefiniowanych wskazówek (etykiet), pozostawiając go samemu sobie w celu znalezienia struktury w danych wejściowych. Uczenie nienadzorowane może być celem samym w sobie (odkrywanie ukrytych wzorców w danych) lub środkiem do celu (tzw. uczenie cech). Jedną z głównych metod używanych w uczeniu nienadzorowanym jest tzw. '''[[analiza skupień]]'''. To gałęź uczenia maszynowego grupująca dane, które nie zostały opatrzone etykietami lub sklasyfikowane. Zamiast reagować na [[informacje]] zwrotne, analiza skupień identyfikuje wspólne cechy w danych i reaguje na podstawie obecności lub braku takich cech w każdym nowym fragmencie danych. Takie podejście pomaga '''wykryć anomalie''' w zbiorach danych, które nie pasują do żadnej z grup.
* Uczenie przez [[wzmocnienie]] (ang. Reinforcement learning) - [[Program]] komputerowy wchodzi w interakcję ze zdefiniowanym środowiskiem (np. grą komputerową lub symulatorem), w którym musi wykonać pewien cel (taki jak prowadzenie pojazdu lub gra przeciwko przeciwnikowi). Poruszając się w przestrzeni problemowej, program otrzymuje informacje zwrotne analogiczne do nagród, które stara się maksymalizować. Uczenie przez wzmocnienie różni się od uczenia nadzorowanego tym, że nie wymaga prezentowania etykietowanych par wejście/wyjście oraz wyraźnego korygowania nieoptymalnych działań. Zamiast tego kładzie nacisk na znalezienie równowagi pomiędzy '''eksploracją''' nowego środowiska, czy też bazy danych, a '''eksploatacją''' aktualnego stanu wiedzy ('''"poziomu wyuczenia"''').
 
==Sieci neuronowe (ang. neural networks) i modele wynikowe==
Sztuczne [[sieci neuronowe]] (ang. ANN, Artificial Neural Networks) są '''systemami obliczeniowymi''' inspirowanymi biologicznymi sieciami neuronowymi, które tworzą mózgi zwierząt i człowieka.
Takie systemy "uczą się" wykonywać zadania poprzez rozważanie przykładów, zazwyczaj bez programowania jakichkolwiek reguł specyficznych dla danego zadania.
'''ANN''' to model oparty na zbiorze połączonych jednostek lub węzłów zwanych '''"sztucznymi neuronami"''', które modelują neurony w biologicznym mózgu. Każde połączenie, podobnie jak synapsy w mózgu biologicznym, może przekazywać informacje, "sygnał", z jednego sztucznego neuronu do drugiego.
Sztuczny neuron, który otrzymuje sygnał, może go przetworzyć, a następnie wysłać sygnał do innych sztucznych neuronów z nim połączonych.
 
W powszechnych implementacjach ANN, sygnał na połączeniu między sztucznymi neuronami jest liczbą rzeczywistą, a wyjście każdego sztucznego neuronu jest obliczane przez pewną '''nieliniową funkcję sumy jego wejść'''.
Połączenia pomiędzy sztucznymi neuronami nazywane są "krawędziami" (ang. edges). Sztuczne neurony i krawędzie mają zazwyczaj wagę, która dostosowuje się w miarę postępu uczenia.
'''Waga''' zwiększa lub zmniejsza siłę sygnału na danym połączeniu. Sztuczne neurony mogą mieć [[próg]], dzięki któremu sygnał jest wysyłany tylko wtedy, gdy łączny sygnał przekroczy ten próg.
Zazwyczaj sztuczne neurony są agregowane w warstwy. Różne warstwy mogą wykonywać różne rodzaje przekształceń na swoich wejściach.
Sygnały wędrują od pierwszej warstwy (warstwa wejściowa) do ostatniej (warstwa wyjściowa), będąca równocześnie wynikiem predykcji.
 
Pierwotnym celem podejścia ANN było rozwiązywanie problemów w taki sam sposób, w jaki robiłby to '''ludzki mózg'''. Jednak z czasem uwaga przesunęła się na wykonywanie konkretnych zadań, co doprowadziło do odstępstw od biologii. W naturze nie występuję mózg wyspecjalizowany do rozpoznawania obrazów, lecz jest to część bardziej złożonego i szerzej wykształconego organu.
[[Sztuczne sieci neuronowe]] zostały wykorzystane do różnych zadań, w tym '''widzenia komputerowego''', '''rozpoznawania mowy, tłumaczenia maszynowego, filtrowania sieci społecznościowych, grania w gry planszowe i wideo oraz diagnostyki medycznej.'''
Ważnym pojęciem jest tzw. '''Głębokie uczenie (ang. Deep learning)''', które polega na zastosowaniu wielu ukrytych warstw w sztucznej sieci neuronowej. Podejście to modeluje sposób, w jaki na przykład ludzki mózg przetwarza światło i dźwięk. Niektóre udane zastosowania głębokiego uczenia się to [[wizja]] komputerowa i rozpoznawanie mowy (L. Honglak, 2009).
 
==Ograniczenia i wątpliwości==
Chociaż uczenie maszynowe miało ogromne znaczenie w niektórych dziedzinach, programy często nie przynoszą oczekiwanych rezultatów ([[Bloomberg]], 2006).
Przyczyn tego jest mnóstwo ("9 Reasons why your machine learning project will fail", 2005):
# brak odpowiednich danych,
# brak dostępu do danych,
# stronniczość danych,
# problemy dotyczące prywatności,
# źle dobrane zadania i algorytmy,
# brak zasobów i problemy z oceną.
Przykładami tego może być [[wypadek]] w 2018 r. gdy autonomiczny samochód firmy Uber '''nie wykrył''' pieszego, który zginął po kolizji (Wyborcza, 2018), oraz próby wykorzystania uczenia maszynowego w opiece zdrowotnej z systemem IBM Watson nie przyniosły rezultatów nawet po latach i miliardach zainwestowanych dolarów ("IBM’s Watson supercomputer recommended ‘unsafe and incorrect’ cancer treatments (...)", 2018).
 
Kolejnym problemem jest tzw. '''stronniczość algorytmów''' (ang. Bias). W przypadku szkolenia na danych stworzonych przez człowieka, uczenie maszynowe prawdopodobnie przejmie konstytucyjne i nieświadome uprzedzenia już obecne w społeczeństwie (M. Garcia, 2016).
Wykazano również, iż [[modele]] językowe uczone na podstawie danych zawierają uprzedzenia podobne do ludzkich (A. Caliskan, 2017).
 
{{infobox5|list1={{i5link|a=[[Sztuczna inteligencja]]}} &mdash; {{i5link|a=[[Data science]]}} &mdash; {{i5link|a=[[Algorytm przetwarzania]]}} &mdash; {{i5link|a=[[SQL]]}} &mdash; {{i5link|a=[[Drzewo decyzyjne]]}} &mdash; {{i5link|a=[[System ekspercki]]}} &mdash; {{i5link|a=[[Fuzzy logic]]}} &mdash; {{i5link|a=[[UML]]}} &mdash; {{i5link|a=[[Wzorce projektowe]]}} }}


==Bibliografia==
==Bibliografia==
<noautolinks>
* Beyerer J., Nagel M., Richter M. (2017), ''Pattern Recognition'', Karlsruhe, De Gruyter Oldenbourg
* Beyerer J., Nagel M., Richter M. (2017), ''Pattern Recognition'', Karlsruhe, De Gruyter Oldenbourg
* Floreano D., Wood RJ. (2015), [https://infoscience.epfl.ch/record/208757/files/nature14542.pdf ''Science, technology and the future of small autonomous drones''], Nature 521, 460-466
* Bishop C. (2006), ''Pattern Recognition and Machine Learning'', Springer
* Michalski R. S., Carbonell J. G., Mitchell T. M. (1983), ''Machine Learning: An Artificial Intelligence Approach'', Springer-Verlag, Berlin
* Bloomberg (2016), ''Why Machine Learning Models Often Fail to Learn: QuickTake Q&A''
* [https://experiments.withgoogle.com/quick-draw Oficjalna strona internetowa eksperymentu Google ''Quick, Draw!'' ]
* Caliskan A., Bryson J., Narayanan A. (2017), ''Semantics derived automatically from language corpora contain human-like biases'', Science, 356
* [https://quickdraw.withgoogle.com/# Oficjalna strona internetowa gry Google ''Quick, Draw!'' ]
* Duda R., Hart P. (1973), ''Pattern Recognition and Scene Analysis'', Wiley Interscience
* Satell G., (2018), [https://hbr.org/2018/07/how-to-make-an-ai-project-more-likely-to-succeed ''How to make an AI project more likely to succeed''], Harvard Business Review
* Floreano D., Wood R. (2015), ''[https://infoscience.epfl.ch/record/208757/files/nature14542.pdf Science, technology and the future of small autonomous drones]'', Nature 521
{{a|Daniela Wawrzyniak}}
* Garcia M. (2016), ''Racist in the Machine'', World Policy Journal, 33 (4)
[[Kategoria:Informatyka]]
* Honglak L., Roger G., Rajesh R., Ng A. (2009), ''Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations'', Proceedings of the 26th Annual International Conference on Machine Learning
* Michalski R., Carbonell J., Mitchell T. (1983), ''Machine Learning: An Artificial Intelligence Approach'', Springer-Verlag
* Samuel A. (1959), ''Some Studies in Machine Learning Using the Game of Checkers'', IBM Journal of Research and Development, 3 (3)
* Satell G. (2018), ''[https://hbr.org/2018/07/how-to-make-an-ai-project-more-likely-to-succeed How to make an AI project more likely to succeed]'', Harvard Business Review
* Strona internetowa: ''[https://www.kdnuggets.com/2018/07/why-machine-learning-project-fail.html 9 Reasons why your machine learning project will fail]'', kdnuggets.com
* Strona internetowa: ''[https://www.statnews.com/2018/07/25/ibm-watson-recommended-unsafe-incorrect-treatments/ IBM’s Watson supercomputer recommended ‘unsafe and incorrect’ cancer treatments, internal documents show]'', Statnews
* Strona internetowa: ''[https://wyborcza.pl/7,75399,23162966,pierwsza-smierc-spowodowana-przez-samosterujacy-samochod-uber.html Pierwsza śmierć spowodowana przez bezzałogowy samochód. Uber zawiesza testy w USA]'' (2018), Wyborcza
</noautolinks>
 
[[Kategoria:Przemysł 4.0]]
{{a|Wojciech Syrnicki}}
 
{{#metamaster:description|Uczenie maszynowe - nauka o algorytmach komputerowych, które automatycznie uczą się na podstawie danych treningowych. Wykorzystywane m.in. w medycynie i analizie obrazów.}}

Aktualna wersja na dzień 11:38, 16 sty 2024

Uczenie maszynowe (ang. machine learning) - to nauka o algorytmach komputerowych, które automatycznie doskonalą (uczą) się poprzez własne wyniki. Jest ona postrzegana jako część sztucznej inteligencji. Algorytmy uczenia maszynowego budują model w oparciu o przykładowe dane, znane jako "dane treningowe" (ang. training data), w celu dokonywania przewidywań lub podejmowania decyzji bez wyraźnego zaprogramowania do tego (ang. "hard coding") (A. Samuel, 1959). Algorytmy uczenia maszynowego są wykorzystywane w wielu różnych zastosowaniach, takich jak np. medycyna czy analiza obrazów cyfrowych, gdzie niewykonalne jest opracowanie standardowych algorytmów do wykonywania potrzebnych zadań.

TL;DR

Uczenie maszynowe to nauka o algorytmach komputerowych, które doskonalą się poprzez własne wyniki. Jest wykorzystywane w różnych dziedzinach, takich jak medycyna czy analiza obrazów cyfrowych. Istnieją trzy rodzaje uczenia maszynowego: nadzorowane, nienadzorowane i przez wzmocnienie. Sieci neuronowe są używane do rozwiązywania problemów i modelowania mózgu. Istnieją jednak ograniczenia i wątpliwości związane z uczeniem maszynowym, takie jak brak danych, stronniczość algorytmów i problemy z oceną.

Historia rozwoju

Pojęcia "Uczenie Maszynowe" jako pierwszy użył Arthur Samuel w 1959 roku w swojej pracy dotyczącej modeli sztucznej inteligencji w grach komputerowych (w tym wypadku Warcabów) (A. Samuel, 1959). Przez kolejne lata była ona rozwijana i kolejnym krokiem milowym była praca Richarda Duda'y i Petera Harta dotycząca rozpoznawania wzorów (ang. "pattern recognition"). Stworzyli oni model potrafiący rozpoznać 40 różnych znaków (26 liter, 10 cyfr oraz 4 symbole specjalne) (R. Duda, P. Hart, 1973). Współcześnie uczenie maszynowe ma dwa cele, jednym z nich jest klasyfikowanie danych na podstawie opracowanych modeli, drugim z nich jest przewidywanie przyszłych wyników na podstawie tych modeli ("Introduction to AI", 2020).

Powiązania z innymi dziedzinami

W związku ze swoją złożonością, algorytmy uczenia maszynowego czerpią z wielu dziedzin techniki i informatyki.

  • Sztuczna inteligencja (ang. AI - Artificial Intelligence) - proces podejmowania abstrakcyjnych decyzji na podstawie nauczonego wzorca (modelu).
  • Pozyskiwanie danych (ang. Data mining) - proces poszukiwania wzorów w grupach danych.
  • Optymalizacja - podczas tworzenia modelu, minimalizuję się tzw. funkcję strat (ang. loss function), by stworzony wzorzec był jak najbardziej korzystny i optymalny.
  • Statystyka - Uczenie maszynowe bazuje na metodach predykcyjnych (na podstawie modeli przewiduje zachowanie/wynik), gdzie statystyka bazuje na danych historycznych.

Rodzaje uczenia maszynowego

Podejścia do uczenia maszynowego dzieli się na trzy rozbudowane kategorie, w zależności od charakteru dostarczanych informacji lub oczekiwanej informacji zwrotnej dostępnej dla systemu uczącego się (M. Bishop, 2006):

  • Uczenie nadzorowane (ang. Supervised learning) - Komputerowi przedstawiane są przykładowe "wejścia" i ich pożądane "wyjścia", a celem jest stworzenie ogólnej reguły, która odwzorowuje te zależności. Proces taki wygląda następująco:
  1. Przed podjęciem jakichkolwiek działań twórca musi zdecydować, jaki rodzaj danych ma być użyty jako zbiór treningowy. W przypadku analizy pisma odręcznego może to być na przykład pojedynczy znak pisma odręcznego, całe słowo lub zdanie.
  2. Zgromadzenie zbioru wszystkich danych które posłużą jako wzór treningowy.
  3. Określenie reprezentacji cech wejściowych dla wyuczonej funkcji. Obiekt wejściowy jest przekształcany w wektor cech, które później będą ewaluowane.
  4. Określenie struktury uczonej funkcji i odpowiadającego jej algorytmu uczenia. Na przykład, twórca może zdecydować się na użycie tzw. maszyn wektorów wspierających lub drzew decyzyjnych.
  5. Uruchomienie algorytmu na zebranym zbiorze treningowym (uczenie się).
  6. Ocena dokładności wyuczonej funkcji. Wydajność wynikowej funkcji powinna być mierzona na oddzielnym zbiorze od zbioru treningowego, dlatego aby wykluczyć zapamiętanie modelu (wyuczenie na pamięć).
  • Uczenie nienadzorowane (ang. Unsupervised learning) - Algorytmowi uczącemu nie podaje się żadnych zdefiniowanych wskazówek (etykiet), pozostawiając go samemu sobie w celu znalezienia struktury w danych wejściowych. Uczenie nienadzorowane może być celem samym w sobie (odkrywanie ukrytych wzorców w danych) lub środkiem do celu (tzw. uczenie cech). Jedną z głównych metod używanych w uczeniu nienadzorowanym jest tzw. analiza skupień. To gałęź uczenia maszynowego grupująca dane, które nie zostały opatrzone etykietami lub sklasyfikowane. Zamiast reagować na informacje zwrotne, analiza skupień identyfikuje wspólne cechy w danych i reaguje na podstawie obecności lub braku takich cech w każdym nowym fragmencie danych. Takie podejście pomaga wykryć anomalie w zbiorach danych, które nie pasują do żadnej z grup.
  • Uczenie przez wzmocnienie (ang. Reinforcement learning) - Program komputerowy wchodzi w interakcję ze zdefiniowanym środowiskiem (np. grą komputerową lub symulatorem), w którym musi wykonać pewien cel (taki jak prowadzenie pojazdu lub gra przeciwko przeciwnikowi). Poruszając się w przestrzeni problemowej, program otrzymuje informacje zwrotne analogiczne do nagród, które stara się maksymalizować. Uczenie przez wzmocnienie różni się od uczenia nadzorowanego tym, że nie wymaga prezentowania etykietowanych par wejście/wyjście oraz wyraźnego korygowania nieoptymalnych działań. Zamiast tego kładzie nacisk na znalezienie równowagi pomiędzy eksploracją nowego środowiska, czy też bazy danych, a eksploatacją aktualnego stanu wiedzy ("poziomu wyuczenia").

Sieci neuronowe (ang. neural networks) i modele wynikowe

Sztuczne sieci neuronowe (ang. ANN, Artificial Neural Networks) są systemami obliczeniowymi inspirowanymi biologicznymi sieciami neuronowymi, które tworzą mózgi zwierząt i człowieka. Takie systemy "uczą się" wykonywać zadania poprzez rozważanie przykładów, zazwyczaj bez programowania jakichkolwiek reguł specyficznych dla danego zadania. ANN to model oparty na zbiorze połączonych jednostek lub węzłów zwanych "sztucznymi neuronami", które modelują neurony w biologicznym mózgu. Każde połączenie, podobnie jak synapsy w mózgu biologicznym, może przekazywać informacje, "sygnał", z jednego sztucznego neuronu do drugiego. Sztuczny neuron, który otrzymuje sygnał, może go przetworzyć, a następnie wysłać sygnał do innych sztucznych neuronów z nim połączonych.

W powszechnych implementacjach ANN, sygnał na połączeniu między sztucznymi neuronami jest liczbą rzeczywistą, a wyjście każdego sztucznego neuronu jest obliczane przez pewną nieliniową funkcję sumy jego wejść. Połączenia pomiędzy sztucznymi neuronami nazywane są "krawędziami" (ang. edges). Sztuczne neurony i krawędzie mają zazwyczaj wagę, która dostosowuje się w miarę postępu uczenia. Waga zwiększa lub zmniejsza siłę sygnału na danym połączeniu. Sztuczne neurony mogą mieć próg, dzięki któremu sygnał jest wysyłany tylko wtedy, gdy łączny sygnał przekroczy ten próg. Zazwyczaj sztuczne neurony są agregowane w warstwy. Różne warstwy mogą wykonywać różne rodzaje przekształceń na swoich wejściach. Sygnały wędrują od pierwszej warstwy (warstwa wejściowa) do ostatniej (warstwa wyjściowa), będąca równocześnie wynikiem predykcji.

Pierwotnym celem podejścia ANN było rozwiązywanie problemów w taki sam sposób, w jaki robiłby to ludzki mózg. Jednak z czasem uwaga przesunęła się na wykonywanie konkretnych zadań, co doprowadziło do odstępstw od biologii. W naturze nie występuję mózg wyspecjalizowany do rozpoznawania obrazów, lecz jest to część bardziej złożonego i szerzej wykształconego organu. Sztuczne sieci neuronowe zostały wykorzystane do różnych zadań, w tym widzenia komputerowego, rozpoznawania mowy, tłumaczenia maszynowego, filtrowania sieci społecznościowych, grania w gry planszowe i wideo oraz diagnostyki medycznej. Ważnym pojęciem jest tzw. Głębokie uczenie (ang. Deep learning), które polega na zastosowaniu wielu ukrytych warstw w sztucznej sieci neuronowej. Podejście to modeluje sposób, w jaki na przykład ludzki mózg przetwarza światło i dźwięk. Niektóre udane zastosowania głębokiego uczenia się to wizja komputerowa i rozpoznawanie mowy (L. Honglak, 2009).

Ograniczenia i wątpliwości

Chociaż uczenie maszynowe miało ogromne znaczenie w niektórych dziedzinach, programy często nie przynoszą oczekiwanych rezultatów (Bloomberg, 2006). Przyczyn tego jest mnóstwo ("9 Reasons why your machine learning project will fail", 2005):

  1. brak odpowiednich danych,
  2. brak dostępu do danych,
  3. stronniczość danych,
  4. problemy dotyczące prywatności,
  5. źle dobrane zadania i algorytmy,
  6. brak zasobów i problemy z oceną.

Przykładami tego może być wypadek w 2018 r. gdy autonomiczny samochód firmy Uber nie wykrył pieszego, który zginął po kolizji (Wyborcza, 2018), oraz próby wykorzystania uczenia maszynowego w opiece zdrowotnej z systemem IBM Watson nie przyniosły rezultatów nawet po latach i miliardach zainwestowanych dolarów ("IBM’s Watson supercomputer recommended ‘unsafe and incorrect’ cancer treatments (...)", 2018).

Kolejnym problemem jest tzw. stronniczość algorytmów (ang. Bias). W przypadku szkolenia na danych stworzonych przez człowieka, uczenie maszynowe prawdopodobnie przejmie konstytucyjne i nieświadome uprzedzenia już obecne w społeczeństwie (M. Garcia, 2016). Wykazano również, iż modele językowe uczone na podstawie danych zawierają uprzedzenia podobne do ludzkich (A. Caliskan, 2017).


Uczenie maszynoweartykuły polecane
Sztuczna inteligencjaData scienceAlgorytm przetwarzaniaSQLDrzewo decyzyjneSystem eksperckiFuzzy logicUMLWzorce projektowe

Bibliografia

Autor: Wojciech Syrnicki