문제

부인 성명: 나는 수학적 천재가 아니며 신경망을 쓰는 경험이 없습니다. 그러니 제가 여기서 말하는 바보 같은 일을 용서하십시오. ;)

나는 항상 기계 학습에 사용되는 신경망에 대해 읽었지만 간단한 가상 머신을 쓰는 것을 실험하는 동안 다른 방식으로 적용될 수 있는지 궁금해지기 시작했습니다.

구체적으로, 가상 머신을 신경망으로 만들 수 있습니까? 그렇다면 어떻게 작동합니까 (필요한 경우 여기에서 추상 설명을 자유롭게 사용하십시오)?

Joycean Machine에 대해 들었지만 매우 모호한 설명 이외의 정보를 찾을 수 없습니다.

편집하다: 내가 여기서 찾고있는 것은 신경망 기반 VM이 어셈블리를 어떻게 해석하는지 정확히 설명하는 것입니다. 입력은 어떻게 처리됩니까? 각 개인 입력이 메모리 주소가 될까요? 브레인 스토밍합시다!

도움이 되었습니까?

해결책

당신은 정말로 내 하루 친구를 만들었습니다 ...

이미 훈련 된 신경망은 일반 상태 기계와 크게 다르지 않기 때문에 결정 론적 명령 세트를 위해 신경망 VM을 작성하는 점이 없습니다.

여러 명령 세트 또는 알려지지 않은 세트로 VM을 훈련시키는 것이 흥미로울 수 있습니다. 그러나 그러한 훈련을 실행하는 것이 실용적 일지 의심스럽고 %99의 올바른 통역사조차도 기존 바이트 코드에 사용될 것입니다.

내가 생각할 수있는 신경망 VM의 유일한 사용은 퍼지 로직 구성 또는 AI 알고리즘 휴리스틱을 포함하는 프로그램을 실행하는 것입니다.

아이디어를 보여주는 바보 같은 스택 머신 예제 :

push [x1]
push [y1] ;start coord
push [x2]
push [y2] ;end coord
pushmap [map] ;some struct
stepastar ;push the next step of A* heuristics to accumulator and update the map
pop ;do sth with is and pop
stepastar ;next step again
... ;stack top is a map
reward ;we liked the coordinate. reinforce the heuristic
stepastar
... ;stack top is a map
punish ;we didn't like the next coordinate. try something different

여기에는 heuristic이 없습니다. 휴리스틱 알고리즘을 포함하여 모든 상태를 *지도에 유지한다고 가정하십시오.

당신은 그것이 어리 석고 상황에 민감하지는 않지만 온라인으로 배우지 않으면 신경망은 가치가 없습니다.

다른 팁

물론. 다소 복잡한 네트워크로 의심 할 여지가 없습니다.

바이트 코드/opcodes의 많은 구문 분석은 신경망이 탁월한 패턴 일치입니다.

당신은 확실히 신경망으로 이것을 할 수 있습니다 - 나는 주어진 바이트 코드에 대한 올바른 상태 전환을 쉽게 배우는 것을 볼 수 있습니다.

입력은 다음과 같습니다.

  • 스택 상단의 가치
  • 전류 축적기의 값
  • 현재 명령어 포인터의 바이트 코드
  • 현재 데이터 포인터의 바이트 값
  • 이전 깃발

출력은 다음과 같습니다.

  • 지시 포인터로 변경
  • 데이터 포인터로 변경
  • 축합기로 변경
  • 스택 작동 (푸시, 팝 또는 아무것도 없음)
  • 메모리 작동 (Accumulator로 읽기, 어큐뮬레이터 쓰기 또는 아무것도 없음)
  • 새로운 깃발

그러나 - 왜 당신이 왜 처음에 이것을하고 싶은지 잘 모르겠습니다. 신경망은 바이트 코드를 직접 실행하는 것과 비교하여 훨씬 덜 효율적이며 (충분히 잘 훈련되지 않는 한) 실수를 저지 릅니다. 충분한 교육 데이터를 만들기 위해 어쨌든 정확한 바이트 코드 평가자를 작성해야 할 것입니다 ....

또한, 내 경험상 신경망은 패턴 인식에 능숙하지만 특정 척도를 넘어서면 (예 : 몇 비트 이상) 논리 작업 (이진 첨가 또는 XORS 등)을 학습하는 데 매우 나쁩니다. 따라서 명령 세트의 복잡성에 따라 네트워크는 훈련하는 데 매우 많은 시간이 걸릴 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top