[NEWS][AI 히어로즈] 제1부: 컴퓨터 비전(CV), 딥러닝 모델 웨비나 리뷰

2022-11-15





안녕하세요, AI 히어로즈입니다!

지난 11월 3일, AI 히어로즈가 진행했던 웨비나가 잘 끝마쳤습니다 :) 

총 3분의 연사분들과 함께 진행되었던 만큼 각 분야에 대해 자세히 강연을 진행해 주셨는데요,

강연해 주신 연사분들과 시간 내서 함께해 주신 모든 분들께 감사 인사드립니다!


이번에 진행된 AI 히어로즈 웨비나에 대한 자세한 내용과

웨비나에서 못다 한 답변을 포스팅할 예정이오니 궁금하시다면 포스팅을 끝까지 주목해 주세요:)  






제1부 컴퓨터 비전을 위한 딥러닝 : 모델 학습의 한계와 문제 해결

웨비나 1부에서는 '컴퓨터 비전'에 대해 진행이 되었습니다. 알체라 소속 연구원이신 '김지수'연구원님께서  함께 해주셨습니다!


  1. 컴퓨터 비전과 딥러닝 소개

  2. 데이터 수집부터 모델 학습까지

  3. 모델 학습 한계점 및 해결 방안

  4. 최신 기술 동향





1) 컴퓨터 비전 이란?

간단하게 컴퓨터가 디지털 이미지 또는 비디오로부터 높은 수준의 이해를 얻는 방법을 다루는 AI 분야입니다. 


다양한 센서 중 카메라를 통해 이미지 정보를 숫자로 저장하고 학습 데이터를 통해 숫자 배열의 

특징, 패턴 등을 분석하여 알고리즘을 개발하는 것을 '컴퓨터 비전'이라고 합니다. 


컴퓨터 비전 Task는 다음과 같습니다. 

  • 객체 분류(Classification) : 이미지에서 어떤 객체가 포함되어 있는지 분류 (강아지 or 고양이)

  • 객체 검출(Object Detection): 객체 각각의 위치를 바운딩 박스로 표현하며 분류

  • 객체 분할(Segmentation) : 바운딩 박스가 아닌 픽셀 단위로 객체의 영역을 구분


딥러닝이란?

독자적인 하나의 분야가 아닌 학습 방식을 통해 알고리즘을 개발하는 머신 러닝 기법 중 하나입니다. 


<딥러닝  장점>

  • 머신러닝이 feature extraction과 classification을 따로 해야 하는 반면에 딥러닝은 피처 추출과 classification 부분을 하나로 통합하여 학습합니다. 

  • 피처 추출은 객체의 특징을 얼마나 잘 표현할 수 있는지 초점을 두고 있다고 합니다. 

  • 기존에는 다양한 추출 방식을 통해 테스트를 해야 했지만, 딥러닝은 학습을 통해 자동적으로 수행합니다. 

 

 2) 실제 데이터 수집부터 모델 학습에 관한 프로세스


 


다음으로 간단한 개념 설명과 함께 실제 데이터가 수집 방법과 모델 학습 방법에 대해알려주셨습니다!


일반적인 머신러닝 프로세스는 다음과 같다고 합니다. 

1) 해결해야 되는 문제 확인 후 관련 데이터를 수집하고 불필요한 데이터는 필터링을 통해 걸러냅니다. 

2) 학습을 위해 이미지에 대한 정답을 만든 후 해당 데이터를 바탕으로 딥러닝 모델 학습 진행됩니다. 

3) 딥러닝 모델이 동작하는지 품질 평가가 이루어집니다. 


<오픈 db 활용 시>

실제 다양하고 방대한 데이터를 직접 수집하기에는 어려움이 있어 오픈 되어있는 DB(DataBase)를 활용하기도 하는데요,

기존에 공개되어 있는 오픈 DataBase들을 소개해 주셨습니다. 


① 코코 DB : 객체 검출 활용 / 약 12만 장의 하습 이미지로 총 80개의 카테고리로 구성 

