머신러닝 & 딥러닝

주니어 응애 AI 직무 엔지니어링 면접 대비

도갱도갱 2025. 2. 21. 10:45

1. 인공지능(AI)과 머신러닝(ML)의 차이점

  • 인공지능(AI, Artificial Intelligence): 기계가 인간의 지능을 모방하여 문제 해결, 학습, 의사결정을 수행할 수 있도록 하는 기술의 총체적인 개념입니다.
  • 머신러닝(ML, Machine Learning): AI의 하위 분야로, 데이터를 기반으로 기계가 패턴을 학습하고 예측하는 알고리즘을 개발하는 기술입니다.
  • 차이점: AI는 인간의 지능을 흉내 내는 전체적인 개념이며, ML은 AI를 구현하는 방법 중 하나입니다.

2. 딥러닝이란 무엇이며 머신러닝과 어떻게 다른가요?

  • 딥러닝(Deep Learning): 다층 신경망(Deep Neural Network)을 활용하여 데이터를 학습하는 머신러닝의 한 분야입니다.
  • 차이점:
    • 머신러닝은 일반적으로 특징(feature)을 사람이 직접 설계해야 하지만, 딥러닝은 특징을 자동으로 추출합니다.
    • 딥러닝은 대량의 데이터와 높은 연산 능력이 필요합니다.
    • 머신러닝에는 의사결정나무, 서포트 벡터 머신(SVM) 등 다양한 알고리즘이 포함되지만, 딥러닝은 주로 신경망을 사용합니다.

3. 지도학습과 비지도학습의 차이점

  • 지도학습(Supervised Learning): 입력 데이터와 정답(레이블)이 주어진 상태에서 모델을 학습하는 방식입니다. (예: 이미지 분류, 스팸 필터링)
  • 비지도학습(Unsupervised Learning): 정답이 없는 데이터에서 패턴이나 구조를 찾는 방식입니다. (예: 군집화, 차원 축소)
  • 차이점: 지도학습은 정답이 필요하지만, 비지도학습은 데이터만 가지고 학습합니다.

4. 강화학습(Reinforcement Learning)의 기본 개념

  • 강화학습은 **에이전트(agent)**가 환경(environment)과 상호작용하면서 보상을 최대화하는 의사결정 전략을 학습하는 방법입니다.
  • 주요 개념:
    • 상태(State): 현재 환경의 상태
    • 행동(Action): 에이전트가 수행할 수 있는 행동
    • 보상(Reward): 특정 행동 후 환경에서 받은 피드백
    • 정책(Policy): 행동을 결정하는 전략
  • 예: 알파고(AlphaGo), 게임 AI, 로봇 제어

5. 편향-분산 트레이드오프(Bias-Variance Tradeoff)

  • 머신러닝 모델이 과적합(overfitting) 또는 과소적합(underfitting) 되는 것을 설명하는 개념입니다.
  • 편향(Bias): 모델이 너무 단순하여 데이터의 패턴을 제대로 학습하지 못하는 경우 → 과소적합
  • 분산(Variance): 모델이 훈련 데이터에 너무 맞춰져 있어 새로운 데이터에 대한 일반화가 어려운 경우 → 과적합
  • 최적의 모델을 찾기 위해 편향과 분산의 균형을 맞춰야 합니다.

6. 과적합(Overfitting)을 방지하기 위한 방법

  • 데이터를 더 많이 확보 (일반화 능력 향상)
  • 정규화(Regularization) 적용 (L1/L2 정규화)
  • 교차 검증(Cross-Validation) 수행
  • 특징(feature) 개수를 줄이거나 적절한 선택
  • 드롭아웃(Dropout) 적용 (딥러닝에서 과적합 방지)
  • 조기 종료(Early Stopping) 사용

7. 머신러닝 모델의 성능을 평가하는 방법

  • 정확도(Accuracy): 전체 샘플 중 올바르게 분류된 비율
  • 정밀도(Precision): 실제 긍정 샘플 중 올바르게 예측된 비율
  • 재현율(Recall): 전체 실제 긍정 샘플 중 올바르게 예측된 비율
  • F1-score: 정밀도와 재현율의 조화 평균
  • ROC-AUC Score: 분류 모델의 성능을 평가하는 지표

8. 교차 검증(Cross-Validation)의 목적

  • 모델이 데이터에 과적합되지 않도록 일반화 성능을 평가하는 방법입니다.
  • *K-겹 교차 검증(K-Fold Cross-Validation)**이 일반적으로 사용됩니다.
  • 목적: 데이터셋을 훈련/테스트로 나누는 방식이 편향되지 않도록 여러 번 평가하여 안정적인 성능을 보장합니다.

