728x90
반응형

머신러닝 딥러닝은 분류와 회귀 문제 해결을 위한 도구(모델)

예) 개 고양이 분류

 

1. 확률적 모델링 (probabilistic modeling)

  • 통계학 이론을 빅데이터 분석에 응용한 것
  • 초창기 머신 러닝 형태 중 하나
  • 대표적인 모델 알고리즘은 나이브 베이즈 알고리즘

1.1 나이브 베이즈(Naive Bayes) 

  • 입력 데이터가 모두 독립이라 가정하고, 베이즈 정리(Bayes' theorem)을 적용하는 머신 러닝 분류 알고리즘
  • 분류 알고리즘

1.2 로지스틱 회귀(logistic regression)

  • 분류 알고리즘 (회귀 알고리즘 아님)

 

2. 초창기 신경망 - 1980년대

  • 경사 하강법 최적화를 이용하여 변수가 연쇄적으로 연결된 연산을 훈련하는 기법
  • 1989년 Yann LeCun이 합성곱 신경망과 역전파 알고리즘을 결합하여 (LeNet), 이미지 분류(손글씨 숫자)에 최초 성공
  • 이 후, 미국 우편번호 자동 분류에 사용됨. 

 

3. 커널 방법 (Kernel method) -1990년대

  • 분류 알고리즘

3.1. 서포트 벡터 머신 (support vector machne, SVM)

  • 1995년 Vladmir Vapnick과 Corinna Cortes 에 의해 개발됨. 
  • 2개의 다른 범주에 속한 데이터 그룹 사이를 확실히 구분하는 결정경계(decision boundary)를 찾는 알고리즘
  • 장점: 
    • 간단한 분류 문제에 최고 수준의 성능을 보임. 
    • 수학적으로 분석하기 용이하여 이론을 이해하고 설명하기 쉬움. 
  • 단점:
    • 대용량 데이터셋으로의 확장이 어려움
    • 이미지 분류에서 낮은 성능.
    • 복잡한 특성공학(feature engineering) 필요함. 

 

4. 결정트리, 랜덤 포레스트, 그래디언트 부스팅 머신 - 2000년대

4.1 결정트리(decision tree) 

  • flowchart 구조
  • 입력 데이터 분류 또는 출력값 예측에 사용
  • 시각화와 이해가 쉬움

4.2 랜덤포레스트(Random forest) 

  • 여러개의 결정트리 출력을 앙상블하는 방법
  • 결정 트리 학습에 기초한 알고리즘으로서 실전에 유용
  • 캐글(Kaggle)이 가장 선호하는 알고리즘

4.3 그래디언트 부스팅 머신(gradient boosting maehine)

  • 여러개의 결정트리 출력을 앙상블하는 방법
  • 빠진 데이터를 보완하는 알고리즘을 반복해서 훈련함으로 머신 러닝을 향상시킴
  • 랜덤 포레스트 성능을 능가.
  • 지각과 인지관련 분야에서, 딥러닝 다음으로 뛰어난 알고리즘

 

5. 딥러닝 - 심층 신경망 (Deep neural network) - 2010년대

  • 2011년 Dan Ciresan가 GPU 심층 신경망으로 이미지 분류 대회 우승
  • 2012년 부터 심층 합성 신경망(deep convolutional neural network, ConvNet)이 이미지 분류, 컴퓨터 비전 작업의 주력이 됨.
  • 다양한 애플리케이션에서 SVM, 결정트리를 완전히 대체하고 있음.
728x90
반응형
728x90
반응형

본 문서는 NVIDIA 그래픽 카드와 Anaconda를 설치했음에도 tensorflow_gpu가 작동하지 않은 경우, 모든 설치 앱을 갈아없지 않고 수리하는 방법을 정리한 것임.

처음부터 제대로 설치하고자 할 경우, 아래 링크 문서를 참조하시오. 

 

 

쉬운 TensorFlow GPU 딥러닝 개발 환경 구축 1 (윈도우)

TensorFlow-GPU 버전을 사용하기 위한 시스템 구축을 설명하고 있음. TensorFlow-CPU 버전의 경우, 바로 아래 문서로 가서 Anacona 설치부터 하면 됨. TensorFlow GPU 딥러닝 개발 환경 구축 2 (윈도우) TensorFlo..

aeir.tistory.com

 

증상

  • 아래 그림에서 CPU만 인식한다.
  • 몇 번 재설치해 보다가 수정하는 방법의 노하우를 기록. 

방법

1. TensorFlow GPU 관련 문서 보기 (2021년 10월 버전) 

   https://www.tensorflow.org/install/gpu

 

2. 하드웨어 요구사항 확인

  • 요구를 만족하는 GPU 카드인지 장치 관리자 열어 확인
  • 현재 NVIDIA Quatro RTX 6000 dual GPU 장착중
  •  

 

3. 소프트웨어 요구사항 확인

  • NVIDIA GPU 드라이버 설치 또는 설치된 버전 확인
  • CUDA 11.2를 cuNN과 함께 설치
  • CUDA 11.2 을 사용하기 위해서는 NVIDIA GPU 드라이버는 450.80.02 이상 설치되어야 함.
  • 현재 드라이버 462.31, CUDA 11.2 버전이 설치됨.
  • CUDA 11.2를 사용하기위해서는 TensorFlow 2.5.0이상에서 작동함

 

수리 실행 

1.아나콘다 설치

  • 아나콘다 최신 버전을 설치. 

 

2. TensorFlow 버전 확인(conda, pip) 및 업그레이드

2.1. TensorFlow 버전을 conda 와 pip 두가지 방법으로 확인

  • conda list와 pip list 결과가 다르다. 

    > conda list

  >  pip list

2.2. TensorFlow 업그레이드

  • 먼저 conda 설정을 최대한 유지하기 위하여, install tensorflow-gpu로 업그레이드함.
  • 하지만,  최신 Anaconda 에서는 tensorflow 2.3.0까지 밖에 지원하지 않는다. (2021년 10월 기준)
  • 위에서 CUDA11.2는 tensorflow2.5.0 이상이어야 함.
  • 이 경우, GPU인식 못함. 
  • 따라서, tensorflow-estimator 버전에 맞춰서, pip install tensorflow-gpu==2.6.0 실행해서 버전 맞춰줌. 

 

결과 확인

Tensorflow GPU 작동 성공 확인!

 

728x90
반응형

+ Recent posts