::고려대학교 DMQA 연구실::

Lab. Activity

 

 

 

Lab. Activity>Seminar  

Deep residual network (발표자: 강현구)

작성자 관리자 작성일 2016-07-21 오후 1:48:56
내용

발표자 Summary


강현구

오늘은 이미지 인식에 있어서 탁월한 분류 성능을 보이는 deep residual network를 주제로 세미나를 진행하였다. Deep residual network는 ImageNet Competition 2015에서 압도적인 1위를 한 알고리즘으로, 작년 말에 선보인 논문(Deep Residual Learning for Image Recognition, 2015)과 함께 올해 초 단점을 보완하여 추가적인 논문(Identity Mappings in Deep Residual Networks, 2016)을 선보였고, 오늘 세미나에서는 두 논문 모두 다루었다. 하루가 다르게 등장하는 새로운 딥러닝 논문들은 효과적인 학습을 위해 다양한 네트워크 구조를 제시하는데, 위 논문들에서는 skip connection이라는 간단하면서도 직관적인 아이디어로 예측 성능을 높였다는 점에서 여러 연구원들과 공유하고 싶었다. 딥 러닝 알고리즘들에 익숙하지 않은 연구원들이 여럿 있기 때문에 기초부터 설명하느라 많은 시간이 소요되었지만, 다들 잘 이해하고 따라와준 것 같아서 다행이다. 딥러닝 알고리즘을 주제로 세미나를 진행하면 가장 많이 받는 질문이 '왜 저런 구조를 선택하였나?'인데, 대부분 논문에서는 수학적으로 증명이 되어있기보단 경험적으로 해당 구조가 좋다고 이야기하고 있기 때문에 명쾌한 답변을 하기 힘들었다. 그 이유는 수학적으로 명쾌한 답변을 내놓기엔 아직 딥러닝 분야가 초기발전단계에 있으며, 전세계 많은 연구자들이 여러가지 시도를 해보는 시점이기 때문인 것 같다. 분명한 것은 오늘 소개한 두 편의 논문들로 인해 향후 Convolutional Neural Network에 기반한 딥러닝 알고리즘들이 새로운 패러다임을 맞이하였으며, 이를 바탕으로 앞으로 어떤 연구를 할 수 있을지 고민해볼 필요성이 있다고 생각한다. 딥러닝에 대해 관심을 갖고 있는 여러 연구원들에게 유익한 세미나가 되었길 바란다.

 

청취자 Summary


유재홍

금일 세미나는 Deep residual network에 대한 주제로 진행되었다. Deep residual network은 딥러닝 방법론 중 비교적 최근에 개발된 방법론으로, 이미지 데이터를 분류하고 분석하는데 상당히 높은 성능을 보여준다고 알려져 있다. 또한, 이 방법론을 개선한 Identity Mappings in Deep Residual Networks에 대한 소개도 이루어졌는데, 상당히 흥미로운 방법론이었다. 이 방법론에서는 네트워크 층들 간의 노드들의 정보를 전파하는 과정에서 각 노드들의 정보를 바로 다음 층으로 전파하는 방식 (Plain network)과 각 노드들을 몇 단계 후의 층으로 뛰어넘어서 전파하는 방식을 융합하였는데, 이러한 경우 보다 효과적으로 노드들의 가중치를 업데이트 할 수 있을 뿐만 아니라, 과적합을 방지함으로써 보다 높은 성능을 보여준다고 생각한다. 이는 매우 흥미로운 방법론으로 좀 더 자세하게 공부해보고 싶다는 생각이 들었다. 최근 연구실 세미나에서는 연구자들로 부터 각광을 받고 있는 딥러닝 분야에 대한 내용이 많이 소개되었는데, 이러한 세미나를 들으면서 네트워크의 구조의 구성과 파라미터 설정에 대한 궁금증이 많이 생겼다. 기존의 방법론에서는 이러한 부분들을 실험적으로 결정을 하게 된다고만 소개가 되었는데, 이러한 구조들에 대해서 보다 이론적인 연구가 수행되면 좋을 것이라는 생각이 들었다. 한편, 오늘 세미나 시작에 앞서서 Convolutional neural network에 대한 리뷰가 이루어졌는데, 예전 세미나에서 이해가 되지 않은 부분에 대해서 좀 더 자세하게 알 수 있어서 좋았다.


