본문 바로가기
Machine Learning

딥러닝에서 중요한 것

by 임아톰 2021. 2. 1.

Intro

'딥러닝을 잘한다는 건 무엇을 잘하는 거지?' 친구와 이 주제로 얘기를 한 적이 있었는 데 당시엔 결론 없이 이런 저런 이야기를 주고 받았던 기억이 있습니다. 아래의 영상이 이에 대해 좀 더 생각해 볼 거리를 주는 것 같아 정리를 해두려 합니다. 길지 않은 영상이니 관심 있다면 보시는 걸 추천드립니다.

 

www.youtube.com/watch?v=A1rhMGibVc8&t=1s

딥러닝이 많은 걸 바꿔 놓았다.

딥러닝이 많은 걸 바꿨고 앞으로 더 많은 걸 바꿔 갈 것으로 보인다딥러닝을 활용하지 않은 방식보다 딥러닝을 활용한 경우가 결과가 훨씬 좋은 경우가 자주 보이고 또 테슬라의 Full Self Driving과 같은 딥러닝의 결과물도 속속들이 나오고 있다. 딥러닝의 성공적인 프로젝트가 많이 나오면서 딥러닝에 대한 시각도 과거와 많이 달라지고 있다.

 

일반적으로 과거에 딥러닝의 단점으로 여겨졌던 것들로

1. 데이터가 많이 필요하다는 것

2. inference에 연산이 많이 필요하다는 것

이 있는데 딥러닝 프로젝트의 결과물이 좋게 나오니 이에 대한 투자가 아낌없이 이루어지고 있다. 또 과거보다 HW 성능도 좋아졌고 NPU같은 인공지능 연산에 특화된 HW도 나오고 있다.

 

딥러닝에도 디버깅이 필요하다

일반적인 프로그램에서 버그가 발견되면 버그를 찾기 위해 코드의 문제점을 찾아 버그를 해결했었다. 

 

딥러닝 솔루션의 버그는 사람이 실수한 것일 수도 있는데 그 외에도 우리의 예상과 다른 결과가 나타난 걸 버그라 할 수 있다. 이런 것들을 false positive / false negative한다.( 거짓 음성, 거짓 양성, 잘못된 결과를 말한다)

 false positive, false negative를 만들어낸 데이터를 역으로 찾아가서 데이터를 분석하고 그 것과 가장 비슷한 데이터를 많이 확보해서 Neural Network를 학습 시키고  false positive, false negative가 고쳐졌는지 찾아보는게 딥러닝의 디버깅 방식이다.

 

딥러닝의 핵심 가치는?

일단은 데이터가 중요하다. 시작이 반이라는 데 데이터가 없으면 시작도 못한다. 그리고 데이터는 대부분 큰 회사가 가진 자산이다.

또 하나 뽑으면 infrastructure(자동으로 학습을 시킬 수 있는 구조)를 뽑을 수 있다. 하지만 이제는 infrastructure는 너무나 당연한것이라 더이상 핵심가치가 아닌 것 같다.

 

우리 개인들이 가져갈 수 있는 능력은?

어떠한 문제를 봤을 때 어떤 방식으로 딥러닝을 적용시킬지 생각해내는 게 개인이 가져갈 수 있는 핵심 가치이다.

실제 우리가 보게 될 업무는 raw datagoal(최고의 퍼포먼스)만 존재하는 데 raw data에서 input domain을 어떻게 설정할지 이걸 바라보는 관점 자체가 중요하다.

 

 사람마다 문제를 해결하는 방식이 다를 것이다. 뉴럴 네트워크는 transfer learning을 한다든지 regression model로 만든다든지 classification model을 넣는다든지 할 수 있다. label 데이터와 뉴럴 네트워크가 예측해낸 결과를 어떻게 distance를 정의할 것인지 사고하는 것이 중요하다.

 

예를 들면, 누군가는 raw데이터를 보고 3d 정보를 뽑아서 인풋 도메인을 보고 누간가는 temporal data까지 인풋 도메인으로 놓고 누군가는 2d 데이터만 인풋데이터로 볼 수 있다. 모호한 문제를 봤을 때 어떻게 접근하면 되겠다는 intuition 자체가 중요한 능력이 됨.

 

딥러닝에는 데이터가 중요한데 분야에 따라 데이터를 무제한으로 만들어낼 수 있는 분야가 있고 시뮬레이션으로 만든 데이터를 활용할 수 있는 분야도 있다. 이를 활용하여 제품까지 만들어내는 게 딥러닝으로 개발자가 가져갈 수 있는 가치이다.

반응형