728x90

DeepLearning/Basic 13

[DL] Data Shuffling에 대한 짧은 고찰

continual learning survey paper를 읽다가 다음과 같은 구절을 접함. Research on artificial neural networks has focused mostly on static tasks, with usually shuffled data to ensure i.i.d. conditions 각 instance가 Random Variable $X_i$ 라고 하면 시계열 데이터가 아닌 이상 각 R.V는 i.i.d를 가정함. 이러한 i.i.d 조건을 만족함을 보장해주기 위해서는 데이터를 shuffling해줘야함. 그렇다면 왜 R.V가 i.i.d임을 가정해야할까? → i.i.d 가정이 있으니까 Loss를 instance 단위 별로 계산 후, reduction을 시켜주는 거겠지..?

DeepLearning/Basic 2022.10.19

[DL] Convolution 연산의 output size에 대한 이해

convolutional layer의 output size 공식에 대한 제 나름의 이해를 간단하게 정리한 글입니다. The output size of a Convolutional layer [가정] 2-D discrete convolutions (커널 사이즈 2-D) input이 정사각형 (h == w) kernel이 정사각형 stride의 경우 각 축에 동일하게 적용됨 zero padding의 경우 각 축에 동일하게 적용됨 dilation은 적용하지 않음. [공식] $$o = \lfloor \frac{i+2p-k}{s} \rfloor + 1 $$ $i$ = a size of input $p$ = amount of padding $k$ = kernel size $s$ = stride $o$ = outpu..

DeepLearning/Basic 2022.05.03

[Paper Review] Very Deep Convolutional Networks for Large-Scale Image Recognition (VGGNet)

이전에 정리해두었던 vgg net review를 올립니다. 간단한 구조를 채택하여, 성능이 보다 높았던 inception 보다 더 많이 활용되었던 구조입니다. 지금도 backbone으로 종종 쓰이나 resnet보다는 그 활용성이 떨어집니다. 기존의 network 깊이를 19 layer까지 쌓음으로써 성능을 끌어올렸다는 점에서 주목을 받았고, 그 비법은 작은 필터 사이즈의 convolution layer를 여러 개 쌓은 것입니다. 자세한 내용은 후술하겠습니다. 목차는 다음과 같습니다. Context Introduction VGG Net 구조 Classification Framework Experiments Conclusion 1. Introduction ILSVRC 2014 second-winner 대규모..

DeepLearning/Basic 2022.05.01

[Generative Models] Generative Adversarial Networks (2014)

Generative Adversarial Networks (NIPS, 2014) 무려 8년 전에 나온 논문이지만, 현재 생성 모델의 기초가 되고 있는 Generative Adversarial Networks (이하, GAN)의 논문을 읽고 리뷰를 해보았습니다. 혼자 공부하는 용도로 적은 것이 크고 논문 이외에 별도의 참고자료는 참고하지 않았으므로 흐름 상 놓친 부분 혹은 하기한 사항에 오류가 있을 시 댓글 부탁드립니다. 1. Introduction deep learning이 Discriminative task에서 괄목할 만한 성과를 보이고 있음 그러나 generative models에서는 크게 다음과 같은 두 가지 이유 때문에 deep learning의 적용이 어려움 1) difficulty of app..

DeepLearning/Basic 2022.04.05

[ML/DL] 쿨백-라이블러 발산 (Kullback-Leibler Divergence)

쿨백-라이블러 발산은 머신러닝이든 딥러닝이든 공부를 지속해가다보면 심심치 않게 만나볼 수 있는 개념이다. 공부를 할 때마다 위키피디아를 들락날락하지 않도록 블로그에 정리해보고자 한다. Kullback-Leibler Divergence (KLD) KLD는 knowledge distillation, variational inference 등 두 개의 분포 간의 차이를 계산할 때 사용되는 measure이다. 정의 X가 이산확률변수일 경우 $$D_{KL}(P||Q) = {\sum_{i} P(i)\ log\frac{P(i)}{Q(i)}}$$ X가 연속확률변수일 경우 $$D_{KL}(P||Q) = {\int_{x} p(x)\ log\frac{p(x)}{q(x)}} $$ 의미 위의 정의를 풀이하자면, 어떠한 확률분포..

DeepLearning/Basic 2022.03.25

[ML/DL] 딥러닝에서의 Cascade

머신러닝 혹은 딥러닝(Computer Vision) 분야 관련 논문을 읽다보면 Cascade라는 말이 종종 나오는데, 정확히 짚고 넘어갈 필요가 있어 보여 정리한다. Definition of Cascade a process whereby something, typically information or knowledge, is suceessively passed on. 여기서 주목할 점은 successive하다는 점이다. 이걸 ML 관점에서 본다면 정보가 successive하게 전달이 된다는 것이므로, layer 간의 위계적인 정보 전달 혹은 boosting machine에서의 additional learning 등을 생각해볼 수 있을 것이다. (병렬적이 아니라 직렬적인 것에 가깝다고 생각해보자. 여러 개..

DeepLearning/Basic 2021.12.12

[DL] ResNet의 Inspiration

Why Residual Learning? 지금껏 ResNet을 읽으면서 가장 이해가 되지 않았던 점은 왜 ResNet은 deeper network를 만드는데에 residual learning의 개념을 적용한 것일까? 에 대한 것이었다. Not about the Vanishing Gradient 물론 skip connection을 통해 gradient vanishing 등의 문제를 해결한다 이런 측면도 있겠지만, 논문에서 밝히길 여러 normalized initialization과 intermediate normalization layer로 인해서 해결 가능하다. 즉, 단순히 gradient vanishing 문제 등을 해결하기 위해 skip connection을 통한 residual learning이라는..

DeepLearning/Basic 2021.09.24

[ML/DL] 최적화(Optimization), 경사하강법 (Gradient Descent Methods) (2)

수식이 포함되어 있는 글입니다. 원활한 이해를 위해 데스크탑 모드로 전환하실 것을 권합니다. Gradient Descent First-order iterative optimization algorithm for finding a local minimum of a differentiable function cf.) first-order optimization first-order optimization 같은 경우에는 최소 한 번 미분한 값을 활용하여 optimization을 하는 경우를 의미하고, second-order optimization과 같은 경우에는 두 번 미분한 값 (or gradient)를 활용하여 최적화를 하는 경우를 의미함. 일반적으로, nth optimization 같은 경우에는 rank..

DeepLearning/Basic 2021.08.21

[머신러닝/ML] 군집화 (Clustering)

군집화 (Clustering) 군집화(Clustering)는 비지도학습의 한 예시로, 어떠한 label 없이 데이터 내에서 거리가 가까운 것들끼리 각 군집들로 분류하는 것이다 (분류라고 표현했지만, 지도학습인 classification과는 다르다). 즉 데이터 내에 숨어있는 패턴, 그룹을 파악하여 서로 묶는 것이라고 할 수 있다. 만약 라벨값이 존재하는 데이터라고 하더라도, 같은 라벨 내에서도 얼마든지 다른 군집으로 묶일 가능성이 있다. 군집화 알고리즘에는 K-Means Clustering, Mean Shift, Gaussian Mixture Model, DBSCAN, Agglomerative Clustering 등이 있다. Agglomerative Clustering을 제외한 나머지 알고리즘을 정리해보..

DeepLearning/Basic 2021.03.03
728x90