- 2018년 7월 18일 오후 11:49
- 조회수: 1498
김영훈
2018 ICML에 참석하고 돌아왔다. 이번 ICML은 스웨덴 스톡홀름에서 열렸는데 굉장히 많은 참석자들이 참가를 했다. 작년 대비해서 50%가 증가했다고 하는데 인공지능에 대한 열기를 직접 몸으로 실감할 수 있는 계기가 된 것 같다. 기존에 많은 학회들을 다녔었지만 이번과 같이 기계학습에 집중이 된 학회는 이번이 처음이어서 출발하기 전부터 많은 기대를 하고 참석을 했었다. 실제로 참석을 해서 굉장히 좋은 연구들이 광범위하게 연구되고 있는 모습들을 보니 뒤쳐지지 않기 위해서 좀 더 긴장해서 연구를 열심히 해야겠다는 생각이 들었다. 그리고 또 한편으로는 앞으로 기계학습이 빠르게 발전해나가고 우리 삶을 바꿔나갈 것을 생각하니 뭔가 설레고 열정이 생기는 계기가 된 것 같다. 지금 당장은 현실 세계에서 새로운 가치를 창출해내는 결과들이 많이 나오지는 않았지만 많은 연구자들이 열심히 연구하고 있는 모습 가운데서 큰 잠재력을 느낄 수 있었고, 큰 변화를 만들어낼 것으로 기대가 되었다. 가깝게는 무인자동차, 인공지능 개인비서부터 시작해서 향후에는 인간의 지적인 노동을 대체할 수 있는 전문가 로봇까지 무한한 발전과 개발의 가능성의 출발점에 서있다고 생각하니 나는 앞으로 어떤 일을 해야 할까하는 생각도 많이 하게 된 것 같다.
다양한 발표들을 접하고 들으면서 개인적으로 생각을 정리해봤을 때 최근에는 딥러닝 기반의 방법론들을 현실 세계에 적용하는 과정에서 발생할 수 있는 문제들을 해결하는 연구들이 많이 진행되고 있다는 생각이 들었다. 개인적으로 관심이 많이 갔던 문제들은 Adversarial Example 문제, Network Compression 문제, Imitation Learning 문제들이 있었다.
Adversarial Example 문제는 Deep Learning 방법론의 한계점으로 지적되어 왔던 문제인데 현재 예측이 잘 되는 이미지에 약간의 Noise만 추가되더라도 전혀 다른 결과로 예측해버리는 문제이다. 이러한 현상이 나타나게 된 배경에는 Deep Learning 모델들이 가지고 있는 굉장히 큰 Model Capacity와 연관이 있지 않을까하는 추측이 있지만 아직 왜 이러한 현상이 나타나는지는 명확히 규명되지 않았다. 이러한 현상은 모델의 강건함과 관련해서 큰 문제가 될 수 있다. 만약 자율주행 자동차에 도로와 가드레일을 구분하는 딥러닝 모델이 탑재되있는데 어떤 특이한 도로 구간에서 모델이 가드레일과 도로를 잘못 구분하는 Adversarial Example이 생길 수 있다면 큰 참사가 일어날 것이다. 그리고 환자의 질병을 진단하는 딥러닝 모델이 Adversarial Example에 의해서 잘못된 진단을 내린다고 해도 개인에게는 큰 문제가 될 수 있다. 이러한 한계점은 딥러닝 모델을 사용하는 시스템에 대한 공격에도 이용될 수 있는데 해당 시스템의 딥러닝 모델의 작동을 방해하는 Adversarial Example 생성기가 해당 시스템을 마비시킬 수도 있다. 이와 같이 중요한 Adversarial Example 문제는 Dawn Song 교수님의 AI and Security: Lessons, Challenges and Future Directions라는 초청 강연에서 중요하게 다뤄졌고, 올해의 Best Paper인 Obfuscated Gradients Give a False Sense of Security: Circumbenting Defenses to Adversarial Examples에서도 중점적으로 연구되었다. 그리고 그 외에도 Adversarial Example이라고 하는 이름으로만 세션이 여러 개 열릴 정도로 활발하게 연구되고 있었다. 이 연구에서 재미있었던 점은 공격측과 수비측이 나눠져서 연구가 진행된다는 점이었다. 공격측은 모델이 잘 작동하지 못하게 하는 Adversarial Example들을 만드는 연구를 진행하고, 수비측은 그러한 공격에 대비해서 항상 강건한 예측 결과가 나올 수 있도록 모델을 학습시키는 방법들을 연구한다. 이와 같이 양쪽이 서로에게 긍정적인 피드백을 주며 발전함으로서 궁극적으로는 우리 실생활에서도 안전하게 사용할 수 있는 Deep Learning 모델을 학습할 수 있는 방법들이 많이 개발될 것으로 예상되었다. 그리고 이러한 연구 과정에서 다양한 Optimization 기법들이 사용되고 있어서 개인적으로도 많은 흥미가 생기는 분야였다.
Network Compression 문제는 Deep Learning 모델들을 현실 상황에 적용하면서 생길 수 있는 과도한 Memory 사용, 전력 사용 문제를 해결하기 위해 연구되고 있는 주제이다. 현재 Deep Learning 모델들을 학습시키기 위해서는 많은 Computation 비용이 수반된다. 여러 개의 GPU가 설치되어 있는 서버에서 몇 일간 학습을 해야 하고 학습이 된 모델을 이용해 예측을 하는 과정에서도 많은 계산량이 요구되고 있다. 이러한 Deep Learning 모델들을 모바일 기기나 소형 컴퓨터들에 이식해서 현실에서 사용하기 위해서는 많은 제약이 따른다. 특히 많은 파라미터 수로 인한 과도한 Memory 사용 문제, 전력 사용 문제는 큰 걸림돌이 되고 있다. 그래서 이러한 문제를 해결하기 위해서 많은 연구자들은 기존의 예측 성능을 유지하면서 파라미터수를 줄여서 좀 더 효율적인 Deep Learning 모델들을 학습하는 방법들에 대해서 연구를 하고 있었다. 연구의 흐름은 먼저 크게 학습된 Deep Learning 모델에서 불필요한 파라미터들을 제거하는 Pruning 방법과 모델을 학습하는 과정에서 중요하지 않은 변수를 동시에 제거하는 Regularization 방법으로 구분이 되고 있었다. 이를 기존의 Machine Learning 모델링 관점에서 해석하면 좀 더 Sparse한 모델을 만드는 과정이라 할 수 있다. 가장 간단한 최적화 기반의 Machine Learning 모델인 Linear Regression에서는 Testing 과정에서의 예측 오차를 줄이고 중요한 변수를 선택하기 위해서 Sparse한 Regularization 방법론들을 이용했다. 그런데 Deep Learning에서는 중요 변수를 찾는 해석적인 역할을 할 수는 없지만 사용되는 파라미터 수를 줄일 수 있는 과정에 사용될 수 있다는 사실이 흥미로웠다. Deep Learning의 등장으로 한동안 잊혀졌던 Regularization 방법론들이 Deep Learning에 의해서 새로운 역할로 다시 조명받고 있지 않나하는 생각이 들었다. Machine Learning을 공부하다보면 Occam’s Razor라고 하는 단어를 자주 접하게 된다. 원래는 단순성의 원리, 경제성의 원리라고도 불리는데 Machine Learning에서는 동일한 성능을 내는 두 개의 모델이 있을 때 좀 더 단순한, Model Capacity가 낮은 모델을 선택하는 것이 좋다는 원칙을 얘기할 때 많이 사용된다. 이는 Deep Learning에서도 마찬가지로 적용된다고 생각된다. 두 개의 비슷한 성능을 내는 모델이 있을 때 좀 더 파라미터 수가 적고 단순한 모델을 선택해야 한다. 만약 모델링을 하는 과정에서 성능이 비슷하면서 모델을 더 단순하게 만들 수 있다면 우리는 단순성의 원리에 따라 좀 더 단순한 모델을 만드는 것이 적합할 것이다. 이 문제와 관련해서는 Max Welling 교수님의 Intelligence per Kilowatthour가 굉장히 좋은 Insight를 주었고, 구글에서 발표한 Efficient Neural Audio Synthesis도 굉장히 흥미로웠다. 그 외에도 Neural Network Architecture Session에서 다양한 Compression 연구들이 다뤄지고 있었다.
Imitation Learning 문제는 Reinforcement Learning을 현실 상황에 적용함에 있어서 발생할 수 있는 문제를 해결한 연구 주제이다. Reinforcement Learning은 우리가 훈련 과정에서 정확한 Label이나 Value를 얻을 수 없고 대신에 Reward라고 하는 간접적인 Target을 이용하는 Learning 방법이다. 이 때문에 일반적으로 굉장히 많은 데이터가 시뮬레이션을 통해 생성이 되야지 모델이 적절하게 학습이 되는 한계점이 있다. 현재 Reinforcement Learning이 활발하게 적용되고 있는 게임 상에서는 이것은 큰 한계점이 되지는 않는다. 왜냐하면 게임이라는 가상현실은 우리가 계속해서 반복 실험을 진행할 수 있는 조정이 가능한 환경이기 때문이다. 하지만 현실 상황에서는 이와 같은 시뮬레이션을 계속해서 진행할 수 없다. 계속된 실패와 반복을 허용할 수 있는 현실 문제는 그리 많지 않기 때문이다. 이러한 문제를 해결하기 위해서는 우리는 일단 인간이 하는 대로 그대로 따라할 수 있게 Learning 시키는 방법이 필요하고 그러한 일련의 방법론들을 Iimitation Learning이라고 한다. 이 Imitation Learning은 사람 전문가가 했던 상황에 대한 행동들을 데이터화해서 Supervised Learning을 진행한다. 이를 Behavioral Cloning이라고 하는데 많은 데이터가 필요한 Reinforcement Learning 대비해서 좀 더 적은 데이터를 이용해 효과적으로 모델을 학습할 수 있다. 하지만 이것의 한계점은 전문가가 탐색하지 않았던, 경험하지 않았던 상황이 오게 되면 학습된 알고리즘을 제대로된 반응을 할 수 없다. 따라서 우리는 불확실한 상황 변화에 대비한 모델을 만들 수 있어야 한다. 이 문제는 지도학습 데이터를 생성하는 방법을 사람의 개입을 통해 유기적으로 변동시킴으로서 해결할 수 있다. 일반적인 Behavioral Cloning 과정에 Agent가 부딪치게 되는 새로운 상황들에 대해서 인간 전문가의 Labeling을 추가하고 이를 다시 학습에 반영시켜 나가면서 현실에서 인간 전문가를 따라하면서 발생할 수 있는 불확실한 상황들에 대해서 효율적으로 탐색을 하고 여기에 대한 Action을 지도학습을 이용해서 학습해 나가는 방법이다. 이는 기존에 많은 데이터가 필요했던 Reinforcement Learning 문제를 효과적으로 Supervised Learning 문제로 Reduce한 방법론이라 할 수 있다. 이 접근법이 흥미로웠던 점은 기존의 문제의 한계점을 극복하기 위해 단순하지만 굉장히 효과적인 방법론을 제안했다는 점이다. 물론 인간 전문가의 지속적인 개입이 요구된다는 점은 한계점이 될 수 있으나 초기에만 모델을 잘 학습하면 반복적으로 많은 일들을 손쉽게 할 수 있기 때문에 현실에서도 많은 활용이 예상된다. 이와 관련해서는 Yisong Yue 교수님의 Imitation Learning Tutorial Session이 굉장히 도움이 많이 되었다. 이 내용과 관련된 발표자료도 다운받을 수 있어서 공부를 하는 데 많은 도움이 될 것 같다. 이 외에도 다양한 Reinforcement Learning Session들에서 해당 문제가 다뤄졌다.
이와 같이 다양한 연구들이 Deep Learning의 현실 적용 문제에 관련해서 진행되고 있었는데 산업공학도로서 이러한 연구 분위기에서 기여할 수 있는 점들이 많지 않을까 생각이 들었다. 산업공학을 전공하면서 현실 문제를 해결하는 시스템들의 목적을 주어진 제약조건 하에서 최대화하는 방법론들과 관점들을 많이 배워왔다. 이제 Deep Learning 방법론들이 현실 문제를 해결하는 하나의 시스템 또는 그 하부 구조로서 사용되기 시작하는 것 같다. 이 과정에서 다양한 현실 문제들이 발생할 수 있을 것이다. 단순히 앞서 얘기한 3 가지 외에도 다양한 현실 문제들이 생길 수 있을 텐데 이러한 문제들을 산업공학이 강점을 가지고 있는 통계, 수리적 모델링을 이용해서 해결해서 좀 더 강건하고 적절하게 사용될 수 있게 하는 연구들을 해나갈 수 있다면 좋겠다는 생각이 들었다. 이제 Deep Learning 알고리즘은 많은 사람들이 쉽게 구현할 수 있도록 다양한 패키지들이 제공되고 있다. 앞으로는 더 간단하고 쉽게 구축하고 학습할 수 있는 방법들도 많이 나올 것으로 생각이 된다. 하지만 현실 문제 해결 과정에서는 다양한 문제들이 생길 수 있다. 이러한 문제들이 무엇일지 잘 고민하고 미리 생각을 해보는 공부를 꼭 해야겠다는 생각이 들었다.