9. 데이터 전처리 과정에서 중요한 단계

  • 결측값 처리(Missing Value Handling)
  • 이상치 탐지 및 처리(Outlier Detection)
  • 정규화(Normalization) 또는 표준화(Standardization)
  • 특징 선택(Feature Selection) 및 생성(Feature Engineering)
  • 데이터 인코딩(범주형 변수 처리, One-Hot Encoding 등)
  • 훈련/테스트 데이터 분할(Splitting Data into Train/Test Sets)

10. 결측값(Missing Value)을 처리하는 방법

  • 삭제(Drop Missing Values): 결측값이 있는 행 또는 열을 제거
  • 평균/중앙값/최빈값으로 대체(Mean/Median/Mode Imputation)
  • 예측 모델을 활용한 보간(Imputation with Predictive Models)
  • KNN 기반 대체(K-Nearest Neighbors Imputation)
  • 결측값을 별도 특성으로 취급(Indicator for Missingness)

이제 궁금한 거 있으면 물어봐! 😊

4o

1. 선형 회귀(Linear Regression)의 가정 조건

선형 회귀는 다음과 같은 가정을 기반으로 합니다:

  • 선형성(Linearity): 독립 변수(X)와 종속 변수(Y) 간의 관계가 선형이어야 합니다.
  • 독립성(Independence): 오차 항(Residuals)끼리는 서로 독립적이어야 합니다.
  • 등분산성(Homoscedasticity): 오차 항의 분산이 일정해야 합니다.
  • 정규성(Normality): 오차 항이 정규 분포를 따라야 합니다.
  • 다중공선성 없음(No Multicollinearity): 독립 변수들 간에 강한 상관관계가 없어야 합니다. (VIF 검사를 통해 확인 가능)

2. 로지스틱 회귀(Logistic Regression)의 작동 원리

  • 선형 회귀와 달리 분류 문제(0 또는 1) 해결을 위한 알고리즘입니다.
  • 입력 변수들의 선형 결합을 **시그모이드 함수(Sigmoid Function)**를 통해 0~1 사이의 확률값으로 변환합니다.
  • 특정 임곗값(예: 0.5)을 기준으로 **이진 분류(Binary Classification)**를 수행합니다.
  • 비용 함수로 **로그 손실(Log Loss, Cross-Entropy Loss)**을 사용합니다.

3. 서포트 벡터 머신(SVM)이란?

  • 데이터 포인트들을 분류하기 위해 **최적의 결정 경계(Decision Boundary)**를 찾는 알고리즘입니다.
  • 초평면(Hyperplane)을 활용하여 데이터 포인트를 분리하며, **마진(Margin)**을 최대화하는 것이 목표입니다.
  • 핵심 개념:
    • 하드 마진(Hard Margin) vs. 소프트 마진(Soft Margin): 완벽 분리가 가능한 경우 하드 마진, 노이즈를 고려하는 경우 소프트 마진
    • 커널 기법(Kernel Trick): 선형적으로 분리되지 않는 데이터를 고차원으로 매핑하여 분리 가능하게 만듦 (예: RBF, 폴리노미얼 커널)

4. 의사결정나무(Decision Tree)와 랜덤 포레스트(Random Forest)의 차이점

  • 의사결정나무: 데이터 특성을 기반으로 여러 개의 질문을 던지며 트리 구조를 형성하여 분류 또는 회귀를 수행
  • 랜덤 포레스트: 여러 개의 의사결정나무를 조합하여 예측 성능을 높이는 앙상블 학습 기법
  • 차이점:
    • 의사결정나무는 하나의 트리지만, 랜덤 포레스트는 여러 트리의 결과를 평균내어 최종 결정을 내림.
    • 랜덤 포레스트는 과적합을 방지하고 일반화 성능이 우수함.

5. K-최근접 이웃(KNN) 알고리즘이란?

  • 새로운 데이터 포인트가 들어왔을 때, 가장 가까운 K개의 데이터를 찾아 다수결 또는 평균을 통해 예측하는 방식
  • 주요 특징:
    • K 값 선택이 중요 (너무 크면 일반화가 안 되고, 너무 작으면 노이즈에 민감)
    • 데이터의 거리(metric)(유클리드 거리, 맨해튼 거리 등)를 기반으로 분류 수행
    • 계산량이 많아 고차원 데이터에는 부적합

