전체 글

전체 글

    AITech 학습정리-[Day 25] GNN 기초 & GNN 심화

    =============================== 학습내용 [Graph 9강] 그래프 신경망이란 무엇일까? (기본) 정점 표현 학습의 목적은 이것. 전 강의에선 변환식 임베딩 방법을 썼지만 한계가 있어서 귀납식 방법을 쓴다. 즉 벡터를 넣고 벡터를 반환받는게 아니라 모델 자체(인코더)를 반환 받는다. 대표적 귀납식 임베딩 방법인 그래프 신경망(Graph Neural Network)를 사용할 것. 그래프 신경망 기본 그래프의 인접행렬을 A라고 하면 A의 크기는 |V| *|V| 가 된다. 각 정점 u의 속성(Attribute) 벡터를 Xu 라고 하고, 정점 속성 벡터 Xu는 m차원 벡터고, m은 속성의 수로 하자. 그럼 각 정점들을 임베딩 했으니 각 층에 넣어서 학습할 수 있다. 이웃들을 다같이 입력..

    AITech 학습정리-[Day 24] 정점 표현 & 추천시스템 (심화)

    ============================================= 학습내용 [Graph 7강] 그래프의 정점을 어떻게 벡터로 표현할까? 정점 표현 학습 이전까지는 그래프 라이브러리를 활용해서 그래프 자체를 입력값으로 넣어 학습시켰지만, 원래 벡터 형태를 가정하고 만든 모델들이 있으니까, 그래프 즉 그래프의 정점들을 벡터형태로 임베딩하면 벡터 형태의 데이터로 다른 여러 훌륭한 모델들을 사용할 수 있다. 기계학습 도구들이 한가지 예시입니다 대부분 분류기(로지스틱 회귀분석, 다층 퍼셉트론 등) 그리고 군집 분석 알고리즘(K-Means, DBSCAN 등)은 벡터 형태로 표현된 사례(Instance)들을 입력으로 받습니다 그래프의 정점들을 벡터 형태로 표현할 수 있다면, 위의 예시와 같은 대표적인..

    AITech 학습정리-[Day 23] 군집 탐색 & 추천시스템 (기초)

    ================================ 학습내용 [Graph 5강] 그래프의 구조를 어떻게 분석할까? 분명 군집은 존재하지만 수학적으로 정의하긴 애매하다. 하지만 어쨋든 정의해야 한다. 그래서 어떻게 하는가? 군집성을 정의해서 이용한다.. 여기서 배치 모형(Configuration Model)은 1) 각 정점의 연결성(Degree)을 보존한 상태에서 2) 간선들을 무작위로 재배치하여서 얻은 그래프. 배치 모형에서 임의의 두 정점 i와 j 사이에 간선이 존재할 확률은 두 정점의 연결성에 비례한다. 내가 생각하기엔 그냥 원래 그래프 모양에서 정점들은 그대로 냅두고 간선만 조정하는데, 임의의 간선을 제거하든, 특별한 규칙에 의해 제일 조건을 많이 만족하는 간선을 제거하든 하는 방식으로 어쨋..

    AITech 학습정리-[Day 22] 페이지랭크 & 전파 모델

    ======================================== 학습내용 [Graph 3강] 검색 엔진에서는 그래프를 어떻게 활용할까? page rank 어떻게 신뢰할 수 있는 웹페이지를 검색결과로 띄울 수 있는가? 각 디렉토리를 만들어 분류하는 방법이나 키워드 갯수로 하려했으나 악용의 소지가 있다. 그래서 투표방법으로 결정하자고 했는데 투표를 웹 페이지 안에 있는 하이퍼링크를 통해 한다. 그럼 개념은 세웠으니까 적용할 수 있도록 수학적 식을 세워야 한다. 식을 세우는데 2가지 관점으로 세울 수 있는데, 투표 관점과 임의 보행 관점이다. 투표관점은 위에서 생각한 발상을 토대로 저런 식으로 page rank 식을 정의한다. 임의 보행 관점에서는 웹서퍼가 t번째 방문한 웹페이지가 웹페이지 i일 확률..

    AITech 학습정리-[DAY 21] 그래프 이론 기초 & 그래프 패턴

    =============================== 학습내용 [Graph 1강] 그래프란 무엇이고 왜 중요할까? 그래프를 이용해 뇌, 지식, 화학, 이미지분해 등등.. 여러분야에 쓰일 수 있다. 그래프 = 네트워크(Network) 정점(Vertex) = 노드(Node) 간선 = 엣지(Edge) = 링크(Link) 그래프 관련 인공지능 문제 - 정점 분류 (Node Classification) 문제 각 정점이 어느 분야에 속하는지 - 연결 예측(Link Prediction) 문제 네트워크가 어떻게 진화할 것인가 - 추천(Recommendation) 문제 - 군집 분석(Community Detection) 문제 연결 관계로부터 사회적 무리(Social Circle)을 찾아낼 수 있을까? Clusteri..

    AITech 학습정리-[DAY 20] Self-supervised Pre-training Models, Other Self-supervised Pre-training Models, Transformers Library, Transformers library를 이용한 Named Entity Recognition 학습

    ==================================== 학습내용 GPT-1 GPT-1 의 경우, 우리가 배웠던 transformer를 12개, 24개 이상 layer로 쌓고 원래 학습하던 Text의 시작과 끝에 특별한 토큰 start end를 붙여 이 문장이 긍정인지 부정인지, 혹은 사실과 가정 모순여부를 중간에 Delim과 끝에 end를 붙여 모순여부 파악을 하는 방식으로 했다. 이를 위해 최종 output에는 우리가 기존에 하던 단어가 입력되었을 때 그 다음 단어를 예측하는 모델에 classifier도 추가해서 내놓는 식으로 개조를 해서 사용한다. 그런데 모델을 더 개조해서 사용하고 싶다고 가정하자. 예를들면 이미 Text 끝에 Extract를 붙여 긍정, 부정을 나누는걸 학습한 모델에 긍..

    AITech 학습정리-[DAY 19] Transformer, 실습-Multi-head Attention, Masked Multi-head Attention

    =================================학습내용(7강) TransformerAdd-on 처럼 사용되던 attention 만 사용해서 만들 수 있다. 라는걸 보여주는게 transformer 일단 RNN 부터 보자.RNN은 왼쪽에서 오른쪽으로 가거나 반대로 해서 오른쪽에서 왼쪽으로 감. bi-direction RNNs 은 두개 다 하는데 이러면 I go home 단어를 넣는다고 했을 때 go 단어는 정방향에서 I 정보를 역방향에선 home 정보를 hidden state에서 가지게 된다. 그래서 이 두 벡터를 concat 해서 두개 다 가지게 함. Further ReadingIllustrated transformer (원글)Illustrated transformer (번역)Pytorch o..

    AITech 학습정리-[DAY 18] seq2seq with attention, Beam search and BLEU score

    =================================== 학습내용 (5강) Sequence to Sequence with Attention seq2seq model 문장받는 encoder, 문장 생성하는 decoder 서로 간섭없이 생성하는. LSTM을 채용한 걸 알 수 있음. encoder의 마지막 hidden state가 decoder의 처음 시작 hidden state로 쓰임. decoder 시작 start of sequence. 마지막 . 이 모델에 Attention 추가 활용 가능. 얘는 encoder dimension 에 맞춰 모든 정보들을 압축하여 넣어야 하는 문제점. 첫 단어가 잘못되서 전체적으로 잘못된다.. 그래서 아얘 거꾸로 해보는 방법도 고안되긴 했었음.. 또 훨씬 이전에 나타..

    AITech 학습정리-[DAY 17] basic of RNNs, LSTM, GRU

    =============================== 학습내용 (3강) Recurrent Neural Network and Language Modeling W는 t와 관계없이 어디에서나 같다. 입력인 xt와 ht-1 을 한 벡터로 연결하고 그걸 계산하는 W 로 생각할 수도 있고 나눠서 생각할 수도 있다. 현재 t 시간에서 출력값이 필요할 경우 W(hy)로 출력값 yt 만들 수 있음. one to many의 경우 우린 지금까지 xt가 계속 있는걸로 배웠기 때문에 x에 입력값 0을 넣어주는 방식으로 한다. 이런식으로 피드백모델. 위에서 입력 "h"의 경우 target은 "e"지만 결과는 "o" 가 나온걸 알 수 있다. 그래서 loss func을 "e" 가 나오도록 잘 정의해야겠지. 모든 것을 하나의 lo..

    AITech 학습정리-[DAY 16] Introduction to NLP, Bag-of-Words, Word2Vec, GloVe, NaiveBayes Classifier

    ============================ 학습내용 (1강) Intro to NLP, Bag-of-Words 자연어에서 수행하는 일들 Low-level parsing 단어화가 Tokenization, 단어 의미 자체를 추론하는게 stemming. Word and phrase level 고유명사 추론 Named entity recognition(NER), 단어가 문장 내에서의 성분이 뭔지를 알아내는 part-of-speech(POS) tagging, 어떤단어가 주어인지, 동사인지, 형용사인지, 형용사라면 어떤걸 꾸며주고 있는건지.. Sentence level 긍정어조, 부정언조인지 판단하는게 Sentiment analysis. 주어진 영어 전체문장을 이해하고 한글로 번역하는게 machine tra..