② BDD 100K: 도로 주행으로 취득, 자율 주행 객체 인식 등 활용 / 약 10만 장의 이미지 보유, 주행 중 발견한 10가지 카테고리로 구성

③ 비즈 드론 DB : 실제 드론으로 촬영/ 만 장의 이미지, 다양한 각도 및 스케일로 구성


모델 학습을 위해서는 데이터와 그에 맞는 label이 필요하며 공개된 DB를 사용하면 이미 label이 설정되어 있어 학습에는 문제가 없습니다. 


<실제 데이터 수집 시> 


하지만 수집한 원천 데이터에 대해 label을 부여해야 할 때에는 CVAT와 같은  데이터 라벨링 툴을 활용하여 

객체의 bounding box, class를 지정하기도 합니다. 


딥러닝 모델 학습은 다음과 같은 과정을 거쳐 학습이 됩니다. 

[모델 동작]

① 딥러닝 모델을 선정 후 실제 데이터베이스에 존재하는 이미지를 입력합니다.

② 딥러닝 모델 파라미터와 연산을 통해 클래스별 스코어가 출력됩니다. 

[정답 비교 및 loss 계산]

③ 이 중에서 높은 스코어를 가진 클래스를 최종 클래스로 판단하여 사전에 정의한 이미지 레이블 정답과 

    딥러닝 모델 결과를 비교합니다. 

④ 결과를 비교하여 최종 loss를 결정하게 됩니다. 정답이 요구하는 결과와 일치할 수 록 loss가 낮아집니다. 

[모델 업데이트]

⑤ loss를 감소하는 방향으로 딥러닝 모델을 업데이트합니다. 


가장 낮은 loss 값을 가지는 모델의 효과적인 weight를 구하기 위해서는 다음과 같습니다. 

1. 모델을 학습시키기 위해서는 초기 weight를 설정해서 임의의 값으로 모델 파라미터 값을 설정합니다. 

2. 그 후 loss와 weight 사이의 gradient(기울기)를 계산합니다. 

3. gradient의 반대 방향으로 weight(파라미터) 값을 업데이트하여 업데이트된 weight를 기준으로 

반복 계산 후 loss가 감소하는 방향으로 weight가 업데이트되며 수렴하게 됩니다. 



시간도 단축시키고 효율적으로 딥러닝 모델을 학습시키기 위해서

Dataset을 이용해 일괄적으로 모아서 처리하는(Batch) 단위로 loss를 계산하고, 해당 loss의 기울기로 딥러닝 모델을 업데이트합니다. 

이러한 과정을 1 iteration 즉, 한 번의 모델 업데이트가 진행됩니다. 


이러한 iteration 과정이 DB 전체에 진행이 되었다면 이를 1 epoch라고 정의를 합니다. 

*1epoch = batch 단위로 업데이트 진행 시 Dataset 전체를 고려한 시점 

epcoh 단위로 학습이 진행됨에 따라 로스가 어느 정도 수렴을 하게 된다면 학습을 종료하고 

해당 모델 weight(가중치, 파라미터) 값을 저장하여 테스트에 사용합니다. 


따라서 딥러닝 모델 업데이트는 딥러닝 모델을 구성하고 있는 weight(파라미터) 값을 수정하는 과정이라고 볼 수 있습니다. 


3) 모델 학습 한계점 및 해결 방안

딥러닝 모델을 학습하다 보면 의도와 다르게 잘못된 결과가 출력 될 수 있다고 합니다. 

딥러닝 모델 학습에 이러한 문제점이 생기는 이유와 그 한계점은 다음과 같이 해결할 수 있습니다. 


문제점 1. 데이터 다양성 부족

 


입력한 데이터와 결괏값이 달라질 때에는 데이터 다양성이 부족하기 때문에 문제가 발생할 수 있습니다. 

위 예시와 같이 실제 의도한 학습은 숫자 4와 8을 구분할 수 있도록 학습을 하였지만,

출력된 데이터는 입력된 색상으로만 이미지와 결과값이 다르게 나왔기에 딥러닝 모델 데이터 학습 시 다양한 환경의 이미지가 학습되어야 합니다. 


