Procesory
Artykuł
Krzysztof Wolk, Środa, 9 maja 2018, 18:00

Czy słyszałeś kiedyś ludzi rozmawiających o uczeniu maszynowym lub widziałeś reklamę jeszcze jednego inteligentnego urządzenia (takiego, jak: iPhone X, Huawei P20, Mate 10, LG ThinQ, telewizory LG), ale masz tylko blade pojęcie o znaczeniu tego terminu i się zastanawiasz, jak coś, co dopiero co wymagało superkomputerów, nagle działa w elektronice użytkowej? Czy męczy Cię potakiwanie głową i udawanie, że wiesz, o co chodzi i co ten termin oznacza? Czas to zmienić!

Uczenie maszynowe opiera się na koncepcji istniejących algorytmów podstawowych, które ukazują ciekawą charakterystykę danego zbioru danych, ale bez konieczności pisania kodu komputerowego specyficznego dla konkretnego zadania. Zamiast pisać kod, dostarczasz dane wejściowe od algorytmu podstawowego i tworzysz swoją własną logikę, która wykorzystuje te dane.

Jako przykładem możemy się posłużyć algorytmem klasyfikacji. Dzieli on dane na różne grupy. Bez zmiany ani jednej linijki kodu ten sam algorytm klasyfikacji może zostać użyty do rozpoznawania ręcznie napisanych cyfr czy przenoszenia wiadomości e-mail do folderu ze spamem lub pozostawiania ich w skrzynce odbiorczej. Wystarczy zapewnić inne dane uczące, a algorytm dostarczy inną logikę grupowania danego zbioru danych.

Algorytmy uczenia maszynowego rozpatrujemy w dwóch kategoriach. To metody nauczania z nadzorem i bez nadzoru. Jest między nimi prosta, ale bardzo istotna różnica.

Nauczanie z nadzorem

Przypuśćmy, że jesteś agentem nieruchomości. Twój biznes rośnie, więc zatrudniasz grupę stażystów do pomocy. Ale masz jeden problem, bo Tobie wystarczy rzucić okiem, i już masz dobre pojęcie o tym, ile dana nieruchomość kosztuje, tymczasem Twoi pomocnicy z powodu braku doświadczenia nie potrafią dokonać trafnej wyceny.

Postanawiasz więc napisać program, który pomoże stażystom w wycenie wartości domów w Twojej okolicy (a Tobie – wyjechać wcześniej na wakacje). W tym programie będziesz brał pod uwagę ceny podobnych nieruchomości oraz takie cechy, jak wielkość budynku i dzielnica, w której się znajduje.

Żeby to zrobić, zbierasz dane przez trzy miesiące: rejestrujesz wszystkie informacje o sprzedaży domów w Twoim mieście. Przy każdej transakcji notujesz liczbę pokoi, metraż, opis dzielnicy i, co najważniejsze, cenę sprzedaży. To są dane uczące do „treningu”/ uczenia maszynowego.

Dane te zostaną użyte do uczenia przewidywania cen innych domów. To nauczanie nazywa się uczeniem z nadzorem. Polega na tym, że znasz odpowiedź końcową, czyli cenę. Program pozwolił Ci na wpisanie znanych danych domów razem z ceną i poznałeś logikę tych wycen przy zebranych danych wejściowych.

Żeby zbudować program, musisz wpisać dane uczące do algorytmu uczenia maszynowego. Algorytm ten próbuje oszacować, jakie operacje matematyczne muszą zostać wykonane, żeby wyniki były poprawne. Przypomina to trochę test matematyczny z wyczyszczonymi symbolami arytmetycznymi w działaniach, do których masz klucz odpowiedzi.

W nauczaniu z nadzorem pozwalasz więc komputerowi odgadnąć te relacje. Kiedy tylko dowiesz się, jakie działania matematyczne były potrzebne do rozwiązania tego specyficznego rodzaju zadań, możesz rozwiązywać podobne!

Nauczanie bez nadzoru

Powróćmy do oryginalnego przykładu z agentem nieruchomości. Pomyślmy, co by było, gdybyś nie znał ceny końcowej każdego sprzedanego domu. Jedyne dane, którymi dysponujesz jako agent, to metraż, położenie itd. Owe algorytmy mogą dokonać naprawdę interesujących operacji. To nazywamy uczeniem maszynowym bez nadzoru.

Przypomina to sytuację, w której ktoś Ci daje zapisane na kartce papieru liczby i mówi: „Nie mam pojęcia, co te liczby oznaczają, ale może ty mi pomożesz zgadnąć, czy jest tutaj jakiś wzorzec albo zbiór danych. Powodzenia!”.

Co możesz zrobić z takimi danymi? Na początku możesz mieć algorytm, który automatycznie rozszyfruje z Twoich danych różne segmenty rynku. Może się dowiesz, że kupujący domy w okolicach miejscowego uniwersytetu wybierają małe budynki o mniejszej liczbie pokoi, a mieszkańcy przedmieść preferują takie z trzema sypialniami o dużym metrażu (czyli co najmniej czteropokojowe)? Znajomość różnych segmentów rynku reprezentowanych przez różnych klientów pomoże ukierunkować Twoje działania marketingowe.

