SYDLAB_inha/Machine Learning

ML - training & test data / infrastructure / computer vision / detection / segmentation

빈그레 2023. 9. 8. 23:07

 

 

 


Machine Learning

 

 

 

Machine Learning (ML)

 

: AI의 부분집합 중 하나가 Machine Leaning이다. Machine learning 내에는 deep learning이라는 또 하나의 분야가 있다.

 

Data-Driven Approaches 

 

 

 

일반 프로그래밍은 if,else문 등을 사용하여 명시적으로 표현한다.

하지만, Machine learning은 명시적인 프로그래밍이 아니라, 데이터 기반으로 컴퓨터를 지능있게 만드는 것이다.

여기서 지능이란, general한 지능보다는 어떠한 문제를 풀기위한 추론 능력이라 볼 수 있다.

 

data 수집 이후 데이터를 크게 두개로 나눌 수 있다. (=split)

데이터는 전체의 70프로 정도는 training data에 쓰이고 나머지 30은 test data에 쓰인다.

 

train data로는 인공지능의 실체인 model을 학습 시킨다. 

여기서 model은 어떠한 기능을 수행할 수 있는 집합체라고 볼 수 있다. 

 

model이 제대로 이해했는지를 알기 위해서 model을 평가해야한다. 이 때에는 test data로부터 model을 평가해서 training

한 번도 보지 않았던 test data에서도 model이 충분히 잘 맞춰내고 있으면 model training이 잘 된 것이다.

 

 

 

 

AI Trends 

 

 

trends에 대해 5개의 카테고리를 나누어 보았다.  

 

 

(1) ML infrastructure

 

1. ML Infrastructure
: input에서부터 output까지 가는 과정



1.data를 수용하는 part
: hard disk에서 바로 load
실시간으로 streaming으로 들어오는 data를 handling 

2.Users
: 데이터가 앞에서 들어오면 데이터를 가공
machine learning을 하는 이유는 data로부터 의미있는 pattern을 찾는 것인데,
data drive aprroch이기 때문에 data에 garbage값이 많으면 학습이 제대로 안 될 수 있다.
따라서 garbage는 버리고 특정 개인 정보는 '아무개'와 같이 바꾸어주는 '전처리'를 해준다.

3. Frameworks (ex. TensorFlow, Pytorch )
: data를 실제로 deep learning을 쉽게 코딩할 수 있도록 frameworks에 올림
하나의 문제를 풀기 위해서 10개 혹은 100개의 gpu를 동시에 분산적으로 돌려서 빠르게 풀 수 있다.
보통 연구실은 8개 정도의 gpu를 사용한다.
클러스터를 잘 가꾸어 놓으면 같은 문제라도 빠르게 처리할 수 있다.4

** computer cluster : 러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 말한다.

pytorch는 조금 더 직관적이다. (공부하는 초보자 전용)
tensorflow는 조금 더 머리를 써야함!! (기업에서 주로 사용) //user friendly 하게 component를 갖다가 크게크게 쓸 수 있다.

4.Models
: 위를 기반으로 model을 만든다. AI 기반 model을 만들고 충분히 test한다.

5. Model Serving
 : test 했을 때 제대로 나온다면 배포를 한다.

 

 

(2) Computer Vision

 

: AI를 영상과 접목시킨 분야

 


1. classification 
: 이미지를 computer에게 보여주면 미리 정해놓은 class 중 어디에 속하는지 맞추는 과정이다.
하나의 이미지 안에 메인 대상의 카테고리를 맞추는 과정을 말한다.

2. Classification + Localization
: 해당하는 대상이 이미지 전체에 있지 않을 것이다. 여기서 대상의 위치를 찾아내는 것을 localization이라 한다. 영상의 좌표계에서 이미지 사이즈에 맞추어 박스를 생성한다.  좌상단에서의 x,y 값과 그곳을 기준으로의 width와 hight로 bounding box의 위치와 크기를 지정할 수 있다.    

ex) (x,y) (w) (h)//컴퓨터로부터 이 4개의 숫자만으로 위치를 예측할 수 있다.

 
3. Object Detection
: 이미지 안에 여러개의 대상이 있을 때, 여러 대상에 대해 classification과 localization을 진행하는 것을 objet detection이라 한다. 



4. Instance Segmentation
: 대상들을 box기반이 아니라 조금 더 디테일하게 이미지의 경계면을 찾는 것을 segmentation이라 한다.