Multi-Model Learning
Text embedding
Image tagging
Recurrent neural networks
Image captioning
Multi-Model Learning
다양한 형태로 이루어진 데이터 특징을 효과적으로 학습하기 위한 방법
Multi-Model Learning 의 어려움
- 소리는 웨이브 형태의 데이터, 영상은 2차원의 칼라값을 넣은 array 형태, Text는 벡터로 존재.
각각의 데이터 표현 방식과 자료 구조가 다름.
- 서로다른 데이터 타입 간 가지고 있는 정보의 비대칭 관계
하나의 문장이 여러 Image로 표현이 가능함.
Text embedding
- 문자열 표현은 인공지능 모델들이 사용하기에 어려움.
- Dense vector로 치환하여 사용(Code화).
소리의 1D 표현과 영상의 2D 표현처럼 표현하기 어렵기 때문에 한 단어를 벡터(Dence vector)로 표현. (각 알파벳으로 다 표현하기 어렵기 때문)
- 의미를 포함하여 코드화 => 높은 일반화 능력
이러한 embedding vector를 구하는 방법
Word2vec : skip-gram 모델
W 와 W`을 입력 단어에 대해서 문장 주변에 나올 것 같은 단어를 예측하게 학습.
W의 각 행이 각 단어의 embedding vector로 학습됨.
주어진 단어에 대해서 N 개의 이웃 단어를 예측하도록 학습 => 단어간 관계성 학습
활용 방법 - Image-tagging
영상과 단어 간 Joint embedding을 학습하여 구현 가능
- 영상이 주어지면 영상에 연관된 태그 자동 생성 가능.
- 태그가 주어지면 연관된 영상 검색 가능.
- 미리 학습된 각 유니모달 모델들을 합성 (Joint embedding) (word 모델 + Image 모델) - 처음에는 두 모델이 호환성이 낮기 때문에 호환성 높이는 작업이 필요함.
- 학습 기법 : 대응하는 영상과 단어는 유사하게, 상관 없는 단어와 영상은 멀어지게
다른 응용 사례 - 영상 레시피 검색
Cross-model translation
영상 => 텍스트: 이미지 캡셔닝
- 영상 분석을 위한 CNN과 문장 생성을 위한 RNN의 결합.
RNN(Recurrent Nerual Network)
- RNN = 피드백 + 재활용
모델의 형태에 따른 쓰임새
모델 형태 | one-to-one | one-to-many | many-to-one | many-to-many(딜레이) | many-to-many(즉시적) |
Input | No sequence | No sequence | Sequence | Sequence | Sequence |
Output | No sequence | Sequence | No sequence | Sequence | Sequence |
Example | "standard" 분류모델/ 회귀 문제 | 이미지 캡션 | 문장 분류기, 객관식 문제 풀이 모델 | 번역기, 비디오 분류기, 비디오 캡션 |
주로 사용되는 RNN 종류
LSTM(Long short-term memory)
- since 1997, Forget gates, vanishing/ exploding gradient 이슈 완화
GRU(Gated recurrent unit)
- since 2014, LSTM보다 적은 수의 파라미터, Output gate 없음
둘 중 어느 것이 더 성능 좋은지는 차이가 있음. 하이퍼 파라미터처럼 둘을 사용.
이미지 캡셔닝 - CNN과 RNN의 결합
Image embedding (ex. VGGNet)
'@@@ 인공지능 > 이론' 카테고리의 다른 글
Attention (0) | 2022.02.22 |
---|---|
영상 처리(CNN) (0) | 2022.02.21 |
기계학습 (0) | 2022.02.21 |