"New Neural"은 MetaTrader 5 플랫폼용 신경망 엔진의 오픈 소스 프로젝트입니다. - 페이지 62

 
:

어느 쪽이 더 빠른지는 분명합니다. 그러나 모든 교육을 위해 파일에 몇 번이나 써야 합니까? - 한번?

따라서 여기서 속도는 중요하지 않지만 시각적 제어는 단순화됩니다.

xml 파일이 시각적으로 제어하기 쉬울 것이라고 말하지는 않겠습니다.

어떤 종류의 템플릿은 xml 파일 형태로 여전히 가능하지만 한 레이어에 1500개의 뉴런이 있는 그리드를 시각화하는 것은 완전히 쓰레기가 될 것입니다. . 거부는 하지 않지만 저장시 xml로 중복 생성이 가능합니다.

메타드라이버 :

여기서 질문이 있습니다. 초기화의 의미 . 무게를 적재하는 것이 한 가지인 경우. 그리드를 구성하는 경우 + 가중치를 로드하는 것은 완전히 다른 것입니다.

--

지금 바로. 나는 노래할 것이다.

mql5 코드에서 네트워크 구성(구조, 유형)의 중간 표현을 표시하는 두 가지 방법이 있습니다.

첫째: 라이브러리 클래스에서 초기화하는 동안 네트워크를 동적으로 구성합니다. 그러한 네트워크는 포인터를 통한 동적 배열 과 링크로 가득 차 있습니다. 이 접근 방식은 지금까지 암묵적으로 지배적이었습니다.

그러나 두 번째 방법이 있습니다. 미리 구성하고 xml로 표시한 후 고정 그리드(정적 배열 및 원하는 주소(인덱스)에 대한 직접 호출 포함)를 생성합니다.

이러한 엔진은 생성된 메시의 더 큰(상당한) 성능으로 인해 사용자에게 훨씬 더 매력적일 수 있습니다. 그러나 구현하기가 더 어렵습니다. 사실 xml2mql 컴파일러를 만들어야 합니다.

나는 두 번째 방법을 위해 섭스노. 막히는 경우 메타따옴표가 도움이 되기를 바랍니다.

첫 번째 방법입니다.

두 번째 대안은 루트에서 삭제되었습니다(정확히 기억은 안나지만 첫 페이지에서). 미래에는 F7이 무엇인지 모르는 사람들이 "사용자" 범주에 포함될 것이기 때문입니다.

또한 엔진은 쉽게 확장할 수 있으며 F7의 목적을 아는 사람은 누구나 스스로 다른 유형의 그리드를 추가하거나 자체적으로 발명할 수 있다고 가정합니다.

ZY 템플릿 코딩에 대한 당신의 애착을 이해하지만 두 번째 방법으로 우리는 학습 알고리즘의 구현과 뉴런 유형의 확장에 큰 문제가 있고 GPU에 최적화되어야 한다는 점에 동의합니다. 여기 첫 번째 옵션에는 심각한 문제가 있습니다. 모든 사람이 할 수 있는 가장 간단한 일이지만 단순히 범용 엔진의 프로젝트를 설명하는 것만으로도 뇌가 연기됩니다.

 

내일 나는 네트워크 프로토타입 저장, 교육 작업 설정, 작업 컴퓨터에서 찾은 솔루션 저장에 대한 작업을 여기에 복사할 것입니다.

xml의 모든 것

내 생각에는 xml 파일 구문 분석의 리소스 집약도가 너무 과장된 것 같습니다.

이것은 일회성 절차라는 것을 잊지 마십시오.

게다가 MQL5 고유의 xml 파일용 파서를 작성하는 것은 신경망 프로젝트의 복잡성에 비해 사소한 작업입니다.

 
우크라이나 :

첫 번째 방법입니다.

두 번째 대안은 루트에서 삭제되었습니다(정확히 기억은 나지 않지만 첫 페이지에서). 미래에는 F7이 무엇인지 모르는 사람들이 "사용자" 범주에 포함될 것이기 때문입니다.

또한 엔진은 쉽게 확장할 수 있으며 F7의 목적을 아는 사람은 누구나 스스로 다른 유형의 그리드를 추가하거나 자체적으로 발명할 수 있다고 가정합니다.

여기서 질문이 하나 남았습니다. 네트워크 유형에 대한 역량이 부족하기 때문입니다.

1. 링크 테이블을 사용하여 모든 유형의 그리드를 고유하게 결정할 수 있습니까? 내 말은, 해당 유형이 단순히 주어진 링크 테이블에서 오는 보편적인 추상 네트워크를 만드는 것이 가능합니까? 즉, 진정한 범용 네트워크?

대답이 예이면 중간 표현을 만들기 전에 네트워크 구성 편집기에서 그리드 유형을 설정하고 범용 라이브러리를 수정할 필요가 없습니다. 어떤 의미에서는 네트워크 구조에 관계없이 (버그가 아닌 한) 절대 필요하지 않습니다. 최적화, 비선형 변환기 라이브러리 구축, 교수법 등을 제외하고는 가능합니다.

대답이 '아니오'인 경우 코를 찌르고 일종의 참조로 이 접근 방식에 맞지 않는 예외에 익숙해지도록 하십시오.

--

이제 대안입니다. 네트워크 설명의 xml 표현이 신중하게 고려되고 mql 구현(정확함)에서 완전히 추상화되면 대안이 모순되지 않습니다. 그것들은 둘 다 구현될 수 있을 뿐만 아니라 때때로 그들 사이에서 교차될 수도 있습니다.

 
메타드라이버 :
...

정답은 이진법이 아니라,

한편으로 대답은 부정적이고 연결 테이블 자체는 뉴런의 유형을 지정하지 않습니다.

