Head vs breakz
[인공지능] - machine learning roadmap 본문
몇개월 동안 인공지능에 대해 공부하면서 느끼는 것은 결국 머신러닝은 어떤 데이터를 어떤 모델로 학습 시킬 것인가? 이것에 대한 질문을 해결해야 한다.
1. 데이터 : 전처리
가장 기초이자 기본이 되는 부분이다. 어떤 데이터를 사용할지가 제일 중요한 부분이다. 데이터가 존재하지 않는다면, 직접 만들거나 수집을 해야한다. 이러한 데이터들은 학습 알고리즘이 최적의 성능을 내기에 적합한 경우가 드물기 떄문에 전처리 과정을 거쳐야 한다.
전처리 과정이란 ? 쉽게 말한다면 필요한 데이터로 가공하는 것으로 다양한 방법이 존재 한다. 사진을 사용 할 경우, 필요한 부분만 편집하거나, 배경을 삭제 하는 경우가 있을 수 있으며, 데이터 셋을 사용 할때에는 이상치를 없애거나, 표준화 하는 방법이 있다.이 외에도 필요한 특성 추출, 차원 축소, 데이터 샘플링등 다양한 방법이 존재한다.
1.1 데이터 나누기
데이터의 전처리 이후, 모델을 학습 시키기 전에 데이터를 train set와 test set로 나눠서 학습을 시킨다. 이는 train set 뿐만 아니라 새로운 데이터에서도 훈련이 잘되고 있는지 확인하는 것으로, 모델 학습에 꼭 필요한 부분이다.
2. 모델 학습
CNN, RNN, DNN 등 학습하고자 하는 데이터에 맞는 모델을 만들거나, 기존에 알려진 모델을 사용하여 학습을 진행한다. 여기서 중요한 점은 유명하고, 많은 사람들이 사용한다고 해서 그 모델이 무조건 적으로 좋은 것은 아니라는 점이다. 데이터와 상황에 따라서 성능이 더 좋을 수도 있고, 나쁘게 나올 수도 있다. 이러한 점을 명심하고 모델 학습을 해야 한다. 모델 학습에서는 교차 검증, 하이퍼 파라미터 최적화 등 좋은 성능을 내도록 값들을 조절하면서 학습을 진행한다.
3. 예측
학습한 모델을 통해 예측을 하는 단계이다. 모델을 학습시키면서 accuracy에 대한 지표를 확인하겠지만, 정작 예측을 들어 간다면, 실망 할수도 있다. 이 단계까지 했으면, 이제부터 시작이다. 원하는 accuracy 얻기 위해 다시 데이터 전처리와 모델 파라미터값 조정등 1번 단계로 돌아가서 계속 반복 진행하면 된다...고통이다....
'Head > 인공지능' 카테고리의 다른 글
[인공지능] - Detectron2 (0) | 2020.06.01 |
---|---|
[인공지능] - Object Detection - one/two stage (0) | 2020.05.04 |
[인공지능] - Coco dataest (0) | 2020.05.04 |
[인공지능] - Focal Loss for Dense Object Detection (0) | 2020.05.04 |
[인공지능] - Gradient Clipping (0) | 2020.03.24 |