강화 학습과 CNN 아키텍처 디자인 【논문 리뷰】

원저 논문을 읽었으므로 비망록이 정리했다.
Baker et. al. (2017) "Desiginig Neural Network Architectures Using Reinforcement Learning"
htps : // / r ぃ v. rg / pdf / 1611. 02167. pdf

논문 개요


  • 컨벌루션 신경망(CNN)은 각 층의 정의의 자유도가 높고, 그만큼 엔지니어에 의한 수작업(장인의 기술?)이 필요
  • 각 레이어를 {컨볼 루션 레이어, 풀링 레이어 또는 전체 바인딩 레이어} 중 하나로 설정
  • 위의 항목을 선택한 후 어떤 하이퍼 파라미터를 설정할 것인지 (컨볼 루션 레이어의 경우 필터 수, 필터 크기, 보폭)

  • 이 논문에서는 강화 학습 모델을 통해 위의 작업을 자동화하는 데 성공했습니다 (MetaQNN 모델, 첨부 그림 2 참조)


  • 레이어 유형과 하이퍼 파라미터 후보 (상태 공간)에서 각 레이어에서 어떤 유형의 레이어와 매개 변수를 강화 학습으로 선택
  • 예를 들어 Layer1에서 C(64,3,1)를 선택하면 컨볼루션 레이어, 3x3 필터를 64장, 스트라이드는 1x1로 설정
  • 단순한 Q 학습만으로는 1) 상태 공간이 광대하면 학습이 진행되지 않는다. ε-Greedy 메소드로 과도한 최적화를 억제하고 1)에 대해 experimental replay 메소드로 효율화를 도모한다

  • 결과적으로 기존 엔지니어가 수동으로 구축 한 CNN에 비해 4 개의 데이터 샘플 모두에서 낮은 오류율 모델을 구축 할 수있었습니다 (첨부 Table3 참조)



  • 코멘트


  • 엔지니어의 작업을 최소화하고 자동으로 학습을 진행하는 모델은 매우 흥미로운
  • 다만, 모든 것을 자동화하는 대가로 계산 시간이 방대해 버리고 있다
  • 본 논문에서는 모델당 최대 12층의 CNN을 5,000회의 훈련 횟수로 학습하고, 그것을 2700 모델 반복한다(5,000 x 2,700=135만회의 훈련)
  • CNN 훈련 횟수로 모형 당 5,000는 아주 적다. 정말 모델 당 성능을 올리면 수십만 번의 훈련이 필요. 그렇다면 수십만 x2,700이라는 터무니없는 계산 시간이 걸립니다
  • 물론, 경험 재생을 활용하여 과거 모델 평가 결과를 효율적으로 이용하고 있지만, 그래도 훈련 횟수가 극적으로 감소한다고는 생각되지 않는다

  • 또한 이미 강화 학습이 아니라 베이지안 프레임 워크를 활용하여 하이퍼 파라미터의 자동 최적화하는 모델이 몇 가지 제창되어있는 것 같기 때문에 그것과 비교하고 싶다
  • just idea이지만 유전 알고리즘 xCNN도 친화력이 높다고 생각합니다
  • 좋은 웹페이지 즐겨찾기