Innym ciekawym wykorzystaniem algorytmu byłoby automatyczne wykrywanie nieruchomości o niezwykłych cechach, które szczególnie odstają od reszty. Być może dowiesz się, że te wyjątkowe domy to ogromne rezydencje. Możesz więc skoncentrować się na nich i wysłać swoich najlepszych pomocników, którzy będą umieli osiągnąć wyższe dochody.

To wspaniale, ale czy przewidywanie ceny sprzedawanego domu naprawdę uważa się za „uczenie”? Człowiek ma mózg, który w zetknięciu z większością sytuacji jest w stanie przystosować się do nich, nawet jeśli nie ma dokładnych instrukcji.

Człowiek, sprzedając nieruchomości, wyrobi w sobie instynktownie przeczucie i będzie miał „nosa” co do odpowiedniej ceny na danym rynku, najlepszej strategii marketingowej, rodzaju klienta, którego taki dom zainteresuje, itd. Celem badań nad sztuczną inteligencją (Artificial Intelligence) jest możliwość replikacji takiego zachowania.

Istniejące algorytmy nauczania maszynowego nie są jeszcze na tyle dobre, żeby zachowywać się tak wielostronnie jak ludzki mózg. Działają dobrze, jeśli skupią się na ograniczonym zadaniu. Czyli w naszym przypadku może zamiast określenia „nauczanie” bardziej trafne będzie „rozwiązywanie równań”, żeby rozwiązać jakieś zadanie oparte na przykładowych danych dostarczonych do systemu.

Niestety, „Maszynowe rozpoznawanie, jakim równaniem rozwiązuje się określone zadanie na podstawie pewnych przykładowych danych i wyników” to raczej niefortunna nazwa, stąd w skrócie określa się to nauczaniem maszynowym czy uczeniem maszynowym.

Ocena artykułu:
Ocen: 13
Zaloguj się, by móc oceniać
Squbii (2018.05.09, 19:58)
Ocena: 17

0%
Poczułem się jak kiedyś na PCLab. Brawo! Więcej takich artykułów, pisanych takim stylem (jak za dawnych lat :) ).
Vendeur (2018.05.09, 20:15)
Ocena: 8

33%
Squbii @ 2018.05.09 19:58  Post: 1142998
Poczułem się jak kiedyś na PCLab. Brawo! Więcej takich artykułów, pisanych takim stylem (jak za dawnych lat :) ).


Racja, bardzo ciekawy artykuł, przynajmniej dla laika, bo raczej śladowo porusza zagadnienie. Ale przynajmniej dziś warto było tu zajrzeć.
bv6t7 (2018.05.09, 20:41)
Ocena: 7

0%
Squbii @ 2018.05.09 19:58  Post: 1142998
Poczułem się jak kiedyś na PCLab. Brawo! Więcej takich artykułów, pisanych takim stylem (jak za dawnych lat :) ).


Chyba tylko trzecia strona jest bez pompowania euforii.
kostek13_88 (2018.05.09, 21:45)
Ocena: 0

0%
a kopie to? :E
Edytowane przez autora (2018.05.09, 21:45)
darkmartin (2018.05.10, 07:55)
Ocena: 5

0%
Przydało by się porównanie do zwykłego komputera PC.
Czy to ma sens gdy pracujesz na komputerze stacjonarnym.
Bo jako akcelerator dla urządzeń mobilnych wygląda dobrze.
HΛЯPΛGŌN (2018.05.10, 09:25)
Ocena: 0

0%
Krótki, ale dobry art 👍
Gatts19 (2018.05.13, 12:19)
Ocena: -3

0%
Przez te 10lat zmieni się na prawdę dużo a najbardziej rozwojowe firmy znajdują się w Korei Południowej.Sztuczna Inteligencja ma w końcu szansę zabłyszczeć także w grach do bardziej zaawansowanych obliczeń gdy samo GPU generuje zbyt mało mocy.
Jak się rozwinie medycyna nawet nie ogarniamy obecnie dostępnymi danymi.
Amerykańskie firmy były do tej pory motorem napędowym zmian ale już to się zaczyna zmieniać ponieważ oni chcą teraz zarabiać i nie koniecznie mieć najbardziej innowacyjny produkt.
Oglądnijcie sobie nad czym pracuje chociażby ta firma z Korei Południowej.Będzie szok jak jednak ich projekt uzyskiwania energii elektrycznej dostanie się do sprzedaży - Infinity SAV Team.
kain (2018.05.13, 15:57)

0%
Oj Gatts nie możesz wierzyć we wszystko co zobaczysz na YouTube. Infinity SAV team to taki wesoły Rosjanin który zbudował perpetum mobile. Oh wait...
Bono[UG] (2018.05.15, 17:31)
Ocena: 0

0%
Ktoś czyta zgłoszenia błędów, czy trzeba jak zwykle pisać komentarz, żeby ktoś się odniósł do sprawy?

2 strona, końcówka 1 akapitu.
podane exaflopy, a dalej w tekście mowa o miliardach operacji matematycznych. exa to 10^18, miliard (giga) to 10^9.
Powiedziałbym, że spora różnica.
Zaloguj się, by móc komentować
Artykuły spokrewnione
Aktualności spokrewnione
Facebook
Ostatnio komentowane