Open visionNoob opened 5 years ago
네, 언급하신 현재 베이스코드의 l2_normalization 함수는 전체 matrix기준으로 norm을 계산하여 실제로 하고자하는 각 feature별 l2_normalization을 수행하지 못하는 것 같습니다. colab에 올려주신 테스트 코드 확인하였고, 제안하신 l2_normalize 코드가 제대로 작동하는 것 같습니다. 오류를 바로잡아 주셔서 감사합니다! 제안하신 함수는 baseline코드에 반영하도록 하겠습니다. 감사합니다.
현재 baseline의 l2_normalize 함수가 예상대로 제대로 동작하지 않는 것 같습니다. baseline에서 (제가 이해한 바로는) query, reference vectors간의 cosine similarity 계산에 앞서 vector normalization을 수행합니다. https://github.com/AiHackathon2018/AI-Vision/blob/5596b8e45541fc980d7d5effb80096872511c797/main.py#L44-L51
이때
l2_normalize
함수에서np.linalg.norm
를 이용해서 벡터의norm
을 계산하는데, 현재 코드는 axis가 명시되어 있지 않아서 전체 matrix의 norm을 계산합니다. 아마도, column vectors별로 norm이 각각 계산이 되어야 cosine similarity가 제대로 계산되지 않을까 싶습니다.https://github.com/AiHackathon2018/AI-Vision/blob/5596b8e45541fc980d7d5effb80096872511c797/main.py#L68-L72
(see also, https://colab.research.google.com/drive/1XJ82_111ufE64CeA3ymMPisWYnePoyNK)
제안하고 싶은 해결방법이 있나요?
https://github.com/insurgent92/AI-Vision/blob/c679010879078dbcf439310b355af081109290d4/main.py#L98-L100