
→ TPO 에 맞는 제로샷 패션 코디네이션을 추천 해주는지




Zero-shot learning (ZSL)
모델이 학습 과정에서 본 적 없는 새로운 클래스를 인식할 수 있도록 하는 학습 방법입니다. 이는 모델이 클래스 간의 관계나 속성을 통해 일반화하는 능력을 활용

학습 방법:
Zero-Shot Learning: 학습 데이터셋은 다양한 주제의 텍스트를 포함하며, 모델은 이를 통해 일반화된 언어 이해를 학습한다.
텍스트의 주제나 감정 등을 이해하고, 본 적 없는 새로운 태스크에 이를 적용할 수 있어야 한다.
ex) 주제에 대한 기사나 블로그 포스트가 사용



Abstract
네트워크의 node와 edge에 대해서 prediction task를 수행하는 것은 feature engineering 측면에서 많은 노력이 소요된다. 최근의 연구들에서는 reprsentation learning 측면에서 feature 자체를 학습하여 이 측면에서 많은 혁신들이 있었으나, network에서 파악되는 connectivity pattern에 대해서는 제대로 학습하지 못한다는 한계를 가지고 있다. 따라서, 이를 해결하기 위해서 network의 이러한 feature를 학습할 수 있는 프레임워크인 node2vec을 제시하였다. node2vec에서는 network의 node들의 관계(neighborhood)를 우도(likelihood)를 최대화할 수 있는 low-dimensional(저차원) 피쳐 공간을 학습시켰다. 실제로 기존의 존재하는 데이터들을 대상으로 수행을 해봤는데 괜찮은 결과가 나왔다.
Recap : word2vec
- skipgram : 중심단어(center word)로 주변단어(context word)를 예측가정 : 실제 문장들에서 비슷한 위치에 있는 word들은 embedding space에서도 비슷한 위치에 있을것이다.따라서 중심단어(c)가 주어졌을 때 주변단어(o)가 나타날 확률(아래식)을 최대화 하면 됩니다.P(o∣c)=∑w=1Wexp(uwTvc)exp(uoTvcgraph에서는 특정 node가 주어졌을 때 그 node의 neighborhood가 나타날 확률을 최대화 하면 되겠네요! !https://velog.velcdn.com/images%2Fminjung-s%2Fpost%2F07375f5e-b88c-4264-8106-b9d57a6acb52%2Fimage.png
random하게 neighbor를 보아서 graph 전체 structure를 고려하지 못한 Deep Walk의 단점을 개선하기 위해, node2vec에서는 기존의 randomwalk를 사용하지 않습니다.
node2vec key idea

node2vec에서는 Biased 2nd-order random walk를 사용
biased fixed-length random walk는 두가지 parameter를 정의
*p*가 낮을수록 **BFS** like walk (좁은 지역 고려)
*q*가 낮을수록 **DFS** like walk (넓은 지역 고려)




knowledge graph에서는 node를 entitie, link relation이라고 합니다. 한 KG의 relation에는 많은 종류가 있을 수 있습니다. KG에서의 link는 종류마다 갖는 의미가 다 다르다.


KG의 이어지지 않은 entitie(node)의 relation(link)를 예측하는 KG completion (=link prediction)에 대한 연구가 활발하다.
💡 KG의 local&global pattern을 잘 학습하는 link prediction model을 만들자.지금 우리가 해결할 문제는 구성요소와 관계들을 저차원의 벡터 공간으로 임베딩 시키는 것이고, 무엇보다 지식 그래프의 기반이 되고 학습하기 쉬운 장점을 가지는 것을 목표로 한다. 이에 TransE 라는 모델을 제시하는데 이 모델은 relationship(관계)를 저차원의 임베딩된 구성요소간 translations(전환) 으로 해석한다는 것이 핵심이다.
knowledge graph를 embedding하는TransE에서는 KG의 두 node(entity)의 관계를 triplet으로 표현한다.
*h (head entity), l (relation), t (tail entity) → (h,l,t)*


1) relation set의 l에 대해 uniform distribution을 따르게 하고 정규화를 시킵니다.
2) entitiy set의 e에 대해 uniform distribution을 따르게 하고 정규화를 시킵니다.
3) triaining triplet set S에서 batch size만큼의 triplet을 뽑아 Sbatch를 구성하고, Tbatch를 공집합으로 초기화합니다.
4) Sbatch에 대한 corrupted triplet을 만들어 Tbatch에 원소로 넣어줍니다.
5) 구성된 Sbatch와 Tbatch로 loss를 mimize하는 방향으로 임베딩을 업데이트합니다.
6) 2)~5)를 반복합니다.
TransE는 KG에서 entities간의 관계를 잘 반영하고 기존 SE model보다 최적화가 간단합니다. 2-way interactions를 표현하는데 있어 강점이 있지만, 3-way dependencies를 표현하는데는 약점을 가집다. 또한 1-to-1 이상의 , 1-to-N, N-to-1 관계를 포함하는데 TransE는 부적합할 수 있습니다.
글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.