실제로 DNC의 아키텍처를 살펴보면 LSTM과 많은 유사점이 있습니다. 연결 한 DeepMind 기사의 다이어그램을 고려하십시오.
이것을 LSTM 아키텍처와 비교하십시오 (슬라이드 쉐어의 잔금에 대한 신용) :
여기에 가까운 아날로그가 있습니다.
- LSTM과 마찬가지로 DNC는 입력 에서 고정 크기 상태 벡터 ( LSTM의 h 및 c) 로 일부 변환을 수행 합니다.
- 마찬가지로, DNC는 이러한 고정 크기 상태 벡터에서 임의 길이 출력으로 일부 변환을 수행 합니다 (LSTM에서는 만족할 때까지 모델에서 반복적으로 샘플링 / 모델이 완료되었음을 나타냅니다)
- 잊어 및 입력 LSTM의 게이트가 나타내는 기록 ( "망각"본질적으로 제로 또는 부분적으로 메모리를 제로화)이 DNC에서 작동
- LSTM 의 출력 게이트 는 DNC에서 읽기 작업을 나타냅니다.
그러나 DNC는 확실히 LSTM 이상입니다. 가장 명백하게, 그것은 더 큰 상태를 이용하여 이산 (주소 화) 할 수있는 덩어리로되어있다. 이를 통해 LSTM의 잊어 버림 게이트를 더 바이너리로 만들 수 있습니다. 이것은 모든 시간 단계에서 상태가 반드시 일부 분수만큼 침식되지는 않지만 LSTM (시그 모이 드 활성화 기능이있는 경우)은 반드시 그 상태임을 의미합니다. 이렇게하면 언급 한 치명적인 잊어 버림의 문제가 줄어들어 확장 성이 향상 될 수 있습니다.
DNC는 메모리간에 사용하는 링크에서도 참신합니다. 그러나 활성화 기능이있는 단일 레이어 대신 각 게이트에 대해 완전한 신경망을 사용하여 LSTM을 다시 상상하는 것보다 LSTM이 조금 더 개선 된 것 같습니다 (이를 super-LSTM이라고 함). 이 경우 충분히 강력한 네트워크를 통해 메모리의 두 슬롯 사이의 관계를 실제로 배울 수 있습니다. DeepMind가 제안하는 링크의 세부 사항은 알지 못하지만 기사에서는 일반 신경망과 같은 그라디언트를 역 전파함으로써 모든 것을 배우고 있음을 암시합니다. 따라서 링크에서 인코딩하는 관계는 이론적으로 신경망을 통해 학습 할 수 있어야하므로 충분히 강력한 'super-LSTM'이이를 포착 할 수 있어야합니다.
모든 것을 말하지만 , 표현력에 대해 동일한 이론적 능력을 가진 두 모델이 실제로 크게 다른 성능을 발휘하는 것은 딥 러닝의 경우입니다. 예를 들어, 반복 네트워크를 풀면 재전송 네트워크가 거대한 피드 포워드 네트워크로 표현 될 수 있습니다. 마찬가지로, 컨볼 루션 네트워크는 표현력을위한 여분의 용량을 가지고 있기 때문에 바닐라 신경 네트워크보다 낫지 않습니다. 실제로, 가중치에 부과되는 제약 이보다 효과적입니다. 따라서 두 모델의 표현력을 비교하는 것이 실제로 성능을 공정하게 비교하거나 크기가 얼마나 잘 될지 정확하게 예측할 필요는 없습니다.
DNC에 대한 한 가지 질문은 메모리가 부족할 때 발생하는 문제입니다. 클래식 컴퓨터에 메모리가 부족하고 다른 메모리 블록이 요청되면 프로그램이 충돌을 시작합니다 (최상의). DeepMind가이 문제를 어떻게 해결할 계획인지 궁금합니다. 현재 사용중인 메모리의 지능적인 식인종에 의존한다고 가정합니다. 어떤 의미에서 컴퓨터는 현재 메모리 부족이 특정 임계 값에 도달하면 OS에서 응용 프로그램이 중요하지 않은 메모리를 확보하도록 요청할 때이 작업을 수행합니다.