해결 방안: 실제 DB를 그대로 사용하기보다는, augmentation을 통해 이미지를 여러 방면으로 변형을 준 후 

학습시키는 방법이 있습니다. 모델이 한쪽으로 편향되게 학습하는 경우를 최대한 방지할 수 있습니다. 


문제점 2. 데이터 불균형

 

다수의 카테고리 안에서 빈도수가 낮은 경우에는 데이터 불균형이 발생합니다. 

불균형 상태로 학습을 하게 된다면 성능 저하가 발생할 수 있습니다. 

class의 개수가 부족한 경우, 딥러닝 모델이 학습 이후 데이터 분류에 불균형이 발생할 수 있습니다. 

해결 방안: 부족한 데이터를 채워줄 수 있는 방법으로는 GAN(이미지 생성 모델)을 사용할 수 있습니다. 

이미지 생성 모델은 Gnerator와 Discriminator로 진짜와 가짜 이미지를 구별하도록 하는 모델입니다. Gnerator가 생성한 이미지를 사용하여 

원하는 카테고리의 이미지를 임의로 생성할 수 있습니다. 따라서 부족한 데이터를 채워 효율적인 모델 학습을 할 수 있게 됩니다. 

*GAN에 대해 더 자세한 궁금한 사항은 [AI 히어로즈] 가이드북을 참고해 주세요!


문제점 3. Overfitting


일반화 성능 감소인 Overfitting이 발생할 수 있습니다. 

딥러닝 모델 학습을 진행하다 보면 loss가 낮다고 항상 좋은 성능을 보여주지 않는 것처럼 경계선을 설정하여 항상 loss를 줄이려고 하다 보면 

새로운 입력에 대한 성능이 떨어질 수 있습니다. 



해결 방안 : 학습에 사용되지 않는 Validation Data(검증 데이터)를 따로 두어 함께 loss를 측정합니다.



Validation loss가 감소하다가 증가하는 지점이 발생한다면 그 지점이 일반화 성능이 저하되는 지점으로 판단할 수 있습니다. 

발생한 해당 지점에서 학습을 중단 시키고 딥러닝 모델 파라미터 값을 최종적으로 테스트에 활용합니다. 

이 외 문제 난이도에 맞는 모델 선정을 함으로써 오차를 줄일 수 있습니다. 


문제점 4. Local minimum

Gradient descent(기울기 하강법) 특성상 초기 weight를 어디서 시작하는가에 따라 local minimum이 발생할 수 있습니다. 



해결 방안 : 이러한 local minimum을 해결하기 위해서는 적절한 learning rate를 설정하여 local minimum에 빠졌을 때

빠져나올 수 있는 환경을 만들 수 있습니다. 

learning rate의 경우 epoch에 따라 감소시켜 loss가 수렴되기 용이하게 만들기에 해결할 수 있습니다. 


4) 최신 기술 동향

<준지도 학습>

 


레이블 되지 않은 데이터를 얼마나 효과적으로 활용할 수 있을까 하는 점이 핵심이며, 실제 레이블 작업에는 많은 시간과 비용이 들어가기 때문에 

준지도 학습을 통해 기존 데이터에서 작은 객체 또는 레이블 되지 못했던 객체까지 정상적으로 추가된 모습을 보입니다. 


기존 labeled 데이터로만 학습한 것보다 unlabeled(준지도 학습)을 추가한 경우 뛰어난 검출 성능을 보여줍니다. 


결론적으로는 딥러닝 모델 학습에는 문제에 맞는 적절한 DB 수집 및 정제가 중요하며,

문제의 난이도와 DB의 다양성을 고려하여 적절한 딥러닝 모델 선정이 필요하다고 합니다. 


효율적인 모델 개발을 위해 실제 학습 및 테스트를 통해 발생하는 문제점들을 분석하고 그에 맞는 해결 방안을 적용하고 있다고 합니다. 


총 30분 동안의 강연을 진행해 주시면서 정말 유익한 내용을 전달해 주셨습니다! 다시 한번 감사드리며, 

