지금 엄청난걸 알아냈다. 딥러닝은결국 리버스엔지니어링의 일부임. 일단 다른말먼저함.
입력특성이라는건, 현실의경향과일치할것으로추정되는 순서대로 부분요소를 정렬한것임.
서로다른입력특성은 서로다른 자릿수의 수라고 보면됨. 입력특성에곱해지는가중치는 각자릿수가 몇의자리수인지 결정함.
로컬미니멈에빠지는이유는 입력특성의값크기가 현실속의반응크기와 다르게정렬되어있기때문임.
예를들어 어떤 대상에 대해 인간이 그걸 '좋아한다' 또는 '안좋아한다'를 평가하기 위해 '인간다움'이라는 입력특성을 사용한 경우를 생각할 수 있음.
현실에서 그게 호감도에미치는영향은 선형적이지 않음(불쾌한골짜기).
다른거의가중치를크게하면 입력특성이발생시키는 이러한 오차요소의 영향을 줄일 수 있겠지만 그게 충분하지않으면 여기서 로컬미니멈이 남게되는것.
아무튼그래서 입력특성의 값 순서가 중요한데 딥러닝은 이걸 그냥 다른 특성들로 땜빵하는식임. 이걸 해결하려면 리버스엔지니어링이필요함. 각 비트의 나열을 입력받았을때 주어진출력으로 도달하는 함수를 추정하는거임. 이를통하면 암호화된데이터로학습시켜도 제대로답을맞출수있게됨 (단, 하나의 데이터 내의 지역결과에기반한 체인식 암호화면 힘들고 데이터자체로 암호화의최소블럭일경우가능).
그리고 난 드디어 주어진 대응을 만드는 함수를 바텀업하는방법을 알아낸거같음
자연어 말고 수식으로 좀
어쩌면 다른특성들 뿔려도 저렇게 입력특성 자체의 오류에의한 로컬미니멈은 피할수없는걸지도모름. 입력특성이 실제흐름과일치하지않는극값개수가 아마 로컬미니멈개수를 결정지을거임
그걸 잘 찾는게 러닝레이트일거고. 예를들어입력특성이 1에서100까지값범위를가지는데 1부터50까지 현실세계의반응이증가, 반대로 50에서100까지현실세계의반응이감소 한다면 초기시작지점이 25인데 러닝레이트를 70으로잡으면 100으로도달해서 로컬미니멈빠지는거고 러닝레이트 5로잡으면 50도달해서 제대로가는거고. 10으로잡으면
45나 55에도달하겟지
아 말잘못햇다 25에서시작해서러닝레이트70이면 100도달이아니라 95도달. 거기서 로컬미니멈
아근데 95보다 25에서 더크니까 25랑95왓다갓다하거나 재대로짯으면 25를택하겟지
암호화가 실제로 출력공간에 대응가능한 모든함수중에 골라서 이뤄지는게 아니라 그들중 일부만 사용되는걸 고려하면 동형암호에서 말하는 연산이란건 아마 결과를 표현하는 함수를 달리하는 것일 것으로 추측함. 128비트 일대일대응은 2^128!개인데 키하나로는 이모든걸 다 못표현할거임. 저렇게 남는 대응들중에 골라서 표현하는게 아마 동형암호에서말하는 연산일듯.
(2^128)!개
입력특성이 뭐건 출력이 뭐건 그게 랜덤이건 간에 dnn은 universal function approximator고 모든 함수를 근사할 수 있는건데 걍 수학으로 공부할 필요가 있겠다
그리고 local minimum 뜻도 잘못 알고 있는데 신경망 파라미터에 대한 손실함수 J가 논컨벡스기 때문에 local minimum이 있는거고 데이터의 한계로 달성못하는걸 주어진 데이터의 error의 하한으로 봐야되고.
논문 기대하겠습니다 ^^
침팬지냐?
컨셉이냐 아니면 진짜 어디 아픈거냐