10. Advanced Topics in Deep Learning

10.1. Introduction

이 장에선 다음을 다룬다: 주목 모델, 내부 메모리에 대한 선택적 접근을 가진 모델, 생성적 대립쌍 망. 주목 모델은 데이터의 어떤 부분에 주목해야 할 지 결정해야 한다. 신경 튜링 기계는 기억 망이라 일컬어지는 가깝게 연관된 구조들과 관계가 있다. 오차 기반 가중치를 바꾸는 것과 달리 경쟁 학습도 있다.

10.2. Attention Mechanisms

사람의 신경 기관은 특정 작업을 하기 위해 모든 감각적 입력을 쓰지 않고 중요한 부분에만 집중한다. 핵심은 이미지에서 찾는 부분을 체계적으로 집중하는 것이다. 주목의 개념은 자연어 처리에도 잘 맞는다.

10.2.1. Recurrent Models of Visual Attention

시각적 주목의 순환 망은 강화 학습을 이용해 이미지의 중요한 부분에 집중한다. 전체 구조는 다음으로 모듈화되어 있다: 일별 센서, 일별 망, 순환 신경망. 순환 신경망 구조는 유용하지만 필수는 아니다.

Reinforcement Learning

이 접근법은 강화 학습의 프레임워크에 담겨 있어서 이미지 인식이나 분류 대신 시각적 강화 학습 작업이라면 어떤 것에도 쓸 수 있게 해 준다. 여기서 동작은 소프트맥스 예측 함수를 통해 클래스 라벨을 고르는 것이다. 학습은 이전에 다뤘던 강화 학습과 비슷하다.

10.2.1.1. Application to Image Captioning

이미지 캡션에서는 이미지에서 문장의 단어를 생성할 수 있을 만한 부분을 차례로 주목해서 적용할 수 있다. 이는 각 타임스탬프마다 캡션 단어를 예측하는 식으로 구현할 수 있다.

10.2.2. Attention Mechanisms for Machine Translation

순환 신경망은 기계 번역에 자주 쓰이며, 여기에도 주목이 쓰일 수 있다. 순환 망은 2개가 존재하며 하나는 원본 문장을 고정 길이 표현식으로 인코딩하고 다른 하나는 이를 대상 문장으로 디코딩한다. 주목 기반 방법에서는 은닉 상태는 주목 층을 통해 상태가 증대된다. 이를 위해서는 현재 처리 중인 대상 은닉 상태와 가까운 원본 표현식을 찾아야 한다. 이는 출발 단어-도착 단어간 주목 변수를 도입해서 이룰 수 있다.

Refinements

여러 정제로 기본적 주목 모델을 개선할 수 있다. 점수를 매길 때 내적 법 외에는 매개변수 행렬을 도입하는 법, 또는 매개변수 행렬과 접합을 도입하는 법이 있다. 강한 주목에는 매개변수 행렬을 도입하는 것이 좋다. 기계 번역은 약한 주목 모델이다.

10.3. Neural Networks with External Memory

최근에는 여러 관련 구조들이 신경망을 기억이 계산과 분리되어 있는 영속 기억으로 증강시키는 법을 제안하였다. 신경 튜링 기계는 외부 기억이 있는 신경망이다. 이 또한 입력과 출력으로부터 배워야 한다.

10.3.1. A Fantasy Video Game: Sorting by Example

정렬은 단순한 일이지만 정렬하라는 지시 없이 입력과 결과 출력만 정해졌다면 행동을 정하기는 어렵다. 기계에게 이것을 학습시켜서 어떤 교환을 해야 할지를 학습시킬 수 있다. 이는 이전에 나왔던 강화학습 세팅과 비슷하다. 역시 경사 하강법을 사용한다.

10.3.1.1. Implementing Swaps with Memory Operations

정렬 알고리즘을 학습하기 위해서는 교환이 필요하고 이를 위해서는 교환 시 임시 메모리를 저장할 곳이 필요하다. 메모리가 충분치 않으면 O(n^{2}) 정렬밖에 학습하지 못한다.

10.3.2. Neural Turing Machines

신경망의 약점은 내부 변수를 망 내 계산과 분리하지 못해 상태를 일시적으로 만든다는 것이다. 외부 기억을 가진 신경망은 이 점에서 매우 강력하며 미분가능 신경 컴퓨터라 불린다. 장단기 기억과는 다르게 신경 튜링 기계는 외부 기억과 은닉 상태를 분리한다. 이는 제어장치-쓰기 헤드-읽기 헤드-기억 장치의 구성으로 볼 수 있다. 헤드는 어디에 읽고 쓸지를 정하는 가중치 행렬을 갖는다. 가중치가 정의되면 이에 의해 어디서 읽을지를 벡터가 결정한다. 여기서 수행하는 업데이트는 약한 업데이트이다.

