5 przełomowych zastosowań uczenia maszynowego
Opublikowany: 2018-02-27Uczenie maszynowe to najnowsze modne hasło, i całkiem słusznie. To jedna z najciekawszych i najszybciej rozwijających się dziedzin informatyki. Mówiąc prościej, uczenie maszynowe sprawia, że Twoja sztuczna inteligencja jest inteligentna. Większość ludzi uważa wewnętrzne działanie uczenia maszynowego za tajemnicze – ale to dalekie od prawdy. Jeśli dopiero zaczynasz rozumieć uczenie maszynowe, pozwól nam to ułatwić, używając analogii:
Próbujesz wrzucić kulkę papieru do kosza na śmieci. 
Po jednej próbie zrozumiesz, ile siły musisz włożyć. Przy drugiej próbie włożyłeś wymaganą siłę, ale kąt wydaje się być niewłaściwy. Zasadniczo dzieje się tutaj to, że z każdym rzutem uczysz się czegoś i zbliżasz swój wynik do pożądanego rezultatu. Dzieje się tak, ponieważ my, ludzie, jesteśmy z natury zaprogramowani, aby uczyć się i rozwijać na podstawie naszych doświadczeń.
Załóżmy, że zastępujesz się maszyną. Teraz mamy dwie drogi do przodu:
Spis treści
Podejście inne niż uczenie maszynowe
Ogólne podejście, które nie polega na uczeniu maszynowym, polegałoby na zmierzeniu kąta i odległości, a następnie zastosowaniu wzoru do obliczenia wymaganej optymalnej siły. Załóżmy teraz, że dodamy kolejną zmienną – wentylator, który dodaje trochę siły wiatru. Nasz program inny niż ML prawie na pewno zawiedzie z powodu dodanej zmiennej. Jeśli chcemy, żeby to zadziałało, musimy przeprogramować, pamiętając o czynniku wiatru i wzorze.
Podejście do uczenia maszynowego
Teraz, gdybyśmy mieli opracować podejście oparte na uczeniu maszynowym dla tego samego problemu, zaczęłoby to również od standardowej formuły – ale po każdym doświadczeniu zaktualizowałoby/załamałoby formułę. Formuła będzie stale ulepszana przy użyciu większej liczby doświadczeń (znanych jako „punkty danych” w świecie uczenia maszynowego) – doprowadzi to również do poprawy wyniku. Doświadczasz tych rzeczy codziennie w formie swojego kanału informacyjnego na Facebooku, niestandardowych sugestii na YouTube lub innych tego typu rzeczy – rozumiesz.
Różnica między Data Science, Machine Learning i Big Data!
Co to jest uczenie maszynowe?
Powyższa analogia powinna jasno pokazać, że uczenie maszynowe to po prostu wykorzystanie algorytmów i procesów do trenowania systemu, aby był lepszy dzięki doświadczeniu. Jednak na potrzeby definicji technicznej mówi się, że system uczy się na doświadczeniach w odniesieniu do zestawu zadań, jeśli jego wydajność w tych zadaniach poprawia się z czasem i doświadczeniem.
Zasadniczo oznacza to, że w uczeniu maszynowym system poprawia swoją wydajność dzięki doświadczeniu. To właśnie zauważyliśmy w naszej analogii.
Rodzaje uczenia maszynowego
W zależności od opisu problemu możesz użyć jednej z trzech technik do trenowania systemu: 
Nadzorowana nauka
Nadzorowane uczenie maszynowe powinno być stosowane do zestawów danych, w których znana jest etykieta/klasa poszczególnych danych. Wyobraźmy sobie, że chcemy nauczyć nasz system odróżniania wizerunku psa od człowieka. Załóżmy, że mamy kolekcję zdjęć oznaczonych jako ludzie lub pies (oznaczanie odbywa się za pomocą ludzkich adnotatorów, aby zapewnić lepszą jakość danych). Teraz możemy użyć tego zestawu danych i klas danych, aby wytrenować nasz algorytm, aby uczyć się we właściwy sposób. Gdy nasz algorytm nauczy się klasyfikować obrazy, możemy go użyć w różnych zestawach danych - do przewidywania etykiety dowolnego nowego punktu danych.
Sieci neuronowe dla manekinów: kompleksowy przewodnik
Nauka nienadzorowana
Jak można się domyślić po nazwie, nienadzorowane uczenie maszynowe pozbawione jest jakichkolwiek nadrzędnych klas czy etykiet. Po prostu dostarczamy naszemu systemowi dużą ilość danych i charakterystykę każdego elementu danych. Załóżmy na przykład, że w naszym poprzednim przykładzie po prostu wprowadziliśmy do naszego systemu pewną liczbę obrazów (ludzi i psów), nadając każdemu obrazowi charakterystyczną cechę. Oczywiście, cechy ludzi będą podobne i różne od cech psów. Korzystając z tych cech, możemy nauczyć nasz system grupowania danych w dwie kategorie. Nienadzorowana wersja „klasyfikacji” nazywana jest „klastrowaniem”. W klastrowaniu nie mamy żadnych etykiet. Zbiory danych grupujemy na podstawie wspólnych cech.
Nauka wzmacniania
W uczeniu się przez wzmacnianie nie ma klas ani cech, jest tylko punkt końcowy – zaliczenie lub niepowodzenie. Aby lepiej to zrozumieć, rozważmy przykład nauki gry w szachy. Po każdej grze system jest informowany o stanie wygranej/przegranej. W takim przypadku nasz system nie ma każdego ruchu oznaczonego jako „dobry” lub „zły”, a jedynie ma efekt końcowy. Ponieważ nasz algorytm rozgrywa więcej partii podczas treningu, będzie nadawać coraz większe „wagi” (ważność) kombinacji tych ruchów, które skutkowały wygraną.
Sieci neuronowe: zastosowania w świecie rzeczywistym
Przełomowe aplikacje w dziedzinie uczenia maszynowego
Z naszej powyższej dyskusji jasno wynika, że uczenie maszynowe może rzeczywiście rozwiązać wiele problemów, których tradycyjne komputery po prostu nie potrafią. Przyjrzyjmy się niektórym aplikacjom uczenia maszynowego, które zmieniły świat, jaki znamy:


