목록AI (33)
정리노트
이번 포스팅에서는 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..
앞선 포스팅에서 간단한 Neural Network구조인 MLP를 다루었는데, 그 단순한 모델인데도 각 Activation의 Gradient부터 일일이 가중치를 Update하는 일까지 꽤 복잡한 과정을 거친 것을 확인할 수 있었다. 그렇다면 모든 딥러닝을 구현할때 이런과정을 거쳐야할까? 아니다. 파이썬에는 Pytorch, Tensorflow, Keras같은 Deep Neural Network를 구현하는 훌륭한 오픈소스 Framework가 있고, 실제 모델을 구현하는 단계에서는 이런 Framework를 잘 구성해주면 복잡한 과정을 거치지 않아도 비교적 단순하게 모델을 구현할 수 있다. 이번 포스팅에서는 바로 이 pytorch Deep Learning Framework에대해서 자세히 다뤄보도록 하겠다. . ◆..
지난 포스팅에서 Neural Network에서 한개의 노드구조에 해당하는 Linear Regression과 그에 sigmoid Function이 합쳐진 Logistic Regression을 살펴보았다.이런 Perceptron을 층층이 겹쳐올린 구조로 학습을 하는 모델을 Neural Network라고 하는데,층의 깊이가 깊지않은 모델을 Shallow Neural Network, 깊은구조를 Deep Neural Network라고 한다. 이번 포스팅에서는 층의 깊이가 깊지않은 Shallow Neural Network모델 중 가장 단순한 모델인MLP(Multi Layer Perceptron)에 대해 다뤄보도록 하겠다 *코드첨부는 맨 아래 쪽에 ◆목차◎ Neuron의 구조◎ XOR Operator Issue (D..
Neural Network의 각 뉴런의 구조는 Linear Regression의 output이 Activation 함수를 통과하는 구조 로 이루어져 있다. 그리고 Logistic Regression은 Linear Regression의 output이 Sigmoid Function 함수를 통과하여 그 값(확률)이 0.5 이상일때를(W*X+b = 0.. Decision Boundary) Threshold로 Classification해준 것이다. Neural Network를 구성하고 있는 이 모델들 하나하나를 'Perceptron', 또는 'Neuron'라고 부를 수 있는데, 이때 가장 'Optimal'한 Weight(가중치) 'W'와 Bias Term 'b'를 Iterative Solution으로 찾아주는 ..
이전 Probability Overview(1),(2)에서 다룬 내용은 이번포스팅을 위한 준비운동이었고, 이제부터 본격적으로 Machine Learning Model의 큰 뿌리중 하나라고 볼 수 있는 Bayes Classifier를 살펴보도록 하겠다. ◆ 목차 ◎ Bayes Rule (posterior, prior, likelihood) ◎ Discriminative Model VS Generative Model ○ Examples (Classification Problem에서의 Probabilistic Setting) ◎ Bayes Classifier ◎ Bayes Rule (posterior, prior, likelihood) Bayes Rule은 두 Random Variable의 Prior Prob..