Weightings ad Addressing Mechanisms

가중치 배정은 주소 배정 메커니즘이 어떻게 동작하는지와 관련이 있다. 첫 번째 방식으로는 키 벡터가 장소를 가중치화하는 데 사용된다. 두 번째 방법은 이전 타임스탬프의 위치에 대해 순차적으로 주소를 배정한다. 이는 외삽 – 이동 – 선명화의 과정을 거친다. 이의 목적은 다음과 같다: 우선 키 벡터를 통해 무작위 접근을 한 뒤 외삽으로 이전 단계의 참조 지점으로부터 순차적 접근을 한다. 이후 얼마나 이동할지를 고르고, 선명화를 통해 얼마나 강하게 주소 배정을 할지를 정한다.

Architecture of Controller

중요한 설계 선택지는 제어 장치 내 신경망 구조의 선택이다. 자연스러운 선택지는 시간차 상태의 개념을 가진 순환 신경망이 될 것이다. 하지만 외부 기억의 개념이 있으므로 꼭 순환 신경망을 쓸 필요는 없다.

Comparisons with Recurrent Neural Networks and LSTMs

모든 순환 신경망은 튜링 완전으로, 어떤 알고리즘이든 흉내낼 수 있다. 신경 튜링 기계의 외부 기억 접근의 제어된 형태는 임시 은닉 상태가 연산과 강하게 통합되어 있는 순환 신경망에 비해 실용적 이점을 준다. 신경 튜링 기계는 장단기 기억 망에 비해 긴 길이의 입력에 비해 더 좋은 성능을 낸다는 것이 실험적으로 입증되었다. 추가로, 신경 튜링 기계는 입력이 항목의 나열과 그 나열에서 무작위로 선택된 항목으로 이뤄졌고 다음 항목을 출력하는 연관 상기 작업에서 효과가 좋다.

10.3.3. Differentiable Neural Computer: A Brief Overview

미분가능 신경 컴퓨터는 신경 튜링 기계를 메모리 할당 관리와 임시 쓰기 서열을 추적하는 추가 구조를 보강한 것이다. 이는 튜링 기계의 약점인 메모리 할당 알고리즘, 메모리 쓰기 지역 기록 부족 등을 보강한다. 미분가능 신경 컴퓨터의 메모리 할당 메커니즘은 쓰여졌으나 아직 읽히지 않은 위치는 아마 유용할 것이며 / 읽기는 그 유용함을 감소시킬 것이라는 개념에 기반한다. 미분 가능한 신경 컴퓨터가 해결하는 두 번째 문제는 쓰기가 수행되는 메모리 위치의 순서를 어떻게 추적할 것인지이다. 신경 튜링 기계, 기억 망, 주목 메커니즘은 가까이 연관되어 있다.

10.4. Generative Adversarial Networks (GANs)

생성적 대립쌍 망을 알아보기 이전에는 생성적 모델과 구별적 모델을 구분해야 한다. 구별적 모델은 라벨에서 조건부확률을 추정하고, 생성적 모델은 결합확률분포를 추정한다. 구별적 모델은 지도학습에서만 쓰일 수 있고 생성적 모델은 비지도학습에서도 쓰일 수 있다. 생성적 대립쌍 망은 두개의 신경망과 동시에 작업한다. 첫째는 실제 사례와 비슷한 오브젝트를 합성해 내는 생성적 모델이고 둘째는 이미지가 합성된 것인지를 구별하도록 훈련된 구별적 모델이다. 구별적 망이 합성된 오브젝트를 가짜라고 식별한다면 생성적 망은 가중치를 수정해 생성된 오브젝트를 구별적 망이 구별하기 더 어렵게 한다. 이는 기계 학습 알고리즘에서 대량의 데이터를 합성하는 데 유용하며 데이터 증강에 큰 역할을 한다.

10.4.1. Training a Generative Adversarial Network