박영준

금일 세미나에서는 현구가 residual net이라는 모델에 대해 설명을 하였다. 딥러닝에서 레이어의 수가 늘어나면 고 수준의 추상화된 feature를 추출할 수 있으며 많은 기계학습 문제에서 높은 성능을 가져다 줄 수 있다고 알려져 있다. 하지만 레이어의 수를 너무 많이 늘리게 되면 gradient vanishing problem이 발생하여 모델의 성능이 오히려 저하되게 되는데 오늘 설명한 residual net은 이 문제를 해결한 모델이다. Residual net의 핵심 아이디어는 인풋이 몇 개의 레이어를 통과하고 난 아웃풋의 값과 인풋 값의 합을 계산하여 최종 아웃풋을 산출하도록 구성된 신경망 구조이다. 이러한 구성은 에러의 gradient를 계산하는데 있어 그 값이 너무 작아지지 않도록 해주는 성질이 있기 때문에 gradient vanishing problem을 해결할 수 있다. 따라서 보다 많은 레이어의 모델을 잘 학습시킬 수 있고 보다 적은 수의 레이어를 갖는 모델보다 높은 성능을 보임을 실험적으로 입증하였다. Residual net에서 한 단계 더 발전한 stochastic depth는 앞으로 신경망 모델의 표준이라는 얘기가 있을 정도로 유망한 분야이다. 이와 관련해서 유익한 세미나를 들을 수 있어 좋은 시간이었다.

 

이상민

금일 세미나는 CNN framework 상에 최근 각광받는 구조인 Residual neural network(RNN)과 Batch normalization, 그리고 layerwise-skip에 대한 설명을 해주었다. 방대한 내용들에 대해 핵심적인 부분들만 잘 전달해주어 전반적인 트렌트를 읽는데 큰 도움이 되었다. 딥러닝 분야에서 최근 핵심 연구topic도 gradient vanishing problem를 해결하면서 layer를 더 많이 쌓아가는 구조를 지향하는 것 같다. activation function을 RELU로 사용하거나, dropout을 쓰거나, 또는 deep residual network 모두 이러한 문제와 연관이 있다. 각 구조에 따라 error를 최소화 한 개선 포인트들이 수학적 증명이 될 수 있는 부분이 아니라 모두 실험적(empirical study) 결과물인 점에서 해당 결과를 이해하는 것 또한 쉽지는 않다. 예를 들어, layer를 몇 칸씩 건너띄어 identity value를 전달하는게 최적일지, Batch normalization이 항상 activation 이후에 있는게 좋을지, 그리고 dropout과 병행해서 쓰일 경우 왜 performance가 좋아지지 않는지 등은 여전한 의문이다. 금일 소개한 구조는 더욱 깊게 layer를 쌓을 수 있도록 도와주는 매커니즘이며, 또한 일반화 성능을 높이는 역할도 수행한다. 이와 관련된 연구가 향후에도 계속될 것으로 보이는데, 우리 연구실에서 주로 활용되는 앙상블 기법을 접목한 deep network 학습전략과 관련된 기법연구도 이루어지면 좋을 것 같다.

 

박찬희

딥러닝은 복잡한 신경망 구조를 이용하여 구축할 수 있는 기계학습 알고리즘으로 이미지 데이터와 같은 고차원의 복잡한 데이터 분석에 널리 이용된다. 본 세미나에서는 ILSVRC 2016에서 두번째로 성능이 높았던 딥러닝 알고리즘 기반의 VGGNet을 소개하였다. VGGNet은 batch normalization을 이용하는데, 이를 통해 training 시간을 단축시키고, 초기 파라미터 값을 안정화 시키고 모델의 일반화 성능을 높일 수 있다. 또한 residual net 기법을 이용하여 weight값이 0으로 수렴하거나 매우 큰수로 발산하는 것을 막는다. 이는 과적합 문제를 해결하는데 있어서 매우 중요한 역활을 한다고 볼 수 있다. VGGNet은 비교적 단순한 구조로 타 딥러닝 모델보다 우수한 성능을 보여주고 있다. 앞으로 이러한 딥러닝 모델은 의료 분야에 있어 MRI와 같은 고차원 이미지 데이터를 이용한 초기 발병 진단에 활용될 수 있을 것으로 생각된다.


