신경망이 거리 개념을 해결할 수 있습니까?


10

빨간색 픽셀과 파란색 픽셀을 제외한 검은 색 화면 인 게임을 상상해보십시오. 이 게임이 인간에게 주어지면, 먼저 화살표 키를 누르면 빨간 픽셀이 움직일 것입니다. 다음으로 시도 할 것은 빨간색 픽셀을 파란색 픽셀로 옮기는 것입니다.

이 게임을 AI에 제공하면 백만 번 시도한 후 실수로 파란색 픽셀로 이동하여 보상을 받기까지 무작위로 빨간색 픽셀을 이동합니다. AI가 빨간색과 파란색 픽셀 사이의 거리 개념을 가지고 있다면이 거리를 최소화하려고 시도 할 수 있습니다.

거리의 개념을 실제로 프로그래밍하지 않고 게임의 픽셀을 취하면 "엔트로피"와 같이 숫자가 서로 가까이있을 때보 다 멀리 떨어져있을 때 더 적은 숫자를 계산할 수 있습니까? 다른 픽셀 구성에서도 작동합니다. 하나는 좋고 하나는 나쁜 3 개의 픽셀을 가진 게임과 같은 것입니다. 신경망에 화면이 어떻게 보이는지 더 알기 원하십니까? 그런 다음 NN에 "보드의 엔트로피를 최소화하고 보상을 얻으려고 노력하십시오"와 같은 목표를 부여하십시오.

현재 연구에서 이와 비슷한 것이 있습니까?


난 당신이 직접 이미지를 공급하고 거리를 찾을 것이라고 생각하지 않습니다 ... 오히려 당신은 거리, 수직 거리, 수평 거리 등을 나타내는 일련의 숫자를 공급합니다.
FreezePhoenix

@Pheo 예.하지만 모든 유형의 "게임"에 대해 다른 값을 제공해야합니다. 내가 말하는 것은 픽셀을 그룹화 할 때 높고 픽셀 간격이있을 때 낮은 전역 유형의 값을 가질 수 있습니까?
zooby

"다음에 시도 할 것은 빨간색 픽셀을 파란색 픽셀로 옮기는 것입니다." "빨간색"과 "파란색"은 대부분 적입니다. 따라서 파란색 픽셀이 눈에 띄기 전에 거리를 늘리기 시작합니다.
Lee

답변:


1

대답

나는 당신의 질문을 액면가로 가져 가서 정말로이 주제에 대해 깊이 논의 할 것입니다.

네, 그들은 할 수 있어요. 전형적인 인간의 마음은 할 수 있습니다. 그러나 인간의 마음을 고려하십시오. 수십억 이 아닌 수백만 개의 뉴런. 사실, 거리는 인간의 개념, 단순히 세계와의 상호 작용에서 개발 된 이론으로 간주 할 수 있습니다.

따라서 1 년 또는 2 년 동안 많은 뉴런이 있으면이 시나리오를 복제 할 수 있습니다. 컴퓨터가 인간의 마음과 평행을 이루는 경우입니다. 짧은 설명은 인간의 마음이 매우 유사하다는 것입니다.

그러나 AI가 아닌 프로그램을 사용하여 거리를 계산하고 결정을 내리는 AI에 결과를 제공하는 것이 더 간단합니다.

화면을 보는 데 걸린 시간을 고려하십시오. 두 픽셀 사이의 대략적인 거리를 알 수 있다면 신경망도 가능합니다. 그러나 당신이 살아 있고 배우는 데 소비 한 시간을 방정식에 더하면 그것은 재앙이됩니다.

추가 자료

인간의 뇌는 평행하다

이것은 인간 두뇌의 모든 뉴런이 서로 독립적이라는 사실의 결과입니다. 뉴런 블록이 다른 블록의 동작과 무관하게 "생각"할 수 있고 "래그"가 될 수있는 것을 제한 할 수 있기 때문에 실제 동시 동작을 실행할 수 있으므로 이미지 해석 동작이 훨씬 쉬워집니다.


1

AI를 만들어 인간으로 볼 수 있습니다. 말했듯이 인간에게 열쇠를 주면 무작위로 클릭합니다. 그는 어떤 키를 눌렀는지 알아야 화면의 다른 물체에 더 가까이 다가 갈 수 있습니다. AI의 기본은 객체 인식이라고 생각합니다. 게임의 화면 개체를 매핑하는 스크립트를 만들려고합니다. 파이썬에는 법적인 예가 있습니다.

