“RNN은 모든 알고리즘에 근접 할 수있다”의 의미 (및 증거)


28

최근에 나는 반복적 인 신경망이 어떤 알고리즘에도 근사 할 수 있다고 읽었습니다.

그래서 내 질문은 : 이것이 정확히 무엇을 의미하며 이것이 입증 된 곳을 나에게 알려 줄 수 있습니까?


Halbert White의 작품을 확인하십시오. 신경망이 보편적 근사 자임을 증명 한 사람은 바로 그 사람이라고 생각합니다. (반복적 인 신경망에 대해서는 확실하지 않습니다.)
Richard Hardy

답변:


42

배경

먼저 계산 이론에서 몇 가지 개념을 살펴 봐야합니다. 알고리즘 함수를 계산하기위한 절차이다. 입력이 주어지면 알고리즘은 유한 한 단계로 올바른 출력을 생성 한 다음 종료해야합니다. 함수가 계산 가능 하다는 것은 함수를 계산 하는 알고리즘이 있음을 의미합니다. 모든 함수의 무한한 세트 중 대부분은 계산할 수 없습니다. 튜링 기계 는 계산 개념을 공식화하는 수학적 모델입니다. 다른 동등한 모델이 존재하지만 Turing 머신은 표준 '참조 모델'입니다. 교회 튜링 논문 에 따르면모든 알고리즘은 튜링 머신에 의해 구현 될 수 있으며, 따라서 모든 계산 가능한 기능이 계산 될 수있다. 튜링 머신의 특정 인스턴스는 특정 기능 만 계산합니다. 그러나 모든 입력에 대해 다른 튜링 머신을 시뮬레이션 할 수있는 범용 튜링 머신 이라고하는 특수한 튜링 머신 클래스 가 있습니다. 그들은 자신의 입력의 일부로 시뮬레이션 될 기계 (및 입력)에 대한 설명을 취함으로써이를 수행합니다. 따라서 Universal Turing 머신의 특정 인스턴스는 계산 가능한 기능을 계산할 수 있습니다 (즉, 알고리즘을 구현할 수 있음). 이 기능을 공유하는 모든 시스템을 튜링 완료 라고합니다.. 시스템이 튜링 완료임을 증명하는 한 가지 방법은 범용 튜링 머신을 시뮬레이션 할 수 있음을 보여주는 것입니다. 많은 시스템이 튜링 완료된 것으로 나타났습니다 (예 : 대부분의 프로그래밍 언어, 특정 셀룰러 오토마타양자 역학 ).

반복 신경망

다음 백서는 계산 가능한 기능에 대해 계산할 수있는 유한 한 반복 신경망 (RNN)이 있음을 보여줍니다. 또한 Turing이 완료된 유한 RNN이 있으므로 모든 알고리즘을 구현할 수 있습니다.

Siegelmann and Sontag (1992) . 신경망의 계산 능력에

그들은 각 시점에서 외부 입력을 수신하는 제한된 수의 반복적으로 연결된 장치를 포함하는 네트워크를 사용합니다. 각 장치의 상태는 비선형 활성화 기능을 통해 입력의 가중 합계 (바이어스 포함)로 제공됩니다. 활성화 함수는 포화 선형 함수이며, 이는 시그 모이 드의 부분 선형 근사치입니다. 가중치와 바이어스는 고정되어 있으므로 학습이 발생하지 않습니다.

네트워크는 이진 입력 시퀀스에서 이진 출력 시퀀스로의 매핑을 수행합니다. 네트워크에 대한 두 개의 외부 입력이 있으며 '데이터 라인'과 '유효 라인'이라는 모든 장치에 공급됩니다. 데이터 라인은 0과 1의 입력 시퀀스를 포함하고 입력 시퀀스가 ​​완료된 후 0을 포함합니다. 유효성 검사 라인은 입력 시퀀스가 ​​언제 발생하는지 네트워크에 알려줍니다. 입력 시퀀스 기간 동안 하나를 포함하고 완료 후 0을 포함합니다. 하나의 단위는 '출력 단위'로 간주됩니다. 임의의 지연에 대해 0을 출력 한 다음 0과 1의 출력 시퀀스를 출력 한 다음 출력 시퀀스가 ​​완료된 후 0을 출력합니다. 다른 단위는 '유효성 검증 단위'로 간주되며 출력 시퀀스가 ​​언제 발생하는지 알려줍니다.

