Sources
- https://ineed-coffee.github.io/posts/job-interview-review/
- Claude, GPT 4o
- multi layer perceptron으로 개 고양이 분류 문제를 supervised learning으로 풀려고 해요. 분류 Accuracy를 올리기 위해 어떤 loss를 사용해야 하나요?
- binary cross-entropy를 사용해야 합니다. 모델은 sigmoid activation function을 사용하는데, binary cross-entropy는 이 활성화 함수가 주는 아웃풋을 실제 레이블과 차이를 잽니다.
- Bias-Variance tradeoff에서 overfitting 된 모델은 어떤 값이 더 크게 나타나는지 답변해 주세요.
- variance 값이 더 크게 나타납니다. bias가 더 큰 경우는 모델이 데이터셋의 패턴을 충분히 배우지 못해, 즉, 충분히 학습하지 않았을 때 underfitting이 일어난 경우입니다. 그 반대로 variance가 크면 모델이 데이터셋을 너무 학습해 노이즈, 특이한 데이터까지 배워 모델에 overfitting이 일어나는 경우입니다.
- Deep learning 모델 학습에서 sigmoid를 activation function으로 사용할 때 겪는 문제를 2단어로 적어주세요.
- Vanishing gradient (기울기 소실)
Claude
-
지도 학습(supervised learning)과 비지도 학습(unsupervised learning)의 차이점은 무엇인가요?
- 지도 학습은 레이블이 있는 데이터를 사용하고, 비지도 학습은 레이블이 없는 데이터를 사용합니다. 비지도 학습은 주로 모델이 데이터의 패턴이나 구조를 학습하는 방법입니다.
-
교차 검증(Cross-Validation (교차검증))이란 무엇이며 왜 중요한가요? Test-set은 validation-set으로 사용하면 안되나?
- 데이터를 여러 부분집합으로 나누어 일부로 훈련하고 다른 부분으로 검증하는 기법입니다.
- 장점
- 과적합 방지: 하나의 검증 데이터를 쓰는게 아니라 여러개의 검증 데이터를 사용해 모델의 성능을 평가함으로써 과적합을 줄일 수 있습니다
- 일반화 성능 평가: 새로운 데이터에 대해 얼마나 잘 일반화할 수 있는지를 평가하는데 도움을 줍니다
- 데이터 효율성: 교차 검증은 데이터를 효율적으로 사용합니다. 모든 데이터 포인트가 학습 및 검증에 사용되기 때문에, 데이터를 최대한 활용할 수 있습니다.
- 가낭 일반적인 형태는 K-겹 교차 검증(K-Fold Cross-Validation)인데요,
- 일단 데이터를 K개의 폴드로 나누고 K-1개의 폴드를 학습하고 나머지 1개의 폴드를 사용하여 모델을 검증합니다
- K번의 검증 결과를 평균내어 모델의 성능을 평가합니다
-
Over-fitting 의 정의와 대응 기법들을 설명해주세요.
- Overfitting, 한국어로 과적합이라고도 하죠. 이건 주로 모델이 데이터 학습을 너무 잘해서 오히려 새로운 데이터를 잘 배우지 못하는 현상을 할하는데요, 대응 기법으로 정규화 (normalization), 교차검증 (cross validation), 훈련 데이터 증가 등이 있습니다.
- 훈련 데이터 증가: 모델이 더 다양한 상황을 학습할 수 있게 하여 과적합을 방지 (데이터 증강, synthetic data generation (GAN))
- Overfitting, 한국어로 과적합이라고도 하죠. 이건 주로 모델이 데이터 학습을 너무 잘해서 오히려 새로운 데이터를 잘 배우지 못하는 현상을 할하는데요, 대응 기법으로 정규화 (normalization), 교차검증 (cross validation), 훈련 데이터 증가 등이 있습니다.
-
편향-분산 트레이드오프(bias-variance tradeoff)를 설명해주세요.
- 모델의 훈련 데이터 적합 능력(낮은 편향 bias)과 새로운 데이터에 대한 일반화 능력(낮은 분산 variance) 사이의 균형입니다.
-
bias-variance tradeoff에서 overfitting 된 모델은 어떤 값이 더 크게 나타나는지 답변해 주세요.
- variance 값이 더 크게 나타납니다. bias가 더 큰 경우는 모델이 데이터셋의 패턴을 충분히 배우지 못해, 즉, 충분히 학습하지 않았을 때 underfitting이 일어난 경우입니다. 그 반대로 variance가 크면 모델이 데이터셋을 너무 학습해 노이즈, 특이한 데이터까지 배워 모델에 overfitting이 일어나는 경우입니다.
-
과소적합(underfitting)된 모델의 경우, bias-variance tradeoff에서 어떤 값이 더 크게 나타나나요?
- 과소적합된 모델은 bias 값이 더 크게 나타납니다. 이는 모델이 데이터의 복잡성을 충분히 학습하지 못했음을 의미합니다.
-
CNN을 사용해 강아지와 고양이를 분류하는 문제에서, 다중 클래스 분류를 위해 어떤 손실 함수를 사용해야 할까요?
- 다중 클래스 분류 문제에서는 categorical cross-entropy를 사용해야 합니다. 이 경우 출력층에는 softmax 활성화 함수를 사용합니다.
-
드롭아웃(Dropout)이 과적합을 방지하는 원리를 간단히 설명해주세요.
- 드롭아웃은 학습 중 무작위로 일부 뉴런을 비활성화하여 모델이 특정 특징에 과도하게 의존하는 것을 방지하고, 더 일반화된 패턴을 학습하게 됩니다. 결과적으로 새로운 데이터에 대해서도 잘 작동하는 강건한 모델을 만들 수 있습니다.
-
전이 학습(Transfer Learning)의 개념과 장점을 간단히 설명해주세요.
- 전이 학습은 사전 훈련된 모델을 새로운 작업에 적용하는 방법입니다. 적은 데이터로도 좋은 성을 얻을 수 있고, 학습 시간을 단축할 수 있는 장점이 있습니다.
-
딥러닝의 장점과 단점을 말해주세요.
- 장점은 높은 성능이 있습니다. 자연어처리, 음성인식, 사진 분류 등 다양한 분야에 사용될 수 있다는 것이 큰 장점이라고 봅니다. 또한 사람의 수작업의 필요성을 굉장히 많이 줄여준다는 장점이 있습니다. 딥러닝 모델은 데이터에서 직접 특징을 추출하므로, 사람이 수작업으로 특징을 설계할 필요가 없습니다. 이는 특히 복잡한 데이터에서 큰 이점입니다.
- 하지만 단점으로 우선, 대규모 데이터가 필요합니다. 소량의 데이터로는 모델이 과적합(overfitting)하여 일반화 능력이 떨어질 수 있습니다. 또한 많은 GPU, TPU등 고성능의 장비가 필요하므로 많은 비용이 필요합니다. 더 나아가, 딥러닝 모델은 일반적으로 블랙박스로 간주되며, 내부 작동 원리를 이해하거나 설명하기 어렵습니다.
-
경사 하강법(gradient descent)이란 무엇인가요?
- 비용 함수(cost function)를 최소화하기 위해 가장 가파른 하강 방향으로 반복적으로 이동하는 최적화 알고리즘(optimization algorithm)입니다.
-
경사 하강법(Gradient Descent)의 한 가지 문제점과 이를 해결하기 위한 방법을 언급해주세요.
- 문제점 중 하나는 지역 최소값에 빠질 수 있다는 것입니다. 이를 해결하기 위해 모멘텀(Momentum), AdaGrad, Adam 등의 최적화 알고리즘을 사용할 수 있습니다.
-
ReLU(Rectified Linear Unit)를 활성화 함수로 사용할 때의 장점을 설명해주세요.
- ReLU는 기울기 소실 문제를 완화하고, 계산이 간단하며, 비선형성을 도입하면서도 빠른 학습을 가능하게 합니다.
-
딥러닝 모델에서 배치 정규화(Batch Normalization)의 주요 목적은 무엇인가요?
- 배치 정규화는 내부 공변량 변화(internal covariate shift)를 줄이고, 학습 속도를 높이며, 과적합을 줄이는 데 도움을 줍니다.
-
합성곱 신경망(CNN)에서 풀링(Pooling) 레이어의 주요 목적은 무엇인가요?
- 풀링 레이어는 특징 맵의 크기를 줄여 계산량을 감소시키고, 위치 불변성(translation invariance)을 제공하며, 과적합을 줄이는 데 도움을 줍니다.
-
L1과 L2 정규화의 차이점은 무엇인가요?
- L1(Lasso)은 일부 계수를 0으로 만들어 희소 모델을 만들 수 있습니다. L2(Ridge)는 모든 계수를 줄이지만 거의 0으로 만들지 않습니다.
-
특성 스케일링(feature scaling (normalization))의 개념을 설명해주세요.
- 특성들의 범위를 정규화하여 모델의 학습 과정에 비례적으로 기여하도록 보장하는 것입니다.
-
혼동 행렬(confusion matrix)이란 무엇인가요?
- 분류 모델의 성능을 설명하는 데 사용되는 표로, 참 양성, 거짓 양성, 참 음성, 거짓 음성을 보여줍니다.
-
배깅(bagging)과 부스팅(boosting)의 차이점을 설명해주세요.
- 배깅은 여러 모델을 병렬로 훈련하고 결합합니다. 부스팅은 모델을 순차적으로 훈련하며, 각 새 모델은 이전 모델의 오류에 집중합니다.
-
차원 축소(dimensionality reduction)의 개념을 설명해주세요.
- 중요한 정보의 대부분을 유지하면서 데이터셋의 특성 수를 줄이는 과정으로, 주로 차원의 저주를 극복하기 위해 사용됩니다.
-
차원의 저주에 대해 말씀해주세요.
-
CNN 모델과 단순 feed-forward 모델을 비교한다면, 어느쪽이 파라미터가 많을까요?
-
ANN, DNN이 뭔지 설명해주세요
- ANN는 Artificial Neural Network입니다. 주로 일반적인 신경망을 이야기하고, 보통 ANN은 은닉충이 없고 비교적 간단한 구조로, 기본적인 분류 및 회귀 문제를 해결하는 데 사용됩니다.
- DNN은 Deep Neural Network, 또한 깊은 신경망을 뜻합니다. 여러개의 은닉충(hidden layer)이 있습니다. ANN의 심화된 버젼이라고 볼 수 있습니다. DNN은 ANN에 비해서 더 적은 수의 유닛만으로도 더 복잡한 데이처를 모델링 할 수 있게 해줍니다. 컴튜터 스스로가 분류 레이블을 만들 수 있게 해준다.
-
- CNN은 Convolutional Neural Network, 한국어로는 합성곱 신경망입니다. 이미지는 인식하는 대표적인 딥러닝 모델입니다. 여러 데이타 전처리 과정을 통한 이후에야 DNN, 또는 깊은 신경망에 들어갑니다.
- CNN알고리즘은 주로 합성곱 층(convolutional layer), 풀링 층 (pooling layer), 그리고 밀집층 (fully connected dense layer)을 통해 이루어집니다
- RNN은 Recurrent Neural Network로 한국어로는 순환 신경망입니다. 주로 순차적인 데이터 (sequential data)를 사용할 때 쓰이고, 내부의 순환구조가 있는 게 특징입니다.
- CNN은 Convolutional Neural Network, 한국어로는 합성곱 신경망입니다. 이미지는 인식하는 대표적인 딥러닝 모델입니다. 여러 데이타 전처리 과정을 통한 이후에야 DNN, 또는 깊은 신경망에 들어갑니다.
-
LSTM를 설명해주세요
- LSTM은 long short term memory, 한국어로 ()며, RNN의 업그레이드 된 버젼이라고 할 수 있습니다.
-
GAN을 설명해주세요
-
딥러닝과 머신러닝의 차이를 말해주세요.
-
Back propagation
-
Batch normalization
-
머신러닝 종류에 대해서 설명해주세요