NP 문제 해결을위한 인공 신경 네트워크 진화


10

최근에 Google Research 블로그에서 신경망에 대한 흥미로운 블로그 항목을 읽었습니다. 기본적으로 그들은 이미지 인식과 같은 다양한 문제를 해결하기 위해이 신경망을 사용합니다. 그들은 축삭의 무게를 "진화"시키기 위해 유전자 알고리즘을 사용합니다.

기본적으로 내 생각은 다음과 같습니다. 숫자를 인식하는 프로그램을 작성해야한다면 시작하는 방법을 모를 것입니다. 신경망이 진화하기 위해 올바른 맥락을 만들어 내 신경망은 "올바른 알고리즘을 찾을 것"입니다. 아래에서 나는 이미지 인식 과정에서 각 레이어가 어떻게 다른 역할을 하는지를 설명하는 기사에서 정말 흥미로운 부분을 인용했다.

신경망의 과제 중 하나는 각 계층에서 정확히 무슨 일이 일어나고 있는지 이해하는 것입니다. 훈련 후, 최종 레이어가 본질적으로 이미지가 무엇을 나타내는 지 결정할 때까지 각 레이어는 이미지의 상위 및 상위 레벨 기능을 점진적으로 추출합니다. 예를 들어 첫 번째 레이어는 가장자리 또는 모서리를 찾습니다. 중간 레이어는 기본 기능을 해석하여 문이나 잎과 같은 전체 모양이나 구성 요소를 찾습니다. 마지막 몇 층은 그것들을 완전한 해석으로 조립합니다.이 뉴런은 전체 건물이나 나무와 같은 매우 복잡한 것에 반응하여 활성화됩니다.

그래서 기본적으로 내 질문은 다음과 같습니다. 모든 NP 문제를 해결하기 위해 유전자 알고리즘 + 신경망을 사용할 수 없습니까? 우리는 올바른 진화 적 맥락을 만들고 "자연"이 해결책을 찾도록 남겨둔다.

초기주의 : 신경망으로 더 깊이 들어가기

편집 : 우리는 Brute-Force를 사용하거나 많은 경우 비효율적 인 솔루션을 찾을 수 있다는 것을 알고 있습니다. 그렇기 때문에 진화하는 인공 신경 네트워크 를 강조하려고합니다 . 내가 논평에서 말했듯이 : 충분한 시간과 적절한 돌연변이 속도가 주어지면 최적의 해결책을 찾을 수 있습니다 (또는 적어도 그것이 내가 생각하는 것입니다).

개념


1
우리는 필요하지 않습니다. 우리는 단순히 무차별 대입을 사용할 수 있습니다. 정확히 당신의 목표는 무엇입니까?
Pål GD

2
신경망 전문가가 아니기 때문에 NP 문제를 올바르게 해결하도록 훈련받을 수 있는지 모르겠습니다. 그러나 나는 당신이 올바른 질문을하고 있다고 생각하지 않습니다. NP에 포함 된 문제를 해결하는 알고리즘을 생각해내는 것은 일반적으로 어렵지 않습니다. 가능한 모든 솔루션을 확인하십시오. 그러나 다항식 시간에서 NP-hard 문제를 해결하는 알고리즘을 찾는 것은 다른 이야기이며 그 존재는 거의 없습니다. 신경망은 트루 잉 머신으로 시뮬레이션 할 수 있기 때문에 P = NP가 아닌 한 많은 도움이되지 않는 한 수퍼 다항식 시간이 필요합니다.
Dennis Kraft

네, 순전히 NP와 같은 문제에 신경망이 사용되었습니다. 유용한 속성을 가질 수는 있지만 DK가 지적한 것처럼 복잡한 이론의 시간 제약에서 벗어나지 않습니다.
vzn

내 요점은 : 적절한 돌연변이 속도와 충분한 시간을 사용하여 (적어도 이론적으로는) 최적의 솔루션을 찾을 수 있습니다. (또는 최소한 로컬 최대 값) 이미지 : 개념
NMO

2
유전자 알고리즘 (및 나머지 "AI"기술의 나머지 부분)은 본질적으로 무작위로 "솔루션 공간의 샘플을 시도"하여 무작위로 만들어지지 않은 일부 스마트 (휴리스틱)를 던집니다. 아니요. 동일한 폐기 사례를 다시 확인하지 않을 것이라는 보장이 없기 때문에 대부분의 경우 "모든 가능한 솔루션을 시도"하는 것보다 낫지 않습니다. 물론, 그들은 "괜찮은"해결책을 찾습니다. 그러나 우리 는 최고 를 찾고 싶습니다 .
vonbrand

