신경망을 사용하여 알고리즘을 고안 할 수 있습니까?


9

보드 게임에서 신경망의 새롭고 새로운 성공을 거둔 후, 우리가 설정 한 다음 목표는 Starcraft에서 인간을 때리는 것보다 더 유용한 것일 수 있습니다. 더 정확하게는

신경망을 훈련하여 고전적인 알고리즘 문제를 해결할 수 있습니까?

예를 들어 네트워크는 가중 가장자리와 두 개의 정점 와 지정된 입력 그래프 를 얻을 수 있으며 가능한 한 가장 짧은 경로 를 찾도록 요청했습니다 . 그런 다음 신경망이 Dijkstra 또는 이와 유사한 것을 사용하도록 스스로 발견하고 훈련 할 것입니다.Gstst

한편으로, 우리 는 신경망의 계산력이TC0 이라는 것을 알고 있습니다. 다른 한편으로, 이것이 반드시 내 질문과 관련이 있는지 모르겠습니다. 그럼에도 불구하고 대부분의 문제는 에서 해결할 수 있는지 여부를 모릅니다 . 신경망이 스스로 훈련 할 수 있는지 여부를 알면 빠른 알고리즘이 있는지 여부에 대한 좋은 지표가 될 수 있습니다. 예를 들어, 신경망이 SAT를 빨리 풀도록 훈련 할 수 없다면 일 가능성이 높습니다 . 신경망이 GRAPHISOMORPHISM 또는 FACTORIZATION으로 무엇을하는지 궁금합니다.TC0NPTC0

물론 알고리즘을 추출하는 것은 완전히 다른 질문입니다. 나는 전문가들이 그렇게하는 방법을 알고 있다고 생각하지만 토론하는 것은이 질문의 주제가 아닙니다.

이틀 후에 추가됨 : 답변을 확인한 후 부정적인 답변을한다면 알고 싶습니다.

왜 Dijkstra 나 Graphisomorphism보다 체스를 더 쉽게 플레이 할 수 있습니까?


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Lev Reyzin

답변:


2

블로그 에 따르면 Reza Zadeh 에 따르면 , 훈련 예제의 3 분의 2에 대해서만 정확한 결과를 생성하기 위해 신경망을 훈련시키는 것은 계산하기 어렵다 :

실제로 1988 년 J. Stephen Judd는 다음과 같은 문제를 NP-hard로 보여줍니다.

일반적인 신경망과 일련의 훈련 예제가 주어지면, 네트워크가 모든 훈련 예제에 대해 올바른 출력을 생성 할 수 있도록 네트워크에 대한 에지 가중치 세트가 있습니까?

Judd는 또한 훈련 예제의 3 분의 2에 대해서만 정확한 출력을 생성하기 위해 네트워크를 필요로하는 경우에도 문제가 NP-hard로 남아 있음을 보여줍니다. 1993 년에 Blum과 Rivest는 뉴스를 더 나쁘게 만듭니다. 단 2 개의 레이어와 3 개의 노드가있는 간단한 네트워크조차도 훈련하기 어려운 NP입니다!


1
나는 이것이 어떻게 내 질문에 대답하는지 알지 못한다.
domotorp

게시물을 편집하기 전에 첫 번째 질문은 NN 교육에 관한 것입니다. CC 태그를 추가 한 이후, 제 답변은 알고리즘 문제가 P인지 NPC인지에 관계없이 NN을 훈련하기 어렵다는 것을 보여줍니다.
Mohammad Al-Turkistany

내가 애매한 경우 미안합니다.
domotorp December

0

이것은 완전한 대답이 아니며 신경망에서 경험이 많지 않지만 도움이 될 수 있습니다.

NN은 기본적으로 입력을 받고 응답을 생성합니다. 그런 다음 실습을 통해 같은 동물의 이미지에 대한 동일한 레이블 또는 "좋은"체스 위치에 대한 높은 등급이 도메인에서 "유사한"입력에 대해 유사한 응답을 생성하도록 훈련을받습니다.

내가 언급했듯이 신경망은 Turing Machines에서 실행되는 단계별 알고리즘과 완전히 다른 방식으로 작동하는 비 균일 계산 모델입니다. 대신, 그것들을 불리언이 아닌 연속 수학을 사용하고 조정하거나 훈련시킬 수 있고 오류가 발생하는 "연성"회로라고 생각하십시오.

왜 Dijkstra 나 Graphisomorphism보다 체스를 더 쉽게 플레이 할 수 있습니까?

부분적으로, 누군가에게 자신의 능력을 최대한 발휘하여 질문에 대답하는 것과 그에 대한 정확한 증거와 함께 하나의 정답을 요구하는 것의 차이입니다. 부분적으로는 고정 크기 문제 해결과 가능한 모든 입력 크기에 대한 문제 해결의 차이입니다.