6. 클러스터링 알고리즘의 종류와 사용 사례

  • K-Means: 중심점 기반, 군집 개수(K) 지정 필요 (고객 세분화, 이미지 압축)
  • DBSCAN: 밀도 기반, 이상치 감지 가능 (이상 거래 탐지, 지리적 데이터 분석)
  • 계층적 클러스터링: 트리 구조 기반 (유전자 데이터 분석, 문서 분류)

7. PCA(주성분 분석)의 목적과 사용 사례

  • 고차원 데이터를 저차원으로 변환하여 중요 정보를 유지하면서 차원을 축소하는 기법
  • 공분산 행렬을 사용해 데이터를 직교하는 축으로 변환 (주성분)
  • 사용 사례:
    • 이미지 압축
    • 노이즈 제거
    • 차원이 큰 데이터의 시각화

8. 앙상블 학습(Ensemble Learning)이란?

  • 여러 개의 머신러닝 모델을 결합하여 더 좋은 예측 성능을 얻는 방법
  • 단일 모델보다 더 낮은 편향과 분산을 가지며, 일반화 성능이 뛰어남
  • 대표적인 방법:
    • 배깅(Bagging): 여러 모델을 병렬로 학습하고 평균/투표를 통해 결합 (랜덤 포레스트)
    • 부스팅(Boosting): 이전 모델이 틀린 데이터를 집중적으로 학습하여 성능 향상 (XGBoost, LightGBM)

9. 배깅(Bagging)과 부스팅(Boosting)의 차이점

  • 배깅(Bootstrap Aggregating):
    • 여러 개의 모델을 독립적으로 병렬 학습
    • 랜덤 샘플링(bootstrap) 기법 사용
    • 대표적인 예: 랜덤 포레스트
  • 부스팅(Boosting):
    • 모델을 순차적으로 학습하며 이전 모델의 오차를 보완
    • 대표적인 예: XGBoost, LightGBM, AdaBoost

10. XGBoost와 LightGBM의 주요 차이점

  • XGBoost:
    • 대용량 데이터에 적합, 과적합 방지를 위한 규제(term) 포함
    • 수직적 트리 분할(Level-wise Splitting)
    • 연산 최적화로 빠르지만, LightGBM보다 속도가 느릴 수 있음
  • LightGBM:
    • 더 가벼운 모델, 훈련 속도가 빠름
    • 수평적 트리 분할(Leaf-wise Splitting) 사용 → 더 깊은 트리 생성 가능
    • 대용량 데이터에서 성능이 뛰어나지만, 과적합 위험 있음

1. 뉴럴 네트워크의 기본 구조

  • 입력층(Input Layer): 모델이 처리할 데이터를 받는 층
  • 은닉층(Hidden Layers): 여러 개의 뉴런이 포함된 층으로, 가중치(weight)와 활성화 함수(activation function)를 통해 입력 데이터를 변환
  • 출력층(Output Layer): 최종 예측값을 출력하는 층 (분류 문제에서는 확률 값, 회귀 문제에서는 연속 값)
  • 각 뉴런은 **가중치(Weight)와 편향(Bias)**을 가지며, 이를 통해 신호를 전달

2. 활성화 함수(Activation Function)의 종류와 역할

  • 뉴런이 입력을 받고 출력할 값을 결정하는 함수
  • 비선형성을 추가하여 복잡한 패턴 학습 가능
  • 주요 활성화 함수:
    • ReLU (Rectified Linear Unit): max(0, x), 딥러닝에서 가장 널리 사용
    • Sigmoid: 0~1 범위, 확률 예측에 사용
    • Tanh: -1~1 범위, 시그모이드보다 강한 비선형성
    • Softmax: 다중 클래스 분류에서 확률 값 출력

3. 역전파(Backpropagation)란?

  • 뉴럴 네트워크의 가중치를 업데이트하는 학습 방법
  • 주요 과정:
    1. 순전파(Forward Propagation)로 예측값 계산
    2. 손실 함수(Loss Function)로 예측값과 실제값의 차이 계산
    3. 오차를 출력층에서 입력층 방향으로 전달하며 가중치 업데이트
    4. *체인 룰(Chain Rule)**을 사용하여 기울기(Gradient) 계산
  • *경사 하강법(Gradient Descent)**을 활용하여 최적의 가중치 찾기