나는 다음과 같은 길을 따르려고 노력할 것이다.

  • AI가 화살표 또는 WASD를 클릭하여 GAME 컨텍스트에 있으며 방향에 따라 픽셀을 이동하는 객체는 주 저자 (플레이어)를 나타냅니다.

  • 동시에 : 영역의 모든 경계를 매핑하고 해당 영역 내에서 다른 객체를 색인하여 좌표 도메인과 객체 거리를 자동으로 갖습니다. AI는 게임을보고 (스트림) 이미지를 통해 객체를 분류해야합니다. 내가 무슨 뜻인지 이해합니까?

  • 동시에 AI는 화면에있는 모든 텍스트와 정보를 알고 있어야합니다 (모두 매핑, 기억합니까?). 텍스트가 변경되거나 다른 일이 발생하는시기를 이해해야합니다. 예를 들어, 각 단계의 초기 위치로 돌아갈 때마다, 카운트가있을 때마다 cout이 0에 도달하거나 다른 유형의 변경을 생성하는 공통 수에 도달하면 어떻게됩니까?

  • 그는 모든 "대답"에서 반복되는 것을 이해해야합니다. 또한 "재현"이 무엇인지 이해해야합니다. 어쩌면 모든 맵에서 특정 맵 위치는 화면의 카운트가 끝날 때마다 반환됩니다. 또는 특정 유형의 객체 (매핑 된 객체)에 대해 발생하는 경우

솔직히 말해서, 당신이 슈퍼 지능형 로봇을 만들고 싶다면, 다른 인간, 최고의 인간 또는 각 게임의 규칙을 따르는 모든 단계를 따라갈 수 있습니다. 그러나 특정 작업을 수행하기 위해 특정 봇을 구축하는 것이 더 쉬운 경우도 있습니다. 그것은 당신이하고 싶은 것에 달려 있습니다.


그는 당신이 어떻게 할 것인지 묻지 않고 오히려 할 수 있습니다.
FreezePhoenix

여러 가지 방법으로 수행 할 수 있습니다. 템플릿을 만드는 방법을 전달했습니다. 그것은 이론이 아니며 AI의 진화에 따라 다른 프로세스를 포괄 할 수있는 프로세스입니다.
Guilherme IA

1

당신이 언급하는 것은입니다 완벽한 예제 에 대한 경로 계획 광범위하게 AI에 연구한다.

A-star 알고리즘 과 신경망으로 알고리즘 을 향상시키는 방법을 찾으십시오. :)


1

다음과 같이 문제를 해결할 수 있습니다.

<x0,y0,x1,y1>(x0y0)2+(x1y1)2

<x0,y0,x1,y1>

물론 두 개의 분리 된 신경망에서이 작업을 수행 할 이유가 없으므로 이미지를 입력으로, 거리를 출력으로하는 모델을 두 개의 end-to-end 모델과 결합 할 수 있습니다.

이 모델은 레이블이 지정된 데이터에 대해 학습해야하므로 데이터를 직접 생성하거나 이미지에 레이블을 지정해야합니다.

그러나 덜 감독 된 방식으로 거리를 폐쇄한다는 개념을 배우고 싶다면 강화 학습을 사용해야합니다. 이 경우 거리를 줄이기 위해 에이전트에 인센티브를 제공하는 환경을 설정해야합니다. 행동이 거리를 줄이면 보상을 얻는 것만 큼 간단 할 수 있습니다.

다른 접근법은 향후 보상을 사용하여 에이전트에게 인센티브를 제공하는 것입니다. 즉, 보상은 다음 구제 조치 상태의 결과에서 오는 것이 아니라 다음 가능한 상태 및 그 이후의 상태로부터의 기여도 있습니다. 이것은 Deep Q-Learning의 아이디어이며, 이 노트에서 간단한 예제 (설명한 것과 매우 유사한)를 구현합니다 .

이제 질문은 :이 구현이 성공의 길을 따라갈 때까지 무작위로 움직이는 것 이외의 다른 일을 했습니까?

귀하의 예에서, 당신은 에이전트가 목표에 도달했을 때 보상하는 것에 대해 이야기합니다. 그러나 내가 설명 한 바에 따르면, 목표에 더 가까이 다가 가면 (Q-Function을 통해 또는 환경에서 직접) 보상을 얻습니다. 거리에 대한 추상적 인 개념을 학습함으로써 그렇게 할 수 있습니다 (이것은 감독 버전에서 설명 할 수 있습니다).

인간이 이것을 알게되면, 같은 이유가 있습니다 : 인간은 미래의 보상 감각을 통해 그 방향으로 나아가는 것에 대한 보상을 얻고 있습니다.

충분한 훈련과 데이터가 주어지면 강화 학습 이이 개념을 쉽게 배울 수 있다고 말하고 싶습니다. 보드에 다른 보상이 존재하는 한 (예를 들어, "보드의 엔트로피를 최소화하고 보상을 얻으려고 노력하는 중"), 당신이 원하는 것이 무엇인지 생각해야합니다. 요원이 거리를 최소화하거나 보상을 극대화 하시겠습니까? 일반적으로 두 가지를 모두 수행 할 수는 없습니다. 둘 사이의 균형을 찾고 있다면 거리를 고려하여 보상을 재정의하는 것입니다.

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