이한규

아마도 근래 들어서 한 세미나중에 가장 최신의 내용을 리뷰한 세미나가 아니었나 싶다. deep residual network에 관한 세미나로 기존에 알고있는 딥러닝의 러닝방법을 변경하였는데 그 변경 방법이 상당히 재미있었다. 우리가 일반적으로 알고 있는 딥러닝을 하나의 경로( 레이어 - 레이어 - ... ) 의 방법으로 다층의 레이어를 순차적으로 이동하며 학습이 진행된다. 그러나 본 세미나에서 다룬 방법은 레이어를 건너뛰는 방식을 도입하였다. 즉, 하나의 입력값이 1. 각 레이어 마다 순차적으로 러닝을 진행하기도 하며 동시에 2. 입력값이 레이어를 건너뛰어 1번에서 나온 값과 더해진다. 단순한 아이디어 같으나, 실제로 논문에 언급된 결과는 상당히 많은 차이를 보였다. 다층의 레이어를 쌓을수록 데이터가 압축되며 과적합 문제가 발생하여 다층의 레이어가 있을 수록 에러가 커지는 문제가 있다. 그러나 본 논문에서 나온 것과 같이 skip을 통해 학습을 진행한 결과는 다층의 레이어를 쌓음에도 불구하고 오히려 낮은 에러값을 보이고 있다. 빅데이터 혹은 이미지,  텍스트와 같은 복잡한 형태의 데이터 분석을 함에 있어 딥러닝을 사용한다고 할때, 다층의 레이어를 쌓아 예측 또는 분류를 진행하는 것은 필요하다.  그러나 그 동안은 다층의 레이어를 쌓음에 있어서 발생하는 문제들로 인해 에러를 최소화 하면서 얼마큼의 레이어를 쌓을 것인지는 고민해야 하는 문제중에 하나였다.  본 논문에서 사용한 방법을 통한다면 이러한 문제는 충분히 해결이 가능할 것이라 생각한다. 새로운 방법에 대해 알게된 유익한 세미나 였다.


곽민구

금일 세미나는 ILSVRC & COCO 대회에서 압도적으로 좋은 성능을 보여준 Deep Residual Network에 대해 진행되었다. 딥러닝에서 레이어를 쌓는 과정에서 많은 테크닉들이 들어가는데 대표적인 방법인 Batch Normalization과 금일 소개된 논문의 핵심 컨셉인 Identity Skip Connection에 대하여 주로 다루었다. 딥러닝에서 Batch Learning을 하는 이유는 학습과정에서 Local Optimal에 빠지는 것을 방지하기 위한 것인데, 각 batch가 클래스 분포에서 뽑힐 때 biased 되서 뽑히는 경우에 대해 생기는 문제를 해결하기 위하여 각 batch 당 정규화를 해주는 것이다. BN과 더불어 zeropad, max pool 등의 테크닉을 사용하고, 각 레이어를 지날때 필터의 개수를 2배로 늘리고 maxpool를 이용하여 이미지의 가로와 세로를 각각 절반으로 줄이는 알고리즘을 사용하여 구축한 deep learning structure 중 좋은 성능을 보인 것이 VGGNet이다. 하지만 단순히 레이러를 여러개를 쌓아 abstractness를 높이는 것이 아니라 raw concept 또한 반영하기 위하여 소개된 것이 skip connection을 이용한 deep residual learning이다. 모델의 레이어를 토과하는 가장 짧은 경로를 smooth하게 만드는 연구와 실험에 대한 소개도 있었다. 딥러닝의 복잡하고 많은 양에 대해 정리해서 소개한 유익한 세미나였다.


강성현

