Loading...
2022. 2. 28. 22:09

Word2Vec의 sliding window 완벽하게 이해하기

중심단어 기준으로 몇개의 단어를 볼지 그 범위를 window라고 한다. 왜 헷갈리기 시작했냐면 중심단어가 무조건 하나만 있다고 생각이 고정되어버리는 거임 예측하고자 하는 중심단어는 선택할 수가 있다. 무슨말이냐면 "The fat cat sat on the mat" 이 문장이 입력으로 주어졌다고 생각해보자. 근데 이제 그냥 중심단어를 무조건 sat이라 하고 window size=3이라 해서 나머지 {"The", "fat", "cat", "on", "the", "mat"}가 주변단어라고 해버리니까 생각이 멈춰버리는거임.. 모델이 embedding vector를 구하는게 목적이라고 생각한다면 모든 단어에 대해서 embedding vector를 구해야할거 아니냐 그러니까 모든 단어가 중심단어가 될 수 있다는 것..

2022. 2. 20. 19:34

semantic segmentation task와 Fully convolutional network, deconvolution 간단하게 알아보기

1. semantic segmentation 이미지의 각 pixel이 어떤 class에 속할지 분류하는 문제 예를 들어 자율주행자동차의 경우 위 그림과 같이 자동차가 보는 이미지에서 어떤 부분이 자동차인지 차도인지 신호등인지 사람인지 인도인지 구별해야 운행이 가능할거다 2. Fully convolutional network 일반적인 CNN 구조는 convolution layer를 여러 층 쌓고 마지막에 flat 시킨 뒤에 fully connected layer를 구성한다 fully convolutional network는 마지막 dense layer를 없애고자 하는 모형이다 이것을 convolutionalization이라고 한다 flat은 reshape 과정이므로 Parameter 수는 변하지 않는다 3..

2022. 2. 19. 20:48

RNN의 기본 구조 이해하기

1. RNN의 기본구조 각 time step에 sequence data Xt와 전 step의 hidden state vector인 ht-1이 함께 입력으로 들어오고 현 step의 출력으로 ht를 구한다. 1-1) Rolled RNN Xt와 RNN에서 이전에 내놓은 ht-1돌면서 함께 들어가서 ht를 내놓는거 1-2) Unrolled RNN 위의 rolled version을 시간 순으로 풀어버리면 서로 다른 time step에서 들어오는 입력 처리할 때 동일한 parameter를 가지는 모듈 A를 반복적으로 사용하는 구조라서 Recurrent Neural Network 매 step마다 재귀적으로 모듈 A가 호출되어 거기서 나온 출력이 다음 step의 입력으로 들어간다 2. RNN의 예측값 그동안 보았던 N..

2022. 2. 17. 19:46

knowledge distillation에 대하여 기초

1. basic idea 이미 학습을 완료한 teacher model의 지식을 더 작은 student model에게 주입하는 것이 목적 큰 모델에서 작은 모델로 지식을 전달하여 모델 압축에 유용하게 쓴다 최근에는 teacher model의 출력을 unlabeled data의 pseudo-label로 자동생성하는 방식으로 활용함 2. unsupervised learning label이 존재하지 않는 동일한 input을 이미 학습한 teacher model과 학습이 안된 student model에 넣어 각각 output을 출력 같은 입력에 대해 서로 다른 출력을 내놓을 것인데 둘의 차이를 구해주는 KL divergence loss를 구한다 이 loss를 최소화하는 방향으로 backpropagation에 의해..

2022. 2. 16. 19:10

RNN의 기울기 소실(gradient vanishing) 문제

1. RNN의 역전파(Backpropagation through time) 빨간색은 그래디언트가 흘러들어가는 방향이다. Hidden layer에 대한 그래디언트 하나를 직접 계산해보면 빨간색 부분에 주목해보자. f의 미분값이 1보다 크면 곱해지면서 점점 커질 것이고 gradient exploding 현상이 일어난다. 즉 그래디언트가 매우 커져서 학습이 전혀 안된다는 것. 반대로 f의 미분값이 1보다 작으면 곱하면서 점점 작아질 것이고 gradient vanishing 현상이 일어난다. gradient가 0이 되어버리니 학습이 안된다는 소리임. 수식으로 더 써보면 그림과 같다. 잠재변수가 가중치행렬과 활성화함수의 반복적인 곱으로 이루어진다. 직관적으로 활성화함수가 시그모이드라면 정보를 압축하는 역할을 하는..

2022. 2. 16. 19:00

그래프의 연결성(degree)에 대한 고찰

1. degree 어떤 node V의 degree란 V에 연결된 link의 수 혹은 V의 neighbor의 수와 같다. 그래서 V의 degree를 $d(V)=\left | N(V) \right | $로 표기 1은 2,5와 연결되어 있어서 1의 연결성은 2이다. 2. direction graph 방향성이 있는 그래프의 경우 나가는 연결성(out degree)와 들어오는 연결성(in degree)을 구분한다. 당연하겠지만 나가는 연결성(out degree)는 특정 node V에서 나가는 방향과 연결된 node의 수이고 $d_{out}(V)=\left | N_{out}(V) \right | $으로 표기 들어오는 연결성(in degree)는 특정 노드 V에 들어오는 방향으로 연결된 node의 수이고 $d_{in..