본문 바로가기

인공지능56

Implicit feedback 추천 모델 평가 방법 이해 (negative sampling, nDCG, HR) 이 글은 NCF 논문을 리뷰하며, implicit feedback 환경에서 item recommendation의 일반적인 평가 방법에 대해 알게 된 내용을 예제를 통해 풀어 재해석한 내용이다. NCF 논문의 4.1 Experimental Settings - Evaluation Protocols. 파트를 참고하여 작성하였으니, 원문을 읽고 싶다면 해당 부분을 참고하면 된다. NCF 논문 내 평가 방법론 해석 우선 논문(4.1 Experimental Settings - Evaluation Protocols.)에서 언급되는 내용을 약간의 번역+해석하면 아래와 같다. 1. leave-one-out evaluation 평가를 위해 일반적으로 아이템 추천에서 많이 사용되는 leave-one-out evaluatio.. 2023. 8. 9.
[paper] GPT4Rec 논문 리뷰 본 포스팅에서는 최근에 아마존에서 연구한 GPT-2 모델 기반 추천 프레임워크인 GPT4Rec 논문을 리뷰합니다. 생성형 언어 모델을 추천에 직접 도입한 사례로 매우 흥미로운 논문이며, 논문 정보, 리뷰 내용, 논문을 읽고 난 개인적 의견차례로 글을 작성하였습니다. 목차 개요 원제: GPT4Rec: A Generative Framework for Personalized Recommendation and User Interests Interpretation 저자: University of Michigan, Ann Arbor, Amazon, United States 제출일: 2023.04.08 논문 링크: https://arxiv.org/abs/2304.03879 코드 공개 여부: X 내용 1. Introd.. 2023. 7. 27.
MacOS에 tesseract 설치하여 사용하기 (영어, 한글) 이것만 해주면 영어 OCR은 된다. 한국어는 안됨 $ homebrew install tesseract $ pip install pytesseract 영어 OCR import pytesseract from PIL import Image img = Image('test.png') img_text = pytesseract.image_to_string(img) print(img_text) 한국어 설정하기 $ brew list tesseract /opt/homebrew/Cellar/tesseract/5.3.2/bin/ambiguous_words /opt/homebrew/Cellar/tesseract/5.3.2/bin/classifier_tester /opt/homebrew/Cellar/tesseract/5.3.2.. 2023. 7. 25.
[추천시스템] nDCG가 도대체 뭐지? 예제를 통해 알아보자 목차 배경 (이라 쓰고 푸념이라 읽는다) 올해들어 딥러닝 기반 추천 시스템을 공부하고 있다. 추천 시스템에 도입되는 딥러닝은 graph-based, latent model 등이나, 문제 자체는 분류 또는 회귀와 거의 대응된다. 근데 매트릭이 좀 특이하다. 주로 검색 분야에서 사용되던 지표를 사용하거나, 일반적으로 사용하는 분류 지표에 Top N 같은 개념을 적용해서 계산하고 성능을 평가한다. 일단, 나는 검색 시스템을 잘 모르다보니, 이 지표를 이해하는 게 좀 어려웠다. 특히 여기서 설명하려는 이 nDCG를 이해하는 데에 매우 오랜 시간이 걸렸다. 우선 nDCG는 위키나 여러 블로그에서 정리해둬서 수식 자체가 어렵지는 않다. 그런데 우선 랭킹 문제와 분류/회귀 문제가 다른데 이에 대한 개념 없이 다짜고자.. 2023. 7. 19.
tensorflow 2.xx multi gpu 사용하기 (gpu, cpu 지정하기, 2.3 이상) tensorflow에서 여러 개의 GPU에 대해 분산 처리를 지원한다. 만약 내가 Tesla T4 두 개를 가지고 있고 model.fit을 통해 학습을 수행하면, 우선적으로 두 칩의 메모리에 모두 프로세스를 띄우게 되는데, 실제로는 single GPU에서만 잡을 처리하게 된다. 이렇게 되면, 나머지 GPU는 다른 프로세스에서 띄워지지도 않으면서, 사용하지도 않는 한마디로 리소스가 매우 낭비된다. 따라서 모델을 빌드하기 이전에, 먼저 내가 여러 개의 GPU를 사용할 것인지, 하나의 GPU를, 아니면 CPU를 사용할 것인지 결정하고 명시적으로 지정한 뒤에 빌드, 학습, 예측 등을 수행해야 자원을 효율적으로 사용할 수 있다. 그럼 지금부터 이렇게 하는 방법에 대해서 알아보자. 목차 1. 실행 환경 정보 1) .. 2023. 7. 19.
leave-one-out evaluation이란? 최근 ncf 논문 리뷰와 구현 스터디를 하고 있는데, "leave-one-out evaluation"을 통해 평가한다고 하였다. 처음에는 leave-one-out cross validation과 같은 것인 줄 알고, 아니 이 큰 데이터를 CV로 학습한다고? 하며 깜짝 놀랬는데, 멍청했다. cross-validation이 아니라 evaluation이었다. 그리고 본문을 좀 더 자세히 읽어보니 그 방식 또한 다 설명되어 있었다. 탐구 내용 NCF 논문 내 leave-one-out 관련 문단 To evaluate the performance of item recommendation, we adopted the leave-one-out evaluation, which has been widely used in .. 2023. 7. 18.