답변:


21

아니요.이 방향은 두 가지 이유로 유용하지 않습니다.

  1. 대부분의 컴퓨터 과학자들은 P NP를 믿는다 . 가정 P NP,이 수단이 존재하지 않는 어떤 해결하기 위해 다항식 시간 알고리즘을 어떤 NP 완전 문제. 신경망이 합리적인 시간 안에 문제를 해결하기를 원한다면 너무 클 수 없으므로 신경망 자체는 다항식 시간 알고리즘이됩니다. P하면 것을 다음과 순이익, 신경 네트워크가 효율적으로 어떤 NP 완전 문제를 해결할 수 있습니다.

  2. 신경망은 "마법"이 아닙니다. 그들은 패턴을 찾으려고 노력하는 방법입니다. 충분한 패턴이 발견되고 합리적인 수의 예제에서 패턴을 학습 할 수있는 일부 문제의 경우 효과적 일 수 있습니다. 그러나 그들은 마법의 요정 먼지가 아닙니다. 신경망을 설정할 수 있다고해서 역 전파가 문제를 해결하는 좋은 방법을 찾아야한다는 의미는 아닙니다. 패턴을 찾을 수 없거나 패턴을 실현할 수없는 수의 예제로만 발견 할 수 있거나 패턴이 존재하지만 신경망 훈련 절차에서 패턴을 찾지 못할 수도 있습니다.

신경망은 기계 학습의 또 다른 형태 일뿐입니다. SVM 또는 임의 포리스트에 대해 동일한 설명을하거나 다른 형태의 기계 학습에 대한 선형 회귀를 할 수 있습니다. 신경망은 모든 기계 학습 문제를 해결하는 일종의 마법의 은색 총알이 아닙니다. 그들은 다른 기계 학습 방법만큼 효과적이거나 어떤 종류의 문제에 대해서는 조금 더 효과적 일지 모르지만 마술은 아닙니다.

때때로 나는 신경망에 대해 조금만들은 사람들을 만납니다. 그들은 신경망이 모든 것에 대한 해답이라고 생각합니다. 아마도 그들은 "당신의 두뇌가 신경망을 사용한다"는 말을 들었을 수도 있습니다. 멋진 응용 프로그램 (음성 인식 또는 무언가). 그러나 속지 마십시오. 과대 광고를 믿지 마십시오. 신경망은 유용한 기술이지만 컴퓨터가 NP- 완전 문제를 해결하거나 튜링 테스트를 이길 수 없으며 모든 직업을 빼앗아 인간을 컴퓨터로 대체 할 수는 없습니다. 어쨌든 빨리. 공상 과학 일뿐입니다.


1
정말 좋은 대답입니다. 유전자 알고리즘 + 신경망은 매우 강력 해 보이지만 모든 NP 문제를 해결하기에는 충분하지 않을 수 있습니다. 나는이 신경망 + 유전자 알고리즘을이 p 솔루션을 야생에서 찾는 것으로 상상합니다. 작은 스카우트처럼 하하.
NMO

1
신경망은 일반적으로 보장이 아니라 정답을 찾을 가능성을 제공한다는 점에 주목할 필요가 있습니다. 차선의 솔루션을 허용하기 위해 문제 요구 사항을 완화하면 최악의 경우 난이도에도 불구하고 NP- 완전 문제에 대한 실질적인 솔루션이 종종 있습니다.
Dan Bryant

9

유익하고 도움이되는 동안 다른 답변은 실제로 귀하의 질문을 정확하게 이해하지 못하고 너무 많이 읽습니다. 신경망이 다른 방법 보다 성능우수 한지 묻지 않았고 NP 완료 문제에 적용 할 수 있는지 만 물었습니다 . 대답은 그렇습니다. 약간의 성공과 함께 이것은 수십 년 동안 알려져 왔으며 이것에 대한 다양한 연구가 있으며 계속됩니다. 이는 머신 러닝의 유연성과 관련이 있습니다. 그들이 정확하거나 최적의 솔루션을 찾지 못하더라도, 그들이 가지고있는 솔루션은 다른 바람직한 특성을 가질 수 있습니다. 몇 가지 예시 논문 :


4

신경망은 실제로 NP- 완전 문제를 해결하지 못합니다. 그들이 하는 일은 NP- 완전 문제와 매우 유사한 문제를 해결하는 것입니다.

