목록분류 전체보기 (89)
플로라도의 data workout
이번시간에는 CNN의 아키텍쳐에 대해서 다뤄본다. 게시물 작성 시점인 2024년 기준으로 강의 내용에서 소개된 모델 이외에도, 더욱 효율적이고 정확도면에서 우수한 모델들이 다수 발표되었고(2019년, EfficientNet) 2020년 VisionTransformer의 발표 이후에는 ViT계열 모델들이 매우 대두되던 시기가 있었다. (2020년; DETR, 2021년 ; SwinTransformer) 하지만 Transformer계열 모델들은 리소스가 크고 학습양을 상당히 필요로 하기 때문에, 이후 다시 CNN계열로 Transformer계열을 잡을 수 있지 않을까? 하는 생각으로 CNN계열 모델이 다시금 연구되었다. (ConvNext, ResNest) 하지만 모든 CNN계열의 아키텍쳐들은 이전 모델들의 아..
오늘 강의의 주제는 이미지 처리 분야의 가장 메이저한 모델인 Convolutional Networks이다. 지난 강에서는 Backpropagation 알고리즘에 대해 배웠다. 복잡한 네트워크 구조의 gradient를 전부 계산하는 것이 아니라 저장된 forward pass의 정보를 이용하여 local한 연산을 통해 gradient를 계산하는 방식이다. 또한 이러한 방식을 활용하는 방법 중, Modular API방식으로 활용하는 것을 배웠다. 다음으로는 Linear Classifier과 신경망의 Fully connected Linear Classifier에 대해서 배웠다. 많은 함수를 표현할 수 있는 강력한 성질이 있지만, 두 모델의 구조 모두 2D의 공간적 구조를 고려하지 못하고 input RGB이미지를..
이번 강은 Backprogation(역전파)에 대해서 다룬다. 지금까지의 내용은 Linear Classification의 한계를 넘어서는 NeuralNet의 특징, Space Warping과 Activation fucntion을 추가하여 비선형적인 표현을 할 수 있는 것, Universal Approximation에 대한 개념과 신경망의 Loss surface는 다양한 형태의 Non-convex function으로 존재함에도 불구하고 optimization되어 실전에서 어떻게든 작동한다고 배웠다. 또한 위와 같은 loss function으로 현재의 가중치에 대한 happiness or unhapiniess를 표현하고, SGD와 같은 알고리즘으로 가중치를 업데이트 한다고 배웠다. 여기서 문제는 gradie..
약 2달간 데이터 사이언티스트/AI 엔지니어 직군에 해당하는 60개 정도의 채용공고에 서류를 냈고, 지금까지 5개 회사에 서류 합격을 했으며, 2차례의 과제 전형과 2차례의 입원 면접을 진행하였습니다. 암담한 서류 합격률에 좌절하기도 했지만 결론적으로는 제 분에 넘치는 1승을 달성하면서 좋지 않은 감정들은 덮고 앞으로 감사한 마음에 더 열심히 해야겠다는 각오를 다집니다. 지난 면접 과정을 복기해보면, 거의 대부분 정답에 가까운 답변을 하였지만 작성일 기준 비전공자 학사 출신이라는 점이 줄곧 들어왔던 대로 발목을 여러번 잡긴 했던 것 같습니다. 실제로 답변을 잘 하더라도 논문 구현이나, 개발 역량 관련해서는 스스로 부족하다고 느끼기에 이 부분은 앞으로도 더 채워나가야 될것같습니다. 아무튼 비전공자 출신으로..
이번 강의 주제는 드디어 Neural Networks(신경망)이다. 지금 까지 배운 내용에 대한 요약이다. 1. 먼저 우리는 knn과 같은 non-parametric classifier가 아닌, parametric classifier를 만들기 위해서 Linear model에 대해서 다뤘다. 2. 다양한 weight의 세팅에 대해서 우리의 happiness or unhappiess를 표현하기 위한 수단인 loss function에 대해서 다뤘다. 3. 그 다음 weight를 업데이트 하는 방법인 Iterative method - gradient descent의 변형들 (SGD+momentum 그리고 Adam , RMSProp) 등의 optimization에 대해서 배웠다. 우리는 다시 1번에서 등장한 Li..
Regularziation은 모델이 학습 데이터에만 오버피팅되지 않도록 방지하는 기법으로 알려져 있다. 그러나 Regularziation 테크닉중 weight decay의 방법인 L1, L2 Regularziation은 마찬가지로 오버피팅을 방지할 뿐만 아니라, human knowledge를 prior로서 반영할 수 있다. L1 Regularization $$\begin{aligned} \mathcal{E}(w) = \frac{1}{2} \sum^n_{i=1} \left( f_w(x_i) - y_i \right)^2 + \lambda \sum_{i=1}^{n} |w_i| \end{aligned}$$ L1 Regularization은 모델의 Loss function에 가중치의 절대값에 비례하는 항을 추가함..
이번 강에서는 Optimization에 대해서 다룬다. Optimization의 topic은 Loss funciton에 input으로 $W$ matrix를 주었을때 output인 Loss를 최소화하는 $W_*$를 찾는 것이다. Optimization은 앞이 보이지 않는 남자가 산비탈을 탐험 하는것과도 같다. 이러한 산비탈은 고차원의 풍경(high dimensional landscape)이라고 표현할 수 있다. 이 사람은 앞이 보이지 않기 때문에 산비탈에서 어떻게 optimal $W_*$를 찾아가야할지 모르는 상황이다. 남자가 밟고있는 ground의 $x,y$좌표는 각 $W$ matrix의 특정값을 의미하고 비탈의 높이는 $Loss$값을 의미한다. Linear Regression과 같이 남자가 바닥에서 출..
"Linear models love normally distributed data" 캐글 커널에서 마주한 "Linear models love normally distributed data." 라는 문장의 맥락을 파헤쳐 보고자한다.선형 모델들과 정규적인 분포의 데이터우 무슨 관계가 있길래 'love'라는 과감한 비유까지 든걸까? 우선 데이터의 분포라는 것은 통계 모델, 혹은 머신러닝 모델에서 독립변수와 종속변수, 설명변수와 반응변수 혹은 feature X와 target y도 불리는 예측 대상인 ①$y$값의 분포가 있고,각 데이터 포인트의 특성(feature)의 집합인, ②$X$에 대한 분포가 있다.(통상 예측 대상인 $y$는 스칼라이기에 소문자를 취하고, 독립 변수는 feature set이라고 불리..
1. 선형성(Linearity) 독립변수와 종속변수, 설명변수와 응답변수, 다시말해 데이터 과학에서의 피처의 집합인 $X$와 타겟 값 $y$가 선형적인 관계를 가져야만 한다. 가장 잘 피팅된 선형 회귀 모델은 곧은 직선 형태임으로, 가장 직관적인 특징이다.여기서 선형은 $X$와 $y$간의 "관계"의 선형성, 즉 파라미터의 선형성을 일컫는 말로독립변수$X$의 선형과는 관계가 없다. 종종 독립변수 $X$에 제곱이나 혹은 교차항(interaction)을 추가하기도 하는데 이는 다항 회귀(Polynomial Regression)으로 불린다. 조금 더 부연하자면, 피처의 집합인 $X$와 타겟 값 $y$가 선형적인 관계를 가져야만 하는 이유는 애초에 선형모델이 해당 가정하에 설계된 모델(inductive bia..
Cardinality Cardinaltiy는 쉽게 말해 각 피처에 속한 유니크한 범주의 갯수를 말한다. 예를 들어 성별이라는 피처의 경우 남,녀 두가지 범주만 존재함으로 Cardinality는 상대적으로 낮다고 말할 수 있다. 그러나 회원번호와 같은 피처는 모두 개별적인 ID를 갖음으로 Cardinality는 상당히 높다고 할 수 있다. Cardinality의 중요성높은 카디널리티를 가진 특성은 모델의 학습에 있어서 노이즈와 오버피팅을 유발 할 수 있어 주의가 필요하다. 또한 데이터의 전처리 부분이 중요해진다. 범주형 변수에 대해서 원하는 ouput이 수치형 변수일때 high Cardinality에 대해 다음과 같은 전략을 취할 수 있다. - 타겟 인코딩 (Target Encoding) 각 범주의 레이블..