인공지능 훈련에는 데이터가 얼마나 필요할까?

최종 수정일: 5월 14일


이번 시간에는 How many samples are Needed 논문을 리뷰하면서 모델마다 얼마나 데이터가 필요한지 대략적으로 추정해볼 수 있는 시간을 가져보자. 저자는 단일 CNN 모델과 단일 RNN 모델에 대해 얼마의 데이터가 필요한지 소개하고 있다. Abstract


저자는 CNN과 RNN의 Sample-complexity에 대한 특성을 연구하였다. 이 과정에서 기본적인 DNN 보다CNN과 RNN의Sample-complexity가 작다는것도발견하였는데 DNN의 효율이 별로 안좋았던 것을 경험으로만 알고 있어서 신기하기도 하였다.


본논문에서 고려한 CNN 구조

본 논문에서는 average pooling conv와 weight pooling conv, RNN 3가지를 통계적으로 분석하였다.

여기서 고려한 CNN은 activation함수를 선형함수로 설계하였고 하나의 히든레이어만 놓고 분석하였다.


Sample-complexity란? 머신러닝을 성공적으로 학습하기위해 필요한 데이터의 샘플 수를 나타낸다.

본 논문에서는 샘플 복잡도가 알고리즘 복잡도와 비슷하다고 하였다.


Least-squares estimation

논문에서 해당부분을 습득하기에 상당히 많은시간을 소비했다. 세타위의 모자는 추정량을 나타낸다. 요약하면, 총 레이어가 2보다 작을때 해당 방법을 사용하여 통계적 보장값으로 최소한의 데이터량을 추정할 수 있다곤하나 해당 논문에서는 다루지 않고 다음에 해보기로 했다고 한다. 여기선 gradient decent(경사하강법)을 통해서 데이터량의 추정치를 계산한다고 한다.


경사하강법을 통해 추정치도 구했으니 다음 단계이다. minimax analysis 를 활용하여 main result에서 사용하는값을 구할 수 있는데 식은 위과 같다.



Main result


이제 나온것들을 굉장히 어려운 수식들이 나오며 하나하나 증명해나간다.. 솔직히, 봐도 잘 모르겠어서 글로만 읽었다. 정리하자면 앞서 나온 모델 3가지를 논문에서는minmax rate라는 수식으로 나타내고 각 네트워크의 구조에 따라 최대값최소값의 범위내에서 데이터 샘플이 필요하다고 하였다.

Average pooling을 사용한 CNN의 경우

실험 결과를 보면 필요 데이터 수가 CNN 컨볼루션 필터수가 2일 때는 FNN과 100배정도 차이가 났으며 필터수가 16일 때도 10배정도 차이가 나는것을 볼 수 있다. (이러니 강화학습이 잘안되는 것일 수도 있겠다)


다음은 Stride size를 조절했을 때다

Stride는 작은 컨볼루션 필터가 몇 칸을 뛰어 넘으며 이미지의 배열을 해석하는지 설정하는 값이다.

여기서 놀라운게 stride size가 1일때 (꼼꼼히 다 훑을때)는 FNN과 그렇게 값이 차이나지 않았다. 하지만 띄엄띄엄 읽을 수록 필요한 샘플 데이터수가 많이 줄었다~!(마지막 stride는 8이라고함)


다음은 RNN의 히든레이어 수

RNN은 기본적으로 100배이상 차이가 났으며 히든레이어가 올라갈 수록 샘플 데이터의 양이 늘어났다. 공통점


딥러닝이나 머신러닝을 얘기할 때 항상 따라오는 양질의 데이터는 많으면 많을 수록 성능에 도움이 된다. 하지만, 데이터 = 돈인 현대사회에서 무작정 데이터를 쌓을 수 없기 때문에 적절한 양을 파악하는 것은중요하다. 앞 서 나온 3가지 모델의 공통점은 전체 레이어에 포함된 파라미터양을 줄이면 필요한 샘플 데이터 양이 작아진다는 것을 나타낸다. 물론, 이미지넷 처럼 여러종류의 물체를 분별해야만하는 과제에서는

필연적으로 깊게 쌓은 신경망이 성능이 좋다곤 하지만 일정량의 신경망이 쌓이게되면 그 이상은 자원의 낭비일 뿐인 것이다.


앞으로 개,고양이 두 가지를 분류하는 문제처럼 단순한 문제에는 일부러 큰 모델을 사용하지 않았으면 한다.


결론

해당 논문에서는 아직까지 토론할 것이 많고 수학적/통계적으로 샘플데이터의 양을 계산하기 위해 여러가지 제약이 많았다는 점을 어필한다. (Activation 함수를 선형을 사용한점, CNN의 필터가 하나였던점) 그리고.. 결국에는 얼마나 데이터가 필요한지 말해주지 않는다 ㅠㅠ


앞으로 더욱 복잡한 모델의 필요 데이터 량을 통계적으로 추정해보고 토론해보고 싶다고하며 끝이나는데

좀 찝찝해서 영상을 찾아보았더니 이제는 딥러닝의 블랙박스적 특성을 살펴볼 필요가 있으며 해당 분야에 대한 연구가 꼭 필요한 분야임을 어필하는 부분이 있었다. R&D 과제나 모델을 만들 때 성능에만 관심을 가졌던 나머지 언젠가 데이터는 뒤로 밀려나있었던것 같다. 인공지능 4대천왕 앤드류응 교수님도 데이터 센트릭이라 하셨는데.. 다음 포스팅은 데이터 샘플에 관한 후속연구를 찾아보고 재미있는 연구가 있으면 소개하는 시간이 되었으면 한다.






조회수 19회

최근 게시물

전체 보기