추천시스템 2024 여름 커리큘럼
모집 인원 6명(2개 팀)
활동 시간 매주 월요일 오후 9시 - 10시
활동 방법 주 1회 (대면 + 비대면)혼합 정기 세션 + 주 1회 필수 팀별 미팅(대면 권장)
※ 3주마다 토요일 오후 1시 - 2시에 대면 세션을 진행합니다. (계획 참고)
Overview
추천시스템(Recommender Systems)
추천시스템(Recommender Systems)은 사용자에게 맞춤형 콘텐츠를 제공하기 위해 설계된 알고리즘 및 기술 집합입니다. 이러한 시스템은 사용자의 취향, 행동, 선호도를 분석하여 적절한 제품, 서비스, 콘텐츠 등을 추천합니다. 추천시스템은 협업 필터링(Collaborative Filtering)과 콘텐츠 기반 필터링(Content-Based Filtering)으로 나뉩니다.
1. 협업 필터링 (Collaborative Filtering)
협업 필터링은 사용자와 아이템 간의 상호작용 데이터를 이용해 추천을 수행합니다. 이 방법은 다시 두 가지 하위 유형으로 나뉩니다:
•
사용자 기반 협업 필터링 (User-Based Collaborative Filtering):
비슷한 취향을 가진 사용자들을 찾아내어 그들의 행동을 바탕으로 추천을 제공합니다. 예를 들어, 사용자 A와 B가 비슷한 영화를 좋아한다면, A가 아직 보지 않은 B의 좋아하는 영화를 추천합니다.
•
아이템 기반 협업 필터링 (Item-Based Collaborative Filtering):
사용자들이 비슷한 방식으로 평가한 아이템들을 분석하여 추천을 제공합니다. 예를 들어, 영화 X와 Y를 비슷한 사용자들이 좋아한다면, X를 좋아한 사용자에게 Y를 추천합니다.
2. 콘텐츠 기반 필터링 (Content-Based Filtering)
콘텐츠 기반 필터링은 아이템의 특징을 분석하여 추천을 수행합니다. 이 방법은 사용자와 아이템의 속성을 매칭하는 데 초점을 맞춥니다. 예를 들어, 사용자가 특정 장르의 영화를 선호한다면 그 장르의 영화를 더 많이 추천합니다.
추천시스템의 적용 사례
•
e-commerce: 쿠팡과 같은 온라인 쇼핑몰에서 고객의 구매 이력과 검색 이력을 바탕으로 제품을 추천.
•
스트리밍 서비스: 넷플릭스, 유튜브, 스포티파이 등에서 사용자의 시청/청취 이력을 바탕으로 영화, 동영상, 음악을 추천.
•
뉴스 포털: 사용자가 관심을 가질 만한 뉴스 기사를 추천.
•
소셜 미디어: 페이스북, 인스타그램 등에서 사용자가 좋아할 만한 친구나 페이지를 추천.
선발 방식
기존 다이브 멤버
선택 과제 → 선발
※ 기존 다이브 멤버는 필수 과제가 아닌 선택 과제만 진행하면 됩니다
신규 모집 멤버
필수 과제(+선택 과제) → 선발
자격요건
요건
•
Python programming
기본적인 파이썬 코딩과 numpy, pandas, pytorch를 다룰 수 있어야 합니다.
※ 잘 하지 못해도 지원이 가능하나 스스로 공부하셔야 합니다.
•
끈기
매주 인공지능을 공부하고 코드를 작성하고 프로젝트를 한다는 것은 쉬운 일이 아닙니다. 또한 팀 단위로 활동을 진행하기 때문에 무책임한 태도는 팀원들에게 피해를 줄 수 있습니다. 이 부분 유념하셔서 끝까지 완주하실 수 있는 분만 지원해 주세요.
•
열정
본 프로그램은 강의 중심이 아닌 프로젝트 중심으로 진행됩니다. 프로젝트는 자율성이 높기 때문에 열정과 호기심이 없으면 진행되기 어렵습니다. 추천시스템에 대한 지식은 부족할지라도 흥미를 가지고 열심히 참여하실 수 있는 분이면 좋겠습니다.
과제
필수 과제
1.인공지능과 관련하여 여태 까지 공부했던 내용을 공유해 주세요!
•
공부한 내용이 없을 시 Matrix factorization을 설명하는 글을 노션에 작성해 주세요.
•
블로그와 깃허브를 공유해 주셔도 됩니다.
•
추천시스템과 관련한 내용이 있을 시 가산점이 있습니다.
2.공부를 하면서 겪었던 어려움과 그것에 대해 고민했던 과정을 공유해 주세요!
•
시스템적인 문제(Cuda, Linux, conda, docker, git 등)에 대해서 작성하셔도 됩니다.
3.본인이 생각하는 추천시스템이란 무엇인지, 어떤 지향점을 가지면 좋을지 얘기해 주세요!
•
사전적인 정의보다는 본인의 느낌을 토대로 서술해 주세요.
•
추천시스템의 문제점도 함께 서술하여도 괜찮습니다.
선택 과제
어떤 주제로 프로젝트를 진행하고 싶은지, 어떤 모델을 사용할 수 있을 지 제시해 주세요.
•
아이디어 정도만 간단히 제시해 주시면 됩니다.
•
모델을 선정한 이유도 설명해 주세요.
•
선택 과제에는 가산점이 있습니다.
과제 목적
•
프로젝트를 진행할 수 있는 기초 지식이 있는지 확인하기 위함입니다.
•
열정과 흥미를 가지고 활동에 임할 수 있는지 확인하기 위함입니다.
제출 방식
•
노션으로 작성하고 공유해 주시면 됩니다.
•
필요시 블로그, 깃헙 링크를 노션에 추가해 주세요.
과제 제출 방법
노션 링크를 제출하실 경우, 아래 두 설정을 반드시 모두 완료해주셔야 합니다.
1.
우측 상단 공유 - 공유 - Notion의 링크가 있는 모두로 공유 대상 변경
2.
우측 상단 공유 - 게시 - 웹에 게시 클릭 후 템플릿 복제 허용
수료 기수 슬랙 DM(홍서윤)으로 링크 제출
신규 기수 구글 폼으로 링크 제출
활동계획
주차 별 활동 계획
활동 계획
•
오프라인 세션은 특정 주차 토요일 강남역 부근에서 1시-2시에 진행됩니다.
•
프로젝트 주제를 선정한 뒤 관련된 모델 및 논문을 찾아 볼 예정입니다.
주차 | 내용 | 날짜 및 세션 유형 |
1주차 | OT: 추천시스템 개요 | 8월 3일 오프라인 세션 |
2주차 | 프로젝트 주제 선정 / 관련 논문 선정 | 8월 5일 온라인 세션 |
3주차 | 주제 확정 / 논문 리뷰 | 8월 12일 온라인 세션 |
4주차 | 논문 리뷰 | 8월 19일 온라인 세션 |
5주차 | 팀세미나 준비 | 8월 24일 오프라인 세션 |
6주차 | 프로젝트 | 9월 2일 온라인 세션 |
7주차 | 프로젝트 | 9월 9일 온라인 세션 |
8주차 | 프로젝트 | 9월 21일 오프라인 세션 |
9주차 | 프로젝트 | 9월 23일 온라인 세션 or 진행x |
10주차 | 오픈 세미나 리허설 | 9월 30일 온라인 세션 |
11주차 | 회고 세션 |
FAQ
Q: 추천시스템을 전혀 모르는데 지원해도 될까요?
A: 기존에 인공지능(DNN, MLP, LLM, RNN, CNN 등)을 공부하셨다면 충분히 하실 수 있습니다. 다만 한번도 인공지능을 공부한 적이 없는 경우 따라오기 힘들 수 있습니다.
Q: 어떤 주제를 해야 할지 떠오르지 않는데 지원해도 괜찮을까요?
A: 처음에 추천시스템의 개요와 기본 모델에 대해 소개해드릴 예정입니다. 설명을 듣고 팀원들과 얘기하다 보면 충분히 좋은 주제를 떠올릴 수 있을겁니다.
Q: 강의가 따로 없는 것 같은데 어떤 방식으로 도움을 주나요?
A: 저는 프로젝트가 원활하게 진행될 수 있게 보조하는 역할을 합니다. 주제를 선정할때 난이도나 실현 가능성 부분에서 피드백을 드릴 예정이고, 모델과 논문을 선정할 때 같이 서치하고 정보를 제공해 드릴 계획입니다. 요청이 있는 경우 강의도 진행될 수 있습니다.