반면에 대답은 긍정적이며 유형 할당은 숫자 형식으로 상당히 실현 가능합니다(스위치를 사용하여 공통 조상에서 상속된 특정 유형의 개체를 생성함).

따라서 매개변수 배열과 링크 테이블을 조합하면 매우 적합합니다.

그러나 반면에 구성 편집기에도 매개 변수(계층 수, 각 계층의 뉴런 수, 계층의 뉴런 유형)가 있으며 이것은 연결을 생성하기 전의 것이기도 합니다.

 
메타드라이버 :

즉, 진정한 범용 네트워크?

피드포워드부터 그렇습니다. 나머지는 토폴로지를 살펴봐야 합니다.
 
더엑스퍼트 :
피드포워드부터 그렇습니다. 나머지는 토폴로지를 살펴봐야 합니다.

따라서 토폴로지는 링크 테이블에 의해 제공됩니다 ....

?

 
메타드라이버 :

따라서 토폴로지는 링크 테이블에 의해 제공됩니다 ....

그리고 연결된 부품의 기능.
 
더엑스퍼트 :
그리고 연결된 부품의 기능.

확인. 여기서 조금 더 자세히 알아보자.

이 기능을 유한(작은) 테이블로 제공할 수 있습니까? 다른 유형의 뉴런은 어떻게 다릅니까(활성화 함수 제외)?

 
메타드라이버 :

확인. 여기서 조금 더 자세히 알아보자.

이 기능을 유한(작은) 테이블로 제공할 수 있습니까? 다른 유형의 뉴런은 어떻게 다릅니까(활성화 함수 제외)?

엄밀히 말하면, 아닙니다.

먼저 간단한 경우입니다. 예를 들어 선형, S자형, 접선 뉴런이 있습니다. 새로운 유형의 활성화를 추가하려면 활성화 유형의 열거를 확장해야 합니다.

원칙적으로 말하자면, 지옥에 떨어졌습니다. 그러나 먼저, 예를 들어 kohonen 네트워크에서 출력 레이어에 일부 활성화 함수에 대한 기호가 있는 이유는 무엇입니까? 이것은 중복 정보입니다.

둘째, 이 목록은 이론적으로 무제한입니다.

셋째, 각 네트워크는 작동 및 장치의 기능을 가질 수 있습니다. 예를 들어, Kohonen 네트워크(SOM)의 경우 결과를 출력으로 제공할지 아니면 리더만 제공할지 여부(모든 비 리더를 0으로 설정)에 대해 인접 기능 설정 및 플래그가 될 수 있습니다.

예를 들어 논리 모델에서 구성 가능한 매개변수는 활성화 기능에서 찾을 수 있습니다. 이것도 일반모델인가요?

MLP 계층의 경우 단일 뉴런의 존재에 대한 플래그가 될 수 있습니다.

____________________________

그건 그렇고, xml은 바이너리 표현보다 유효성 검사가 훨씬 쉽습니다. 그리고 저장 \ 복원은 본질적으로 시간이 중요하지 않습니다.

 
더엑스퍼트 :

1. 엄밀히 말하면 아니다.

먼저 간단한 경우입니다. 예를 들어 선형, S자형, 접선 뉴런이 있습니다. 새로운 유형의 활성화를 추가하려면 활성화 유형의 열거를 확장해야 합니다.

원칙적으로 말하자면, 지옥에 떨어졌습니다. 그러나 먼저, 예를 들어 kohonen 네트워크에서 출력 레이어에 일부 활성화 함수에 대한 기호가 있는 이유는 무엇입니까? 이것은 중복 정보입니다.

둘째, 이 목록은 이론적으로 무제한입니다.

셋째, 각 네트워크는 작동 및 장치의 기능을 가질 수 있습니다. 예를 들어, Kohonen 네트워크(SOM)의 경우 결과를 출력으로 제공할지 리더만 제공할지 여부(모든 비 리더를 0으로 설정)에 대해 인접 기능 설정 및 플래그가 될 수 있습니다.

예를 들어 논리 모델에서 구성 가능한 매개변수는 활성화 기능에서 찾을 수 있습니다. 이것도 일반모델인가요?

MLP 계층의 경우 단일 뉴런의 존재에 대한 플래그가 될 수 있습니다.

____________________________

2. 그런데 xml은 바이너리 표현보다 유효성 검사가 훨씬 쉽습니다. 그리고 저장 \ 복원은 본질적으로 시간이 중요하지 않습니다.

1. 왜 안되지 . 내 아이디어는 다음과 같습니다. 모든 유형의 신경망을 "납땜"할 수 있는 보편적인 "요소 기반"을 만드는 것입니다(확장 가능함). 이 기반의 요소는 정확한 정의 공식에 의해 지정됩니다. 필요한 경우 의사 코드를 사용합니다. 그러나 구현과의 분리를 보장하기 위해 mql-code 형식이 아니라 시간이 지남에 따라 개선될 수 있습니다. 추상 요소 기반이 생성된 후(가능한 경우) 네트워크 요소 간의 모든 연결을 설명할 수 있는 xml 파일 형식을 생성할 수 있습니다. xml 설명 승인 후 프로젝트 를 쉽게 병렬화할 수 있습니다.

1) 요소의 구현. => 출력에서 - 구성 요소 라이브러리.

2) 네트워크 유형/구조의 구성자 => 출력 - 구성을 xml 파일에 저장하는 그래픽, 단계별 또는 기타 일부 구성자.

3) mql 코드로의 번역기. => 출력은 (1) xml 파일을 매개변수로 사용하는 초고속 자가 구성 mql 신경망 또는 (2) 특정 mql 하드 네트워크로의 컴파일러입니다.

이 같은. 어려운 것 같습니다.

2. 네.