4. CNN(Convolutional Neural Network)의 주요 구성 요소

  • 합성곱 층(Convolutional Layer): 필터(커널)를 사용해 특징 추출
  • 활성화 함수(Activation Function): ReLU 사용
  • 풀링 층(Pooling Layer): 차원 축소 (예: 최대 풀링, 평균 풀링)
  • 완전 연결 층(Fully Connected Layer, FC): 분류 작업 수행
  • 드롭아웃(Dropout): 과적합 방지

5. RNN과 LSTM의 차이점

  • RNN(Recurrent Neural Network):
    • 순차 데이터(시계열, 자연어 처리)에 적합
    • 과거 정보를 현재 상태로 전달 (메모리 기능)
    • 단점: 기울기 소실(vanishing gradient) 문제 발생
  • LSTM(Long Short-Term Memory):
    • RNN의 문제점을 해결한 모델
    • *셀 상태(Cell State), 입력 게이트(Input Gate), 망각 게이트(Forget Gate), 출력 게이트(Output Gate)**를 사용하여 장기 의존성(long-term dependency) 유지
    • 자연어 처리, 음성 인식 등에서 널리 사용

6. 오버피팅을 방지하는 딥러닝 기법

  • 드롭아웃(Dropout): 학습 중 랜덤하게 뉴런을 제거
  • L1/L2 정규화(Regularization): 가중치 크기를 제한하여 과적합 방지
  • 데이터 증강(Data Augmentation): 훈련 데이터 다양화
  • 조기 종료(Early Stopping): 검증 데이터 성능이 떨어지면 학습 중단

7. 하이퍼파라미터 튜닝(Hyperparameter Tuning)이란?

  • 모델 성능을 최적화하기 위해 **설정해야 하는 값(하이퍼파라미터)**을 조정하는 과정
  • 예:
    • 학습률(Learning Rate)
    • 배치 크기(Batch Size)
    • 가중치 초기화 방법
  • 튜닝 방법:
    • 그리드 탐색(Grid Search)
    • 랜덤 탐색(Random Search)
    • 베이지안 최적화(Bayesian Optimization)

8. GAN(Generative Adversarial Network)이란?

  • 두 개의 신경망(생성자 & 판별자)을 활용하여 새로운 데이터를 생성하는 모델
  • 구성 요소:
    • 생성자(Generator): 가짜 데이터를 생성
    • 판별자(Discriminator): 가짜 데이터와 진짜 데이터를 구별
  • 학습 과정:
    1. 생성자는 판별자를 속이기 위해 점점 더 정교한 데이터를 생성
    2. 판별자는 점점 더 가짜 데이터를 잘 구별
    3. 두 네트워크가 서로 경쟁하면서 생성자는 실제와 비슷한 데이터를 만들어냄

9. Transformer 모델의 핵심 개념

  • 자연어 처리(NLP)에서 가장 혁신적인 모델
  • 주요 특징:
    • 셀프 어텐션(Self-Attention): 문장에서 중요한 단어 간의 관계를 학습
    • 멀티 헤드 어텐션(Multi-Head Attention): 여러 개의 어텐션 메커니즘 사용
    • 포지셔널 인코딩(Positional Encoding): 단어 순서를 학습할 수 있도록 정보 추가
  • 대표적인 모델:
    • BERT(Bidirectional Encoder Representations from Transformers)
    • GPT(Generative Pre-trained Transformer)

10. 딥러닝 모델에서 학습률(learning rate) 조정 방법

  • 학습률이 너무 크면 최적점에 수렴하지 못하고, 너무 작으면 학습이 느려짐
  • 조정 방법:
    • 고정 학습률: 일정한 학습률 유지
    • 스텝 감소(Step Decay): 일정 에포크마다 학습률 감소
    • 지수 감소(Exponential Decay): 지수 함수로 학습률 감소
    • 적응형 학습률(Adaptive Learning Rate):
      • Adam, RMSprop, Adagrad 등 자동으로 학습률 조정

1. 데이터 정규화(Normalization)와 표준화(Standardization)의 차이

  • 정규화(Normalization):
    • 데이터 값을 0~1 범위 또는 1~1 범위로 변환
    • 방법: Min-Max Scaling
    • 예: X′=Xmax−XminX−Xmin
    • X′=X−XminXmax−XminX' = \frac{X - X_{min}}{X_{max} - X_{min}}
    • *딥러닝 및 거리 기반 알고리즘(KNN, K-Means)**에 유용
  • 표준화(Standardization):
    • 데이터의 평균을 0, 표준 편차를 1로 변환
    • 방법: Z-score Normalization
    • 예: X′=σX−μ
    • X′=X−μσX' = \frac{X - \mu}{\sigma}
    • 선형 회귀, SVM, PCA에서 효과적

