1. Model Compression (모델 경량화) 목적 On-device AI AI on cloud Computation 경량화 모델의 연구와는 별개로, 산업에 적용되기 위해서 거쳐야하는 과정 요구조건(하드웨어 종류, latency 제한, 요구 throughput, 성능)들 간의 trade-off를 고려하여 모델 경량화/최적화를 수행 경량화, 최적화의 대표적인 종류 네트워크 구조 관점 Efficient architecture design : 경량화에 특화된 모델을 설계 Network Pruning : 중요도가 낮은 파라미터를 제거 Knowledge Distillation : 학습된 큰 네트워크를 작은 네트워크의 학습 보조로 사용 Matrix/Tensor Decomposition : 하나의 Tensor..
1. Intro to NLP NLP (Natural Language Processing) Low-level parsing Word and phrase level sentence level Multi-sentence and paragraph level 2. Text Mining Big data analysis 3. Information retrieval 검색 성능이 고도화되면서 검색 기술 발전은 상대적으로 1,2번에 비해 느림 Recommendation system (자동화) 4. NLP Trend
1. Course Overview AI (인공지능) : 인간의 지능을 인공적으로 만든 것 인간의 지능 : visual perception, speech recognition, decision-making, translation between languages 지능을 구현하기 위해서 perception(지각능력)이 제일 중요 : (Input, Output) Data와 관련 인간은 압도적으로 시각에 의존해서 많이 살아가고 있음 2. What is CV? - 사람의 구조를 모방하는 것이 자연스러운 시작 - 그러나 사람의 어떤 측면에서 Bias가 존재할 수 있는 확률이 높음 - 사람이 일일이 Feature Extraction을 하는 것보다 다른 Optimizer를 사용하는 것이 더 유리 3. What will..
1. Backgrounds TensorFlow & Pytorch : 둘의 가장 큰 차이점은 Static graphs vs Dynamic computation graphs 2. Computational Graphs vs Define and Run 3. Why PyTorch - TensorFlow : production, Cloud 연결, Multi-GPU 측면에서 유리 (실제 제품을 만들고 출시할 때 유리) - PyTorch : 개발 과정에서 디버깅이 쉬움 -> 논문 작성 or 내 아이디어를 작성하는데 유리 PyTorch 특징 Numpy AutoGrad (자동미분이 가능) Function (다양한 딥러닝 함수 제공) Tensor Matrix는 Tensor 연산의 도구 Scalar (rank=0) Vecto..
1. Gradient Descent 2. Important concepts in optimization 1) Generalization iteration이 늘어날수록 training error는 감소하지만 그것이 최적값이라는 보장은 없음 Gerneralization Gap = test error(학습에 사용하지 않은 데이터에 대한 error) - training error(훈련시키는 과정에서 발생하는 error) Gerneralization performance 가 높다 = gerneralization gap이 적음 2) Underfitting vs Overfitting overfitting : training data에 대해서는 잘 동작하지만, test data에 대해서는 잘 동작 X underfitt..
1. Neural Network 인간의 뇌를 모방하고, 뉴런의 동작 방법을 모방해서 Neural Network를 구현할 필요는 없다. 현재 Neural Network의 동작 방법, 연구 트렌드 : 인간의 뇌를 모방해서 잘된다가 아니라, 왜 잘됐는지를 모델 자체만을 놓고 수학적으로 분석하는게 맞는 방향 2. Neural network = function approximators (비선형 연산이 반복적으로 일어나는 함수 근사하는 모델) 3. Linear Regression Goals = 입력이 1차원이고, 출력이 1차원인 문제가 있을 때 : Loss function을 최소화시키는 직선을 찾는 것 2개의 parameter (기울기 weight , 절편 bias)를 찾는 문제 Loss : squared loss..
1. Neural Network (Nonlinear model) 신경망은 선형모델과 활성함수(activation function)를 합성한 비선형모델(함수) Row Vector(행 벡터) 기준으로 해석 : 하이라이트된 부분끼리 Row Space 행렬 연산 Row Space 행렬 연산 : 결과 행렬의 row 개수 = 왼쪽 행렬의 row 개수 왼쪽 행렬의 row를 하나씩 꺼내서 계산 후 다시 삽입 vector * matrix 연산 수행 : 각 vector의 element를 오른쪽 Matrix의 Row에 분배해서 합하기 각 화살표마다 W_dp가 곱해진다 : X_d 에서 O_p로 향하는 화살표를 W_dp에 대응시킨다 2. Softmax Function 소프트맥스(softmax) 함수는 모델의 출력을 확률로 해석..
1. 미분 - Why: 변수의 움직임에 따른 함수값의 변화를 관찰하기 위해 사용 - What : 함수 f의 점 (x,f(x))에서의 접선의 기울기 - When : 함수값을 증가(함수를 최대화) : x + f'(x) -> concave functioin에서 주로 이용 (gradient ascent) 함수값을 감소(함수를 최소화) : x - f'(x) -> convex functioin에서 주로 이용 (gradient descent) 2. Differentiation Introduction 3. Usage of differentiation 1) 함수값의 증가 : x + f'(x) -> Objective function을 최대화시킬 때 사용 2) 함수값의 감소 : x - f'(x) -> Objective fu..
1. Matrix(1) : 데이터를 저장 행렬 행렬은 vector를 원소로 가지는 2차원 배열 numpy에서는 row(행)가 기본 단위 : 행벡터를 원소로 가지는 2차원 배열 행(row, i)과 열(column, j)이라는 index를 가짐 : X = (x_ij) i번째 행과 j번째 열에 위치한 원소, i번째 행벡터의 j번째 원소 : x_ij 특정 행(열)을 고정하면 행(열)벡터라 부름 전치 행렬 Transpose : 행과 열의 index가 바뀐 행렬 행벡터 열벡터 행렬을 이해하는 방법 벡터가 공간에서 한 점을 의미한다면 행렬은 '여러 점'들을 나타냄 행렬의 행벡터 X_i는 i번째 데이터를 의미함 x_ij : i번째 데이터의 j번째 변수의 값을 의미함 2. Addition, Subtraction, had..