MAICON 후기
2022년 9월 30일부터 시작하여, 11월 8일부터 11월 14일까지의 MAICON 예선을 참여한 후기를 적었다. 필자와 같은 부대에서 참여한 총 4명의 팀원들은 모두 AI 프로젝트 경험이 사실상 없는 초보였으며, 전원 코딩테스트 통과 이후 예선전에서 25위 / 35팀 을 하여 여정을 마쳤다.
2022년 9월 30일부터 시작하여, 11월 8일부터 11월 14일까지의 MAICON 예선을 참여한 후기를 적었다. 필자와 같은 부대에서 참여한 총 4명의 팀원들은 모두 AI 프로젝트 경험이 사실상 없는 초보였으며, 전원 코딩테스트 통과 이후 예선전에서 25위 / 35팀 을 하여 여정을 마쳤다.
Neural Network를 train할 때 필요한 Optimization 및 Regularization 기법들, 그리고 Model Ensemble과 Transfer Learning에 대하여 소개한다.
Neural Network를 Train 할 수 있는 다양한 방법들에 대하여 설명한다. Activation Functions, Weight Initialization, Batch Normalization, Babysitting the Learning Process, Hyperparameter Optimization 를 다룬다.
CNN의 기본 원리와 용어 설명에 대하여 설명한다. Channel(Depth), Filter, Stride, Padding, Pooling Layer 를 다룬다.
CS231n assignment2의 BatchNormalization.ipynb
의 풀이 과정에서 Batch Normalization Backward flow 가 요구되는데, 이를 해결한 두 가지 방법을 간단히 소개하고자 한다. 각각의 아이디어가 batchnorm_backward
와 batchnorm_backward_alt
에 사용되었다.
CS231n assignment1 two_layer_net.ipynb
의 구조는 input - fully connected layer - ReLU - fully connected layer - softmax 로 이루어진다. (neural_net.py
참고) 등장하는 ReLU 계층, Affine 계층을 Lecture 4에 소개했듯 modularization 하여 정리해 보려고 한다.
CS231n assignment1 의 two_layer_net.ipynb
해결에 필수적이었던, Matrix들에서의 Backpropagation (Chain Rule) 에 대하여 설명한다. 원문 파일은 아래와 같다.
Backpropagation for a Linear Layer
Backpropagation이 무엇인지, 그리고 Gate를 어떻게 modularization하는지를 다루며, Neural Network에 대하여 간단하게 설명한다.
본 게시물에서는 CS231n의 assignment1 (Spring 2020) 중, svm.ipynb 과제와 softmax.ipynb 과제의 주요 아이디어에 대하여 설명한다. 하이퍼링크를 통해 필자가 작성한 전체 assignment solution을 확인할 수 있으며, loss function과 gradient를 구하는 코드는 linear_svm.py 와 softmax.py 에서 확인 가능하다.
Linear classification의 기본 (Loss function, Optimization)을 다루고, Loss function의 예시로 Multiclass SVM과 Softmax, Optimization의 예시로 Stochastic Gradient Descent(SGD) 에 대하여 설명한다.