2. 대규모 데이터셋을 처리하기 위한 최적화 기법

  • 미니배치 학습(Mini-batch Learning): 전체 데이터를 나누어 학습
  • 병렬 처리(Parallel Computing): GPU, TPU 활용
  • 분산 처리(Distributed Computing): Spark, Hadoop 사용
  • 데이터 샘플링(Data Sampling): 데이터 일부만 사용하여 빠르게 테스트
  • 데이터 캐싱(Data Caching): 반복 연산을 최소화

3. 데이터 파이프라인 설계 시 고려해야 할 사항

  • 데이터 수집(Data Ingestion): API, DB, 파일 등 다양한 소스에서 가져오기
  • 데이터 변환(Data Transformation): 정규화, 중복 제거, 결측값 처리
  • 데이터 저장(Data Storage): OLAP, OLTP, Data Lake
  • 확장성(Scalability): 데이터 증가에 따른 확장 가능성
  • 모니터링 및 오류 처리: 데이터 품질 및 워크플로우 안정성 확보

4. Apache Airflow와 같은 워크플로우 도구의 역할

  • 데이터 파이프라인의 자동화 및 일정 관리
  • *DAG(Directed Acyclic Graph)**를 사용하여 작업 흐름 정의
  • 태스크 의존성 관리 (예: 데이터 수집 후 변환 실행)
  • 로그 관리 및 오류 감지

5. 데이터 품질 검사를 자동화하는 방법

  • 데이터 스키마 검증: Great Expectations, Pandera 사용
  • 결측값 및 이상값 탐지: Z-score, IQR 분석
  • 중복 데이터 검사: 해시 함수 활용
  • 데이터 검증 파이프라인 구축: Apache Airflow, dbt

🚀 실제 문제 해결

6. AI를 활용한 고객 지원 시스템 설계

  • 챗봇 + 추천 시스템 결합
  • 구성 요소:
    • 자연어 처리(NLP) 기반 챗봇 (GPT, BERT)
    • 고객 질문 카테고리 분류 (Intent Recognition)
    • FAQ 추천 및 자동 답변
    • 감정 분석(Sentiment Analysis)으로 맞춤형 응대

7. 사기 거래 탐지를 위한 머신러닝 접근법

  • 이상 탐지(Anomaly Detection) 활용
  • 사용 가능한 알고리즘:
    • 지도 학습: 랜덤 포레스트, XGBoost
    • 비지도 학습: Isolation Forest, Autoencoder
  • 특징 엔지니어링:
    • 거래 빈도, 금액 패턴, IP 주소 분석
    • 사용자의 과거 거래 기록 비교

8. 제조업에서 AI를 활용한 운영 효율성 개선 사례

  • 예지 정비(Predictive Maintenance):
    • 센서 데이터를 활용한 장비 고장 예측 (LSTM, Random Forest)
  • 공정 최적화:
    • 생산 라인의 실시간 품질 모니터링 (CNN, Edge AI)
  • 수요 예측(Demand Forecasting):
    • 시계열 분석 (ARIMA, Prophet)

9. 자연어 처리(NLP)를 활용한 챗봇 개발 과정

  1. 데이터 수집: 사용자 문의 데이터 수집
  2. 데이터 전처리: 토큰화, 불용어 제거, 문장 벡터화(Word2Vec, BERT)
  3. 모델 선택:
    • RNN, LSTM → 문맥 유지
    • Transformer (BERT, GPT) → 고품질 답변
  4. 챗봇 엔진 개발: FastAPI, Flask로 배포
  5. 배포 및 개선: 사용자 피드백 반영

10. 추천 시스템(Recommendation System) 알고리즘

  • 콘텐츠 기반 추천(Content-Based Filtering)
    • 사용자 선호도 기반 추천 (TF-IDF, Word2Vec)
  • 협업 필터링(Collaborative Filtering)
    • 사용자-사용자 기반 (KNN)
    • 아이템-아이템 기반 (Matrix Factorization, SVD)
  • 딥러닝 기반 추천
    • Autoencoder, Transformer 활용

🔧 기술 구현

  • Spark + Airflow: 대규모 데이터 처리 파이프라인 구축
  • MLflow: 머신러닝 실험 관리
  • FastAPI: AI 모델 API 배포
  • Docker + Kubernetes: AI 서비스 확장성 확보

1. 뉴럴 네트워크를 처음부터 구현하는 과정

