TensorFlow는 완전한 기계 학습 라이브러리입니까?


11

나는 새로운 오전 TensorFlow 나는 그것을 사용하기 전에 나는 TensorFlow의 기능과 단점을 이해할 필요가있다. 나는 그것이 딥 러닝 프레임 워크라는 것을 알고 있지만 다른 기계 학습 알고리즘과는 별도로 텐서 흐름과 함께 사용할 수 있습니다. 예를 들어 TensorFlow를 사용하여 SVM 또는 임의 포리스트를 사용할 수 있습니까? (이것이 미친 소리라는 것을 안다)

요컨대, TensorFlow가 지원하는 기계 학습 알고리즘을 알고 싶습니다. 딥 러닝입니까 아니면 더 많은 것입니까?


1
TensorFlow에서 구현 된 지원 벡터 머신 : github.com/AidanGG/tensorflow_tmva/wiki/Support-Vector-Machine
Neil Slater

3
TensorFlow는 딥 러닝 라이브러리가 아닙니다. Keras (TensorFlow를 백엔드로 사용할 수 있음)는 그러한 라이브러리입니다. TensorFlow는 여러 하드웨어 (CPU, GPU 등)에서 실행하기 위해 많은 계산 (계산 그래프 사용)을 처리하는 현명한 방법입니다.
Robin

답변:


15

이것은 지나치게 단순화되었지만 오늘날 사용할 수있는 두 가지 유형의 기계 학습 라이브러리가 있습니다.

  1. 딥 러닝 (CNN, RNN, 완전히 연결된 네트, 선형 모델)
  2. 그 밖의 모든 것 (SVM, GBM, 랜덤 포레스트, Naive Bayes, K-NN 등)

그 이유는 딥 러닝이 다른 기존의 교육 방법보다 훨씬 계산 집약적이므로 라이브러리를 강하게 전문화해야합니다 (예 : GPU 및 분산 기능 사용). 파이썬을 사용하고 있고 가장 광범위한 알고리즘을 가진 패키지를 찾고 있다면 scikit-learn을 시도하십시오. 실제로 딥 러닝과 더 전통적인 방법을 사용하려면 둘 이상의 라이브러리를 사용해야합니다. "완료된"패키지가 없습니다.


1
이 답변이 2 년 후에도 유효합니까? 그 이후로 TensorFlow가 많이 성장한 것처럼 보입니다.
존 설리반

7

TensorFlow는 특히 딥 러닝, 즉 많은 레이어와 이상한 토폴로지를 가진 신경망에 적합합니다.

그게 다야. Theano 의 대안 이지만 Google이 개발했습니다.

TensorFlow와 Theano 모두에서 상징적으로 프로그래밍합니다. 신경 네트워크를 대수적 연산의 형태로 정의합니다 (이러한 노드에 이러한 가중치를 곱한 다음 비선형 변환이 적용됩니다 (bla bla bla)). 내부적으로 그래프로 표시됩니다 (TensorFlow의 경우 Theano가 아니라 신경망을 디버깅하기 위해 실제로 볼 수 있습니다).

그런 다음 TensorFlow (또는 Theano)는 최적화하려는 알고리즘을 제공하여 어떤 가중치가 최소화하려는 비용 함수를 최소화하는지 파악합니다. 신경망이 회귀 문제를 해결하려는 경우 예측 값과 실제 값 사이의 제곱 차이의 합계를 최소화 할 수 있습니다. TensorFlow는 비용 기능과 그 모든 것을 차별화하는 데 많은 노력을 기울입니다.

편집 : 물론 SVM 은 신경 네트워크 유형 으로 간주 될 수 있으므로 TensorFlow 최적화 도구를 사용하여 SVM을 훈련시킬 수 있습니다. 그러나 TensorFlow에는 기울기 하강 기반 옵티마이 저만 제공됩니다.이 옵티 마이저에는 관측치가 많지 않은 경우 SVM을 훈련하는 데 약간 바보로 사용됩니다. 로컬 최소값에 걸리지 않는 SVM에 대한 특정 옵티마이 저가 있기 때문입니다.

또한 TensorFlow와 Theano는 상당히 낮은 수준의 프레임 워크입니다. 대부분의 사람들은 그 위에 구축되고 사용하기 쉬운 프레임 워크를 사용합니다. 자체 토론을 생성하기 때문에 여기서는 아무것도 제안하지 않습니다. 사용하기 쉬운 패키지에 대한 제안 사항여기를 참조 하십시오 .


1
Theano는 Google이 개발하지 않았습니다. 그들의 웹 사이트에 따르면 ,“주로 학계에 의해 개발되었습니다”. Tensorflow는 Google에 의해 개발되었습니다 .
dantiston

1
@dantiston 네, 알아요. "TensorFlow는 Theano의 대안이며 TensorFlow는 Google에서 개발했습니다."라고 말하려고했습니다. 나는 Theano가 아닌 TensorFlow를 언급하고있었습니다. 나쁜 말, 미안
Ricardo Cruz

5

Ryan Zotti가 좋은 답변을 제공하지만 변경되고 있습니다. 에 Random Forest , Gradient Boosting 및 Bayesian 방법 TensorFlow이 추가되어 원 스톱 솔루션이되는 방향으로 향하고 있습니다. 보다 전통적인 알고리즘이 여기 에 나열 됩니다 . TensorFlow는 확장 성이 뛰어나고 GPU 작업을 지원하도록 특별히 설계되어 있습니다. 그러나 scikit learn많은 표준 알고리즘을 찾을 수있는 전통적인 원 스톱 상점입니다. 그것들은 일반적으로 최신이 아니며 가장 크지 않으므로 특수 라이브러리도 필요할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.