12. Applications

12.1.5 Dynamic Structure

  • 데이터 처리 속도 가속화를 위해 그래프에서 동적 구조를 갖는 시스템을 구축
    데이터 프로세싱 시스템은 주어진 입력에 동작하는 수많은 뉴럴 네트워크의 subset을 동적으로 구축가능
    서브 세트를 결정하여 내부 동적인 구조를 나타냄
    때때로 신경망 내부의 동적구조는 conditional computation이라고도 함.
    아키텍쳐의 많은 구성요소가 가능한 적은 양의 입력에 대해 적절함.
    시스템은 필요 할 때만, 이러한 특징을 계산함

  • 동적 계산 구조는 일반적으로 소프트웨어 엔지니어링 분야에 적용되는 기본적인 컴퓨터 과학 원리
    신경망에 적용되는 가장 단순한 동적구조는 신경망(또는 다른 기계 학습 모델)의 어떤 하위 집합이 특정 입력에 적용되어야하는지 결정하는 것에 기반

  • 전략 중 하나는 cascade 형태 classifier를 쓰는 것.
    이 전략은 rare even를 탐지하는 목표에 적용.
    객체 존재 유무를 판단하는데는, high capacity의 고 비용의 복잡한 classifier를 사용해야 함.
    그러나 object가 rare해서, non-object를 찾는 것이 훨씬 적은 계산임.
    이러한 때 초기 단계에서는 용량이 낮으며, 높은 recall 비율을 가지도록 훈련.
    나중에는 대용량의 classfier를 사용.

  • 두 종류의 cascade가 있다. viola-jones와 같은 cascade가 있고,
    구글 스트리뷰 주소 자동 인식기에서, 처음에는 주소가 쓰인 위치를 찾고, 그 위치를 찾은 후 다음 숫자를 인식하는 계단식 방법이 있다.

  • Decision Tree는 동적 구조의 예시이다. 트리에서 각 node는 하부 subtree를 결정한다.
    deep learning과 동적 구조를 결합하는 단순한 예시 중 하나는, 각 노드를 splitting decision을 만드는 뉴럴네트워크로 구성하는 방식이다. (이 방법은 비록 추론 계산을 가속화하는 기본 목표를 수행하지는 않는다.)

  • 같은 의미에서, 신경망을 사용하여 gater라고 불리는 신경 네트워크를 사용할 수 있음.
    여러 신경망 중 하나를 선택하여 주어진 현재 입력에 대해, 출력을 계산

  • 동적으로 구조화 된 시스템을 사용하는 데 있어 주요 장애물은 다른 입력에 대해 서로 다른 코드 분기를 따르므로, 병렬 처리 수준이 감소한 다는 것이다. 예를 들어, cascade classifier의 경우 첫번째 단계를 한 CPU에 할당하고, 마지막 단계를 또 다른 CPU에 할당한다면, 불균형 로드 문제가 발생한다.

12.1.6 Specialized Hardware Implementations of Deep Networks

results matching ""

    No results matching ""