(1) 데이터 준비

  • 데이터를 불러오고 전처리 (정규화, 결측값 처리 등)
  • 훈련 데이터(train), 검증 데이터(val), 테스트 데이터(test)로 분할

(2) 뉴럴 네트워크 구조 정의

  • 입력층: 입력 데이터의 차원에 맞게 설정
  • 은닉층: 활성화 함수 (ReLU, Sigmoid 등) 적용
  • 출력층: 문제 유형에 따라 출력 노드 설정 (분류: Softmax, 회귀: Linear)

(3) 순전파(Forward Propagation) 구현

  • 가중치와 편향을 초기화
  • 입력값을 받아 각 층을 통과하며 활성화 함수 적용

(4) 손실 함수 정의

  • 회귀 문제 → MSE(Mean Squared Error)
  • 분류 문제 → Categorical Crossentropy

(5) 역전파(Backpropagation)와 가중치 업데이트

  • 오차 계산 후, **경사 하강법(Gradient Descent)**을 사용하여 가중치 업데이트
  • 학습률(learning rate) 설정

(6) 모델 학습 및 평가

  • 미니배치 학습 적용
  • 검증 데이터 성능 확인 후, 조기 종료(Early Stopping) 도입

2. TensorFlow와 PyTorch의 주요 차이점

비교 항목 TensorFlow PyTorch

사용 편의성 코드가 다소 복잡 (Keras로 간편화 가능) Pythonic한 문법, 직관적
동적/정적 그래프 정적 그래프 (Graph 기반, TF 2.0부터 동적 지원) 동적 계산 그래프 (Dynamic Computational Graph)
디버깅 TensorBoard 지원 Python 디버거(PDB)와 친화적
생산 환경 배포 TensorFlow Serving, TFLite 지원 TorchScript, ONNX 활용
하드웨어 가속 TPU 지원 TPU 지원이 제한적

3. SHAP과 LIME: 모델 해석 기법

(1) SHAP (SHapley Additive exPlanations)

  • 특징 중요도(Feature Importance)를 정확하게 계산
  • 게임 이론 기반: 각 특징(feature)이 예측값에 기여하는 정도를 계산

(2) LIME (Local Interpretable Model-agnostic Explanations)

  • 모델이 특정 예측을 내린 이유를 설명
  • 데이터 주변에 랜덤한 샘플을 생성하여 영향력 분석

4. AI 모델 배포 시 고려해야 할 요소

  • 컨테이너화(Containerization): Docker, Kubernetes 사용
  • API 제공: FastAPI, Flask, gRPC 활용
  • 모델 최적화: ONNX, TensorRT로 가속화
  • 보안(Security): API 인증, 데이터 암호화 적용
  • 배포 방식: 서버리스(Serverless), Edge AI, 클라우드 배포

5. 실시간 추론 시스템 설계 기술 스택

  • 데이터 스트리밍: Kafka, Apache Flink
  • 모델 서빙: TensorFlow Serving, TorchServe
  • API 서버: FastAPI, gRPC
  • 로드 밸런싱: Nginx, Kubernetes Ingress
  • 캐싱: Redis, Memcached
  • 모니터링: Prometheus, Grafana

🚀 고급 주제

6. AutoML의 개념과 장단점

개념

  • 모델 선택, 하이퍼파라미터 튜닝을 자동화하는 기술
  • Google AutoML, AutoKeras, H2O.ai 등이 대표적

장점

  • 비전문가도 쉽게 모델을 개발 가능
  • 최적의 하이퍼파라미터 탐색 자동화

단점

  • 모델 해석이 어려움
  • 계산 비용이 높음

7. Federated Learning(연합 학습)이란?

  • 데이터 이동 없이 로컬 디바이스에서 모델을 학습
  • Google의 Gboard 키보드 추천 모델이 대표적인 예
  • 유용한 상황:
    • 의료 데이터 (환자 정보 보호)
    • 금융 데이터 (개인 정보 유출 방지)

8. AI 윤리 문제 해결 방법

  • 바이어스(편향) 최소화: 다양한 데이터셋 활용
  • 모델 해석 가능성(Explainability): SHAP, LIME 적용
  • 개인정보 보호: Differential Privacy, Federated Learning 적용
  • 책임감 있는 AI 개발: AI 사용 윤리 가이드라인 구축

9. Edge AI와 클라우드 AI의 차이

구분 Edge AI Cloud AI

처리 위치 디바이스 자체에서 처리 클라우드 서버에서 처리
지연 시간 낮음 (실시간) 상대적으로 높음
인터넷 필요 여부 불필요 필요
예제 스마트카, CCTV 얼굴 인식 음성 인식, 추천 시스템

