본문 바로가기

카테고리 339

[RNN] LSTM (Long Short-Term Memory Network) LSTM (Long Short-Term Memory Networks) RNN 종류 중 하나이다. 3종류의 메모리를 배치함으로써 vanishing/exploding gradient problem과 이전의 정보를 까먹는 문제를 모두 해결하였다. Long-term dependency를 유지하며 학습이 가능하다. Memory Cell Memory와 gate로 구성되며 3 종류가 존재한다. Gate의 특징 Output range : 0~1 기능 : filtering function 연산 : pointwise multiplication 종류 input gate 현재 메모리에서 어떤 부분을 사용할지 결정 1에 가까운 값은 사용하고 0에 가까운 값은 사용하지 않는다. forget gate 과거의 정보와 결합하여 메모리.. 2022. 6. 16.
[RNN] Vanilla RNN Vanilla RNN : Graphical Model Vanilla RNN은 같은 weight을 가진 같은 function을 사용한다. Function은 입력 2개를 가지고 선형변환과 비선형 변환을 수행한다. 연산을 쭉 순차적으로 수행하다가 원하는 곳에서 $h_t$를 transform하면 $y_t$가 도출된다. 문제점 BPTT : backpropagation에서 너무 많은 경우의 수가 존재 exploding/vanishing gradient problem time series를 다룰 때 예전 정보를 까먹는 경향이 존재 Backpropagation Through Time (BPTT) 문제 RNN은 가변 길이의 output을 낼 수 있는데 각각의 출력 마다 loss가 존재한다. 엄청 많은 경우의 수를 고려해.. 2022. 6. 15.
RNN : Recurrent Neural Network RNN (Recurrent Neural Network) 배경 DNN이나 CNN은 input의 길이가 고정된 이후 모델 생성과 이용이 가능하다. 자연어 처리 등에서 input의 길이가 고정된다는 것은 현실적이지 않다. RNN은 임의의 길이를 input으로 받아들여 처리할 수 있다. 특징 RNN은 임의의 길이를 input으로 받아들여서 임의의 길이의 output을 낼 수 있다. 반드시 흐름에 따라 처리되는 것이 아니라 bidirectional하게 구성할 수 있다. Weight Sharing (recurrent) Unit 간 weight을 공유한다. 각 unit 별로 weight을 다르게 사용하면 input개수(unit 개수)만큼의 weight을 가지고 있어야 한다. RNN은 weight을 공유함으로써 이 문.. 2022. 6. 15.
[CNN] 다양한 CNN 다양한 CNN Practical하게 유용한 결과를 낳는 CNN 모델들이 있다. LeNet-5 : 요즘과 비슷한 구조 AlexNet : 처음으로 CNN을 이용하여 winner가 됨 ZFNet : AlexNet의 응용 VGG : 10 layer를 넘김 GoogleNet : inception module → 다양한 filter를 사용 ResNet : rasidual connection을 이용하여 네트워크를 깊게 만듦 DenseNet LeNet-5 (1998) 0~9까지의 숫자 이미지가 들어오면 맞추는 multi-lable classification의 기능을 수행한다. 전체적인 구조는 CONV + FC로 요즘 사용하는 것과 유사하다. 다만 batch normalization이나 ReLU 등의 테크닉들은 사용되지.. 2022. 6. 15.
[Recommendation System] Collaborative Filtering Collaborative Filtering 나(activate user)와 취향이 비슷한 사람들(collaborate)들이 공통적으로 좋아할 만한 아이템을 추천한다. Data 표현 : Rating Matrix Rating matrix를 이용하여 데이터를 표현할 수 있다. row : user, column : item으로 하여 user가 item을 좋아하는 점수를 표현한다. 구매 이력이 없는 경우 rating을 할 수 없기 때문에 empty(missing rate)로 남긴다. 알고리즘 Neighbor 찾기 : active user c와 취향이 비슷한 user group(neighbor)을 찾는다. $r_{c, s}$ 추정 : 이웃들의 점수에 기반해서 내가 그 아이템에 점수를 어떻게 줄 것인지 추정한다. 추.. 2022. 6. 13.