목록Artificial Intelligence (44)
ROKO
MLOps 는 AI기술을 서비스에 접목시키며 발생하는 문제점들을 해결하기 위해 DevOps + AI를 합쳐 MLOps라는 개념이 탄생하게 되었다. 각 문서를 편집하여 좋은 글로 쓰는 것도 좋지만 애초에 잘 정리된 글이 있다면 그 블로그를 첨부하는 것이 좋다는 생각에 링크를 참조하였다. Don't reinvent the wheel https://mlops-for-all.github.io/docs/introduction/intro/ 1. What is MLOps? Introduction to MLOps mlops-for-all.github.io
Unsupervised learning feed-forward neural net whose job it is to take an input x and predict x purpose : learning encoder Map high dimensional data to low dimenstions representation Learn abstract features in an unsupervised way so you can apply them to a supervised task linear autoencoder is similar as PCA input data에 대해 가중치 W를 곱해주는데 이걸 subspace로 projection후 basis U에 대해 표현한다고 생각하면 PCA가 되는것이다. W..
Unsupervised learning algorithm How to? Dimension reduction Save memory / computation Reduce overfitting Visualize in 2 Dimension (must 2? well,,not necessary) Linear model with closed form Dimension reduction Projection onto a subspace \(Set-up : D=\{X^{(1)},\cdots,X^{(N)} \}\) \(\mu=\frac{1}{N}\sum_{i=1}^N X^i\) Goal : find a K-dimensional subspace \(S \in R^D s\cdot t X^i-\mu\) is well repres..
Neural Networks(NN, 신경망) 인간의 두뇌가 인식하는 과정을 모방하여 만든 모델이다. denderites(수상돌기)에서 입력을 전달 받아 axon(축삭돌기)를 통해 시냅스로 전달된다. 만약 시냅스의 신경전달물질이 임계점을 넘어가면 다른 뉴런으로 전달된다. 이 과정을 machine learning model들과 비교해보면 유사한 과정을 거치고 있다는 것을 알 수 있다. 우리의 뇌는 이러한 뉴런을 \(~10^11\)개 정도 가지고 있고, 각 뉴런은 \(~10^4\)개의 서로 다른 뉴런과 연결되어 있다. Mulilayer perceptrons a directed acyclic graph feed-forward neural network 하나의 층이 아닌 여러층이 겹겹히 쌓인 형태를 다층 퍼셉트론..
딥러닝 논문들을 보면서 experiment에 validation없이 train-test로 실험한 결과들이 다수 있었다. 이러한 방식은 overfitting에 문제가 없을까? validation을 추가해 실험하는 기법중 cross-validation은 overfitting을 막고 모델의 성능을 검증하기 위한 좋은 방법이다. cross-validation은 2가지의 목적을 가지고 있는데, validation의 선택에 따라 train-test의 데이터 분포가 편향되어 성능이 다르게 나올 수 있다. k-fold를 통해 총 성능의 평균을 기준으로 하므로 더 general한 모델을 찾기 좋다. ML의 logistic regression의 parameter인 C값과 같은 hyperparameter를 결정하는데 도움이..
딥러닝은 모델의 parameter 자체가 많아 많은 데이터가 필요하다는 것을 알고 있다. 관련 생각을 하던중 궁금증이 생겼다. 어떠한 기준을 바탕으로 어느정도의 데이터가 필요할까? 딥러닝과 머신러닝을 학습시키기 위한 양은 비슷할까? 1번 질문 일반적으로 두가지의 대답을 할 수 있는데, "어떠한 프로젝트를 진행중이냐는 의존성"과 "많으면 많을수록 좋다"라는 것이다. 의존성에 대해 먼저 살펴보자 모델을 학습함에 있어 고려해야할 사항은 어떤 것들이 있을까. 문제의 복잡성 (정형, 비정형, 단변량, 다변량) 모델의 복잡성 (머신러닝, 딥러닝) 목표 성능 (허용 에러 수치) 문제의 복잡성이란 데이터의 단순함 정도를 의미할 수 있다. 대표적인 머신러닝 데이터셋인 iris를 예를 든다면 꽃에 대한 길이정보를 가지고 ..
Binary classification Targets : \(t \in \{ -1,+1 \} \) Linear model : \(z=w^{T}x+b, y=sign(z)\) Loss function : \(L_{0-1}=\mathbb{I} \{ y \neq t \} \) Hyperplane에 두 종류의 데이터가 표시되어있다. 이 두 종류의 데이터를 분류하기 위한 linear classifier로 위와같은 모델을 선택 할 수 있다. 하지만 가능한 모델은 하나일까? 아니라면 어떤 모델이 최선일까? Optimal Separating Hyperplane 직관적으로 보면 각 데이터를 분류하면서도 margin이 최대로 되어있는 linear classifier가 가장 적합하다. margin이 최대라는 뜻은 genera..
Gradient Checking 우리는 backpropagation 과정에서 weight update를 위해 direct derivative를 계산해야한다. 하지만 미분 불능의 경우도 존재하기에 근사식을 사용해 적용하게 되는데 미분값 오차가 있는지 없는지 검증하는 과정이 필요하다. Finite differences (유한차분) Let \(h\) be small value, e.g. \(10^{-10}\) \(\frac{\partial}{\partial x_{i}}f(x_{1},\cdots,x_{N})=\displaystyle \lim_{h \to 0}\frac{f(x_{1},\cdots,x_{i}+h,\cdots,x_{N})-f(x_{1},\cdots,x_{i},\cdots,x_{N})}{h}\) Gen..
Classification : Predicting a discrete-valued target Binary class (pos / neg, 0/1, true/false) Multiclass Binary linear classification linear model \(z = w^{T}x + b \) \(y=\left\{\begin{matrix} 1 \; if \; z \geq r\\ 0 \; if \; z < r \end{matrix}\right.\) w 가중치와 x를 곱하고 편향을 더한 결과가 임계값을 넘냐 아니냐로 분류를 할 수 있다. 조금 더 식을 정리 할 수 없을까? \(w^{T}x+b\geq r \Leftrightarrow w^{T}x+b-r\geq 0\) 상수부분을 하나로 묶어서 치환하자 그러..
Problem Setup 함수(Hypothesis)를 통해 변수 x에 대한 t값을 예측하는 게 목표 Given dataset pairs \(\left\{(x^{(i)},t^{(i)}) \right\}_{i=1}^{N}\), \(x^{(i)}\) = inputs, \(t^{(i)}\) = targets Model y is a linear function that y(predicition) = W(Weight)x + B(bias) Setting of the parameters = Hypotheses \(Loss\,function\) : \(L(y, t) = \frac{1}{2}(y-t)^2\) (squared error) / \(\frac{1}{2}\)은 미분을 활용한 컴퓨터 연산시 효율성을 위한 것 \((..