인공지능 29

Self Distillation - Be Your Own Teacher

요약일반적으로 teacher의 특징을 student에 학습시키는 knowledge distillation과 달리,teacher 모델 없이 하나의 모델에서 깊은 layer의 특징을 얕은 layer에 학습시킨다https://arxiv.org/pdf/1905.08094.pdf 모델구조 ResNet의 각 ResBlock 마다 output이 연결되어있습니다 (deep supervision과 유사)각 ResBlock은 Ground Truth만을 통해서 학습되는것이 아니라,가장 깊은 classifier과 Softmax를 통해 각각의 feature와 softmax가 학습됩니다. ${\begin{align}  loss &= \sum_{i}^{C}loss_i \\      &= \sum_{i}^{C}((1-\alpha) ..

연세대학교 공학(야간)대학원 인공지능학과 2024 전기 합격 후기

연세대학교 공학대학원 인공지능학과에 합격해 현재 대학원 과정을 하고 있습니다. 다른 분들에게 도움이 되었으면 하는 마음에 후기 작성합니다 지원 이유 저는 웹 개발자로 일하고 있고, 어플리케이션을 잘 만드는 것도 중요하다고 생각하지만, 조금 더 학술적인 것을 하고 싶다는 생각을 했습니다. 웹 개발자로 전향한 이후로 사이드프로젝트도 하고 공부도 많이 한다고 생각하지만, 업무 외적으로 눈에 띌만한 성과가 있지는 않았습니다. 대학원에서 2년동안 공부하면 업무 외적으로 성과가 나오지 않을까라는 기대감이 컸습니다. 저는 최적화 하는 것을 좋아하고 응용 수학에 자신이 있어서 인공지능학과를 지원했습니다. 개인적으로 신촌이 회사와 가까워 연세대 말고는 지원을 하지 않았습니다. 다른 학교는 현실적으로 다니기 힘들겠다고 생..

인공지능 2024.04.12

Quantization

연산을 효율적으로 하기 위해 float에서 연산하는 것이 아닌 integer 연산을 합니다. 대신 정확도는 줄어듭니다 $r = S(q-z)$ q: quantized fixed-point value (integer) r: real float-point value S: scale (float) Z: zero-point (bias) 어느 모델의 weight가 다음과 같은 분포를 하고 있다고 가정해봅시다 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 그리고 3비트로 아래의 수를 나타내고 싶다고 가정해봅시다.(uint3) uint3의 범위는 0($ \alpha_q $)~7($ \beta_q $)입니다 위 weight의 범위는 -2($ \alpha $)~14($ \beta $)입니다 총 ..

Convolution in Detail

Direct Convolution for 루프로 직접 계산(MAC : Multiply Accumulation operation) 캐시 사용하지 못함, 병렬처리 못함 GEMM(General Matrix Multiply) IM2COL로 Input과 Weight를 matrix로 변형해서 계산 GPU 연산에 빠르다 FFT-based Convolution weight와 input을 FFT로 변환해서 pointwise multiplication 수행 IFFT로 원복 (자세한 내용은 다음에 다루겠습니다) 2-D convolution $(G*F)[i,j]=\sum_m \sum_n G[i+m,j+n]F[m,n]$ i+m,j+n가 범위를 벗어나면 무시한다. Fourier Transform 후 곱셈 계산을 위해 filter..

OR(Operations Research)

Operations Research- 수리적 최적화 모델 : 주어진 조건에서 시스템을 디자인하거나 운영하는 최적의 방안을 찾는 접근법- 대안들 중 개선을 찾는것이 아니라 가장 좋은 것을 찾는다 수리적 최적화 3가지 구성요소- 의사결정변수 : ex) 생산량- 목적식 : min f(x) 또는 max f(x)- 제약식 : g(x)  예제총길이가 L인 정사각형의 넓이가 최대가 되는 l,w 찾기- 의사결정변수 : length(l), width(w)- 목적식 : A(l,w) = l*w- 제약식 : 2*(l+w) = L 왜 수리적 최적화를 하는 것이 어려운지?가능해가 너무 많거나 복잡하다 => 최적해가 가지는 특징을 찾는다 대부분의 어플리케이션은 apprioximation 과정이 있다real world 자체를 나타내..

[강화학습 요약] Policy Gradient

Policy-Based RL - No explicit value function - 최적의 Policy를 바로 구함 특징 - state-action value function을 parameterization이 쉽지 않을 때 쓰기 좋다 - 차원이 많거나 continuous action space 일 때 쓰기 좋다 - stochastic policy를 배울 수 있다 - local optima에 도달하는 경우가 많다 - variance가 크다 Policy Gradient $\tau = (s_0,a_0,r_0,...,s_{T-1},a_{T-1},r_{T-1},s_T)$ $R(\tau) = \sum_{t=0}^{T} R(s_t,a_t)$ (Monte-Carlo return) $V(\theta) = \sum_\ta..

인공지능/기타 2023.10.15

[강화학습 요약] SARSA / VFA / DQN

On policy : 현재 policy의 data만 사용 Off policy : 다른 policy의 data도 사용 Exploration : environment를 배우기 위해 다양한 action 취함 Exploitation : 이전의 policy로 best action취 $\epsilon$-greedy Policies Policy가 deterministic 할 때는 무조건 특정 action만 진행 가능. 하지만 다른 action도 취해야 policy와 다른 Q function도 계산이 가능하므로 $\epsilon$ 의 확률은 랜덤한 action을 따르고 1-$\epsilon$의 확률로 policy를 따른다. 이러한 policy를 $\epsilon$-greedy Policy라고 한다 $\epsilon$을..

인공지능/기타 2023.09.11

[강화학습 요약] Policy Iteration / MC / TD learning

Markov 참고로 Markov는 수학자 이름임 Markov Process 미래의 process는 현재의 상태에만 의존함 i.e. 동전 던지기로 앞/뒷면이 나오는 process에서 앞면이 직전에 10번 연속으로 나온 것과 상관없이 앞면/뒷면의 확률은 각각 50% Markov Chain : Sequence of states and their transition Markov State System에서 정의가능한 상태 i.e. S1 : 비가 온다 / S2 : 화창하다 / S3 : 흐리다 Policy 각각의 State에서 어떤 action을 취할 것 인지 Value function agent가 상태 s에서 policy를 따랐을 때 총 보상을 얼만큼 가질 수 있을 지 (미래의 보상도 포함) $V(s) = E[\s..

인공지능/기타 2023.08.27

Pytorch : 'RuntimeError: CUDA out of memory.'

파이토치 GPU 메모리 부족시 해결 방안 1. 메모리 제거 torch.cuda.empty_cache() GPU에서 사용하지 않는 cached memory를 제거 2. eval 단계에서 gradient 계산안하게 설정 with torch.no_grad(): eval 단계에서는 back propagation을 수행하지 않기 때문에 gradient 계산을 하지 않아도 된다 torch.no_grad()로 설정 가능하다 KoBERT NSMC finetuning 에서도 아래와 같이 test accuracy 계산 시 적용 가능하다 https://github.com/SKTBrain/KoBERT/blob/master/scripts/NSMC/naver_review_classifications_pytorch_kobert.i..

인공지능/기타 2022.11.10