1. Walka ze spamem internetowym
Google używa „głębokiego uczenia” – sieci neuronowej do walki ze spamem zarówno online, jak i offline. Głębokie uczenie wykorzystuje dane od użytkowników i stosuje przetwarzanie w języku naturalnym, aby wnioskować o napotkanych wiadomościach e-mail. Pomaga to nie tylko internautom, ale także firmom SEO, które starają się pomóc legalnym witrynom uzyskać wyższą pozycję za pomocą technik białego kapelusza.
Ucz się online kursu nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
2. Nauka naśladowania
Uczenie się naśladowania jest bardzo podobne do uczenia się przez obserwację – coś, co robimy jako niemowlęta. Jest to szeroko stosowane w robotyce terenowej oraz w branżach takich jak rolnictwo, poszukiwanie, budownictwo, ratownictwo, wojsko i inne. We wszystkich takich sytuacjach ręczne programowanie robotów jest niezwykle trudne. Aby w tym pomóc, wykorzystuje się programowanie przez demonstrację – znane również jako metody współpracy, w połączeniu z uczeniem maszynowym. Spójrz na ten film opublikowany przez stan Arizona , który pokazuje humanoidalnego robota uczącego się chwytać różne przedmioty.
3. Techniki pomocnicze i medyczne
Roboty wspomagające to roboty, które są zdolne do przetwarzania informacji sensorycznych i wykonywania czynności w razie potrzeby. Robot autonomiczny Smart Tissue (STAR) został stworzony przy użyciu tego typu uczenia maszynowego i współpracy w świecie rzeczywistym. STAR wykorzystuje detekcję ML i 3D i może łączyć jelita wieprzowe (używane do testów) lepiej niż jakikolwiek chirurg. Chociaż STAR nie został opracowany w celu zastąpienia chirurgów, oferuje wspólne rozwiązanie dla delikatnych kroków w procedurach medycznych.
Uczenie maszynowe znajduje również zastosowanie w postaci miar predykcyjnych. Tak jak kolega może spojrzeć na receptę lekarza i dowiedzieć się, co mógł przeoczyć, tak sztucznie inteligentny system również może znaleźć brakujące ogniwa w recepcie, jeśli jest odpowiednio przeszkolony. Nie tylko to, ale sztuczna inteligencja może również szukać wzorców, które wskazują na możliwe niewydolność serca. Może to okazać się niezwykle pomocne dla lekarzy, ponieważ mogą oni współpracować z wirtualnym robotem AI, aby lepiej zdiagnozować śmiertelną chorobę serca, zanim uderzy. Dodatkowa para oczu (i inteligencja) może wyrządzić więcej dobrego niż szkody. Dotychczasowe badania obiecują również przyszłe zastosowanie tej technologii.
4. Automatyczne tłumaczenie/rozpoznawanie
Chociaż wygląda to na prostą koncepcję, ML może być również używany do tłumaczenia tekstu (nawet z obrazów) na dowolny język. Korzystanie z sieci neuronowych pomoże w wyodrębnieniu tekstu z obrazu, który można następnie przetłumaczyć na wymagany język przed ponownym umieszczeniem go w obrazie. Poza tym ML jest również używany w każdej aplikacji, która zajmuje się dowolnym rodzajem rozpoznawania – głosem, obrazami, tekstem, co tylko chcesz!

