MindSKKU / NNE

This page is for skku NNE assignment
4 stars 2 forks source link

SKKU_assignment2_TwoLayerNN_sol.ipynb 내의 cross-entropy 구현 #17

Open ggampu opened 6 years ago

ggampu commented 6 years ago

쥬피터노트북 파일에 cross-entropy 구하는 파트에서

cross_entropy_loss(temp_score0, temp_target0, weights, reg_term)

에 보시면, weights 가 사전형으로 되어있습니다. 파이썬 파일에서 코드 구현할때 그게 사전형이 아닌 일반 행렬로 알고 구현했는데, 그래서 이 부분에서 에러가 납니다. 그럼 파이썬 파일을 사전형 입력으로 고쳐야 하는지요? 또 하나는, loss 파일을 구하는 식이 정확하게 주어지지 않은 상태에서, 저 값이 정답과 정확히 일치해야 한다는 건 좀 납득하기 어렵네요.. log 함수 안에 0이 들어가지 않게 구현하는 방법도 한가지가 아닐수도 있지 않나요... L2 regularization 에 1/2 곱하고 또 regularization factor를 곱하고 하는 것이 맞나요? loss 값이 미세하게 계속 차이가 나서 질문드립니다.

MindSKKU commented 6 years ago
  1. cross entropy loss에서 weight값 인풋은 사전형이 아니라 numpy array입니다. 답변을 잘못 드려 죄송합니다. weights는 사전형이 맞습니다. 사전형 인풋을 array로 다뤘다면 에러가 나는게 당연합니다.

  2. log의 경우 구현 방법이 한가지는 아니지만 대다수의 사람들이 동일한 방법을 생각할 것 같습니다. if문 같은거만 쓰지 않으시면됩니다.

  3. 맞습니다.