🛠️ Zero-To-One Builder
문제의 0(Zero)부터 정의하고, 1(One)이라는 솔루션을 만들고자 합니다.
👨🏻🎓 Education
- 🏫 이리고등학교 졸업 (2017.03. ~ 2020.02.)
- 👨🎓 원광대학교 졸업 (2020.03. ~ 2026.02.)
- 주 전공 : 인공지능융합
- 복수 전공 : 스마트금융(경영/금융학)
🎞 Career
- (재) 네이버커넥트 (2025.08.01. ~ 진행 중.)
- 부스트코스 스터디 코치 / 프리랜서 (인재 풀 등록)
- 수강생 모니터링 및 과제 피드백 작성
- 알토이게임즈 (2023.05.28. ~ 2024.01.28.) [8개월]
- 3D 콘텐츠 기획팀 / 사원
- 3D 게임 콘텐츠 기획 및 제작
- (주)머루월드 (2022.06.01. ~ 2023.05.27.) [1년]
- 기획팀 / 팀장
- 메타버스 콘텐츠 기획, 신규사업 기획
- 전북맹아학교 (2021.03.01. ~ 2021.11.01.) [10개월]
- PM 및 DB구축 담당 / 프로젝트 팀원
- ECC 앱 개발 (맹아 지도자 전용 학습 도우미)
- 엔진이엔티 (2020.06.01. ~ 2020.12.01.) [7개월]
- STT 검수팀 / 팀원
- 모 방송사 STT 서비스 Q/C
Projects
Cold-Start Problem on SASRec
NAVER Boostcamp AI Tech | 2025.01. ~ 2025.02.
- 개요:
TVING 기업 해커톤으로 진행한 프로젝트이며, 추천 시스템의 핵심 문제 중 하나 인 Cold-Start Problem을 개선하고자 함.
데이터셋은 MovieLens-20M을 사용했으며, SASRec 기반 추천시스템을 개발하고, 발생하는 Cold-Start 문제를 정의 함.
이 과정에서 개선 전략 고안 및 실험 결과를 담고, 최종적으로 User Cold-Start 상황의 추천 결과 정확도를 향상 시킴.
- 기술 스택 : Python 3.10 / PyTorch, scikit-learn / Pandas, Numpy
- 협업 툴 : Git, GitHub, GitHub Projects / MLflow / Notion / Slack
- GitHub Link : https://github.com/zip-sa/SASRec-coldstart
[문제 정의]
- 상호작용 5개 이하 Item 제거:
- 데이터 sparsity 99.46% → 99.09% 감소.
- 유저별 최근 상호작용 일부 제거하여 Cold-Start 유저 생성.
- 상호작용 16개 이하는 Cold-User, 17개 이상은 Warm-User로 정의.
- Cold-User는 Warm-User 대비
- Hitrate@10 35.26%, nDCG@10 39.49%,
MRR@10 42.43% 성능 하락 확인.
[솔루션]
- SASRec 모델 기반 Cold-Start 문제 해결 방법 연구
- Loss Function 변경:
- BCE → CE로 전환하여 전체 아이템 우선순위 학습 유도.
- Negative Sampling Pool 최적화:
- 다양한 크기(2000, 3000, 5000) 실험.
- Positive Augmentation:
- 콘텐츠 기반 유사 아이템 추가 시도했으나 성능 향상 없음.
- SIMRec 적용:
- 아이템 간 유사도를 Loss function에 반영했으나 효과 미미.
- 인기도 기반 Negative Sampling: 9가지 방법
- (Rank/Rank-Probability/Count-Probability × Top/Mid/Bot) 비교.
[주요 성과]
- Cold-Start 유저 추천 성능 개선
- Loss Function 변경(BCE → CE):
- Hitrate@10 → Cold User 80.6% 향상, Warm User 35.7% 향상.
- Negative Sampling Pool 크기 3000 설정:
- 학습 시간 77s → 59s(23%) 단축하면서 성능 유지.
- Rank-Probability-Mid 방식 Negative Sampling 적용:
[기여 사항]
- 베이스라인 모델링 및 분석
- 양방향 인코더(BERT4Rec) 모델을 ML20m 데이터셋에 맞게 구현하고 단방향 인코더(SASRec)와 비교 분석.
- Sequential 모델 아키텍처 연구를 통해 Next-Item 예측 Task에 단방향 인코더가 더 효율적임을 입증.
- 프로젝트 협업 환경 및 인프라 구축
- Ubuntu GPU 서버에서 팀원들이 실험을 원활히 진행할 수 있도록 Conda, GPU 환경 설정 및 .sh 스크립트 작성.
- Git/Code 컨벤션 수립 및 모듈화된 코드 구조 설계로 팀 생산성 향상 기여.
- 문서화 템플릿 제작으로 실험 결과 추적 및 지식 공유 체계화.
- 데이터 분석 및 문서화
- 사용자 행동 패턴 분석을 통한 Cold-Start 문제 정의 및 실험 설계 방향성 제시.
- SASRec 기반 베이스라인 모델 선정 기여.
- 데이터 및 Task 분석으로 Loss Function 변경 (BCE → CE)으로 성능 향상
- 실험 결과 정리 및 시각화 작업 주도하여 최종 보고서 작성.
프로젝트 최종 보고서: https://rigorous-shoemaker-76b.notion.site/cold-start-problem-on-sasrec
그 외 프로젝트 :
NutriScanPlanner (Image-Detection) (1)
→ YOLOv8, ChatGPT API를 활용한 식단 추천 서비스 | 팀
Image-segmentation (DeepLabV3) (1)