2017-04-07 5 views
1

....신경망 (역 전파) 우리가 신경망을 훈련 있다고 가정

내 질문 같은 신경 네트워크는 우리가 이전에 같은 현재와 같이 출력이 무엇 적용 할 경우 데이터를 다시 생성한다 입력?

MNIST 데이터 세트에서 작업 중이며 Backpropagation 알고리즘을 사용하여 출력측 (최종 출력을 그 측면에서 입력으로 사용)에서 네트워크를 학습하면 어떻게되는지 궁금합니다.

는 사소한 하나가 될 수 있지만 여전히 나는

내 생각이 다시 데이터를 얻을 수 있다고 말한다 (또는 원본 데이터 셋에 근사) 지역 사회에서 도움이 필요 ... 정당화 될 수 있습니까?

+0

'''2 + 3 = 5'''. '''5 = 0 + 5; 1 + 4; 2 + 3''. 일부 수학 배경에 대해 bijective 기능과 pigeonhole 원리를 확인하십시오. 다른 것들을하는 것에 대한 약간의 독서를 위해 * Deep Neural Networks라고 불리는 종이를 찾으십시오. – sascha

+0

@ sascha 사용 된 주어진 함수에 대한 역함수가 존재하는 경우 ... – Aditya

+0

NN 구조의 내부 동작을 확인하고 스스로 결정하십시오. 이들이 다중 층이기 때문에, 이론적 인 경우를 제외하고는 전체 적 성격이 없어집니다. – sascha

답변

1

나는 아는 한. 그것은 할 수 없다. 특히 activation functions이 (대부분) 비선형이기 때문에 특히 그렇습니다.

신경망은 블랙 박스입니다 (this answer 참조). 둘째로, f(x) = x^2을 가지고 가십시오. nf(n)에서 계산하려면 두 가지 가능한 솔루션이 있습니다. 신경망에 대해서도 똑같은 방식으로 작동합니다. 여러 가지 해결책이있을 수 있습니다. 따라서 모든 것을 역으로하는 것은 불가능합니다. 그러나 요점은 다음과 같습니다. 함수의 역함을 알고 있기 때문에 신경망의 역함을 알 수있는 것은 아닙니다. 그것은 블랙 박스입니다!

그러나 특정 입력에 대해 뉴런이 제공하는 응답을 시각화 할 수 있습니다. 예를 들어, 다음은 '측면'신경망은 얼굴 인식을 찾습니다 있습니다

enter image description here

Google Deepdream는 또한 특정 개체를 인식 할 수 찾고 측면을 증폭한다. 확인 해봐!

+0

@ Thomas W 만약 주어진 함수의 역함수가 존재한다면 ... – Aditya

+1

@ADITYA 만약에? 아무것도. 이유는 두 가지입니다. 우선, 신경망은 블랙 박스입니다 (왜이 질문을 참조하십시오 http://stats.stackexchange.com/a/93713/147931). 둘째로'f (x) = x^2'를 취합니다. f (n)에서 n을 계산하려면 두 가지 해결책이 있습니다. 신경망에 대해서도 똑같은 방식으로 작동합니다. 여러 가지 해결책이있을 수 있습니다. 따라서 모든 것을 역으로하는 것은 불가능합니다. 그러나 요점은 다음과 같습니다. 함수의 역함을 알고 있기 때문에 신경망의 역함을 알 수있는 것은 아닙니다. 그것은 블랙 박스입니다! –