웨비나 시간 관계상 답변을 드리지 못한 질문은 간단한  Q&A 형식으로 공유 드립니다.



컴퓨터 비전 Q&A

Q. 고화질로 가면 처리 속도 문제로 UI delay는 없나요?

A. 물론 고화질로 갈수록, 즉 딥러닝 입력의 크기가 커질수록 처리 속도가 늦어지고 그에 따른 delay가 발생할 수 있습니다. 

이는 모델 구조의 최적화와 quantization을 통한 최적화로 조율해가면서 어느 정도 해결할 수 있다고 생각합니다.


Q. 우리나라는 해외 대비 산업 내 인공지능 활용도(도입률)이 상대적으로 낮다고 평가받고 있는데 그 이유가 있을까요?

A. 국내에서도 현재 인공지능 활용이 활발하게 이루어지고 있다고 알고 있습니다. 

기존에는 딥러닝이 GPU와 같은 고사양의 하드웨어를 요구하여 실제 대량 생산 및 상품성에 있어서 효율이 나오지 않았지만 

최근에는 많은 최적화 및 경량화를 통해 핸드폰, 저가 보드에 대해서도 실시간 동작이 가능하여 활발하게 연구가 이루어지고 있습니다. 


Q. 컴퓨터 비전은 개발 직무에 가까운가요, 데이터 분석 직무에 가까운가요? 

A. 둘 중에 고르자면 개인적으로 개발 직무 쪽에 가깝다고 볼 수 있습니다. 

컴퓨터 비전에서 결과적으로 주어진 데이터를 해석할 수 있는 알고리즘 개발이 핵심입니다. 최근에는 데이터조차 알고리즘을 통해 재생 성하여 

활용하고 있습니다.


Q. 최근에 인공지능 딥러닝 학습 커리큘럼을 보면, 어느 정도 평준화된 것 같습니다. 그럼 대학원에서 배우는 학습 수준이 2년제 대학교에서 배워도 충분히 현업에서 적용이 가능한 수준으로 내려왔나요? 비전 관련 유망 기업 또는 직무로는 무엇이 있을까요?

A. 딥러닝에 대한 기본 지식을 숙지하고 있다 와 이를 현업에서 적용 가능한 건 다른 문제인 것 같습니다. 

대학원에서 얻을 수 있는 건 단순히 수업에서 배우는 내용뿐만 아니라, 실제 자신만의 아이디어를 고민하고,

이를 실험을 통해 입증하고, 개선하는 과정을 통한 문제해결 능력이라고 생각합니다. 이는 결과적으로 현업에서 큰 이점으로 작용하는 것 같습니다.


Q. 컴퓨터 비전 관련 최신 동향 논문을 알 수 있을까요?

A.  컴퓨터 비전 관련 최신 동향 논문은 매우 광범위하기 때문에 웨비나 에서 강조했었던 semi-supervised learning에 대한 내용 위주로 공유드리겠습니다.


<논문>

1. End-to-End Semi-Supervised Object Detection with Soft Teacher, ICCV 2021

2. PseCo: Pseudo Labeling and Consistency Training for Semi-Supervised Object Detection, ECCV 2022

3. Active Teacher for Semi-Supervised Object Detection, CVPR 2022

4.Consistent Targets Provide Better Supervision in Semi-supervised Object Detection, arXiv:2209.01589


이렇게 컴퓨터 비전과 딥러닝 모델 학습에 대한 답변까지 모두 완료가 되었습니다 :) 

웨비나 강연에 대한 내용은 아래 'AI 히어로즈' 유튜브 채널에서도 확인이 가능합니다! 



다음 편에는 제2부 '음성'에 관련된 웨비나 강연 리뷰에 대해 설명해드릴 예정이니 많은 관심 부탁드립니다!


AI 서비스 도입은 AI HEORES!

Connecting Business with AI Service

AI HEROES

Alchera | 대표자 : Young Kyu Hwang | 사업자등록번호 : 643-87-00337

개인정보처리책임자 : Gwang Cheol Na | aiheroes@alcherainc.com | 02-2135-3936

Copyright © 2021 AI HEROES all rights reserved