신경망의 큰 특징 중 하나는 매번 "올바른"답을 찾을 의무가 없다는 것입니다. 그들은 "잘못"될 수 있습니다. 예를 들어, 빈 포장 문제를 해결하고 이상적인 솔루션의 1 %를 벗어난 솔루션에 도달하면 해당 답변에 완전히 만족할 수 있습니다.

매번 100 %라는 요구 사항을 제거하면 다른 문제 해결 방법이 매우 효과적입니다. 예를 들어 많은 경로 계획 알고리즘 (La Google Maps)은 NP가 완전해야하지만 최적의 99.9 % 시간 중 1 % 이내의 경로를 찾는 알고리즘을 찾는 것은 쉽지 않습니다. NP-complete 노력으로 많은 비용을들이는 마지막 0.1 %의 결과를 찾기 위해 노력하고 있습니다.

실제 상황에서 NP- 완전 방정식을 사용하려고 할 때 종종 실제 답이 필요하지 않습니다 . 우리는 종종 "close"답변에 매우 익숙하지만, 우리가 사용하는 "close"메트릭을 설명 할 문구가없는 경우가 많습니다. 이것은 신경망이 대신 요청한 NP- 완전 문제를 실제로 해결하지 않고 실제 질문에 대답 할 수있는 상황입니다.


1

신경망은 보편적 인 기능 근사치 를 할 수있는 것으로 알려져 있지만, 이는 NP 자체 자체 의 문제인 문제 (최적화)에 대한 훈련이 필요 하기 때문에 역 전파 등을 통한 진화 훈련 및 SGD 등이 있습니다.

따라서 NP- 완전 문제를 해결할 가능성은 없지만 문제를 모델링하는 함수를 임의의 정확도로 근사화하도록 훈련시킬 수 있습니다. 또한 신경망을 사용하여 NP- 완전 문제를 최적으로 해결하더라도 해결책을 강요하지 않고 실제로 찾은 솔루션이 실제로 세계적으로 최적임을 증명할 방법이 없습니다 (물론 거의 모든 실제에 적합하지는 않습니다) 신경망의 사용 사례).

시각화는 진화 알고리즘 (어떻게 볼 수 있다는 점에서 정확하고 깔끔한 공유 피트니스를 사용하여 초기에 성능이 우수한 구조로 인구 인수에서 알고리즘을 방지 단일 종) 이하 SGD 및 기타 기계 학습 기술보다 쉽다에 갇혀 될 수 있습니다 로컬 최적이지만, 그들이 찾은 솔루션이 실제로 글로벌 최적 솔루션이라는 증거는 없습니다.


답변에 대한 참조를 추가 할 수 있습니까? 또한 서식을 향상 시키십시오 (예 : NP, SGD, 역 전파 등을 사용하고 줄 바꿈을 추가하십시오).
Yuval Filmus

아무 데나 더 깊이 들어가야한다면 몇 가지 수정 사항을 알려주세요
nickw

"진화 알고리즘은 SGD와 다른 머신 러닝 기술보다 지역 최적 점에 갇히는 것보다 덜 적합하다"는 주장에 대한 정당성을 제공해야한다고 생각합니다. 특히 신경망 훈련의 특정 작업에 적합하다고 생각하지 않습니다.
DW

이 답변은 NP- 완전성의 정의에 대해 약간의 혼란이 있습니다. 귀하가 주장하는 것과는 달리, NP 완료 문제를 해결 하면 올바른 해결책이 있는지 확인할 수 있습니다 . NP- 완전 검색 문제와 NP-hard 최적화 문제 사이에는 차이가 있습니다. 전자의 경우 실제로 솔루션이 올바른지 효율적으로 확인할 수 있지만 후자의 경우에는 불가능할 수 있습니다.
DW

나는 정말로 최적의 솔루션을 먼저 강요하지 않고 그것이 최적의 솔루션인지 확인할 수 없다는 것을 인정했다. 이것이 맞지 않습니까? 신경 진화가 깔끔한 알고리즘과 공유 피트니스에 대한 참조 링크로 지역 최적 점에 얽매이지 않는 이유를 근거로 제시했습니다. 지역 최적 점에 갇히는 경사 하강 감수성이 다소 자명하다고 생각합니다. 프레임 워크는 이것을 완화하는 데 도움이 될 수 있습니다. 나는 혐오로 sgd가 붙어 있다는 것을 인정하지 않을 것입니다.
nickw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.