10. 대규모 언어 모델(LLM) 학습 과정의 핵심 요소

  • 대용량 데이터 수집 및 정제: 웹 스크래핑, 품질 관리
  • 토큰화(Tokenization): WordPiece, SentencePiece
  • 병렬 학습(Parallel Training): GPU/TPU 클러스터 활용
  • 미세 조정(Fine-Tuning): 특정 도메인 적용

1. 과적합(Overfitting) vs. 과소적합(Underfitting)

구분 과적합 (Overfitting) 과소적합 (Underfitting)

설명 모델이 훈련 데이터에 너무 맞춰져 일반화 성능이 낮음 모델이 훈련 데이터의 패턴을 충분히 학습하지 못함
원인 너무 많은 파라미터, 훈련 데이터에 대한 과도한 적응 모델이 너무 단순하거나, 학습이 충분하지 않음
해결 방법 규제(L1/L2), 드롭아웃, 데이터 증강 더 깊은 모델 사용, 충분한 학습

2. 활성화 함수(Activation Function)의 종류 및 장단점

함수 식 장점 단점

ReLU f(x)=max⁡(0,x)f(x) = \max(0, x)f(x)=max(0,x) 계산이 빠르고 깊은 신경망에서 효과적 음수 입력에서 기울기가 0이 되어 뉴런이 죽을 가능성 (Dying ReLU)
Leaky ReLU f(x)=max⁡(0.01x,x)f(x) = \max(0.01x, x)f(x)=max(0.01x,x) Dying ReLU 문제 완화 최적의 기울기(α) 설정이 필요
Sigmoid f(x)=11+e−xf(x) = \frac{1}{1+e^{-x}}f(x)=1+e−x1​ 확률값 출력에 적합 기울기 소실(Vanishing Gradient) 문제
Tanh f(x)=ex−e−xex+e−xf(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}f(x)=ex+e−xex−e−x​ Sigmoid보다 기울기 소실 문제가 덜함 여전히 큰 값에서는 기울기 소실 발생
Softmax exi∑exj\frac{e^{x_i}}{\sum e^{x_j}}∑exj​exi​​ 다중 클래스 분류에서 사용 차원이 커질수록 계산량 증가

3. CNN에서 풀링(Pooling)의 역할과 종류

  • 역할
    • 특성 맵(feature map) 크기를 줄여 연산량 감소
    • 과적합 방지
    • 위치 변화에 대한 불변성 유지

종류 설명 특징

Max Pooling 특정 영역에서 최댓값을 선택 가장 중요한 특징 유지
Average Pooling 특정 영역의 평균값을 선택 정보 손실 최소화
Global Average Pooling (GAP) 전체 특성 맵의 평균값을 사용 완전연결층 없이도 분류 가능

4. 데이터 불균형 문제 해결 방법

  • 데이터 레벨 접근
    • 오버샘플링(Oversampling): 적은 데이터 클래스의 샘플을 복제 (SMOTE 기법 활용)
    • 언더샘플링(Undersampling): 다수 클래스의 데이터를 일부 제거
  • 알고리즘 레벨 접근
    • 가중치 조정 (class_weight 사용)
    • 앙상블 기법 (Boosting 기반 모델)

5. K-평균(K-Means) 클러스터링의 한계점과 보완 방법

한계점 해결 방법

초기 중심점 선택에 따라 결과가 달라짐 K-Means++ 초기화 방식 사용
클러스터 개수(K)를 미리 정해야 함 엘보우(Elbow) 방법, 실루엣 분석 활용
비구형(Non-spherical) 데이터에는 부적합 DBSCAN, GMM 사용

6. 배치 크기(Batch Size)가 학습에 미치는 영향

배치 크기 장점 단점

작음 (e.g., 32) 일반화 성능이 좋음, 적은 메모리 사용 학습 시간이 길어질 수 있음
큼 (e.g., 1024) 학습이 빠름, 병렬 처리 효율적 과적합 가능성 증가

7. Word2Vec vs. BERT

비교 항목 Word2Vec BERT

기반 개념 단어 임베딩 Transformer 기반
맥락 고려 고려하지 않음 (고정된 벡터) 문맥에 따라 동적 변화
학습 방식 CBOW, Skip-gram MLM (Masked Language Model), NSP (Next Sentence Prediction)
활용 사례 추천 시스템, 감정 분석 질의응답, 문서 요약

