CS🏅/해체 분석기📝 3

[궁금한건 못참아]라이브러리 vs. 직접구현

피어슨 상관계수와 코사인 유사도에 글을 정리하던 중 이미 해당 공식들은 numpy나 scipy에 존재했다 피어슨 상관계수? [머신러닝+선형대수] 상관관계와 코사인 유사도 통계와 머신러닝에서 가장 근본적이면서 중요한 분석 방법은 상관관계를 분석하는 것이다 상관관계를 살펴보기 위해서는 상관계수를 구하는 방법이 있다 상관계수는 -1 부터 +1까지의 범위로 eumgill98.tistory.com 이때 갑자기 의문점이 하나 생겼다 과연 직접 구현함 함수와 라이브러리에 있는 함수의 속도 차이가 존재할까? 오늘은 이런 의문점을 해결하기 위해서 간단한 실험을 진행해 보았다 실험 설계 오늘 비교할 공식 재료 : `피어슨 상관계수` 비교할 대상 (1) 직접 구현한 피어슨 상관계수 함수 (2) Numpy의 np.corrco..

[궁금한건 못참아] 다양한 이미지 포맷.. 보이지 않는 너머에 대해

대학시절 미디어 커뮤니케이션학을 전공하면서 카메라의 발명은 예술작품의 `아우라`의 소멸을 만들어 냈다는 내용을 공부한 적이있다. 카메라만 있으면 누구나 원하는 자신의 얼굴 또는 지인의 얼굴 그리고 배경사진까지 하나의 예술작품으로 간직할 수 있는 시대가 만들어 진것이다. 최근 디지털로 넘어오면서 이러한 `아우라`는 완전히 사라진 것 처럼 보인다 물론 NFT 같이 디지털에서 `아우라`를 소생시키려는 시도들은 있지만 이제 누구나 원한다면 인터넷 상에서 자신이 원하는 예술작품, 사진, 그림 등을 Ctrl + C 와 Ctrl + V 만으로 소유할 수 있는 시대가 되었다. 그러나 우리는 이러한 행위에서 무심결에 넘어가는 부분이 있다. 바로 이미지 파일 포맷이다 `JPG, PNG, ...` 등 다양한 방식의 이미지 ..

[Einops] 차원관리의 새로운 차원

Deeplearning code를 작성하다 보면 항상 tensor의 차원을 관리하는 것에서 어려움을 마주친다. 물론 Pytorch나 Numpy를 활용해서 차원을 관리할 수 있지만 문제는 `직관적`이지 않다는 것이다. 실제로 4차원 이상부터는 사람이 상상하기 힘들다.. 이렇게 어려운 차원관리를 효율적으로 할 수 있는 라이브러리가 있다. 바로 `Einops`이다. 이 라이브러리를 처음 발견한 코드는 ViT를 Pytorch로 구현한 코드였다 처음 이 코드를 보았을때, 기존 Python의 문법에서 본적이 없는 하이퍼 파라미터의 형태를 갖고 있어서 조금은 혼란스러웠다. out = torch.matmul(attn, v) out = rearrange(out, 'b h n d -> b n (h d)') return s..