논문리뷰
-
[논문 리뷰] NGCF 요약, 코드, 구현
논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. NGCFNeural Graph Collaborative FilteringWANG, Xiang, et al. Neural graph collaborative filtering. In: Proceedings of the 42nd international ACM SIGIR conference on Research and development in Information Retrieval. 2019. p. 165-174. 논문 원문 링크 저자의 의도1. 관계 기반 임베딩 vs 속성 기반 임베딩유저 임베딩과 아이템 임베딩을 학습하는 것은 현대 추천 시스템의 핵심이다.MF 기반 알고리즘부터 딥러닝 ..
2025.12.18
-
[논문 리뷰] DeepFM 요약, 코드, 구현
논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. DeepFM DeepFM: a factorization-machine based neural network for CTR predictionGUO, Huifeng, et al. DeepFM: a factorization-machine based neural network for CTR prediction. arXiv preprint arXiv:1703.04247, 2017. 논문 원문 링크 저자의 의도기존의 방법론은 low-order 혹은 high-order 상호작용에 강한 편향이 존재한다. low-order와 high-order 상호작용을 모두 효과적으로 모델링할 수 있는 방법론을 제..
2025.12.18
-
[논문 리뷰] CLIP 요약, 코드, 구현
논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다. CLIPLearning transferable visual models from natural language supervisionRADFORD, Alec, et al. Learning transferable visual models from natural language supervision. In: International conference on machine learning. PmLR, 2021. p. 8748-8763. 논문 원문 링크 저자의 의도고정된 카테고리를 '분류'로 학습하는 것은 일반화가 어렵다.'분류' 대신 '이미지를 서술하는 raw 텍스트에서 직접 학습'하는 것을 ..
2025.12.15
이론
-
낯선 AI 분야 논문 찾는 방법, (???: 이 분야 좀 내일까지 알아봐)
처음 대학원에 가거나 연구 직무를 맡으면 답답한 점이 있다.뭘 어디서부터 어떻게 찾고 뭘 어떻게 공부해야하지? 진짜 눈앞이 막막하다.선배들에게 물어보면 그 뭐 그냥 대충 논문 찾아서 읽으면 된다고 한다.그... 그러면.... 논문을 어떻게 찾는데요...? ㅎㅁㅎ? 이 글에서는 논문 탐색 로드맵을 알려주고자 한다.물론 이 방법에는 정답이 없다.내가 제시하는 방법이 마스터 알고리즘이 아닐 수 있다.하지만 나같은 경우에는 이렇게 찾는게 가장 빨랐다.그리고 답답해하는 연구자들에게 이 방법을 공유한다. 3가지만 기억하면 된다.벤치마크와 데이터셋 -> SOTA 모델 -> Citation (참 쉽죠?) (보고 있나 과거의 나?) 1. 벤치마크와 데이터셋가장 먼저 해야할 일은 데이터셋을 찾는 것이다.모든 AI 모델은 ..
2025.12.19
-
RLHF 정리 (PPO, DPO, IPO, KTO, ORPO, GRPO), 핵심 아이디어, 차이점, 수식 분석, 데이터셋 예시
LLM의 가장 기본이 되는 메서드인 RLHF.나는 비전 분야만 잘 알면 되는 줄 알았다.그런데 슬슬 VLM에 대한 이야기가 나온다.그리고 LLM을 모르면 뒤쳐지는 느낌이 든다. 아무튼 그래서 RLHF 기법에 대하여 조사해서 정리해봤다.기본적인 딥러닝 지식이 있다는 가정하에 (없어도 무방, GPT와 함께라면)최대한 쉽게 설명해보도록 하겠다. 1. LLM 최적화 기법LLM은 사전학습 이후에 다양한 방법으로 후속 최적화를 진행한다.대표적으로 `SFT`와 `RLHF` 2가지가 있다. 보통 학습 순서는 (사전학습 -> SFT -> RLHF) 순으로 진행된다.최종적으로 얻은, RLHF까지 마친 모델을 policy model 혹은 align model 이라고 한다. 1.1. SFTSupervised Fine-Tuni..
2025.07.20
-
[풀스택 딥러닝] 2번째, 딥러닝 실험 관리 방법, Weights & Biases, W&B, wandb, 텐서보드
개발자 직군이라면 누구나 한번쯤 들어봤을 풀스택.대 AI 시대에 들어선 지금, 마침내 딥러닝도 풀스택이란 용어가 생겼다. 나도 AI는 모델만 잘 만들면 되는줄 알았다.하지만 실제로는 AI를 위한 부수적인 툴과 개념이 수없이 많이 생겼다.그리고 기업들도 점점 `풀스택 AI 엔지니어`를 선호하기 시작했다.(데이터 사이언티스트, 리서치 엔지니어도 마찬가지로 풀풀익선이다.) 그래서 Full Stack Deep Learning 이라는 유우명한 강의를 번역 의역하고자 한다.나에게도 도움이 되고, 딥러닝 입문자, 중급자에게도 도움이 되길 바란다. 이번 내용은 `딥러닝 실험 관리 방법` 이다.원문과 영상의 링크는 여기. 1. 실험 관리의 중요성딥러닝 모델 개발 과정은 단순히 코드 작성과 학습시키는 것을 넘어선다.특히..
2025.06.22
사이드 프로젝트
-
내 목소리를 학습한 음성 AI 모델 TTS 만들기, 깃허브, 코드, XTTS v2, supertonic, VibeVoice
내 목소리를 학습한 음성 AI 모델인 TTS를 만들어봤다.요즘 TTS는 한국 모델들의 성능이 매우 좋다. (펄럭.)그런데? 영어만. 한국어는? 비공개~ ^0^~그래서 그냥 내가 한번 학습 코드를 만들어 봤다. XTTS v2는 꽤 오래된 모델이고 학습하는 코드가 널렸다.한국어를 학습시키는 깃허브가 없어서 짜집기해서 만들어 봤다. 성격이 급하신 분들을 위해 먼저 코드부터 공유.깃허브 링크는 여기. GitHub - HiMyNameIsDavidKim/xtts_training_ko: XTTS v2 training (fine-tuning) on Korean, XTTS v2 한국어 학습 (파인튜닝)XTTS v2 training (fine-tuning) on Korean, XTTS v2 한국어 학습 (파인튜닝) - H..
2025.12.18
-
이미지 설명 생성 AI 모델 만들기, 깃허브, 코드, CLIP, sLLM, MLP
이미지에 대한 설명을 생성하는 AI 모델을 만들어봤다. (그런데 이제, 경량화를 곁들인.)'엥? 그거 원래 CLIP으로 할 수 있는 거잖아~~~~' 라는 생각이 들 수 있다.하지만 CLIP은 분류 모델이지 생성 모델이 아니다. 성격이 급하신 분들을 위해 먼저 코드부터 공유.깃허브 링크는 여기. GitHub - HiMyNameIsDavidKim/image_captioning: image captioning with CLIP and LLMimage captioning with CLIP and LLM. Contribute to HiMyNameIsDavidKim/image_captioning development by creating an account on GitHub.github.com한글 설명은 여기. i..
2025.12.17
Error 잡기
-
윈도우 파워쉘에서 자동 스크립트 실행하기
맥북이나 리눅스를 쓰던 사람들은 다음과 같은 코드를 사용해서터미널이나 Bash에서 다음과 같은 코드를 통해 자동 스크립트를 실행한다. source ~/.zshrc # zsh 사용 시source ~/.bashrc # bash 사용 시 여기에 매일 쳐야하는 코드를 입력해두면 된다.그럼 실행과 동시에 그 코드가 입력된 채로 시작된다. 예를들면, 아나콘다 가상환경을 자동으로 실행할 수 있다.conda activate venv 를 매번 입력 해야한다면 저기 적어둔다.그럼 입력이 자동화되어 즉시 가상환경에서 시작한다. 윈도우 파워쉘을 어쩔 수 없이 쓰는 경우에는 이걸 어떻게 할 수 있을까.나같은 경우에도 회사에서 사용하는 윈도우 PC가 파이참이 기본적으로 파워쉘을 쓴다.그래서 파워쉘을 켤 때마다 쳐야하는 코..
2025.04.02
-
PIL 이미지를 NumPy로 변환하여 저장하지 마세요.
딥러닝 특히 CV 분야를 공부하다 보면 다양한 형태의 이미지를 다뤄야한다. 특히 파이토치 객체, 넘파이 객체, PIL 객체 를 왔다갔다 해야한다. 또 jpg를 쓸지, png를 쓸지, RGB 3채널일때, R 1채널일때 등 다양한 문제가 생긴다. 그런데 내가 오늘 발견한 것은 PIL이미지를 NumPy로 변환할때 치명적인 에러가 발생하는 것이다. 결론적으로 PIL 이미지는 그대로 저장하거나 파이토치 함수로 변환해야만 에러가 나지 않는다. RGB를 각각 따로 딥러닝 한 뒤 R, G, B를 저장하여 값을 보고 있었다. 파이토치 객체에서 부터 넘어와 저장해야 하기 때문에 이런 저런 변환을 거친 뒤 저장하는데, 이렇게 저장했다. (이 코드는 내가 작성한 것은 아니고 선행 연구자가 작성한 것이다.) 그런데 이렇게 저장..
2024.03.05
-
파이썬 리스트 2개 한번에 for문 돌리기
파이썬으로 다양한 코드를 짜다 보면 리스트를 정말 많이 사용한다. 특히 계속 꺼내서 쓰는 일이 많아서 그런데, 서로 다른 2개의 리스트에서 꺼내 쓸 일이 생긴다. 예를들어 아래처럼 파이토치에서 loss를 별도로 계산하고자 할 때 생긴다. output 여러개, label 여러개를 가져왔는데 하나씩 꺼내서 loss를 계산해야 된다. 대충 이런 상황에서 다음과 같이 코딩하면 에러가 난다. for i, j in [1], [2]: print(i + j) 이럴땐 zip() 함수를 사용해서 묶어주면 파이썬이 알아먹는다. for i, j in zip([1], [2]): print(i + j) zip(리스트1, 리스트2, ....) 하면 된다. 끝.
2023.07.28