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

0. GAN 아이디어 - 이미지 생성자모델과 이미지 판별자 모델 두개를 만들어서, 서로 경쟁하듯 학습 - 생성자(Generator): 임의의 노이즈를 입력 받아 그럴듯한 이미지를 생성하는 기능 학습 - 판별자(Discriminator): 입력된 이미지가 실제 이미지인지, 생성자가 생성한 이미지인지 구분하는 기능 학습 - 생성자는 더 실제같은 이미지를 만드는 신경망을 학습하고, - 판별자는 입력된 이미지가 진짜 이미지인지, 생성된 이미지인지 판별하는 신경망을 학습한다. - 이렇게 둘이서 경쟁하듯 학습하면(생성기는 판별기를 속이려하고, 판별기는 생성기를 구분하려 함) 생성자는 정말 실사 같은 이미지를 만들어내게 될수 있다 - 물론 현실에서 판별자가 일찍 학습이 되어, 생성자가 그럴듯한 이미지 자체를 못만들어..

0. 신경망이 학습을 한다는 것 - 구두, 후드, 청바지, 면바지, 원피스, 운동화 등 총 10가지로 분류할수 있는 이미지가 10,000장 있다고 가정 - classification학습: CNN신경망 + 최종 노드가 10인 DNN + softmax로 학습 -> 이미지 입력되면 10가지중 1개로 알려줌 - (2차원으로)임베딩 학습: CNN신경망 + 최종노드가 2인 DNN 학습 -> 2차원 공간에 비슷한것끼리 뭉치는 개념 1. AE(오토인코더) 아이디어 - 그림을 생성하는 모델을 어떻게 만들수 있을까? - 이미지를 신경망에 입력하고, output역시 입력된 이미지가 나오는 신경망을 학습 가능하지 않은가? - 이미지를 입력받아 CNN을 통과하고, 최종적으로 2차원으로 줄이는 DNN을 붙여서 왼쪽 신경망(인코더..

0. MF와 FM의 차이 - MF는 user, item 두개의 변수를 K차원의 Latent factor로 만들어서 평점을 예측 - user, item 이외에 다른 변수들이 평점에 영향을 준다면? 그러면 FM을 사용 1. FM을 이해하기 - FM은 위 그림과 같이 하나의 평점에 대해서, 그에 영향을 준다고 판단되는 입력변수를 각각 임베딩하여 표현 - 이렇게 하면, 데이터로 가지고 있는 모든 평점에 대해서, 각각의 입력변수의 고유한 임베딩 벡터의 조합으로 표현 가능 - 평점을 예측하는 pred 모델식은 다음과 같음 - 모델의 업데이트 룰(feat. 교수님 강의록) 2. 코드로 구현하기 import numpy as np import pandas as pd from sklearn.utils import shuf..

0. GPT, ChatGPT차이점 GPT는 다음 단어를 귀신 같이 예측하는 모델이다. 우리가 이용하고 있는 모델은 이 GPT를 파인튜닝해서 만든 ChatGPT. ChatGPT는 gpt라는 다음단어를 아주 잘 예측하는 Pretrained된 모델을 파인튜닝하여서, 대화를 잘하게 만든 모델 그럼 어떻게 GPT에서 ChatGPT가 될수 있을까? Llama2모델을 파인튜닝하여, 나만의 ChatGPT를 만드는 방법을 알아보자 1. ChatGPT만들기 전체구조 우선 ChatGPT를 만들기 위해서, OpenAI에서 공개한 학습구조를 정리해보자. 1-1. SFT(Superviesed Fine-Tuning)을 통한 응답모델 만들기 SFT는 기존의 다음단어를 예측하는 gpt모델을 파인튜닝해서, 대화형 모델로 변화시키는 것이..

0. Memory-based vs Model-based - 지금까지 봤던 CF는 Memory-based의 추천시스템. 추천을 위해서 기존의 rating정보를 연산하여, 추천리스트를 생산 - Memory-based방식은 pred하는데 rating정보 모두가 매번 계산이 진행됨 - 이는 대량의 데이터에는 현실적으로 가능하지 않음. 매번 추천때마다 유사도 측정하고, 추천하는게... 연산이 너무 많음 - 오늘 이야기할 MF는 Model-based모델. 이 모델은 학습을 통해서 모델을 만들고, 이후 예측할때는 학습을 마친 모델로 바로 결과값을 내보냄 1. MF의 개념 - user를 특정한 latent factor로 임베딩 - Item역시 특정한 latent factor로 임베딩 - 이는 user와 item을 la..

0. 들어가며... GPT와 ChatGPT는 다른 아이. - GPT는 우리가 상상할수 없을 정도의 많은 텍스트 데이터를 가지고 학습한 Pretrained-Model. 이 모델은 다음단어를 귀신같이 잘 예측함. I am a ____를 입력하면, boy:45%, girl:44%, .......처럼 모든 단어들의 등장확률을 예측. 그중 높은 %를 가지는 단어를 출력하는 모델 - ChatGPT는 GPT라는 Pretrained모델을 RLHF, PPO 등을 통 파인튜닝해서 만든 챗봇형 모델 - 이번 글에서는 GPT 모델을 만드는 개념을 알아볼 예정 = 다음 단어를 예측하는 모델 1. 데이터 정리 모델이 학습을 하기위해서는 라벨링된 데이터가 많이 필요한데, 텍스트 데이터를 하나하나 다 라벨링하면 비용과 시간이 엄청..

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..