본문 바로가기

AI Theory22

생성모델의 평가지표 톺아보기(Inception, FID, LPIPS, CLIP score, etc ..) 생성모델 관련 연구를 하며, 또 몇번의 인턴 면접을 보며, 생성모델을 평가하는 메트릭에 대해 "잘" 알고있는 것이 매우 중요하다는 생각이 든다. 사실 이미지를 잘 생성한다라는 것을 수치적으로 명확히 정량화하는 것은 매우 어려운 영역이고, 아직도 활발히 연구 중에 있다. 그러나 그럼에도, 생성모델을 연구하는데 있어서 정량적인 비교는 반드시 필요하기에 이미 많은 논문에서 자신만의 혹은 기존에 쓰이던 정량지표를 활용하여 해당 본인 논문의 우수성을 입증하고 있다. 오늘은 이러한 생성모델(gan, diffusion)의 연구들에서 주로 쓰이는 평가지표에는 어떤 것들이 있고, 각각이 어떤 의미를 갖는지 정리해보겠다. (사실 여기 나온 지표들 말고, 더 많은 좋은 메트릭들이 있을 수 있지만 내가 직접 논문들을 읽으며 .. 2024. 2. 7.
HuggingFace custom dataset 저장하는 방법 이번에 수업에서 image classification project를 하다보니 colab으로 매 번 개별 이미지 파일들을 dataset으로 만드는게 시간도 오래걸리고, 무엇보다 vscode에서 사용하기 어려울 것 같아 불편하였다. 예전에 프로젝트를 할 때 huggingface dataset에 올려놓고 사용한 적이 있었는데, 그 방법을 다시 상기시킬 겸 적어보려한다. (사실 아래 링크에 매우 자세한 방법이 나와있습니다. 영어가 편하신 분들은 공식 레포를 읽는 것이 더 도움 될 수 있습니다!) https://huggingface.co/docs/datasets/image_dataset Create an image dataset There are two methods for creating and sharing.. 2023. 6. 18.
[CS224W 공부 노트] 2. Traditional Methods for ML on Graphs (1) 해당 포스팅의 모든 자료는 CS224W 강의 및 관련 자료를 바탕으로 정리하였습니다. 0. 들어가기에 앞서 1장에서는 graph의 정의(nodes,edges) 및 다양한 종류, 표기 방법 등도 배울 수 있었다. 또 이를 왜 배워야하고 어떤 task들이 있는지에 대해서도 알아보았다. [CS224W 공부 노트] 1.Introduction; Machine Learning for Graphs [CS224W 공부 노트] 1.Introduction; Machine Learning for Graphs 해당 포스팅의 모든 자료는 CS224W 강의 및 관련 자료를 바탕으로 정리하였습니다. 0. 들어가기에 앞서 경쟁력 있는 AI 개발자가 되기 위해서는, 다양한 딥러닝 학습 방법론을 바탕으로 주어진 hyunsooworld... 2022. 10. 27.
[CS224W 공부 노트] 1.Introduction; Machine Learning for Graphs 해당 포스팅의 모든 자료는 CS224W 강의 및 관련 자료를 바탕으로 정리하였습니다. 0. 들어가기에 앞서 경쟁력 있는 AI 개발자가 되기 위해서는, 다양한 딥러닝 학습 방법론을 바탕으로 주어진 데이터에 적합한 메소드를 구현해나가는 능력이 필수적이다. 시계열 데이터에서는 물론 네이버 부스트캠프에서 공부하고 있는 자연어처리까지 다양한 분야에서 GNN(Graphical Neural Network)이 활용되고 있고, 꼭 한번은 이 분야를 공부해보고 싶었었는데 좋은 기회로 스터디에 참여하게 되었다. 이번 주 부터는 Stanford CS224W: Machine learning with Graph 강의를 보고 관련 내용을 정리해 나갈 것이다. 1. Why Graphs Why Graphs? Graphs are a g.. 2022. 10. 22.
[Pytorch] hook은 왜 있는 것일까? 0. 들어가기에 앞서 Hook을 이용하여 기존 Class 바탕의 코드를 작성할 필요 없이 상태 값과 여러 React의 기능을 사용할 수 있습니다. - reactjs Hook(후킹)은 소프트웨어 공학 용어로, 운영 체제나 응용 소프트웨어 등의 각종 컴퓨터 프로그램에서 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 명령, 방법, 기술이나 행위를 말한다. (위키백과) 이렇게 말하면 조금 어려울 수 있는데, 쉽게 말해서 프로그램의 실행 로직을 분석하거나 프로그램에 추가적인 기능을 제공하고 싶을 때 사용되는 것 것이 hook이라고 생각하면 된다. pytorch 뿐만 아니라 react,C# 등에서도 자주 사용되는 방식으로 이번 포스팅에서는 hook이 무엇이고, py.. 2022. 9. 29.
[Pytorch] torch.nn.Module에는 어떤 method가 있을까? torch.nn.Module 은 여러 기능을 모아두는 상자 역할을 한다. 하나의 nn.Module 상자가 여러 pytorch의 기능을 모아둘수도 있고, 다른 상자를 포함할수도 있다. 공식 Document 에 올라와있는 nn.Module의 여러 기능을 살펴봐보자. add_module( name, module ) 현재 모듈에 자식 모듈 추가 apply( fn ) 모든 하위 모듈에 fn 함수 적용 (ex : parameters초기화) bfloat16( ) 모든 부동 소수점 parameters와 buffers를 bfloat16 type으로 캐스트 double( ) 모든 부동 소수점 parameters와 buffers를 double type으로 캐스트 half( ) 모든 부동 소수점 parameters와 buff.. 2022. 9. 29.