이러한 RNN은 이진 입력 시퀀스를 이진 출력 시퀀스에 매핑하지만 다양한 다른 수학적 객체 (다른 유형의 숫자, 벡터, 이미지, 그래프 등)에 정의 된 함수에 관심이있을 수 있습니다. 그러나, 임의의 계산 가능한 함수, 객체의 이러한 다른 형태 (예를 참조 이진 시퀀스로 인코딩 될 수있다 여기에서 다시 이진 표현 될 수 자연수를 사용하는 다른 목적을 인코딩 한 설명을 위해).

결과

그들은 계산 가능한 모든 함수에 대해 계산할 수있는 유한 RNN (위에서 설명한 형식)이 있음을 보여줍니다. 그들은 RNN을 사용하여 두 개의 스택으로 푸시 다운 오토 마톤을 명시 적으로 시뮬레이션 할 수 있음을 보여줌으로써이를 수행합니다. 이것은 튜링 머신과 계산적으로 동등한 또 다른 모델입니다. 모든 계산 기능은 튜링 머신에서 계산할 수 있습니다. 두 개의 스택이있는 푸시 다운 자동 장치로 모든 튜링 기계를 시뮬레이션 할 수 있습니다. 두 개의 스택을 가진 모든 푸시 다운 자동 장치는 RNN으로 시뮬레이션 할 수 있습니다. 따라서 계산 가능한 기능은 RNN에서 계산할 수 있습니다. 또한 일부 튜링 머신은 보편적이기 때문에이를 시뮬레이션하는 RNN은 튜링 완료이므로 모든 알고리즘을 구현할 수 있습니다. 특히, 그들은 1058 이하의 유닛을 가진 Turing complete RNN이 존재 함을 보여줍니다.

다른 결과

시뮬레이션 결과의 흥미로운 결과는 RNN의 동작에 대한 특정 질문을 결정할 수 없다는 것입니다. 이는 임의의 RNN에 대해 응답 할 수있는 알고리즘이 없음을 의미합니다 ( 특정 RNN 의 경우 응답 가능할 수 있음 ). 예를 들어, 주어진 단위가 0을 가져 오는지에 대한 의문은 결정할 수 없습니다. 만약이 질문에 일반적으로 답할 수 있다면 튜링 머신 의 정지 문제 를 해결할 수있을 것 입니다.

계산력

위의 논문에서 모든 네트워크 매개 변수와 상태는 유리수입니다. 이는 RNN의 성능을 제한하고 결과 네트워크를보다 사실적으로 만들기 때문에 중요합니다. 그 이유는 유리수는 계산 가능한 숫자 이기 때문에 임의의 정밀도로 계산하는 알고리즘이 있다는 것을 의미합니다. 대부분의 실제 숫자는 계산할 수 없으므로 액세스 할 수 없습니다. 심지어 가장 강력한 튜링 머신은이를 표현할 수 없으며 심지어 많은 사람들이 실제 세계에서도 표현할 수 있다고 의심합니다. 디지털 컴퓨터에서 '실수'를 다룰 때 더 작은 하위 집합 (예 : 64 비트 부동 소수점 숫자)에 액세스합니다 . 임의의 실수를 나타내려면 무한한 정보가 필요합니다.

이 논문은 네트워크에 실수로 접근 할 수있게함으로써 튜링 머신을 넘어서는 계산 능력을 더욱 향상시킬 수있을 것이라고 말했다. Siegelmann은이 '슈퍼 튜링'기능에 대한 여러 다른 논문을 썼습니다. 그러나 이것이 수학적 모델이라는 점에 유의하는 것이 중요하며 결과가 그러한 기계가 실제로 물리적 세계에 존재할 수 있음을 의미하지는 않습니다. 그것이 공개적인 질문이지만 불가능하다고 생각할만한 충분한 이유가 있습니다.


1
이 흥미로운 사실을 알게되었습니다.이 계산 이론과 머신 러닝 알고리즘 또는 양자 컴퓨팅과의 관계에 대해 더 배울 수있는 참고 자료가 있는지 궁금합니다. 감사!
user110320

0

나는 이것이 당신이 찾고있는 것이라고 생각합니다. 이 사람은 그물에 숨겨진 단위가 충분하다면 멀티 레이어 또는 단일 레이어 피드 포워드 네트워크가 모든 기능에 근접 할 수 있음을 증명했습니다.

Hornik, K. (1991). 다층 피드 포워드 네트워크의 근사화 기능. 신경망, 4 (2), 251-257.


1
이것은 내가 의미 한 것이 아닙니다. 나는 이미 그 증거를 읽었습니다. 내 질문을 편집했습니다.
user3726947
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.