SYDLAB_inha/Machine Learning 18

ML - Neural Networks (NN) / Tensor / flattening / non-linear / activation function / ReLU

Neural Networks Flow of Tensors Neural Network의 module들은 결국 tensor들의 flow이다. input tensor와 중간중간의 featur map tensor들이 계속해서 흘러가는 것이며 그것들이 또 다른 module 의 input 으로 주어지는 흐름으로 neural network가 구성된다. Tensor : scalar부터 vector,matrix 등을 모두 총칭하는 general한 용어이다. scalar는 0차원 tensor, vector는 1차원 tensor, matrix는 3차원 텐서라 할 수 있으나, 기준점을 어디에 두냐에 따라 차원은 달라질 수 있다. tensor에서 차원은 보통 축의 개수를 의미한다. Neural Networks (NN) [ Ar..

ML - Gradient Descent / SGD / learning rate / global & local optimum / epoch / mini-batch

How do we find the best Weight(W)? (Gradient Descent) Gradient Descent - Gradient Gradient는 특정값에서의 기울기를 의미한다. - Loss function loss는 W가 어떻게 되냐에 따라 달라진다. 따라서 loss function은 W에 대한 함수로 표현될 수 있다. 처음에는 임의의 initial weight가 들어가기 때문에 loss가 높을 수 있다. loss값이 낮아지게 하려면 기울기가 0인 쪽으로 가까워져야 한다. w의 변화량 식에 대해 알아보자. 먼저 loss 함수를 weight값에 대해 편미분하여 기울기를 구한다. 기울기가 0인 지점보다 우측에서는 기울기가 양수로 나오는데 기울기가 0인 지점과 가까워지도록 하려면 w값이 작..

ML - Classifier(2) / Softmax Classifier / one-hot vector

Softmax Classifier Softmax Classifier : 요즘은 SVM보다 softmas classifier를 더 많이 사용한다. Softmax classifier는 raw classifier score를 확률적으로 해석할 수 있도록 해준다. 위 예시로 설명해보았을 때, 지금 classifier가 image에 대해 cat일 확률은 13%, car인 확률은 87%로 추정하고 있다. 대소 비교 뿐만 아니라 확률적으로 접근하여 좀 더 직관적으로 해석할 수 있다. 확률적 접근을 위해 전처리 과정이 필요하다. - [전처리 과정] 1. 모든 score들을 모두 양수로 바꾸어주는 작업을 한다. 확률로서 다루려면 모든 수가 양수여야 하므로, e^x라 하는 지수함수를 사용하여 값을 모두 양수로 바꾸어준다...

ML - Classifier(1) / Linear Classifier / SVM Classifier

Linear Classifier Linear Classifier : 직선으로 class를 구분하려는 것이다. image가 input으로 들어오면 Linera Classifier이라는 함수에서 input image인 x값과 가중치 값인 weigths에 따라, output으로서 class가 구분될 것이다. 위 예시에서 구분하고자 하는 class가 3개이므로 output은 3차원의 벡터로 표현될 것이다. Linear, Quadratic, Cubic 식에서 x앞에 붙어있는 값들이 weights이다. 이는 learnable한 상태이다. 이전에 다뤘던 regression은 실수 하나의 값으로 output이 나왔지만, 여기에서는 class 개수만큼 score가 나온다. 목표는 weights를 조정함으로써 정답인 cl..

ML - Linear Regression / Optimization / Loss function / Hyperparametes / model parameter / weight / bias

Model Parameters VS Hyperparameters Model parameters VS Hyperparameters (Learnable) Model parameters 컴퓨터 내부에서 모델이 스스로 학습하며 바꿔가는 key 숫자 ex) 가중치(weight)와 편향(bias) (User-defined) Hyperparameters 사람이 정해줘야 하는 parameter ex) 학습률(learning rate), 에포크(epoch) 수, 배치 크기(batch size) model parameters가 되는 weight는 학습하면서 update가 될 수 있기 때문에 learnable하다고 볼 수 있다. Linear Regression : Supervised learning은 regression과 ..

ML - Data Preprocessing / zero-centered / normalized / KNN

Data Preprocessing Image Classification 새로운 데이터에서 대해서도 올바른 결과가 나올 때까지 모델에 대해 튜닝과 같은 과정을 반복해야한다. Data Preprocessing : 전처리 과정은 모델의 성능을 향상 시키기 위해 필요하다. 전처리에 대해 예시로 알아보자. - ex1 위 classification 예시에서 빨간색 class인지 파란색 class인지 구분하는 과정을 거치기 전에 원점으로 옮겨주는 작업을 먼저 한다. 위와 같이 데이터를 원점으로 가져오는 과정을 normalization이라고 한다. -ex2 zero-centered data : original data에서 x값들의 평균과 y값들의 평균을 각각 빼주면 data가 원점으로 이동하게 된다. normalize..

ML - 머신러닝 vs 딥러닝 / Supervised learning vs Unsupervised learning

Supervised leanring Supervised Learning vs Unsupervised Learning Supervised leanring VS Unsupervised Learning Supervised Learning : data기반으로 학습을 할 때, 학습 과정에서 이미지 하나하나에 대응되는 레이블을 학습에 사용하는 것을 Supervised Learning이라 한다. 예로 Regression과 Classfication이 있다. Unsupervised Learning : label없이 sample만을 가지고 학습을 하며 주어진 데이터들을 가지고 특징(경향성)을 찾아보라 하는 것을 Unsupervised learning이라 한다. 예로 Clustering(정보를 기반으로 비슷한 애들끼리 군집..

ML - training & test data / infrastructure / computer vision / detection / segmentation

Machine Learning Machine Learning (ML) : AI의 부분집합 중 하나가 Machine Leaning이다. Machine learning 내에는 deep learning이라는 또 하나의 분야가 있다. Data-Driven Approaches 일반 프로그래밍은 if,else문 등을 사용하여 명시적으로 표현한다. 하지만, Machine learning은 명시적인 프로그래밍이 아니라, 데이터 기반으로 컴퓨터를 지능있게 만드는 것이다. 여기서 지능이란, general한 지능보다는 어떠한 문제를 풀기위한 추론 능력이라 볼 수 있다. data 수집 이후 데이터를 크게 두개로 나눌 수 있다. (=split) 데이터는 전체의 70프로 정도는 training data에 쓰이고 나머지 30은 t..