Każdy, kto próbował Zdjęć Google, zgodziłby się, że ta bezpłatna usługa przechowywania i zarządzania zdjęciami od Google jest inteligentna. Zawiera różne inteligentne funkcje, takie jak wyszukiwanie zaawansowane, możliwość kategoryzowania zdjęć według lokalizacji i dat, automatycznie tworzy albumy i filmy oparte na podobieństwach i prowadzi Cię wzdłuż pasa pamięci, pokazując zdjęcia z tego samego dnia sprzed kilku lat. Jest wiele rzeczy, które Google Photos może zrobić, że kilka lat temu byłoby praktycznie niemożliwe. Zdjęcia Google to jedna z wielu "inteligentnych" usług Google, które korzystają z technologii uczenia maszynowego o nazwie TensorFlow. Słowo " nauka" oznacza, że technologia stanie się inteligentniejsza z upływem czasu, do tego stopnia, że nasza obecna wiedza nie może sobie wyobrazić. Ale czym jest TensorFlow? Jak maszyna może się uczyć? Co możesz z tym zrobić? Dowiedzmy Się.
Co to jest TensorFlow?
TensorFlow to oprogramowanie Google o otwartym kodzie źródłowym i potężnym oprogramowaniu sztucznej inteligencji, które zasila wiele usług i inicjatyw Google. Jest to druga generacja systemu do wielkoskalowych implementacji uczenia maszynowego, zbudowanego przez zespół Google Brain. Ta biblioteka algorytmów zastępuje DistBelief - pierwszą generację.
Technologia reprezentuje obliczenia jako wykresy przepływu danych stanowych. Tym, co wyróżnia TensorFlow, jest możliwość modelowania obliczeń na szerokiej gamie sprzętu, od urządzeń mobilnych na poziomie konsumenckim po światowej klasy serwery z wieloma procesorami graficznymi. Może działać na różnych procesorach graficznych i procesorach i zapewnia skalowalność uczenia maszynowego między różnymi urządzeniami i gadżetami bez konieczności zmieniania znacznej ilości kodu.
TensorFlow powstało z potrzeby Google'a instruowania systemu komputerowego, aby naśladował działanie ludzkiego mózgu w procesie uczenia się i rozumowania. System, znany jako sieci neuronowe, powinien być zdolny do wykonywania wielowymiarowych macierzy danych określanych jako "tensory". Celem końcowym jest szkolenie sieci neuronowych w celu wykrywania i rozszyfrowywania wzorców i korelacji.
W listopadzie 2015 r. Google udostępniło tę technologię z otwartym kodem źródłowym i umożliwiło zaadoptowanie jej do różnego rodzaju produktów i badań. Każdy, łącznie z badaczami, inżynierami i hobbystami, może przyspieszyć rozwój uczenia maszynowego i wznieść go na wyższy poziom w krótszym czasie.
Ten ruch okazał się trafny, ponieważ TensorFlow ma tak wiele wkładów od niezależnych programistów, że znacznie przewyższają one składki Google. Wikipedia wspomina, że "na GitHubie znajduje się 1500 repozytoriów, które wspominają o TensorFlow, z których 5 pochodzi z Google." Mówiąc to, jedna z dyskusji w Quora podejrzewa, że wydany kod open-source jest wersją "wyczyszczoną" z taki, który Google wykorzystuje w swoich usługach.
Jak działa TenserFlow?
Posługując się prostym normalnym ludzkim językiem i dużym uproszczeniem, możemy zobaczyć jedną stronę TensorFlow jako zaawansowaną autonomiczną technologię filtrowania. W jej sercu technologia jest ogromną biblioteką oprogramowania do uczenia maszynowego. Korzysta z bazy danych, aby pomóc jej "podjąć decyzję".
Na przykład ktoś przesyła zdjęcie do Zdjęć Google. Technologia porówna wszystkie szczegóły z obrazu do bazy danych i zdecyduje, czy jest to zdjęcie zwierzęcia, czy człowieka. Wtedy, jeśli jest to człowiek, spróbuje określić płeć, wiek do końca, kim jest dana osoba. Ten sam proces jest powtarzany dla innych obiektów na zdjęciu.
Wykorzystuje również dane użytkownika, takie jak tożsamość osoby na zdjęciu i miejsce wykonania zdjęcia, aby ulepszyć swoją bibliotekę, aby w przyszłości uzyskać lepsze wyniki - zarówno dla osoby, która przesłała zdjęcie, jak i dla wszystkich jeszcze. Stąd pojęcie "uczenie się". Ale nie ogranicza się tylko do poznawania i uczenia się danych ze zdjęć. Jest tak wiele informacji, które technologia może zrobić z informacjami ze zdjęcia. Na przykład może grupować zdjęcia z podobnymi szczegółami, takimi jak ta sama osoba, ta sama lokalizacja, ta sama data; zobacz wzór twarzy, aby określić, do której rodziny i znajomych należą osoby na zdjęciu, i wykorzystaj te informacje do robienia filmów z wakacji rodzinnych lub animacji z ciągłych ujęć.
To ledwo zarysowuje powierzchnię działania TensorFlow, ale mam nadzieję, że da ci ogólny obraz technologii. Ponadto, używając tylko jednego przykładu, nie można oddać sprawiedliwości temu, do czego jest on zdolny.
I dla wszystkich entuzjastów sztucznej inteligencji, warto wspomnieć, że Google stworzył już technologię chipów komputerowych zoptymalizowaną pod kątem uczenia maszynowego i integrującą TensorFlow. Nazywa się to chipem ASIC Tensor Processing Unit (TPU) .
Ci, którzy chcą dowiedzieć się więcej o TensorFlow, mogą odwiedzić jego stronę samouczka.
Aplikacje TensorFlow
Jesteśmy na wczesnym etapie technologii uczenia maszynowego, więc nikt nie wie, dokąd nas to zaprowadzi. Ale istnieje kilka wstępnych wniosków, które mogą nam pomóc w przyszłości. Ponieważ pochodzi z Google, jest oczywiste, że Google korzysta z tej technologii w wielu swoich usługach.
Więcej o analizie obrazu
Omówiliśmy przykład wykorzystania technologii do analizy obrazu w Zdjęciach Google. Ale aplikacja do analizy obrazu jest również używana w funkcji Street View w Mapach Google. Na przykład TensorFlow służy do połączenia obrazu ze współrzędnymi mapy i automatycznego rozmycia numeru tablicy rejestracyjnej dowolnego samochodu przypadkowo dołączonego do obrazu.
Rozpoznawanie mowy
Google używa również TensorFlow do swojego oprogramowania do rozpoznawania głosu. Technologia, która pozwala użytkownikom wypowiadać instrukcje, nie jest nowa, ale włączenie do niej rosnącej biblioteki TensorFlow może zwiększyć tę funkcję o kilka stopni. Obecnie technologia rozpoznawania mowy rozpoznaje ponad 80 języków i wariantów.
Dynamiczne tłumaczenie
Innym przykładem części "uczącej się" technologii uczenia maszynowego jest funkcja tłumaczenia Google. Google pozwala użytkownikom dodawać nowe słownictwo i naprawiać błędy w Tłumaczu Google. Ciągle rosnące dane mogą być wykorzystywane do automatycznego wykrywania języka wejściowego, który inni użytkownicy chcą tłumaczyć. Jeśli urządzenie popełnia błędy w procesie wykrywania języka, użytkownicy mogą je poprawić. A maszyna będzie uczyć się na tych błędach, aby poprawić swoją przyszłą wydajność. Cykl trwa.
Alpha Go
Jednym z zabawnych przykładów użycia TensorFlow jest Alpha Go. Jest to aplikacja zaprogramowana do grania w Go . Dla tych, którzy nie znają Go, jest to abstrakcyjna gra planszowa dla dwóch graczy pochodzących z Chin ponad pięć tysięcy pięćset lat temu, i jest to najstarsza gra planszowa, która wciąż jest ciągle grana dzisiaj. Zasady są proste - aby objąć więcej terytorium niż przeciwnika, gra jest niezwykle złożona i według Wikipedii: "ma więcej możliwości niż całkowita liczba atomów w widzialnym wszechświecie".
Interesujące jest to, co technologia uczenia się może zrobić z nieskończonymi możliwościami. W swoich meczach z Lee Sedol - 18-krotnym mistrzem świata Go, Alpha Go wygrała 4 z 5 meczów i otrzymała najwyższą rangę honorową Go.
Projekt Magenta
Kolejną interesującą aplikacją TensorFlow jest projekt Magenta. To ambitny projekt tworzenia sztuki generowanej maszynowo . Jednym z pierwszych namacalnych rezultatów eksperymentu jest 90-sekundowa melodia fortepianu. Na dłuższą metę Google ma nadzieję, że dzięki projektowi Magenta stworzy bardziej zaawansowane, generowane maszynowo obrazy i zbuduje wokół siebie społeczność artystów.
W lutym 2016 r. Firma Google zorganizowała również wystawę sztuki i aukcję w San Fransisco, prezentującą 29 wygenerowanych komputerowo - z niewielką pomocą ludzi - dzieł sztuki. Sześć największych dzieł zostało sprzedanych za 8 000 USD. Komputer może mieć jeszcze długą drogę, zanim będzie mógł naśladować prawdziwego artystę, ale ilość pieniędzy, jaką ludzie są gotowi zapłacić za sztukę, pokazuje nam, jak daleko posunęła się ta technologia.
Obsługa iOS
Podczas gdy już widzieliśmy możliwości TenserFlow na Androida, z jego najnowszą wersją, TensorFlow wreszcie dodaje obsługę urządzeń iOS. Ponieważ istnieje mnóstwo wspaniałych aplikacji mobilnych dostępnych wyłącznie na iOS, lub wydanych jako pierwsze na iOS, oznacza to, że możemy spodziewać się kolejnych wspaniałych aplikacji mobilnych, które opanują uczenie maszynowe w niedalekiej przyszłości. To samo można powiedzieć o możliwościach szerszych zastosowań i aplikacji TensorFlow.
Przyszłość TensorFlow
Co można zrobić z maszyną, która potrafi się uczyć i podejmować własne decyzje? Jako osoba, która zajmuje się więcej niż jednym językiem jako częścią codziennego życia, pierwszą rzeczą, która pojawia się w moim umyśle, jest tłumaczenie językowe. Nie na poziomie wyrazu, ale na dłuższym poziomie tekstu, jak dokumenty, a nawet książki. Dzisiejsza technologia tłumaczenia ogranicza się do słowników. Możesz łatwo dowiedzieć się, co "śpi" po chińsku i odwrotnie, ale spróbuj wrzucić jeden rozdział Musashi Eiji Yoshikawy w oryginalnym języku japońskim i przetłumaczyć ten rozdział na angielski. Zobaczysz, w co się pakuję.
Fajnie jest też zobaczyć, co może przydać się w przyszłości sztuczna inteligencja z muzyką. Mimo że jest to wciąż bardzo podstawowe, aplikacja Apple Memo Music może już zapewniać automatyczny bas i akompaniament bębnów do nagranego śpiewu. Pamiętam jeden odcinek serialu telewizyjnego SciFi, w którym postać z serialu stworzyła maszynę, która analizuje wszystkie najlepsze utwory na listach przebojów i potrafi napisać własne hity. Czy kiedykolwiek tam dotrzemy?
Jako myśl końcową chciałbym wspomnieć o Sunspring . To krótki film science fiction, napisany całkowicie przez scenarzystę AI, który nazwał siebie Benjamin - który nawet skomponował muzyczny interlud. Film został nakręcony przez reżysera Oscara Sharpa na 48-godzinne wydarzenie "Film Challenge of Sci-Fi London".
Teraz nie mogę przestać myśleć o Terminatorze. Witamy w przyszłości.
Image Credit: Wikipedia, TechInsider, The Verge, Wall Street Journal