본문 바로가기

wonwooddo

남세동 면접 질문 list 1. Python에서 Generator가 무엇이고 어떻게 만드나요? 2. Activation Function 없이 뉴럴넷을 학습하면 왜 안될까요? 3. Max Pool Layer의 Back-Propagation은 어떻게 되나요? 4. 멀티 GPU에서의 SGD는 어떻게 되는 걸까요? 5. Word2Vec 학습결과 King-Queen 같은 것이 되는 이유가 뭘까요? 6. Transformer에서 K, Q, V 각각은 어떻게 만들어지나요? 7. GPT-3에서 Few-Shot Learning의 의미는 무엇인가요? 8. Mnist에 대한 VAE와 AE의 Latent Space는 어떻게 다른가요? 9. 현재 사용중인 GPU가 무엇이고 그 메모리는 어느 정도인가요? 10. 만들었던 그 모델의 파라메터수가 대략 어떻게.. 더보기
deque 사용법 deque(double ended queue)는 양방향 연결리스트로 구현되어 있어 양 끝단에 접근이 가능하고 데이터의 삽입, 삭제가 용이하다. 즉, 앞, 뒤 양쪽 방향에서 엘리먼트(element)를 추가하거나 제거할 수 있다. 데크는 양 끝 엘리먼트의 append와 pop이 압도적으로 빠르다. 컨테이너(container)의 양끝 엘리먼트(element)에 접근하여 삽입 또는 제거를 할 경우, 일반적인 리스트(list)가 이러한 연산에 O(n)이 소요되는 데 반해, 데크(deque)는 O(1)로 접근 가능하다. append(x), appendleft(x) append(x)는 오른쪽 끝에 데이터 x를 추가, appendleft(x)는 왼쪽 끝에 데이터 x를 추가한다. 리스트와 달리 deque는 doubly .. 더보기
Vim 1. VIMRC 나의 .vimrc 세팅 더보기 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Vundle """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' " Vundle 관리를 위해 필요한 부분 Plugin 'scrooloose/nerdtree' " 파일트리 창을 보여 줄 수 있는 플러그인 Plugin 'scrooloose/nerdcommenter' " 멀티라인 주석, 부분 주석 등에 대한 처리를 할 수 있는 플러그인 P.. 더보기
Matplotlib Matplotlib을 사용하는 방법(interface)이 두가지가 있다: 1. pyplot : state based interface 2. Object oriented interface -> 이것만 마스터하자 다은과 같은 순서로 시각화 작업 수행: 2.1. figure and axes Figure와 Axes를 동시에 생성하는데 Figure는 캔바스 자체, Axes는 그림의 여러 부분을 담고 있습니다. background color, grid color 등은 plt.style.use()를 사용하면 설정이 용이합니다. fontsize, linewidth 등은 seaborn의 seaborn.set_context()를 사용하면 좋습니다. 그림의 크기를 함께 바꿔봅시다. plt.subplots() 안에 figsi.. 더보기
[강화학습 5강] Model Free Control 본격적으로 policy를 찾는거를 배워보자 * on policy는 학습하는 policy와 실제 environment에서 경험을 쌓는 policy가 같을때 -> MC를 이용한 learning과 TD를 이용한 learning 지난 시간엔 unknown MDP를 측정하는 법에 대해 배운 model free control이 어디서 쓰이는지에 대한 예 policy가 두개있다 하나는 내가 최적화 하고자하는 policy, 다른 하나는 behavior policy(environment에서 경험을 쌓는 policy) 이 두가지가 같으면 on-policy, 다르면 off-policy policy iteration은 결국에 (control)최적의 value function을 찾는 방법론 policy가 있을때 policy를 .. 더보기
[강화학습 4강] Model Free Prediction 이번 강의에서는 model free는 environment를 어떻게 동작하는지를 모를때 prediction = value를 학습, control = policy를 찾는거. unknown mdp에 대해서 value function을 찾는거 따라서 model free prediction에서는 policy가 정해져 있을때 끝날때 return을 예측하는 방법론을 배울것이다. model을 모를때 prediction을 하는 방법에 2가지가 있는데, 하나는 Monte-Carlo, TD이다. Monte carlo는 직접 구하기 어려운걸 emperical하게 구하는 것이다. 계속 실험하면서 나오는 실제값들 가지고 추정하는 방법이다. value function은 어떤 state에서의 return이 있을텐데 policy에 .. 더보기
[강화학습 3강] Planning by Dynamic Programming MDP안에서 최적의 policy를 찾아나가 보는 solution에 대해서 배워보자 . 2. policy Evaluation policy가 정해졌을때 value function이 어떻게 되는지 찾기 3. policy iteration, value iteration 어떤 iterate한 방법론을 통해서 최적의 policy를 찾아나가는 방법인데 policy 기반의 방법이 있고 value기반의 방법이 있다. dynamic programming : 복잡한 문제를 작은 문제로 나누어서 푸는 방법 참고로 RL은 model based, model free로 나뉘게 되고 model based는 environment를 다 알고있을때를 말하며 이를 푸는걸 planning을 사용하는데 그 방법 중에서 dynamic progr.. 더보기
[강화학습 2강] Markov Decision Process 이번 강의에서는 위와 같은 순서로 진행되고 Extensions to MDPs는 Silver강의에서도 다루지 않았다. mdp는 environemnt를 표현하는 방법이다. 모든 강화학습 문제는 mdp로 만들수 있다. markov property는 다음과 같은 성질을 가지고있다. state가 중요하고 history는 필요없다. state만으로도 미래를 예측하는데 충분한 정보가 있다. state transition Matrix는 t state에서 t+1시점의 각 state로 전이될 확률 simulation을 계속하다보면 transition 확률이 수렴되게 된다. 위와 같이 markov process에서 각 episode가 수행될수있고, 당연히 이 환경이 주어진다면 sampling할수있다. 이런 process를 .. 더보기
[강화학습 9강] Exploration and Exploitation Expoloitation 과 expoloration은 trade off관계임. 알고있는걸 계속 연구하는건 expolotation, 근데 우리가 원하는 agent를 만들기 위해선 exploration도 해야됨. 예를 들어 새로운 식당에 가는건 exploration, 갔던 식당에 가는건 explotation. 롤에서 했던 캐릭터만하는거는 explotation, 새로운 포지션을 하는건 exploration. 강화학습에서 많이 마딱뜨리는 문제이다. 이런 exploration explotation 문제를 다뤄야 하는 방법론들은 다음과 같다. 이제 개념설명을 위해 Multi-armed bandit을 문제환경을 알아야 한다. mdp보다 간단한거. 슬롯머신마다 reward의 확률분포가 따로 있다. -> one step.. 더보기
[강화학습 1강] 강화학습 introduction David Silver 교집합이 기계학습이 아니라 저 모든것을 포함하는 더 큰 범위가 기계학습니다. 강화학습은 지도학습처럼 정답이 없지만 행동을 했을때 보상이 있다. 이 방법론의 경우 지도자 없이 스스로 Optimal을 찾고자 하기에 사람을 뛰어넘는 결과에 도달할 가능성이 있다. supervised같은경우 iid(독립적인 샘플), 강화학습 같은경우 sequential data을 이용하기 때문에 더 어렵다. reward는 강화학습의 전부: 한 시간때의 숫자(scalar) 하나이다. 강화학습은 목적은 cumulative reward를 최대화 하는것이라 할수있다. 중요한것은 Sequantial하게 행동을 잘해야됨 목적은 미래에 받을 reward의 총합을 최대화하는 액션을 선택하는것 계속 greedy하게 하면 .. 더보기