Dijkstra가 어떤 크기로든 인스턴스에서 실행될 때마다 출력이 하나의 진정한 대답이며 다른 것은 아니라는 것을 암시 적으로 증명 합니다. 체스와 이미지 인식에서 가장 좋은 답변을 제공하고 오류는 용인됩니다. 또한 한 번에 한 가지 크기의 문제를 해결하기 위해 네트워크를 교육하기 만합니다. 나는 완전히 다른 크기와 모양의 문제 인스턴스에 대해 그러한 신경망 솔루션을 일반화하는 방법을 아직 모른다고 생각합니다.

나는 우리가 신경 그물이 있다고 가정한다고 생각하지 않습니다 수 없습니다 최단 경로 또는 유사한 알고리즘 문제를 해결하지만, 그들은 항상 정확 단계별 알고리즘보다 근본적으로 다른 방식으로 문제를 해결한다.

신경망과 회로의 유사점으로 돌아가서 회로는 수십 년 동안 연구되었지만 이전 질문의 (5)에 대한 답변이 부족하다고 판단 하여 주어진 회로에 대해 완전히 정확한 회로를 구성하는 방법에 대해서는 거의 알지 못합니다. 균일 알고리즘 (Turing Machine)을 회로로 변환하는 것을 제외하고는 문제가 발생합니다.


하나의 답변을 얻는 것이 차이를 만들지 않는다고 생각합니다. 두 명의 플레이어는 더 짧은 길을 찾을 수있는 경쟁자를 통해 Dijkstra를 플레이 할 수 있습니다. 확장 성이 더 심각한 문제 일 수 있습니다. NN이 NIM을 수행하는 방법을 배울 수 있다고 생각하십니까?
domotorp

@domotorp, 올바른 알고리즘과 정확하지만 대략적인 휴리스틱 사이에는 큰 개념과 실제 차이점이 있다고 생각합니다. 체스가 근사 최단 경로보다 어려운 이유는 묻지 않았고, 모든 입력 크기에서 시간의 100 %가 올바른 Dijkstra보다 체스가 어려운 이유를 물었습니다. Re : nim, 모르겠다; 다음과 같이 시작하기 위해 임의로 큰 입력을 받아들이는 NN 아키텍처가 필요합니다.
usul

0

나는 어떤 방법으로도 전문가가 아니지만, 왜 그런지 잘 모르겠습니다.

신경망은 기본적으로 이미 이미 알려진 일종의 "비용 / 혜택 모델"에 따라 기본적으로 최적화를 수행 합니다 . 또한 검색 공간은 잘 정의 된 유효하고 유효하지 않은 이동과 정의하기 쉬운 "변형"으로 잘 정의되어 있습니다. AlphaZero 및 AlphaGo의 경우에도 비용 함수는 아마도 승률과 이동 후 모든 가능한 이동에 대한 결과적인 승률 분포 또는 그에 대한 휴리스틱을 기반으로합니다.

알고리즘을 고안하려면 본질적으로 프로그램에 "알고리즘을 실행하는"프로그램에 해당하는 올바른 문자열 (암시 적 인코딩 및 비용 함수가 이미 알려진)을 출력하는 방법을 배우도록 요청합니다. 그러나 프로그램을 구현하는 알고리즘은 무한히 많습니다. 따라서 올바른 "피트니스"메트릭을 정의하고 싶을 것입니다.

그러나 특정 프로그램의 경우에도 "피트니스"측정 항목을 정의하기가 다소 어려울 수 있습니다. 시각? 공간 사용량? "부작용의 양?" 최적의 방법으로 원하는 작업 만 수행 하는 "가장 짧은 프로그램"을 생성합니다 .

올바른 체력 측정법과 조정 알고리즘을 찾으면 그렇게 할 수 있다고 가정합니다.


-3

"신경망"은 한 차원 공간에서 다른 차원 공간으로 벡터를 변환합니다. 따라서 이들은 비선형 함수 근사치에 불과합니다. 신경망조차도 손실 최소화를 위해 근사화 알고리즘을 사용합니다. 그러나 새로운 알고리즘을 고안하기위한 신경망 훈련은 의문의 여지가 없다. tomas mikolov는이 영역에서 스택 반복 신경망으로 일부 작업을 수행했으며이 도메인의 "신경 튜링 머신"에 대해서도 들었습니다. 그러나 최적의 전략을 찾는 것이 귀하의 질문과 다소 관련이있는 강화 학습을 연구하는 근본적인 원인이었습니다. 그러나 가까운 시일 내에 새로운 알고리즘을 고안하기 위해 신경망을 사용할 수는 없다.


적절한 게임에 대한 최적의 전략은 해당 문제에 대한 최적의 알고리즘과 동일하다고 생각합니다.
domotorp

@domotorp "strategy"는 알고리즘보다 휴리스틱에
가깝습니다

-6

저는 QA 자동화 엔지니어이므로 신경망에서 전문 지식을 요구하지는 않지만, NN은 스스로 알고리즘을 만들 수 있습니다. 인간 자신은 어느 정도 수준의 NN이며 알고리즘을 생성하므로 인공 인공 NN 시스템이 자체적으로 알고리즘을 생성 할 수 있다고 추론합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.