생성적 대립쌍 망의 학습 과정은 생성자와 구별자의 매개변수를 교차로 업데이트하는 것으로 이루어진다. 생성자는 p차원 확률분포로부터 입력 노이즈를 받아 d차원 데이터 예제를 생성한다. 구별자의 목표는 실제 예는 1로 분류하고 합성된 예는 0으로 분류하는 것이 목표이다. 생성자의 목표는 구별자를 속일 수 있는 예제를 합성하는 것이 목표이다. 생성자의 목적 함수는 합성된 것이라고 라벨된 표본의 가능도를 최소화한다. 전체 최적화 문제는 두 목적 함수의 미니맥스로 볼 수 있다. 학습에는 추계적 경사 상승법이 사용된다. 전체 과정은, 구별자가 데이터 셋을 학습하고 생성자가 생성한 것을 구별하게 만든 뒤에 결과에 따라 둘을 업데이트한다. 구별자를 업데이트하지 않고 생성자를 너무 많이 학습시키면 반복적으로 비슷한 표본만 생성하게 된다. 그래서 동시에 교대로 학습해야 한다. 둘째로 초기에는 데이터의 가능도가 낮기 때문에 1 – 가능도를 최소화시키는 대신 가능도를 최대화시키는 방향으로 최적화하는 것이 낫다.

10.4.2. Comparison with Variational Autoencoder

변분 자가부호화기와 생성적 대립쌍 망은 독립적으로 만들어졌으나 흥미로운 공통점이 있다. 변분 자가부호화기와는 달리 생성적 대립쌍 망에서는 복호화기 (생성자)만 학습되며 부호화기는 학습 과정에서 학습되지 않는다. 변분 자가부호화기는 생성적 대립쌍 망과 방법론적으로 매우 다른데, 여기서 사용되는 재매개화 방법은 추계적 특성을 가진 망을 학습시키는 데 매우 유용하다.

10.4.3. Using GANs for Generating Image Data

생성적 대립쌍 망은 여러 맥락의 이미지를 생성하는 데 자주 쓰인다. 이는 100차원 가우시안 노이즈로 시작한다. 이후 비율적 보폭의 컨볼루션이나 전치 컨볼루션을 사용한다. 생성된 이미지들은 노이즈 샘플에 민감하다. 구별자도 또한 컨볼루션 신경망 구조를 쓰지만, 누수 ReLU를 쓴다.

10.4.4. Conditional Generative Adversarial Networks

조건적 생성적 대립쌍 망은 생성자와 구별자가 전부 추가적인 입력 오브젝트에 조건이 걸린다. 이는 라벨일 수도, 캡션일 수도, 다른 오브젝트일 수도 있다. 이는 대상 오브젝트와 맥락에 대응한다. 조건적 생성적 대립쌍 망에서 조건을 거는 데는 몇 가지 예가 있다. 오브젝트에 연관된 라벨, 대상 오브젝트가 놓친 세부 사항을 갖고 있는 같은 타입의 맥락, 맥락에 대한 문어적 서술, 흑백 오브젝트의 칼라 버전 등. 이 경우 생성적 대립쌍 망은 손실된 정보를 채우는 데 매우 뛰어나다. 넓은 범위의 기계 학습 문제는 데이터 전가 문제로 볼 수 있다는 것을 유념하자. 생성자의 경우에는 입력은 노이즈 분포와 조건 오브젝트가 조합해 단일 은닉 코드를 생성함으로부터 생성된 표본에 대응한다. 구별자의 경우에는 입력은 기본 데이터와 그 맥락으로부터의 표본이다. 생성적 대립쌍 망을 다수 데이터 타입과 사용할 때 중요한 점은 데이터에 민감한 방식으로 암호화/복호화를 하기 위해서는 약간의 수정이 필요하다는 점이다. 텍스트를 인코딩할 때는 word2vec이 쓰일 수 있으나 다른 모델도 쓰일 수 있다.

10.5. Competitive Learning

경쟁 학습은 입력이 오차를 보정하기 위해 출력에 매핑되는 대신 뉴런들이 비슷한 입력의 부분집합에 대응할 권리를 위해 경쟁하고 그 가중치를 하나 이상의 입력 데이터로 움직인다는 것이다. 따라서 학습 과정도 신경망에서의 역전파 알고리즘과 매우 다르다. 학습 과정은 간단히는 다음과 같다. 출력 뉴런의 활성 함수는 뉴런의 가중치 벡터와 입력간 유사성이 증가함에 따라 증가한다. 뉴런의 가중치 벡터는 입력과 같은 차원이어야 한다. 주어진 입력에 대해 가장 높은 활성값을 가진 출력 유닛이 우승하고 입력에 더 가까이 이동한다. 승자 독식 전략에서는 승리한 뉴런만이 업데이트된다. 다른 경쟁 학습의 변형에서는 다른 뉴런들도 업데이트에 참여할 수 있게 허용한다. 각 가중치 벡터에 대해 입력과의 거리를 계산하고 그 중 가장 거리가 작은 가중치를 업데이트한다. 기본 아이디어는 가중치 벡터를 프로토타입으로 보고 우승자를 학습 표본 쪽으로 소폭 이동시키는 것이다.

