VLM이란?Vision-Language ModelMultimodal AI의 한 종류이미지와 텍스트를 함께 이해하고 처리할 수 있는 모델 VLM 응용 예시Image Captioning: 이미지를 보고 설명하기VQA(Visual Question Answering): 질문 답변Text-to-Image Retrieval: 텍스트로 이미지 검색Text-to-Image Generation: 텍스트로 이미지 생성 VLM 구조입력 인코딩 -> 모달 융합 -> 출력 생성(예측) 3단계 구조 입력 인코딩 (Input Encoding)Vision Encoder: 이미지를 벡터 형태로 변환. CNN이나 *ViT 사용Language Encoder: 텍스트를 벡터 형태로 변환. BERT, GPT 등 사용*ViT: 이미지를 패치..
AI
Multimodal AI란?이미지, 텍스트, 음성 등 여러 가지 유형의 데이터를 동시에 처리하고 분석하는 인공지능multi: 복수의, 다수의 / modal: modality, 양상 -> AI에서는 "데이터의 종류 또는 감각의 형태" Multimodal 예시이미지 설명 생성 (Image Captioning) - 이미지, 텍스트음성 비서 (빅스비, 시리) - 오디오, 텍스트영상 자막 생성 - 비디오, 텍스트텍스트로 이미지 검색 - 텍스트, 이미지감정 분석 - 이미지, 텍스트 Multimodal 기술Fusion: 서로 다른 모달리티를 결합하는 기술Early Fusion: 데이터를 입력 전에 결합하여 하나의 통합된 벡터로 만드는 방식이다. 모델이 상호 관계를 학습하여 파악할 수 있지만 데이터가 많을수록 고차..
선형 회귀- x: 다른 변수의 값을 변하게 하는 변수 - 독립 변수- y: x에 의해 값이 종속적으로 변하는 변수 - 종속 변수 선형 회귀는 한 개 이상의 독립 변수 x와 종속 변수 y의 선형 관계를 모델링한다. 단순 선형 회귀 분석y = wx + b위 수식은 단순 선형 회귀의 수식이다.독립 변수 x와 곱해지는 값 w를 머신 러닝에서는 가중치, 별도로 더해지는 값 b를 편향이라고 한다.각각 직선의 기울기와 절편을 의미한다. 다중 선형 회귀 분석y = w1x1 + w2x2 + w3x3 + ... + wnxn + b부동산 가격, 주가 예측은 한가지 요소에만 영향을 받지 않는다.이런 다수의 요소를 가지고 예측을 하고 싶은 경우 y는 하나이지만 x는 여러 개가 된다. 비용 함수선형 회귀에서 궁극적으로 해애하는 ..
분류와 회귀분류분류의 대표적인 방법은 로지스틱 회귀가 있다.이진 분류이진 분류는 입력에 대해 두 개의 선택지 중 하나의 답을 선택해야 하는 경우다. ex) 성적의 합격, 불합격 / 메일의 스팸 유무 등 다중 클래스 분류다중 클래스 분류는 입력에 대해 세 개 이상의 선택지 중 하나의 답을 선택해야 하는 경우다.ex) 서점의 카테고리가 과학, 영어, IT, 만화 등이 있고, 이 때 새로운 책의 카테고리를 선택하는 경우 회귀회귀의 대표적인 방법은 선형 회귀가 있다. 회귀는 연속적인 값의 범위 내에서 예측값이 나오는 경우다.ex) 부동산 가격 예측, 주가 예측 등 지도 학습과 비지도 학습지도 학습지도 학습은 레이블이라는 정답과 함께 학습을 하는 것이다.자연어 처리는 대부분 지도 학습에 속한다.예측값과 실제값의 ..
코사인 유사도코사인 유사도는 두 벡터 간의 코사인 각도를 이용해 구한다. - 두 벡터의 방향이 완전 동일하면 1- 90도의 각을 이루면 0- 180도의 반대 방향을 가지면 -1 코사인 유사도를 구하는 식은 아래와 같다. 문서 단어 행렬이나 TF-IDF 행렬을 통해 문서의 유사도를 구하는 경우 행렬이 각각의 특징 벡터가 된다. 문서1 : 저는 사과 좋아요문서2 : 저는 바나나 좋아요문서3 : 저는 바나나 좋아요 저는 바나나 좋아요 위 예제로 띄어쓰기 기준 토큰화를 한 문서 단어 행렬은 아래와 같다.이 표를 토대로 코사인 유사도를 구할 수 있다.A와 B의 코사인 유사도를 구하면 (1+1) / (루트3)(루트3) = 2/3이 된다.A와 C의 코사인 유사도를 구하면 (2+2) / (루트3)(루트12) = 2/..
BoW(Bag of Words)단어의 순서는 고려하지 않고 출현 빈도에만 집중하는 텍스트 데이터의 수치화 표현 방법이다. - 정수 인덱싱 (단어 집합 생성)- 각 인덱스의 위치에 단어 토큰의 등장 횟수를 기록한 벡터 생성 from konlpy.tag import Oktokt = Okt()def build_bag_of_words(document): document = document.replace('.', '') tokenized_document = okt.morphs(document) word_to_index = {} bow = [] for word in tokenized_document: if word not in word_to_index.keys(): word_to_inde..