8. 모델 배포 시 고려할 주요 요소

  • API 설계: RESTful API(FastAPI, Flask), gRPC
  • 성능 최적화: ONNX, TensorRT
  • 배포 방법: Docker, Kubernetes
  • 모니터링: Prometheus, Grafana

9. 그래프 신경망(GNN)이란?

  • 그래프 데이터를 처리할 수 있는 딥러닝 모델
  • 사용 사례:
    • 추천 시스템 (소셜 네트워크 분석)
    • 화학 구조 예측 (단백질 상호작용)
    • 금융 사기 탐지

10. 전이 학습(Transfer Learning)의 장점과 단점

구분 장점 단점

장점 적은 데이터로도 성능 확보 가능 사전 학습 데이터와 목적이 다르면 효과 감소
단점 미세 조정(Fine-tuning) 비용이 발생 일부 모델은 커스텀 학습이 어려움

1. 강화학습(Reinforcement Learning)의 주요 구성 요소 및 적용 사례

🔹 주요 구성 요소

구성 요소 설명

Agent (에이전트) 환경과 상호작용하며 행동을 결정하는 주체
Environment (환경) 에이전트가 행동하는 공간 (게임, 로봇 등)
State (상태, s) 환경이 특정 시점에서 나타내는 정보
Action (행동, a) 에이전트가 수행할 수 있는 선택지
Reward (보상, r) 특정 행동을 수행한 후 받은 보상
Policy (정책, π) 주어진 상태에서 행동을 선택하는 전략
Value Function (가치 함수, V) 특정 상태에서 받을 수 있는 예상 보상
Q-Function (Q 함수) 특정 상태에서 특정 행동을 했을 때 받을 보상의 기대값

🔹 실제 적용 사례

  1. 게임 AI: AlphaGo, Dota2 OpenAI Five
  2. 로보틱스: 자율 주행 로봇, 공장 자동화 로봇
  3. 추천 시스템: 사용자의 클릭 및 구매 패턴을 강화학습으로 최적화
  4. 금융 트레이딩: 주식 거래 전략 최적화

2. SHAP & LIME을 활용한 모델 해석 경험 및 통찰

SHAP (SHapley Additive exPlanations) 활용 경험

  • 금융 사기 탐지 모델에서 특정 거래 패턴이 중요한 특징임을 발견
  • 신용 점수 예측 모델에서 소득과 대출 이력이 주요 변수임을 확인

LIME (Local Interpretable Model-Agnostic Explanations) 활용 경험

  • 의료 데이터 분석에서 LIME을 활용하여 질병 예측 모델의 중요한 변수를 파악
  • 특정 샘플에서 모델이 오해할 가능성이 있는 데이터 패턴을 발견

🔹 통찰:

  • 블랙박스 모델(XGBoost, 딥러닝)의 해석 가능성이 높아짐
  • 비즈니스 의사결정(대출 승인, 의료 진단 등)에 신뢰성 확보

3. 대규모 언어 모델(LLM)의 윤리적 문제 및 해결 방안

윤리적 문제 해결 방안

편향(Bias) 다양한 데이터셋 사용, 편향 필터링
허위 정보(가짜 뉴스) 신뢰할 수 있는 출처의 데이터만 학습
개인정보 유출 Differential Privacy, Federated Learning 적용
남용 가능성 (Deepfake 등) AI 윤리 가이드라인 수립, 사용자 인증 강화

4. 클라우드 기반 AI 플랫폼(AWS, Azure) 활용 경험

플랫폼 활용 경험

AWS SageMaker 머신러닝 모델 학습 & 배포, 자동 하이퍼파라미터 튜닝
Google Cloud AI Vertex AI를 활용한 MLOps 구축
Azure ML 데이터 파이프라인 자동화, 모델 모니터링

🔹 특히 유용했던 기능

  • AWS Lambda + SageMaker: 비용 효율적인 API 배포
  • GCP BigQuery + AI 모델: 실시간 데이터 분석

5. 실시간 데이터 처리의 어려움과 해결 방법

🔹 주요 어려움

  1. 데이터 지연 (Latency): 초당 수백만 개의 이벤트 처리 필요
  2. 데이터 정합성 (Consistency): 실시간 데이터가 정확해야 함
  3. 확장성 (Scalability): 트래픽이 증가해도 원활하게 처리

🔹 해결 방법

문제 해결 기술

데이터 스트리밍 Kafka, Apache Flink
실시간 분석 Apache Spark Streaming, Google Dataflow
빠른 응답 Redis, Memcached (캐싱)
확장성 확보 Kubernetes, Serverless (AWS Lambda)