머신러닝 딥러닝 면접 질문 답변

Michelle·2021년 6월 8일
34
post-thumbnail

머신러닝 딥러닝 면접 질문 답변

면접을 준비하면서 항상 막막한게 어떤 질문이 나올지, 어떻게 답변할지가 가장 고민인거 같아요. 시간이 많다면 많고, 이래저래 촉박한 시간 속에서 이것저것 보다보면 시간들이 금방 흘러가죠. 저도 이번에 머신러닝과 딥러닝 분야에서 면접을 앞두고 있어서 관련 질문들과 답변을 정리하고자 합니다!

머신러닝

1. 머신러닝이란?

  • 학습을 통해 자동으로 개선 하는 알고리즘. 인간의 사고를 효율적인 계산의 관점에서 보고 모방하는 알고리즘을 말한다.
    두뇌를 모델링 하는 딥러닝 뿐만아니라 유전알고리즘, 베이즈 알고리즘, 진화 알고리즘 등이 있다.
  • 딥러닝과의 차이: 딥러닝은 머신러닝의 한 분야로 신경망을 모델링한 알고리즘이다.

2. Linear Regression

Linear Regression이란?

2차원 좌표에 분포된 데이터를 1차원 방적식을 통해 표현되지 않은 데이터를 예측하기 위한 분석 모델

Hyperthesis란

Linear Regression에서 사용하는 1차원 방정식을 가리킨다.
Hypothesis=H(x)=Wx+bHypothesis = H(x) = Wx+b
W와 x, bias b 값에 따라 모델의 결과가 바뀌고 학습 된다.

Cost

Hypothesis와 실제 값과의 차이를 말한다.

Cost Function

Cost를 계산하기 위한 계산 식을 말한다.

Cost Function, Objective Funtion, Loss Function 차이?

  • Objective Function: 학습을 통해 최적화 시키려 하는 함수를 말한다. 딥러닝에서는 일반적으로 Cost를 최소화 하는 Optimize 작업을 수행하기 때문에 Cost Fuction이 Objective Function이다.
  • Loss Function: 모델이 출력하는 예측 값과 예측하고자 하는 실제 값 사이의 오차를 계산하는 함수이다.
  • Cost Function: 모든 입력 dataset에 대해 오차를 계산하는 함수를 Cost Function이라고 한다.
  • Objective > Loss > Cost 순으로 상위 개념으로 볼수 있다.

3. Gradient Descent

함수의 최소값을 찾는 최적화 기법으로 함수의 미분값을 이용해 값을 조정하는 방식을 말한다. 이때 변하는 정도를 조절하기 위해 Learning Rate를 사용한다.

왜 Gradient Descent 에서는 기울기를 사용하는가?

기울기는 특별한 의미를 가지는 벡터장으로 방향 도함수가 최대의 변화를 갖는 방향이 기울기가 가리키는 방향이기 때문이다. 최대의 변화를 가지는 방향의 반대 방향으로 향하면 언젠가는 최소값을 찾을 수 있기 때문이다.

지역 극소점Local Optima에 빠지는 문제

과거에는 임의에 극소점에 빠지는 문제가 있었지만 깊이가 깊은 딥러닝 모델의 경우 지역 극소점을 가질 확률은 낮다. 최근에는 극소점으로 여겨지는 부분들이 경사가 완만한 saddle point로 여겨지는 부분으로 학습이 지연된다고 여기는것이 주류의 인식이다.

4. Bias란 무엇인가

5. Variance란 무엇인가

6. 머신러닝에서 bias와 variance의 관계

7. ROC Curve에 대해 설명

8. 지도학습과 비지도 학습

지도학습

입력x에 대해 label를 가진 데이터에 대해 학습하는 방법을 말한다. 일반적으로 데이터들은 label을 가지기가 어려워 구할수 있는 데이터의 양이 적다는 문제가 있다

  • 분류(classification): 입력 x에 대해 label y가 이산적인 경우[0,1,2,3,...]와 같이 유한 label에 대해 분류하는 문제를 분류 또는 인식 문제라고 한다.
  • 회귀(regression): 입력 x에 대해 label y가 실수인경우 회귀 문제라한다. 일반적으로 주어진 데이터들을 가장 잘 설명하는 직선이나 이차함수 곡선 하나를 그리고 싶을 때 사용한다.

비지도학습

label이 없는 데이터에 대해 학습하는 방법을 비지도학습이라한다. 인터넷에 있는 대부분의 데이터가 거의 레이블이 없는 데이터 형태로 앞으로의 기계 학습이 지향하는 방향이다.

최근의 BERT, GPT-2 와 같은 모델들은 Self-Supervised Learninig으로 따로 분류한다.

9. 두 데이터의 유사도를 측정하는 방법

:컴퓨터는 처리하고자 하는 데이터를 벡터로 다룬다. 이미지나 자연어의 경우도 벡터로 나타내게 된다. 벡터는 1차원 배열을 나타내고, 머신러닝 분야에서는 벡터간의 유사도를 측정하는 경우가 많이 있다.

  • 유클리드 거리: 유클리드 거리를 피타고라스 정리를 이용해서 계산할수 있다. 유클리드 거리의 경우 효과적이지 않은 경우도 있다.

    (A1B1)2+(A2+B2)2+...+(An+Bn)2\sqrt{(A_1-B_1)^2 + (A_2+B_2)^2 + ... + (A_n+B_n)^2}

  • 코사인 유사도: 벡터 사이의 각도를 고려하여 측정하는 방법.
    CosineSimilarity=cos(θ)=ABABCosine Similarity = cos(\theta) = \frac{A\cdot B}{||A|| ||B||}

10. MLE

딥러닝

  1. 신경망 알고리즘의 장단점을 설명
  2. 트레이닝 데이터와 테스트 데이터의 차이
  3. Sigmoid 보다 ReLU를 많이 쓰는 이유
    • No-Lineariry의 의미와 그 필요성
    • ReLU의 문제점
  4. Gradient Descent에 대한 설명
    • 왜 Gradient를 사용하는가?
    • Back propagation에 대해 설명
  5. CNN
    • CNN이 MLP보다 좋은 이유
    • CNN의 파라미터를 계산하는 방법
    • Pooling시에 Max pooling을 사용하는 이유
  6. Word2Vec에 대한 설명
  7. Trainig 데이터와 Test 데이터를 분리하는 이유
    • Validation 데이터가 따로 있는 이유
  8. Batch Normalization에 대한 설명
  9. Optimizer 중 SGD, RMSprop, Adam에 대해 아는 대로 설명
  10. AutoML에 대한 설명
  11. 딥러닝 시 GPU를 사용하는 이유
    • 학습중 GPU를 100%를 사용하지 않는 이유
    • 학습시 필요한 GPU 메모리는 계산 방법
  12. Attention
  13. Transformer에 대한 설명
  14. Few Shot Learning

SVD란

Singular Value Decomposition으로 특이값 분해라 한다. 고유값 분해처럼 행렬을 대각화하여 분해하는 방법. 고유값 분해와 다른 점은 정방행렬이 아니어도 분해 가능하며 Sparse한 특성을 가지는 추천시스템에서의 Matrix를 분해하는것에 적절하다.

BERT

GPT

GPT-2, 3의 차이

ELECTRA

Multi-modal training

참고자료

profile
미쉘

0개의 댓글