입력 n 데이터 포인트 인 x 1 , … , x n 을 취하는 신경망 가 주어 집니다 . 우리는 말할 F IS 순열 불변 경우
순열 .
누군가가 불변의 신경망을 순열하기 위해 출발점 (기사, 예제 또는 다른 논문)을 추천 할 수 있습니까?
입력 n 데이터 포인트 인 x 1 , … , x n 을 취하는 신경망 가 주어 집니다 . 우리는 말할 F IS 순열 불변 경우
순열 .
누군가가 불변의 신경망을 순열하기 위해 출발점 (기사, 예제 또는 다른 논문)을 추천 할 수 있습니까?
답변:
내가 아는 한, 네트워크 구성 방식으로 인해 아무도 시도하지 않았습니다. 각 입력에는 더 많은 입력에 연결된 가중치 세트가 있습니다. 입력이 전환되면 출력도 변경 됩니다.
그러나이 동작에 접근하는 네트워크를 구축 할 수 있습니다. 트레이닝 세트에서 배치 학습을 사용하고 각 트레이닝 샘플에 대해 가능한 모든 순열을 네트워크에 제공하여 순열이 변하지 않는 것을 학습하십시오. 이것은 절대 변하지 않을 것 입니다.
이를 수행하는 또 다른 방법은 모든 입력에 대해 가중치를 복제하는 것입니다. 예를 들어 3 개의 입력 (i0, i1, i2)이 있고 다음 숨겨진 레이어에 2 개의 노드 (hl0, hl1)와 활성화 기능 F가 있다고 가정합니다. 완전히 연결된 레이어를 가정하면 2 개의 가중치 w0 및 w1이 있습니다. 숨겨진 계층의 노드 hl0 및 hl1은 각각 다음과 같이 제공됩니다.
hl0 = F (i0w0 + i1w0 + i2w0)
hl1 = F (i0w1 + i1w1 + i2w1)
따라서 값이 입력에서 변경되지 않은 순열을 갖는 숨겨진 레이어를 제공합니다. 이제부터는 나머지 네트워크를 배우고 구축 할 수 있습니다. 이것은 컨볼 루션 레이어에서 파생 된 접근 방식입니다.
주제를 벗어난 것은 멋진 프로젝트처럼 보입니다. 일부 연구 프로젝트에 협력하려면 저에게 연락하십시오 (내 프로파일 확인).
찾고있는 것이 몇 가지 있습니다.
Keras를 사용하여 Permutational Layer를 구현했습니다. https://github.com/off99555/superkeras/blob/master/permutational_layer.py
PermutationalModule
함수를 호출하여 사용할 수 있습니다.
이 백서에 따라 구현 : https://arxiv.org/pdf/1612.04530.pdf
아이디어는 N 입력 에서 N ^ 2 쌍의 모든 쌍을 비교 하고 공유 가중치가있는 모델을 사용한 다음 N 입력 에서 풀링 기능을 N 번 사용하는 것 입니다. 풀링을 다시 사용할 수 있지만 논문에서는 다른 풀링에 대해서는 언급하지 않습니다.