머신러닝 개발자의 러닝머신

인공지능, 머신러닝, 딥러닝의 정의와 관계 본문

ML.AI

인공지능, 머신러닝, 딥러닝의 정의와 관계

oongsong 2023. 4. 19. 10:59
반응형

인공지능이란?

인공지능(Artificial Intelligence)은 인간의 지능을 모방하여 사람이 하는 일을 컴퓨터가 할 수 있도록 하는 모든 기술을 포괄하는 기술로, 학습, 문제 해결, 패턴 인식 등과 같이 주로 인간 지능과 연결된 인지 문제를 해결하는 데 주력하는 컴퓨터 공학 분야이다. 인공지능의 하위 분야로 머신러닝과 딥러닝이 있으며 인공지능, 머신러닝, 딥러닝의 관계는 다음 그림과 같다. 

 

머신러닝이란?

머신러닝은 컴퓨터가 스스로 학습하여 인공지능의 성능을 향상시키는 기술로, 컴퓨터가 스스로 대용량의 데이터에서 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것이다. 

이때, 머신러닝은 주어진 데이터를 인간이 먼저 처리해 학습시킬 특성을 추출해야한다는 특징이 있다. 이렇게 사람이 직접 추출한 데이터의 특성을 컴퓨터에 인식시키고 학습시키는 과정으로 학습이 진행된다.

 

머신러닝의 학습 알고리즘으로는 지도학습, 비지도학습, 강화학습이 있다.

 

지도학습은 정답값을 컴퓨터에 알려주고 학습시키는 방법으로, 정답을 기반으로 오류를 줄이는 방향으로 학습한다. 대표적인 알고리즘으로는 분류(classification), 회귀(regression)이 있다. 

  • 분류(classification)는 데이터가 범주형 변수를 예측하기 위해 사용되며 레이블이 두 개인 경우는 이진 분류(Binary Classification), 레이블이 두 개 이상인 경우는 다중 클래스 분류(Multi-class Classification) 이라고 한다. 분류의 예로는 KNN(K-Nearest Neighbor, k최근접 이웃), SVM(Support Vector Machine), 결정트리(Decision Tree), 로지스틱 회귀(Logistic Regression)가 있다. (각 알고리즘에 대한 내용은 다음 글에서 다루겠습니다.)
  • 회귀(regression)는 변수들 사이에서 나타나는 경향성을 파악하거나 그 관계를 규명하는 데 사용하는 방법으로, 데이터들의 관계를 그래프로 표현하여 패턴이나 트렌드를 예측할 때 사용한다. 회귀분석의 예로는 선형회귀(Linear Regression)가 있다. 선형회귀는 변수들이 선형 관계를 가질 때 사용하면 유용한 방법이다.
    *로지스틱 회귀(Logistic Regression)도 회귀의 일종이지만 보통 사건의 확률을 확인하는 데에 사용하며 데이터의 범주를 결정하는 분류 문제를 해결하는 데에 사용된다.

 

비지도학습은 지도학습과 달리 정답을 알려주지 않고 예측하는 방법이다. 비지도학습에는 클러스터링(Clustering, 군집)과 차원 축소(Dimension reduction) 이 있다.

  • 클러스터링(Clustering)은 특정 기준에 따라 유사한 데이터를 하나의 그룹으로 그룹화하는 것으로, 이를 위해 데이터들의 거리(유사성)을 측정한다. 클러스터링의 예로는 K-means clustering이 있다.
  • 차원 축소는 데이터를 나타내는 변수를 줄여 데이터를 압축하여 데이터 간소화를 위해 사용되는 방법이다. 많은 상황에서 raw data(원시데이터)는 아주 많은 변수를 가지는데, 일부 특징들이 중복되거나 작업과 관련이 없는 경우가 있다. 따라서 차원의 수를 줄이면 관계를 도출하기 용이해진다. 차원 축소의 대표적인 알고리즘으로 주성분 분석(PCA)가 있다.

 

강화학습(Reinforcement Learning)은 자신의 행동에 대한 보상을 받으며 학습을 진행하는 방법이다. 각 agent(에이전트)가 reward(보상)이 커지는 action(행동)은 자주 하도록하고, 보상이 줄어드는 행동은 덜 하도록 하여 학습을 진행한다. 기존의 지도학습, 비지도학습과 달리 보상과 벌칙이 반영된 다음 데이터가 필요하므로 반복시행을 통해 데이터를 스스로 만들어간다는 특징이 있다. 따라서, 일반적으로 많은 학습 시간이 필요해 컴퓨터 시뮬레이션 기반으로 빠르게 반복함으로써 이러한 학습시간의 한계점을 극복해 가고 있다.

 

딥러닝이란?

딥러닝은 인간의 신경망을 본뜬 구조의 인공신경망 방식으로 정보를 처리하는 머신러닝의 일종이다.

인간의 신경 세포인 뉴런(Neuron)에 대응되는 퍼셉트론(Perceptron)이 인공신경망의 기본 단위노드(node)라고 부르기도 한다. 이러한 노드가 여러개 모여 이루어진 하나의 신경층을 layer라고 하며 layer들이 쌓여 거대한 인공신경망을 구성한다. 

인공신경망은 이처럼 다중 퍼셉드론으로 이루어진 여러 층(layer)로 구성되는데, 입력층(Input Layer), 출력층(Output Layer), 은닉층(Hidden Layer)로 구분한다.

[인공신경망의 구조]

  • 입력층(Input Layer)은 데이터셋의 입력을 받아들이는 층으로, 입력 변수의 수만큼 입력노드가 존재한다. 보통 입력층은 어떤 계산도 수행하지 않고 값을 전달하기만 하는 특징이 있다. 따라서 신경망의 깊이를 계산할 때 입력층은 포함하지 않는다.
  • 은닉층(Hidden Layer)은 입력층과 출력층 사이에 있는 layer로 퍼센트론의 연산이 수행되는 층이다. 이전의 신호들에 고유한 가중치가 곱해지고 이들을 더한 값이 퍼셉트론에 전달되는 과정이 반복된다.
  • 출력층(Output Layer)은 신경망의 출력을 담당하는데, 일반적으로 활성화함수를 거쳐 목적에 따라 출력값을 결정한다. 활성화 함수에는 계단함수, sigmoid, ReLu 함수 등이 있다.

 

참고 자료/링크 

반응형