DATA MINING

딥러닝(신경망) #2 - 머신러닝과 딥러닝

hhd* 2024. 6. 18. 14:24

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

 

머신러닝 : 특징(입력데이터)을 사전에 추출하고, 추출된 특징을 바탕으로 학습 및 분류.

 

-> 사람이 직접 특징을 알려주는 형태. 인간의 역할이 중요하다.

-> 별도의 특징 추출 알고리즘 필요한 경우가 많다. 분류알고리즘도 따로 있어야 함.

-> 데이터베이스, 엑셀/csv 같은 정형데이터를 손쉽게 처리.

-> 적은양의 데이터로 학습 가능하다.

-> KNN, K-means, 의사결정트리 는 모두 특징을 먼저 추출한 다음 분류하는 과정을 거친다.

 

 

 

실제 일반 영상에 가방 인식 머신러닝 알고리즘을 만들기 위해서는 객체 검출, 영상크기 및 위치 정규화 등 별도의 알고리즘이 필요.

-> 전처리과정에 알고리즘이 또 필요하다는 말.

[위 사진] 영상의 크기가 다르면 KNN 적용 불가능하고, 영상 내 위치가 다르면 같은 가방이라도 영상의 유사도 계산 시(유클리드 거리 측정 시) 가까운 영상으로 인식되지 않는다.

그래서 실제 일반영상에서 객체 검출 및 객체 크기 정규화가 필요함.

-> 전체 머신러닝 알고리즘이 전처리과정까지 포함하기 때문에 복잡하고 쉬운 일이 아닐것임!!!!

 

 

 

 

 

딥러닝 : 별도의 특징 추출과정 필요없이 입력과 출력의 데이터만 주어지면 자동으로 특징 찾아내서 분류까지 수행한다.

 

-> 이미지, 음성, 텍스트 등의 비정형 데이터도 손쉽게 처리한다.

-> 학습을 위해 더 많은 양의 데이터 필요하다. / 더 많은 컴퓨팅 자원이 필요하다.

-> 입력과 출력 데이터만 주면 알아서 특징 찾아내 분류까지 하므로 인간의 직접 개입이 최소화 되어 end to end 학습이라고 부른다.

-> 사람은 사용하기 편하지만 일반화된 특징을 추출하기 위해서 충분히 많은 양의 데이터가 필요. 따라서 병렬 연산이 가능한 GPU등의 컴퓨팅 파워가 필요하다.

 

 

 

 

* * 얼굴인식 알고리즘에서 머신러닝과 딥러닝의 차이 * *

 

--- 1. 머신러닝 ---

 

같은 얼굴 인식 알고리즘이라고 해도 머신러닝은 눈코입이 미리 추출되어 있어야 한다. 즉 눈코입을 수동으로 전처리과정에서 이미 추출해놓은 상태에서 knn 등 분류기에 넣어 얼굴인식 수행한다.

 

 

--- 2. 딥러닝  ---

 

 

-> 얼굴 사진만 넣으면 알아서 얼굴 인식을 위한 특징들을 추출함

-> 입력을 넣었을 떄 원하는 출력이 나오기 위해서는 입력과 출력 사이에 상관관계를 파악해야함. 이 과정에서 인과성이 높은 부분(노드)을 학습에 의해서 추출하게 됨.

-> 그리고 현재출력과 정답의 오차가 줄어드는 방향으로 인과성이 높은 부분은 높게, 나머지부분은 낮게 이런식으로 ((내부연결강도 = 증폭값 = 가중치 = 특징))을 반복해서 변경해준다.

-> 반복을 거듭하여 특정 입력을 넣었을 때 특정 출력이 나오도록 만들어준다.