5. Automatyczne granie w gry wideo
Jest to jedna z fajniejszych aplikacji uczenia maszynowego, chociaż może nie mieć tak dużej użyteczności społecznej, jak inne wymienione na liście. Uczenie maszynowe może służyć do trenowania sieci neuronowych w celu analizy pikseli na ekranie i odpowiedniego grania w grę wideo. Jedną z pierwszych prób tego był Deepmind firmy Google.
Idź i wyzwanie dla sztucznej inteligencji ogólnej
Podsumowując…
To powiedziawszy, uczenie maszynowe nie jest rozwiązaniem wszystkich Twoich problemów. Nie potrzebujesz uczenia maszynowego, aby ustalić wiek danej osoby na podstawie jej DOB, ale z pewnością potrzebujesz ML, aby ustalić wiek osoby na podstawie jej preferencji muzycznych. Na przykład przekonasz się, że fani Johnny'ego Casha i The Doors mają w większości 35+, podczas gdy większość fanów Seleny Gomez ma mniej niż 20 lat. Uczenie maszynowe *może* być używane do rozwiązywania wszelkich problemów wokół ciebie, ale czy powinno? Nie całkiem. Nigdy nie używaj uczenia maszynowego jako rozwiązania swoich problemów, nie mając pewności, że naprawdę potrzebujesz swojej maszyny do uczenia się. W przeciwnym razie byłoby to jak zabijanie komarów za pomocą karabinów maszynowych – mogą zginąć, a może nie, ale czy było warto?
Jeśli jesteś zainteresowany nauką o danych, sprawdź program IIIT-B i upGrad Executive PG w dziedzinie Data Science, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, 1 -on-1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.
Czy dobra wiedza na temat uczenia maszynowego jest korzystna?
Nie wszystko, co popularne i rozwijające się, jest odpowiednie dla każdego. Twój rozwój może być utrudniony, nawet jeśli wejdziesz na rozwijającą się dziedzinę bez zainteresowania ani pasji do niej. W rezultacie powinieneś podjąć świadomą decyzję, czy uczenie maszynowe jest czymś, co faktycznie Cię interesuje. Jeśli lubisz kodować i uczyć się nowych języków programowania, powinieneś rozważyć wypróbowanie uczenia maszynowego. Praca inżyniera uczenia maszynowego może być dobrym rozwiązaniem, jeśli lubisz rozwiązywać problemy, jesteś zafascynowany danymi i jesteś dobrym komunikatorem.
Czy ważna jest dobra znajomość matematyki, aby dobrze radzić sobie z uczeniem maszynowym?
Algebra liniowa, statystyka, rachunek różniczkowy i prawdopodobieństwo to tylko niektóre z obszarów matematyki, które są wymagane w uczeniu maszynowym. Jeśli chcesz dobrze zrozumieć koncepcje ML i zrozumieć wszystkie algorytmy uczenia maszynowego, powinieneś znać przynajmniej podstawy tych obszarów. Nie musisz być czarodziejem matematyki, ale sama znajomość podstaw ułatwi ci pracę.
Jakie są ograniczenia korzystania z uczenia maszynowego w sektorze edukacji?
Uczenie maszynowe odbiera uczniom zakres interakcji, wyolbrzymiając w ten sposób ich zdolność do angażowania się społecznie. W pracach oceniających korzystanie z komputera nie wystarczy, ponieważ nadal wymagana jest ocena manualna nauczyciela, aby dać uzasadniony komentarz i wynik. Wdrożenie uczenia maszynowego w celu spersonalizowania edukacji jest również kosztowne.
