목록분류 전체보기 (95)
Ssul's Blog

0. 이미지생성 모델: GAN & Diffusion 딥러닝 공부를 하며, 생성형 모델을 배우게 된다. GAN은 자주 들어서 그런지 익숙하다. 생성자와 판별자 두개가 경쟁하며, 이미지를 생성하는 모델. 하지만, 요즘 대세(?)는 디퓨전 모델들인것 같다. 그럼 디퓨전모델들은 도대체 어떤 아이디어로 구성되는 것일까? 1. 디퓨전 모델의 기본개념 - 원래 이미지에 노이즈를 가해주면 어떻게 될까? - 원본 이미지에서, 랜덤한 노이즈를 가해주면 위 이미지처럼, 망가지게 됨 - 첫번째 이미지가 X0이면, 두번째 이미지는 X1 = 원본유지비율1*X0 + 잡음비율1*ε1(잡음), X2 = 원본유지비율2*X1 + 잡음비율2*ε2(잡음).... - diffusion의 핵심은 ε(잡음)을 예측하는 모델 θ를 학습 - 학습한 ..

처음 추천시스템을 공부했을땐, CF에서 IBCF/UBCF가 헤깔렸고, IBCF와 CB가 헤깔렸다. 이번 글에서 명확히 정리해보자. 우선 앞에서 본 IBCF는 user와 item(영화)간의 rating을 기반으로, item(영화)간의 유사도를 구해서, 영화(item)간의 유사도를 기반으로 입력된 user-item에 매칭되는 평점을 예상하는 것이다. UBCF는 user와 item(영화)간의 rating을 기반으로, user간의 유사도를 구해서, user간의 유사도를 기반으로 입력된 user-item에 매칭되는 평점을 예상하는 것이다. 그렇다면 CB는.... 코드를 보며 자세히 설명하겠지만, 간단하게, 콘텐츠(영화)가 가지고 있는 특성을 기반으로, 콘텐츠(영화)간의 유사도를 구해서, 콘텐츠간 유사도를 기반으로..

0. 배경 Pretrained 모델과 downstream task를 통해서 등장한 수 많은 AI언어 모델들. OpenAI는 gpt라는 pretrained된 모델에 파인튜닝(instruct, RLHF, PPO)을 통해 ChatGPT를 만들었고, 스탠퍼드 대학은 페북이 공개한 Llama라는 pretrained된 모델을 파인튜닝해서, Alpaca라는 모델을 만들었다. 그리고, 그 성능을 확인했다. 확실히 그전까지 챗봇과는 다른 ai스러움을 느낄수 있었다. 이러면서, 이제 가장 큰 화두는 Domain 특화 챗봇. 의료영역은 의료데이터를 학습한, 의료부문에 특화된 챗봇을, 금융영역은 금융데이터를 학습한, 금융부분에 특화된 챗봇을... 교육, 게임... 모든 영역이 자신의 분야에 특화된 모델을 만들고 싶어하고 있다..

1. 활용 데이터 이해하기 앞으로 추천시스템에 활용할 데이터는 movielens-100k 데이터다. 총 3개의 데이터가 있다. [ratings] 유저id와 영화id를 기반으로 해당 영화에 유저가 몇점을 주었는지 기록되어 있는 데이터. 평점은 1-5점으로 구성. timestamp는 날짜시간데이터(위 스샷에선 삭제) [user 데이터] user_id를 기준으로 해당 유저의 나이/성별/직업/우편번호 정보가 있음 [item(movie)데이터] movie_id를 기준으로 해당 영화의 제목, 출시일, 장르 등 영화에 대한 정보가 있음 2. CF(협업필터링)중 UBCF(유저 기반 추천) import pandas as pd import numpy as np # Read rating data r_cols = ['use..

