TensorFlow jest szczególnie wskazany do głębokiego uczenia się, tj. Sieci neuronowych z dużą ilością warstw i dziwnymi topologiami.
Otóż to. Jest to alternatywa dla Theano , ale opracowana przez Google.
Zarówno w TensorFlow, jak i Theano programujesz symbolicznie. Swoją sieć neuronową definiujesz w formie operacji algeabreicznych (te węzły są mnożone przez te wagi, a następnie stosowana jest transformacja nieliniowa, bla bla bla), które wewnętrznie są reprezentowane przez wykres (który w przypadku TensorFlow, ale nie Theano, faktycznie można to zobaczyć w celu debugowania sieci neuronowej).
Następnie TensorFlow (lub Theano) oferuje algorytmy optymalizacji, które wykonują ciężką pracę nad ustaleniem, jakie wagi minimalizują funkcję kosztów, którą chcesz zminimalizować. Jeśli twoja sieć neuronowa ma rozwiązać problem regresji, możesz zminimalizować sumę kwadratowych różnic między wartościami przewidywanymi a wartościami rzeczywistymi. TensorFlow wykonuje ciężką pracę polegającą na różnicowaniu funkcji kosztów i tym podobnych.
EDYCJA: Zapomniałem wspomnieć, że SVM można oczywiście postrzegać jako rodzaj sieci neuronowej , więc oczywiście można trenować SVM za pomocą narzędzi optymalizacyjnych TensorFlow. Ale TensorFlow jest dostarczany tylko z optymalizatorami opartymi na zniżaniu gradientu, które są nieco głupie, aby używać SVM, chyba że masz dużo obserwacji, ponieważ istnieją specjalne optymalizatory dla SVM, które nie utknęły w lokalnych minimach.
Warto również wspomnieć, że TensorFlow i Theano to całkiem niskie frameworki. Większość ludzi korzysta z frameworków, które są na nich zbudowane i są łatwiejsze w użyciu. Nie zasugeruję tutaj żadnego, ponieważ spowodowałoby to własną dyskusję. Zobacz tutaj sugestie dotyczące łatwych w użyciu pakietów.