DNN 원리를 이해하고자 직접 구현하려고 합니다.
그 과정 속에서 궁금한 점 몇 가지 질문 드리려고 합니다.
1. 사진의 크기가 4x4 라면 Input Layer 에는 총 16의 크기를 가진 배열을 가져야 합니다. 만약 8x8 16x16 등 데이터의 크기가 일정치 않을 경우에는 어떤 식으로 구현 해야 하나요? ANN, DNN 모델에서는 불가능하면, 규격화가 되지 않는 데이터를 처리하는 모델은 무엇인가요?
2. Layer를 연결시켜 Output Layer에 값이 도달하는데 까지 성공했습니다. 편향(bias)와 가중치(weight)값은 초기에 랜덤 값으로 설정 하는 건가요? 초기에 랜덤 값으로 설정 한다면, 적절한 값의 범위는 무엇인가요?
3. 현업에서 여러 모델에서 나온 Output 노드의 값들을 다른 모델에서 Input 데이터로 활용하는 기법도 사용이 되나요?
작업하면서 문득 궁금한 점들이 많아서, 질문 드립니다. 3번 같은 경우에는 쓸데없는 질문이니.. 답변 안해주셔도 됩니다.
귀중한 시간 할애해서 답변 주시는 분들께 진심으로 감사드립니다!
===========
https://gall.dcinside.com/mgallery/board/view/?id=deeplearning&no=317&page=1
지난 질문에 답변 주신 분들께 진심으로 감사드립니다 !
2. to the best of my knowledge, activation function마다 다르지만 He initialization을 많이 쓰는걸로 알아.. Xavier initialization도 있고 std 0.01을 쓰는 방법도 있지만.. bias는 대개 0으로 초기화 하지만 경우에 따라서는 작은 값으로 초기화 해주기도 함
잘못된 정보일지도 ㅎ
1. 내가 아는 한에서 대부분의 모델은 입력 크기가 고정되어야 하고, 크기가 일정치 않으면 upsample과 downsample하든 crop을 하든 해서 처리함...
1.보통 이미지를 crop하거나 resize함.그리고 규격화 되지 않은 이미지를 처리하는 아키텍처를 생각하면 cnn이 있음 2. 2번은 위에 대답이랑같음 3.이건 경우에 정의에 따라서 애매하긴한데 앙상블에서 배깅이라고하는 경우 여러 모델에 출력을 입력으로 사용하여 모델을 학습시키는 경우가 있음.참고로 현업에서도 좀 쓰임
3. 지식증류가 딱 이거임. 기학습된 선생모델의 아웃풋을 사용해서 새로운 학생모델을 학습시킬 수 있음