0. 들어가며 최근에 멘탈헬스 스타트업에 개발총괄로 합류하면서, AI 기술을 활용한 다양한 방안들을 마련중. 그중 빠르게 테스트 하려고 하는 것은, AI가 가벼운 심리상담을 해주는 것과 특정 심리상담사의 상담스킬을 사용하는 특화 챗봇 두개. 첫번째는 시중의 LLM이 똑똑하기는 하지만, 상담에 특화되지 않았기 때문에 커스터마이징이 필요. 두번째는 특정인의 말투, 지식을 학습해야 하기 때문에... 다른 맥락에서 커스터마이징이 필요. 이 두가지 미션을 현재의 기술발전과 리소스제한 상황에서 어떻게 달성할 수 있을까? [기존 상업용 LLM(GPT, Bard...)활용 전략] 1. 상업LLM + Prompt engineering하기 방법: 따로 파인튜닝 없이, system메세지 설정 및 prompt원샷정도 주어서 ..

1. 활용 데이터 이해하기 앞으로 추천시스템에 활용할 데이터는 movielens-100k 데이터다. 총 3개의 데이터가 있다. [ratings] 유저id와 영화id를 기반으로 해당 영화에 유저가 몇점을 주었는지 기록되어 있는 데이터. 평점은 1-5점으로 구성. timestamp는 날짜시간데이터(위 스샷에선 삭제) [user 데이터] user_id를 기준으로 해당 유저의 나이/성별/직업/우편번호 정보가 있음 [item(movie)데이터] movie_id를 기준으로 해당 영화의 제목, 출시일, 장르 등 영화에 대한 정보가 있음 2. CF(협업필터링)중 IBCF(아이템 기반 추천) import numpy as np import pandas as pd r_cols = ['user_id', 'movie_id', ..

가장 좋은 공부법은 다른 사람에게 설명해주는 것. 그래서, 대학원과 그동안 개발하며 주워 배웠던 추천알고리즘을 블로그에 정리해보자 한다. 협업필터링부터, MF, FM, 딥러닝까지... 배웠던 코드와 함께 하나 하나 정리할 예정. 오늘은 첫번째로, 다양한 추천시스템들을 나열하고, 분류해볼 것이다. 그리고 그 이후에 하나씩 풀어내기! #1. CF(Collaborative Filtering-협업필터링) 추천알고리즘을 배울때 가장 처음으로 배우는 것이다. 여기에는 UBCF(유저기반 협업필터링), IBCF(아이템기반 협업필터링)으로 나눠지며, 이 협업필터링을 메모리기반의 협업필터링으로 분류된다. 나중에 코드에서 보여주겠지만, 메모리기반은 기존의 user또는 item데이터를 모두 활용해서 추천을 하기 때문에 느리고..
jwt토큰으로 로그인 전략. 1. 첫 로그인시 아이디/패스워드 입력 "use client"; import { useState } from "react"; export function useLoginForm() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); return { email, setEmail, password, setPassword, }; } export default function LoginForm({ email, password, setEmail, setPassword, }: ReturnType) { return ( Email address setEmail(e.currentTarge..
장고의 user는 username을 기본으로 사용한다. 하지만, 요즘 회원가입/로그인은 소셜로그인 또는 email임. 그럼 선택의 기로에 선다. 쌩으로 user 모델 만들기 vs 장고 user상속후 만들기 이후 인증 등 다양한 내용을 구축하기에는 장고의 User를 상속받는 것이 맞는 것 같다. 그래서, User를 상속받되, email을 메인으로 사용하는 형태로 구현. 1. BaseUserManager 수정: 수정 안해도 되지만, 이후 관리자모드 사용하기에 피곤하지 않으려면, BaseUserManager부터 수정하자 class CustomUserManager(BaseUserManager): """ Custom user model manager where email is the unique identifie..

#1. 애플 개발자계정 가입/로그인(https://developer.apple.com/) #2. Identifiers > Apps IDs 만들기 + 클릭 app ids 선택후 continue app 선택하고 continue [App id 등록하는 페이지 등장] - App ID prefix 밑에 있는 코드 기록(Team ID로 사용) - description 대충적고, - bundle ID는 자신의 도메인 + 앱(서비스)이름으로 구성 예) 스쿨, school.co.kr > kr.co.school.school - sign in with apple 체크 #2. Identifiers > Services IDs만들기 -오른쪽에 services IDs선택 -identifiers옆에 +선택 - description대..