본문 바로가기

AI

(23)
GAN - Generative models 데이터를 이용해 같은 분포를 가진 데이터를 추가적으로 만들어내는 모델 neural network layer가 점점 깊어지고 복잡해지며 많은 데이터가 필요해졌다 이때 사용할 수 있는 generative models! 데이터 늘리는 것 이외에도 colorization, super resolution 등에서도 사용할 수 있다 입력으로 강아지 사진이 들어왔다고 가정해보자 이미지들의 probability distribution이 p(x)라면 p(x)를 이용해 새로 만든 x_new도 강아지처럼 우리 눈에 보여야한다 또한 x가 강아지 같다면 p(x)값이 커야한다 이러한 상황에서 우리가 알고싶은 것은 p(x)를 표현하는 방법과 어떻게 학습할 것인지이다 generative model은..
Supervised Learning vs Unsupervised Learning GAN을 배우기 전에 supervised learning과 unsupervised learning의 차이점을 다시 공부해보았다 - Supervised Learning ( 지도학습 ) Data가 실제 data(x)와 label(y)로 나뉘어 들어온다 목표는 x를 y로 매핑시켜주는 함수를 찾는 것 classification, regression, object detection, semantic segmentation, image captioning 등의 예시가 있다 object detection은 이미지에서 객체를 탐지하는 것이고 semantic segmentation은 객체를 탐지하는 점은 같지만 픽셀별로 classification을 진행하는 느낌이었다 - Unsupervised Learing ( 비지도학..
RNN - Recurrent Neural Network RNN은 입력과 출력을 sequence 단위로 처리하는 sequence 모델 input의 사이즈가 정해진 deep neural network를 문장 분석에 사용하면 같은 의미의 문장이지만 단어의 개수가 달라지면 해석하지 못한다 Slot을 채워넣는 Slot Filling에서 이러한 모델을 사용할 수 있다 예를 들어 티켓 예약 시스템은 목적지와 날짜를 문장을 통해 알아내고 싶다 두 문장은 같은 값을 slot에 채워넣지만 단어의 숫자가 다르다 I would like to arrive Taipei on November 2nd On November 2nd, I’ll arrive at Taipei 원리는 다음과 같다 RNN은 반복이라는 recurrent의 의미에 맞게..
Convolution & CNN - Image Filtering 각 픽셀별을 이웃 픽셀들을 포함하여 특정 함수에 넣어 output을 만드는 과정 linear filtering은 이웃 픽셀들의 weighted sum / difference 노이즈제거, 스무딩, 대비 증가 등을 적용할 수 있다 - Point Spread Function 이미지 필터링에 사용하는 linear function source 이미지의 값이 target 이미지로 분산 - Convolution Source Image : H Target Image : G PSF : F Convolution operator : * G = H * F 필터를 상하좌우 뒤집어서 모든 위치에서 cross-correlation을 계산하는 것 cross-correlation은 element-wis..
Optimization Algorithms neural network 학습을 빠르게 하기 위한 다양한 최적화 알고리즘들이 있다 - Gradient descent with momentum 대부분 그냥 gradient descent를 사용한 것 보다 좋은 성능을 가진다고 한다 이 방법을 사용하기 위해서는 exponentially weigthed averages (EMA)에 대해 먼저 알아야 한다 EMA는 평균을 구할 때 모두 같은 가중치를 주어 구하는 것이 아니라 중요한 데이터는 큰 가중치, 중요하지 않은 데이터는 작은 가중치를 주어 더하는 방법이다 식으로는 $\theta$가 데이터일때 $ v_t = \beta v_{t-1}+ (1-\beta)\theta_t $와 같이 표현할 수 있다 $\beta$ , $1-\beta$ 이런 모양처럼 가중치의 합은 ..
Batch Normalization 하이퍼 파라미터의 민감도를 낮추어 매우 깊은 deep network를 사용 가능하게 만들어주는 기법 batch normalization을 알기 위해서는 먼저 batch와 mini-batch가 무엇인지 알아야한다 input으로 데이터 전부를 사용하는 것을 batch라고 한다 하지만 최근에는 데이터가 많아져서 전부 사용하면 메모리도 부족하고 오래걸려 잘 사용하지 않고 mini batch를 사용한다 5000000개의 데이터가 있을 때 이 데이터를 1000개 씩 5000개로 나누면 mini batch 5000개가 있는 것이다 데이터 전부를 사용하는 경우가 별로 없기 때문에 batch라고 하면 거의 mini batch를 말한다고 한다 실제로 사용할 때에는 1000개씩 미리 나누어 놓기 보다는 랜덤으로 1000개를..
Regularization 4 - Early Stopping 마지막으로 공부해볼 regularization 방법 과적합을 막아주는 방법으로 validation set (development set) 과 training data error가 벌어지면 training을 멈추는 방법이다 training set error는 계속 줄어들 수 밖에 없다 하지만 과적합이 일어난다면 dev set error가 커지는 시점이 존재하는데 그림에서 $ t_2$ 이후이다 training set error가 계속 줄어들도록 $t_3$까지 학습을 하지 않고 $t_2$에서 멈추는 것이 early stopping 이다 ITE4053 : Deep Lerarning ( Hanyang University )
Regularization 3 - Data Augmentation data augmentation은 엄밀히 regularization 기법이라 하긴 어렵지만 비슷한 효과를 가져와서 이렇게 구분을 해보았다 https://arxiv.org/pdf/1806.03852.pdf 소프트웨어적으로 training data를 늘려 과적합을 막고 variance를 줄일 수 있는 방법이다 이 때 주의할점은 label이 유지되도록 augmentation을 해야한다는 점이다 예를 들어 손으로 쓴 숫자 이미지가 있다고 하자 처음 4라는 데이터 하나를 좌우로 회전시켜 2,3번째 데이터를 만든 경우 새로 만든 데이터도 label이 4가 될 것이다 하지만 이렇게 6을 data augementation 시킨다면 너무 많이 회전 시키는 경우 6인지 9인지 모호한 경우가 발생할 수 있다 따라서 data..