
Can Sztuczna inteligencja create another Sztuczna inteligencja?
14 stycznia 2018
Wprowadzenie do Apache Spark
16 stycznia 2018
TensorFlow to biblioteka oprogramowania do uczenia maszynowego o otwartym kodzie źródłowym. TensorFlow został opracowany przez zespół Google Brain do wewnętrznego użytku w Google. Został wydany na otwartej licencji Apache 2.0 9 listopada 2015 roku.

Zacznijmy od podstaw
TensorFlow jest w wielu przypadkach używany do programowania przepływu danych. Jest to symboliczna biblioteka matematyczna wykorzystywana w aplikacjach uczenia maszynowego, takich jak sieci neuronowe. Jest używany zarówno do badań, jak i produkcji w Google, często zastępując swojego poprzednika o zamkniętym kodzie źródłowym, DistBelief. TensorFlow to druga platforma uczenia maszynowego, którą Google opracowało i wykorzystuje do projektowania, budowania i trenowania modeli głębokiego uczenia. Biblioteka TensorFlow może być używana do wykonywania obliczeń numerycznych, co samo w sobie nie wydaje się zbyt specjalne, ale te obliczenia są wykonywane za pomocą wykresów przepływu danych. Na tych wykresach węzły reprezentują operacje matematyczne, podczas gdy krawędzie reprezentują dane, które są zazwyczaj wielowymiarowymi macierzami danych lub tensorami, przesyłanymi między tymi krawędziami.
Nazwa „TensorFlow” pochodzi od operacji, które sieci neuronowe wykonują na wielowymiarowych macierzach danych, czyli tensorach! To dosłownie przepływ tensorów.
TensorFlow – jak to działa?
Najprostszym sposobem na zrozumienie TensorFlow i podejścia Google do sztucznej inteligencji (AI) jest rozpoznawanie obrazów. W 2011 roku Google stworzyło DistBelief, które wykorzystywało uczenie maszynowe do rozpoznawania zawartości obrazu poprzez identyfikację określonych wzorców. Na przykład, szuka wąsów o określonej długości, aby pomóc ustalić, czy obraz przedstawia kota. System został zbudowany z wykorzystaniem pozytywnego wzmocnienia – maszyna otrzymywała obraz i była pytana, czy przedstawia kota. Jeśli maszyna miała rację, potwierdzano jej to. Jeśli jednak maszyna się myliła, system był adaptowany do rozpoznawania innych wzorców na obrazie, tak aby następnym razem było bardziej prawdopodobne, że rozpozna go poprawnie.
TensorFlow idzie o krok dalej, wykorzystując głębokie uczenie lub sztuczną wielowarstwową sieć neuronową. Zasadniczo, sortuje warstwy danych, zwane węzłami, aby ustalić, że wyświetlany obraz przedstawia kota. Pierwsza warstwa poprosi system o wyszukanie czegoś tak podstawowego jak ogólny kształt obrazu. System następnie przechodzi lub „przepływa” do następnego zestawu danych – np. wyszukując łap na zdjęciu. TensorFlow nie udostępnia programiście gotowej opcji użycia uczenia maszynowego, lecz zapewnia interfejs API zarówno w Pythonie, jak i C / C ++, który łączy się z programem programisty.

Potencjał TensorFlow
Jak pisze Google na swoim blogu: „TensorFlow jest szybszy, inteligentniejszy i bardziej elastyczny niż stary system (DistBelief), dzięki czemu może być łatwiej adaptowany do nowych produktów i badań”.
Może pomóc w szybszym sortowaniu większej liczby obrazów, dostarczając więcej informacji badaczom. Jest to sposób na przeglądanie dużego zbioru danych, w którym ludzie nie są w stanie rozpoznać, co jest ważne. Biblioteki TensorFlow znacznie ułatwiają włączanie do aplikacji elementów samouczących się i funkcji sztucznej inteligencji, takich jak rozpoznawanie mowy, widzenie komputerowe czy przetwarzanie języka naturalnego.
W listopadzie 2017 roku Google uruchomiło TensorFlow Lite w wersji podglądowej dla programistów. Koncentruje się na tworzeniu rozwiązań uczenia maszynowego bezpośrednio na urządzeniach mobilnych i wbudowanych IoT. Lekka wersja TensorFlow zapewnia szybką wydajność na małych urządzeniach i działa na iOS oraz Androidzie. TensorFlow z pewnością nie jest jedyną biblioteką głębokiego uczenia, ale podobnie jak inne produkty Google, jest powszechnie uważana za najlepszą. Alternatywą jest Torch, stworzony na Uniwersytecie Kalifornijskim w Berkeley przez szwajcarskich badaczy oraz zespół Caffe.
Jeśli chodzi o ograniczenia, Google nadal pozwala na implementację TensorFlow na jednym komputerze z wieloma procesorami graficznymi (GPU). Ogranicza to skalę, w jakiej firmy mogą używać tego narzędzia, ale istnieją sposoby na obejście tego problemu, choć wymagają one wiedzy, czasu i pieniędzy.


