논문구현

컴퓨터비전 최신 SOTA 모델로 프로덕트 성능 개선하기

#SOTA #컴퓨터비전 #딥러닝


1. 딥러닝 엔지니어들의 고민?

딥러닝 프레임워크 (python, pytorch,tensorflow..)도 다룰 줄 알고, CNN 관련 모델을 구현해본 경험도 있지만..컴퓨터비전 오픈 소스를 활용하거나 논문 코드를 구현해서 내 모델에 적용시키거나, 내 알고리즘의 성능을 개선시켜 궁극적으로 원하는 결과를 얻는 것이 힘든 분들 계신가요?

여러분이 겪고 있는 고민을 해결하기 위해서는 무엇보다 ‘제대로 된 논문 코드 구현’을 할 줄 알아야합니다.

실무 환경에 따라 모델을 적용해야 하는데 논문에서 말하는 모델의 특징을 잘 이해하지 못하여 구현된 코드의 의미를 파악하지 못한 상태에서 코드를 적용하면 원하는 결과를 얻기 어려울 것이고, 시행 착오 또한 많이 겪게 되기 때문에 논문 구현이 어렵다고 느낄 것입니다. 또한 오픈 소스를 활용하면 구현의 시간을 단축하는데 도움이 되지만 본인 혹은 회사의 코딩 스타일이나 룰에 맞지 않을 수 있고, 이해하지 못한 상태에서 편의상 그냥 코드를 적용하여 잠재적 이슈가 포함된 모델이 될 수 있습니다. 오픈 소스를 이해해서 원하는대로 수정하거나 적용 가능하게 내 것으로 만드는 것이 우선되어야 하기 때문에 궁극적으로 더 나은 엔지니어가 되기 위하여 논문 코드 구현을 할 줄 알아야 합니다!


2. 논문 코드 구현 학습으로 내 고민 해결!

그럼 논문 코드 구현을 배우면 어떻게 달라질 수 있을까요?

Next step으로 넘어가고싶은 주니어 엔지니어 고민 해결
논문으로 구현된 오픈소스를 보고 현업에서 서비스에 적용하기 위한 프로토타입을 빠르게 구현해서 시니어 엔지니어로 올라가기 위한 하나의 벽을 허무는 데에 도움이 될 수 있습니다.

AI 분야로의 이직 및 업종 전환이 필요한 시니어 엔지니어의 고민 해결
배우지 않은 것들 이외에 스스로 논문을 적용하는 부분과 실제 개발과정에서의 문제를 해결하며 이해도를 높일 수 있습니다.

최신기술 동향 파악이 필요한 관리자 및 C-Level의 고민 해결
비즈니스 측면에서 실제 알고리즘에 대한 이해와 최신 논문 구현 오픈소스들의 활용법에 대한 궁금증을 해소해 vision deep learning 분야의 트렌드가 어디로 향하고 있는지 파악하는데 도움이 됩니다.

결국! 논문을 잘 이해하면 정확도가 높은 새로운 모델을 만들어내거나 training에 대한 시행 착오를 줄이는데 많은 도움이 됩니다.
최신기술 동향까지 파악할 수 있다는 것도 장점이지요.


3. SOTA 모델로 알고리즘 성능 개선하기

그런데 내 프로덕트 성능을 개선하고, 최신트렌드를 파악하기 위해서는 도대체 어떤 논문 코드 구현을 배워야 할까요?
바로 컴퓨터비전의 최신 SOTA 모델입니다!

1) SOTA 모델이란?

‘SOTA’'State-of-the-art'의 약자로, '현재 최고 수준의 결과'를 가진 모델로, 현재 수준에서 가장 정확도가 높은 모델을 의미합니다.

2) 컴퓨터비전 SOTA 모델 학습이 필요한 이유

컴퓨터비전과 같은 분야의 경우 최신 기술/최신 연구 내용이 매우 종요한 분야입니다.
계속해서 새로운 SOTA(State-of-the-art) 알고리즘이 출시되고 있고, 내가 열심히 사용한 알고리즘보다 성능이 뛰어난 알고리즘이 나온다면 지금 짜고 있는 코드가 무용지물이 될 수 있기 때문입니다. 그렇기 때문에 문제와 데이터에서 얻은 인사이트로 급변하는 컴퓨터비전 현업 문제에서 가장 정확도가 높은 SOTA 모델로 내 알고리즘의 성능을 개선시키는 작업이 필요한 것입니다!


