컴퓨터에서 원래 색깔이 흰색부터 검은색까지 0~255 단계로 순서대로 정렬되어있잖아요.
이때 색깔을 임의로 두개 뽑습니다. 그러면 컴퓨터에서 간주하는 두 색깔의 차이량은 인간이 화면을 보고 인식하는 두 색깔의 차이량과 비슷할 겁니다.
예를들어 '200'이라는 색과 '201' 이라는 색은 컴퓨터 상에서 인접한 거리에 있으면서, 인간의 입장에서도 비슷한 색으로 보일 겁니다.
이렇게 '특성이 따르는 크기순서가 인간의 인식이 느끼는 강렬함순서' 와 일정한 관계가 있는 비트매핑에서 학습시키면 분명히 정답을 잘 맞출거예요.
이렇게 해서 어떤 이미지데이터셋 A를 학습시켰다고 합시다. 그리고 다음과 같은 상황을 생각해봅시다.
1. 0~255까지 매겨져있던 각 색깔 순서를 랜덤하게 뒤섞습니다. 물론 일대일대응은 유지시키면서 단지 순서만 뒤섞습니다.
2. 뒤섞인 코드를 바탕으로 기존의 A에 있던 이미지와 완전히 동일하게 보이는 이미지들을 다시 만들어냅니다. 이렇게 새로만든 데이터셋을 B라고 합시다.
3. 인간이 볼 때 B가 포함하는 이미지의 겉모습은 A의 것과 전혀 다름이 없습니다. B에 대해 부여된 정답표 역시 A의 것과 완전히 동일합니다.
이때, B(리매핑한 데이터로 구성한 이미지와 그에 대한 정답표)를 학습시킨다면 절대 A만큼의 정확도가 나오지 않을 것 같은데요.
어쩌면 그냥 학습을 안한거랑 별 차이 없는 정도가 나올 것 같기도 합니다.
이에 대한 실험을 해보신 분이나 결과 예측을 아시는 분 계신가요?
그러한 원인이 무엇일지도 궁금합니다.
지금까지의 제 생각으로는, 학습에 있어서 수학적으로 해결가능한 부분은 제한되어있으며
가장 근본적인 부분은 특성값 변화경향에 따른 인간인식의 변화경향을 추정하는 철학에 있는 것 같습니다.
그 철학을 제대로 확립시켜줄 수 있는게 빅데이터를 수집해서 그들간의 관계를 분석하는 것 같고요.
특성공간의 크기가 커질수록 이러한 '인간을 잘 헤아린 매핑'이 중요해질 것 같네요.
0~255(=1바이트)정도면 랜덤하게 매핑해도 모델크기 엄청 키워서 비효율적이더라도 유의미한 정확도향상을 볼 수도 있겠는데
0~42억(=4바이트) 정도가되면 랜덤하게 매핑될 경우 모델크기를 아무리 키워도 유의미한 정확도향상은 보지못할 것 같네요
데이터 augmentation 하면 성능 늘어나자나 이론적으로도 비슷한 이미지는 비슷한 결과가 나오는게 좋은데 딥러닝의 고차원 특성상 입력의 작은변화가 출력의 큰 변화로 나타나서 적대적 학습도 가능한거고
제가 지금 초보여서요.. 뭔가 이런저런 잡다한 거 없이 즉 사람 주관 없이 수학적으로 증명된 방법만으로 학습시킬 수 있을 줄 알았는데 그게 아닌거같아서 좀 실망이 옵니다
그리고 수학적으로 접근할려면 딥러닝 관련 논문 많이 찾아봐야되 cnn 만하더라도 feature map뽑는건 순수학이야
당연히 픽셀간 매핑된 컬러값간 covariance정보가 증발하니 성능이 떨이지겠지
그 코바리어런스라는게 인간이 설정한 척도에 따라 계산된거라서 인간이 척도설정 자체를 잘못한건지를 확인하려면 딥러닝 외의 방법이 필요하다고생각
그런 '적대적' 데이터 셋에서는 모델입장에서 본적이 없는 분포이기 때문에 취약해지는게 당연함 그걸 강건하게 학습하는 방법도 있긴한데 일단은 통계학이랑 정보이론 좀 보는걸 추천함
ㅇㅎ그걸 적대적이라고하는가보군요 정말 끝도없이 배워야겟습니다