머신러닝과 딥러닝의 차이

인공지능 은 머신러닝, 딥러닝을 모두 포함하는 제일 큰 개념이다.
머신러닝 은 인공지능을 만들기 위해 기계 학습하는 다양한 방법에 대한 학문이다.
딥러닝 은 머신러닝의 하위 개념으로 “신경망” 을 통해 인공지능을 만드는 머신러닝의 한 종류이다.

포함관계 : 인공지능 > 머신러닝 > 딥러닝

  • “신경망(Neural Network)” 을 따라 만든 “인공신경망(Artificial Neural Network)” 에서 여러 계층 쌓아서 만든 깊은 신경망(Deep Neural Network), 다른 이름 딥러닝
    • 수학 함수 y=f(x) 안의 합성함수 개념으로 y=f(g(x)) 같은 개념이다.



머신러닝과 딥러닝의 역사

사실 딥러닝의 근간인 “신경망” 개념이 머신러닝 보다 먼저 생겨서 포함관계에 논란이 있긴하다.
또한, 딥러닝 도 하나의 학문처럼 많이 발전해서 큰 개념이 되었기 때문에 더욱 애매한 포함관계를 형성한다.

따라서 딥러닝머신러닝 을 같은 의미로 사용하기도 하므로 잘 이해하고 있도록 하자!



머신러닝과 딥러닝의 차이점

이번 포스팅의 주제인 차이점에 관해서 정리해보려고 한다.

1. 먼저, 제일 큰 차이점은 “사람의 개입 여부” 라고 생각한다.

  • 머신러닝은 주어진 데이터를 인간이 먼저 처리
    • 목표 : 머신러닝은 입력 데이터의 패턴을 학습하여 원하는 값을 예측하는 것
    • 사람이 직접 특징 추출 과정을 진행. 따라서 전처리 중요
  • 딥러닝은 머신러닝에서 사람이 하던 패턴 추출 작업이 생략
    • 목표 : 딥러닝은 데이터 자체에 내제된 표현을 나태내는 것
      • 인공 신경망이라는 계층화된 알고리즘 구조를 사용하기 때문에 이것이 가능
    • 모델의 복잡성을 늘려 사람의 개입을 최소화 하므로 특징 추출과정이 불필요
      • 다만, 자연어는 벡터 형태로 가공을 하는편!!

image-20230418174601048

출처 : CODE_BLOG


2. 하드웨어 측면에서는??

  • 머신러닝이 딥러닝보다 덜 복잡한 경향이다.
  • 따라서 딥러닝이 더 좋은 하드웨어를 필요로 한다.


3. 시간(속도) 측면에서는??

  • 머신러닝은 빠르지만 결과가 제한적이다.
  • 딥러닝은 초반 설정이 많이 느리지만, 결과를 나타낼때는 빠르고 제한적이지도 않다.


4. 알고리즘 측면에서는??

  • 머신러닝은 “구조화”된 데이터를 주로 필요로 하고 전통적인 알고리즘을 사용한다.
  • 딥러닝은 “비정형” 데이터를 수용하도록 구축되고, 신경망 구조를 사용한다.



머신러닝, 딥러닝 모델의 학습 원리

모델의 학습을 요약하자면, Data와 Label 을 통해서 Parameter 가 학습된다.



예) Yolo

자동차 이미지의 경우 자동차의 윤곽선 박스(Bounding box=bbox)의 정보가 필요하고, 자동차인지 버스인지 사람인지 알려줄 수 있는 클래스(Class)의 정보도 필요하다.

즉, 데이터(Image)레이블(bbox 좌표 및 Class) 정보가 필요!!


Yolo 모델은 회귀, 분류를 둘다하는 모델이다.

  • 회귀 : “bbox”가 어느 픽셀에 위치하는 지 연속적인 (x, y)위치 값 등을 회귀를 통해서 맞춰야 한다.
  • 분류 : 그 박스 내의 영상(이미지)이 어떤 카테고리(Class)인지 분류를 해야한다.


이를 우리가 아는 수학 함수로 이해를 해보면 좀 더 이해하기 좋다.
딥러닝, 머신러닝 을 수학 함수인 “y = ax + b” 로 나타내보자.

  • 우리가 알고 싶고 학습하고 싶은 a, b가 파라미터(Parameter)이다.
  • 학습 시 넣어주는 x는 데이터, y는 레이블이다.
  • 미지수 2개인 방정식은 2개의 데이터가 있으면 풀 수 있으니까 우리는 a, b를 구할 수 있다!!

댓글남기기