10.5.1. Vector Quantization

벡터 양자화는 경쟁 학습의 가장 간단한 적용례이다. 이 때 민감도의 개념에 따라 기본적인 경쟁 학습 패러다임에 약간의 변화가 가해진다. 벡터 양자화의 가장 흔한 적용례는 압축이다.

10.5.2. Kohonen Self-Organizing Map

코호넨 자가구조 맵은 경쟁 학습 패러다임의 변형으로 뉴런에 1차원 문자열 또는 2차원 격자형 구조가 적용되는 것이다. 자가 구조 맵의 격자 구조는 학습 과정에서 정규화자처럼 작용한다. 이는 경쟁 학습 과정과 비슷하다. 학습 알고리즘은 학습 데이터에서 반복적으로 샘플링을 하고 각 가중치에 대해 거리를 잰 뒤 최소 거리를 계싼해 업데이트한다.

Using the Learned Map for 2D Embedding

자가구조 맵은 점들의 2차원 껴묻기를 유도하기 위해 쓸 수 있다. 이는 표유류의 뇌가 어떻게 구조화되었는지에 대해 강한 신경생물학적 기반을 갖고 있다. 코호넨 망은 요즘은 잘 쓰이지 않지만 비지도 세팅에서 중요한 잠재력을 갖고 있다.

10.6. Limitations of Neural Networks

신경망에는 여러 한계점들이 존재한다.

10.6.1. An Aspirational Goal: One-Shot Learning

심층 학습의 단점은 사람에 비해 학습을 위한 데이터를 너무 많이 필요로 한다는 점이다. 사람은 기계에 비해 전이 학습에서 강점을 갖는다. 이는 심층 학습에서도 비슷한 접근법으로 적용되었다. 작업들에 따른 학습 개념에 기반한 전이 학습도 있다. 이 주제는 미래 연구에 대해서도 열린 영역으로 남아 있다.

10.6.2. An Aspirational Goal: Energy-Efficient Learning

심층 학습은 기능하기 위해 많은 전력을 필요로 한다. 많은 알고리즘은 계산 정확도와 전력 효율성간 트레이드오프가 있다. 에너지 효율성을 얻으려면 작은 신경망을 쓰고 불필요한 연결은 가지치기해야 한다. 다른 방향으로는 신경망에 맞춰진 하드웨어를 개발하는 것이 있다.

10.7. Summary

이 장에서는 심층 학습에 대한 여러 고급 주제들을 다뤄보았다. 챕터는 주목 메커니즘에 대한 토의로 시작하였다. 이 메커니즘은 이미지와 텍스트에 모두 사용되었다. 모든 경우에서, 주목의 도입은 기반 신경망의 일반화 능력을 개선시켰다. 주목 메커니즘은 외부 기억와 함께 컴퓨터를 증강할 수 있다. 기억 증강 망은 순환 신경망과 튜링 완전성 면에서 비슷한 이론적 특성을 가진다. 하지만 연산을 더 표현력 있는 방식으로 수행하고, 학습 데이터와는 다른 테스트 데이터 셋에 잘 일반화한다. 예를 들면, 분류를 하기 위해 학습 데이터 셋보다 훨씬 긴 서열에 대해서도 정확하게 작업할 수 있다. 기억 증강 망의 가장 간단한 예는 신경 튜링 기계로, 이는 더 일반화되어 미분가능 신경 컴퓨터가 되었다. 생성적 대립쌍 망은 생성적 망과 구별적 망이 대립적 상호작용 과정을 펼쳐 실제 예의 데이터베이스와 비슷한 합성적 표본을 생성하는 것을 이용하는 최근의 기법이다. 이 망들은 기계 학습 알고리즘을 테스트하기 위한 입력 표본을 만드는 생성 망으로 쓰일 수 있다. 또한, 생성적 과정에 조건을 검으로써, 서로 다른 유형의 맥락을 가진 표본들을 만들 수 있다. 이 아이디어는 텍스트-이미지, 이미지-이미지 번역 등 여러 적용례에 쓰였다. 단수 학습이나 에너지 효율적 학습과 같은 여러 고급 주제들도 최근에 탐색되었다. 이들은 신경망 기술이 인간보다 훨씬 뒤떨어지는 영역을 표현한다. 최근에는 많은 발전이 있었지만, 이 영역에 대한 많은 미래 연구 영역이 존재한다.

10.8. Bibliographic Notes

관련 여러 문헌이 존재한다.

10.8.1. Software Resources

관련 여러 소프트웨어가 존재한다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중