목록AI/Deep Learning (13)
정리노트
지난 포스팅에서 CNN에 대해 3번에 걸쳐서 다뤄보았다. Convolution Layer는 해당 이미지 Pixel 안의 Data를 Input으로 특징정보를 추출 해주는 일종의 Filter고, 이런 Convolution Layer를 이용해 만든 Neural Network를 바로 CNN이라고 한다. 이번 포스팅에서는 CNN을 이용해서 객체 탐지, 즉 Object Detection을 진행하는 것에 대해 다뤄보도록 하겠다. ◆ 목차 ◎ Localization & Detection ◎ Classification With Localization ○ Loss Function ◎ Convolution implementation of Sliding Windows ○ Replace FC Layer to Convolutio..
https://arxiv.org/abs/1512.03385 Deep Residual Learning for Image RecognitionDeeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions witharxiv.org2015년 위 논문이 발표되고image Classification분야에서 혁신을 일으켰던 ResNet..
지금까지 CNN 포스팅에서, CNN의 여러가지 Building Block과 이를 바탕으로한 가장 기초적인 CNN Model에 대해서 살펴보았다. 이번에 포스팅할 내용은 이런 CNN모델 Architecture의 Reference들이다. ◆ 목차 ◎ Classic Networks with CNNs ○ LeNet-5 ○ AlexNet ○ VGG Net ◎ Classic Networks with CNNs ○ LeNet-5(1998) 오래전 제안된 Architecture로, MaxPooling대신 Avg Pooling이 쓰이고, Cross Entropy대신 L2 Distance가 쓰이는 게 \ 최근 Architecture와는 많이 다르다는 것을 알 수 있다. https://ieeexplore.ieee.org/st..
지난번 포스팅에서, CNN Architecture에는 크게 3가지 Building Block이 있다고 했다. -> Convoluion Layer, Fully Connected Layer, Pooling Layer 직전 포스팅에서 Convoluion Layer, Fully Connected Layer에 대해서는 다뤘고, 이번 포스팅에서는 나머지 Building Block인 Pooling Layer에 대해서 다뤄보려고 한다. 그리고, 이런 Building Block으로 만든 CNN의 예시로 어떤 것들이 있는지 살펴보고, Pytorch상에서 이를 어떻게 구현하는지 알아보겠다. ◆ 목차 ◎ A Simple Convolution neural Network ◎ Pooling Layers ○ Max Pooling ○..
이번 포스팅에서는 Computer Vision에 쓰이는 여러가지 Neural Network중, 매우 큰 Building Block인 Convolution Layer에 대해 다루어 보고자 한다. ◆목차 ◎ Computer Vision Problem Types ◎ Building Blocks of CNN ◎ FC(Fully Connected Layer) ◎ Convolution Layer ○ Edge Detection ○ Learning Filters.. to detect Various Edge ○ Convolution with Bias ○ Padding & Stride ○ Summary of Convolutions & Notation ◎ Convolution Over Volume (참고) ◎ Technic..
이번 포스팅은 오래간만에 라이트한 두가지 내용을 정리해보려고 한다. ◆목차 ◎ TensorBoard 모델이 잘 학습되고있는지, Overfitting되고 있지는 않은지 분석하기 위해서, Loss나 Acccuracy값을 따로 띄워보는 작업이 반드시 필요한데, 그 추이를 보통 matplotlib 패키지를 이용해서 그래프로 띄우는게 일반적이다. 그런데 matplotlib 패키지를 굳이 사용하지 않더라도 훨씬더 깔끔하고 편한 방법으로 모델의 학습 추이를 살필 수 있는 방법이 있는데 바로 tensorboard 툴킷이다. 자세한 사용법은 아래 링크에 잘 나와있으니 참고. https://tutorials.pytorch.kr/recipes/recipes/tensorboard_with_pytorch.html PyTorch..
오늘 포스팅의 Reference : Stanford University CS231n: Deep Learning for Computer Vision Stanford University CS231n: Deep Learning for Computer Vision Course Description Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as ima..
Neural Network는 Cost Function의 최솟값을 Optimal Point로 도출하고, 이를 Analytic Solution이 아닌, 'Iterative Solution'으로 찾는다. -> Gradient Descent Iterative Solution은 Analytic Solution 처럼 함수 전체에서 Optimal Point를 찾는게 아니라 그때그때 들어온 값에 따라서 Optimal한 지점을 차근차근 찾아나가는 방법이기 때문에, 모든 경우에서 100프로 완벽한 Optimal Point를 찾을 수는 없으며, 심지어는 학습에 실패하기도 한다. (ex. Local Minima, plateau, divergence..etc) 인공지능에서 Iterative Solution은 보통 경사하강법, ..
이번 포스팅에서는 딥러닝 네트워크를 구축하면서 염두해두어야할 내용들에 관한 내용이다. Deep Learning에 국한되어 적용되는 개념들은 아니고, Machine Learning Algorithm에서도 전반적으로 알고있어야하는 내용들이니, 한번 쭉 보고 모르는 내용이 있으면 잠깐 참고해보면 좋을 듯 하다. ◆목차 ◎ Train / Dev / Test ○ Mismatched Train / Test Distribution ◎ Bias & Variance ○ Basic Recipe for Machine Learning ◎ Regularization ○ Regularization Term ○ Drop Out ○ Other Regularization ◎ Normalization / Initialization ◎ ..
지금까지 포스팅에서 다룬 내용은 뉴런 노드 하나(Linear Regression + Activation Function)부터 시작해서 Shallow Neural network를 일일이 직접구현을 해봤고, pytorch Framework를 보면서 이 과정이 얼마나 쉽고 간단하게 요약되는지 까지 살펴보았다. 이전까지 다룬 예시는 Layer수가 얕은 Shallow Neural Network였다면, 이번 포스팅에서 다루고자 하는 모델은 Layer수가 깊은 Deep Neural Network이다. ◆목차 ◎ Output Types ◎ Parameters VS Hyper-paramters ◎ Stochastic Gradient Descent (S.G.D) / Mini-batch Gradient Descent ◎ D..