신경 튜링 머신(NTM)은 튜링 머신의 순환 신경망 모델이다. 이 접근 방식은 2014년 Alex Graves 등에 의해 발표되었으며, 신경망의 퍼지 패턴 매칭 능력과 프로그래밍 가능한 컴퓨터의 알고리즘적 힘을 결합한다. NTM은 계산 중에 읽고 쓸 수 있는 외부 메모리를 사용하여 예제로부터 간단한 알고리즘을 학습하도록 설계되었다.
NTM은 신경망 컨트롤러가 외부 메모리 자원에 결합된 구조로, 주의 메커니즘을 통해 상호작용한다. 메모리 상호작용은 종단 간 미분 가능하여 경사 하강법으로 최적화할 수 있다. 이러한 미분 가능성 덕분에 전체 시스템은 이산적이거나 비미분 가능한 연산 없이 역전파와 같은 표준 머신 러닝 기법으로 훈련될 수 있다.
구조 및 작동 방식
NTM의 컨트롤러는 일반적으로 장단기 메모리(LSTM) 네트워크와 같은 순환 신경망으로, 입력을 받아 출력을 생성하면서 외부 메모리에 읽기 및 쓰기 명령을 발행한다. 메모리는 실수 값의 행렬이며, 컨트롤러는 주의 가중치를 사용하여 접근할 메모리 위치를 결정한다. 이러한 가중치는 컨트롤러의 현재 상태와 메모리 내용을 비교하는 내용 기반 주소 지정과 반복과 같은 연산을 지원하기 위해 주의를 이동시키는 위치 기반 주소 지정을 통해 계산된다.
읽기 및 쓰기 연산은 미분 가능하도록 설계되었다. 읽기 연산은 메모리 행의 가중 합을 생성하고, 쓰기 연산은 주의 가중치로 스케일링된 삭제 벡터와 추가 벡터를 결합하여 메모리 항목을 업데이트한다. 이러한 설계는 네트워크가 경사 기반 최적화에 적합한 방식으로 정보를 저장하고 검색하는 방법을 학습할 수 있게 한다.
학습 능력
LSTM 네트워크 컨트롤러를 가진 NTM은 복사, 정렬, 연관 회상과 같은 간단한 알고리즘을 예제만으로 추론할 수 있다. 실험에서 NTM은 기존 순환 네트워크보다 적은 훈련 예제로 이러한 작업을 학습할 수 있으며, 훈련 중에 본 것보다 더 긴 입력 시퀀스로 일반화할 수 있음을 보여주었다. 이러한 능력은 컨트롤러가 조작하는 방법을 학습할 수 있는 안정적인 저장 매체를 제공하는 명시적 외부 메모리에서 비롯된다.
Graves와 동료들의 원래 논문은 NTM이 임의 길이의 시퀀스를 복사하고, 숫자 목록을 정렬하며, 부분 단서를 기반으로 저장된 항목을 검색하는 연관 회상을 수행할 수 있음을 보여주었다. 이러한 작업은 패턴 인식과 알고리즘 추론을 결합하는 모델의 능력을 강조한다.
구현 및 과제
원래 NTM 논문의 저자들은 소스 코드를 공개하지 않았다. 최초의 안정적인 오픈 소스 구현은 2018년 제27회 국제 인공 신경망 학회에서 발표되어 최우수 논문상을 수상했다. 다른 오픈 소스 구현도 존재하지만, 2018년 기준으로 생산 사용에 충분히 안정적이지 않다. 이러한 구현의 개발자들은 훈련 중에 그래디언트가 알 수 없는 이유로 NaN이 되어 훈련이 실패하거나, 수렴이 느리거나, 학습 속도에 대한 보고가 없는 등 다양한 문제를 보고했다.
이러한 과제는 주의 메커니즘과 메모리 업데이트가 불안정한 그래디언트를 초래할 수 있기 때문에 외부 메모리를 가진 순환 네트워크를 훈련하는 복잡성에서 비롯된다. 2018년 수상작 구현은 아키텍처 개선과 훈련 전략을 도입하여 이러한 문제 중 일부를 해결했지만, 더 넓은 채택은 여전히 제한적이다.
영향 및 확장
미분 가능 신경 컴퓨터는 신경 튜링 머신의 파생물로, 메모리가 활성화되는 위치를 제어하는 주의 메커니즘을 갖추고 성능을 개선한다. 2016년 Google DeepMind의 연구자들이 도입한 미분 가능 신경 컴퓨터는 시간적 연결 및 메모리 할당과 같은 더 정교한 메모리 접근 패턴으로 NTM을 확장하여 그래프 순회 및 질문 응답과 같은 작업을 해결할 수 있게 한다.
NTM 개념은 또한 딥 러닝 및 인공 지능 연구에 더 광범위하게 영향을 미쳤으며, 특히 모델이 긴 시간 범위에 걸쳐 구조화된 정보를 저장하고 조작해야 하는 분야에서 그러하다. 트랜스포머와 같은 대규모 모델이 많은 응용 분야에서 NTM을 대체했지만, 미분 가능한 외부 메모리라는 아이디어는 학습과 기호 계산을 결합하는 신경 아키텍처 연구의 기초 개념으로 남아 있다.
한계
이론적 매력에도 불구하고 NTM은 실용적 한계가 있다. 구현 과제에서 언급했듯이 훈련은 계산 비용이 많이 들고 불안정할 수 있다. 또한 모델은 주의 메커니즘이 메모리 차원에 따라 확장되므로 매우 큰 메모리 크기에서 어려움을 겪는다. 또한 NTM은 생산 시스템에서 널리 채택되지 않았으며, 대부분의 실용 응용 분야는 대규모 언어 모델에 사용되는 트랜스포머와 같이 훈련 및 확장이 더 쉬운 아키텍처를 선호한다.
메모리 증강 신경망을 개선하기 위한 연구는 계속되고 있으며, 최근 작업은 NTM의 강점과 현대 아키텍처를 결합한 하이브리드 접근 방식을 탐구한다. 그러나 2010년대 후반 기준으로 NTM은 주로 연구 도구로 남아 있으며 배포된 기술은 아니다.
참고 문헌
Graves, A., Wayne, G., & Danihelka, I. (2014). Neural Turing Machines. arXiv preprint arXiv:1410.5401.
Collier, M., & Beel, J. (2018). Implementing Neural Turing Machines. In Proceedings of the 27th International Conference on Artificial Neural Networks.