딥러닝을 통한 이미지 인식 만큼 빠른 속도로 발전하는 학문도 없을 듯 하다. 작년 7월에 소개되었을 때만 해도 천 가지 범주를 인식하는 문제에서 Top 5를 기준으로 80%대의 인식 정확도를 보였던 것으로 기억하는데 벌써 95%, Top 1을 기준으로는 80%까지 정확도를 높혔다는 사실이 이를 반증한다. 오늘 세미나는 ILSVRC 2016에서 가장 우수한 성능을 보인 알고리즘의 근간이 되었던 버전(AlxNet, VGG)부터 현재(ResNet)까지의 변화 모습을 순차적으로 알기쉽게 정리하여 이해를 높혔다. VGG 대비 ResNet의 가장 큰 특징을 뽑으라면 residual net이 아닐까 한다. 일반적으로 layer가 많아지면 0과 1사이의 가중치 곱이 0에 가까워지는 문제로 인해 훈련이 매우 어려운데 ResNet에서는 이를 residual net이라고 하는 입력 데이터를 이후 layer에 그대로 전달하는 Path를 추가하여 이러한 문제를 해결하였다. 이를 통해 VGG의 19 layer 구조를 152 layer로 확장할 수 있게되어 정확도의 향상을 가져올 수 있었다고 한다. 물론 논문의 저자가 어떤 인사이트를 통해 이러한 구조를 생각하게 되었는지, 이러한 구조 변화가 어떤 효과를 미치는지 직관에 의존도가 높은 딥러닝의 특징상 명쾌한 설명이 있는 것은 아니지만, 오랜기간 다양한 실험과 연구를 통해 다져진 직관의 결과가 아닐까 하는 생각이 든다. 딥러닝과 관련된 세미나를 들을 때마다 드는 생각이지만 이미지 인식처럼 광범위하게 활용할 수 있는 분야도 없으리라는 생각이 든다. 빠른 속도로 발전하는 모습도 흥미롭지만 내가 속한 도메인에서도 응용 사례를 고민해보는 것도 괜찮겠다는 생각이 강하게 들었다. 매우 어려운 주제임에도 긴 내용을 잘 정리해준 현구에게 감사한 마음을 전한다.

 

박성호

Deep learning의 핵심은 여러 겹의 hidden layer 층을 쌓음으로써 복잡한 이미지 데이터에서 핵심정보 및 패턴을 요약 또는 도출하는 것 이다. 하지만 단순히 layer를 많이 쌓는다고 문제가 해결되는 것이 아니라 어떻게 층을 쌓을 것 인가가 주요한 연구 주제 및 풀어나가야 할 문제이다.  본 세미나에서는 이와 관련해서 최근 각각 받고 있는 연구 Identity Mappings in Deep Residual Networks를 소개하였다. 소개된 연구에서는 Residual이라는 개념을 도입해서, layer가 여러 층으로 구성된 네트워크의 파라미터 추정 시 발생되는 vanishing 문제 해결하였다. vanishing 문제가 해결된다는 것은 파라미터 추정 시 local optimum에 빠질 위험이 줄어든다는 것이고 이는 최종적으로 모델의 generalization error을 줄여주게 된다. vanishing 문제 말고 Residual이라는 개념이 내포하고 있는 의미가 더 있을 것으로 보이지만 짧은 시간내에 완전히 이해하기는 어려웠다. Deep learning 특성상 알고리즘의 모든 부분을 이론적으로 증명 할 수 없고, 경험적으로 그 효과와 성능을 나타내기 때문에 이해하는 것이 쉽지 않음에도 불구하고, 기초 내용부터 세부적인 부분까지 자세히 설명해준 발표자에게 고마움을 전한다.

 

손지은