4. 컴퓨터비전 SOTA 모델의 실무 적용 사례

그럼 컴퓨터비전의 최신 SOTA모델을 실무에 어떠한 방식으로 적용해볼 수 있을까요?

1) 피부암을 AI로 감별하여 진단할 수 있는 SOTA 모델 적용

이 프로젝트는 암 진단을 필요로 하는 의료 분야에서의 실무 적용 사례이며, 'Deep Residual Learning for Image Recognition (2016, CVPR)' 논문의 ‘ResNet-152’ 모델을 적용하여 진단에 활용 가능합니다.

암 진단 정확도를 평가하는 데에는 질병을 가지고 있을 때 질병이 있다고 진단하는 민감도와 질병을 가지고 있지 않을 때 질병이 없다고 진단하는 비율인 특이도가 사용되는데요. 딥러닝 기반의 인공지능 모델 ResNet-152로 악성 흑색종을 진단한 결과 민감도는 91%, 특이도는 90.4%의 결과를 얻어낼 수 있었습니다.

어떻게 이러한 결과를 얻어낼 수 있었던걸까요? 바로 피부 종양의 악성 여부를 나타내는 종양의 비대칭성과 가장자리 불규칙성 등을 분석할 수 있도록 인간의 시신경을 본뜬 합성곱 신경망(CNN) 구조로 이뤄진 인공지능 모델 ‘ResNet-152’에 2만여 개의 피부 종양 사진을 학습시킨 후 추가로 2,500여 장의 사진을 판독시켜 얻어낸 결과입니다.

‘ResNet-152’ 모델은 영상 인식 분야에서 사람과 필적한 성능을 보이는 것으로 알려진 마이크로소프트의 인공지능 모델인데요. 이 모델을 활용해 높은 적중률로 피부암을 진단함으로써 의료 접근성을 높여 피부암 조기 진단 및 치료에 도움을 줄 수 있습니다.

이렇게 최신의 컴퓨터비전 SOTA 모델을 활용함으로써 사람이 아닌 AI를 통해서도 악성 피부암의 조기 진단이 가능한 시대를 만든 것이죠!

2) 직종별 SOTA 모델 적용에 따른 기대 효과

컴퓨터비전의 SOTA 모델은 다양한 직종에 적용하여 성능을 개선할 수 있는데요. 예를 들어 제조업에서는 VIT (Vision Transformer) 및 Convolution Network 모델 등의 학습을 통해 불량 탐지를 자동화하여 수율을 높이고, 편리성도 개선할 수 있습니다.

Vision Transformer (VIT)

Transformer를 활용한 Computer Vision 모델인 Vision Transformer (VIT)와 같은 최신 SOTA 모델을 학습하여 제조업 불량 검출 프로젝트를 개선해볼 수 있습니다!

출처: ‘An Image is Worth 16*16 Words: Transformers for image Recognition at Scale (2021, ICLR)

VITTransformer를 Image patch의 Sequence에 적용하여 Classification을 수행합니다.
Transformer는 Computational efficiency와 Scatability한 속성을 갖고 있어 매우 큰 크기의 모델로 확장합니다. 큰 크기로 확장된 Transformer를 매우 큰 크기의 데이터셋으로 학습하여 SOTA를 달성할 수 있습니다.
이 모델을 학습한다면 제조업에서의 불량 검출에 활용할 수 있게 되죠!

또한 제조업이라고 해서 양산만 있는 것이 아니기 때문에 디바이스에 들어가는 소프트웨어에도 적용할 수 있습니다.
연구 조직의 경우에도 SOTA 모델 최신 논문을 꾸준히 트래킹하여 연구하고 직접 논문 작성을 하는 과정이 필요할 것이고, 이러한 일련의 활동들이 새로운 아이디어 도출에 큰 도움이 되기도 합니다.


지금 패캐머들이 읽고있는 BEST 아티클이 궁금하다면

이 글과 연관된 주제의 추천 강의