이미지 인식에서 가장 핫하고 성능좋은 알고리즘들은 ILSVRC 대회에서 우승한 알고리즘을 통해 파악할 수 있다. 그중 2014년 2등을 한 VGGNet의 개념에 대해 설명하고 Deep residual learning을 소개하였다. 기존의 neural net의 기본 개념은 layer를 거쳐감에 따라 weight가 정해지고 그 값이 입력값에 곱해져서 최종 결과값이 나오는 식이라면, 오늘 소개한 방법은 layer들을 통해 나온 값과 입력값의 차이(residual)을 통해 계산하는 방식이다. 레이어가 많을수록 에러값이 낮아지는것을 통해 제안하는 방법이 간단하지만 깊은 depth를 통해 성능을 향상시킨다는 것을 확인할 수 있었다. 아무튼 1000개 범주에서 top 5 의 레이블 제시에 있어 맞출 확률이 95%를 넘는다는것은 이제 인간의 능력과 견줄만 하다. 컴퓨터가 인간을 support 하는것이 아니라 컴퓨터를 통해 나온 계산 결과를 '주'로 하면서 인간이 확인차 검사하는 형태로 될 날이 머지않아 오겠다.


이슬기

오늘 세미나는 요즘 인공지능과 더불어 각광받고 있는 딥러닝 알고리즘 중에서 특이한 구조로써 분류 성능을 높인 deep residual networks에 대해 다루었다. 결국은 기존 딥러닝 모델과 같이 더 많은 레이어를 쌓으면서도 정보를 abstraction을 더 효과적으로 하면서도 over fitting을 막을 수 있도록 설계한 것으로 생각이 된다. 기존에 나온 딥러닝 모델 중에 가장 좋은 분류성능을 나타내고 있어서 많은 사람들이 deep residual networks를 연구한다고 하지만, 어떤 이유에서 기존 구조보다 더 좋은지에 대한 설명과 증명은 부족한 것 같다. 누군가 “왜 이런 구조를 제안했나요?” 라고 질문할 때 특별한 이유를 답하기가 어려운 부분이 ‘일반적인 사람들을 설득시키기에는 어려움이 있지 않을까’라는 생각이 들었다. 그래서 논문에서도 다양한 조건으로 여러 가지 실험을 함으로써 성능을 비교한 것 같다. 발표자가 최신 딥러닝 연구에 대해 많은 관심을 갖고 공부해왔다는 것을 느낄 수 있었던 시간이었다.

 

김영훈

오늘 세미나에서는 Residual Net 에 대해 자세하게 공부할 수 있는 시간이었다. Deep Learning 모델을 구축할 때 무조건 Deep 하게 구조를 만든다고 해서 성능이 향상되지는 않는다. 왜냐하면 Gradient 가 Vanishing 하거나 Exploding 하기 때문인데, Residual Net 은 Skip Connection 이란 구조를 활용하여 이러한 한계점을 극복한 Model 이라고 할 수 있다. 기존에 있던 VGG Net 의 구조를 좀 더 Deep 하게 만들고, 중간 중간 Skip Connection을 만들어서 Chain Rule 을 적용할 때 Gradient 가 Vanishing 하지 않고, Feature Layer 까지 전달될 수 있게 만들었다. 이를 증명하는 실험 결과가 굉장히 인상적이었는데, 기존에 Deep Learning 모델들의 경우, Layer 층을 많이 늘렸을 때 성능이 오히려 떨어졌다. 이런 결과가 나오는 것은 Layer 층의 개수가 많아질 수록, 아랫층의 Gradient 는 Vanishing 하는 현상이 심화되어 학습이 제대로 진행되지 않기 때문이다. 그런데 Residual Net 같은 경우에는 이런 문제를 잘 해결했기 때문에 오히려 층수를 높일 수록 성능이 더 좋아지는 결과를 보여주었다. Deep Learning Modeling 을 할 때, Model 의 적당한 구조 결정이 참 어려운 문제인데, Residual Net 을 이용할 경우, 적어도 Layer 의 수를 최적화하는 데는 어려움이 사라지는 것이다. 기존의 방법들이 가진 한계를 창의적인 모델 구성으로 잘 해결해낸 결과가 굉장히 인상 깊었고 배울만한 점이라 생각되었다. 




이전글
다음글

(136-713) 서울시 성북구 안암로145 고려대학교 자연계캠퍼스 신공학관 211호 | TEL.02-3290-3769
고려대학교 산업경영공학과 데이터마이닝 및 품질애널리틱스 연구실. All Right Reserved. 개인정보처리방침