머신러닝 & 딥러닝
주니어 응애 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)란?
- 뉴럴 네트워크의 가중치를 업데이트하는 학습 방법
- 주요 과정:
- 순전파(Forward Propagation)로 예측값 계산
- 손실 함수(Loss Function)로 예측값과 실제값의 차이 계산
- 오차를 출력층에서 입력층 방향으로 전달하며 가중치 업데이트
- *체인 룰(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): 가짜 데이터와 진짜 데이터를 구별
- 학습 과정:
- 생성자는 판별자를 속이기 위해 점점 더 정교한 데이터를 생성
- 판별자는 점점 더 가짜 데이터를 잘 구별
- 두 네트워크가 서로 경쟁하면서 생성자는 실제와 비슷한 데이터를 만들어냄
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)를 활용한 챗봇 개발 과정
- 데이터 수집: 사용자 문의 데이터 수집
- 데이터 전처리: 토큰화, 불용어 제거, 문장 벡터화(Word2Vec, BERT)
- 모델 선택:
- RNN, LSTM → 문맥 유지
- Transformer (BERT, GPT) → 고품질 답변
- 챗봇 엔진 개발: FastAPI, Flask로 배포
- 배포 및 개선: 사용자 피드백 반영
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}}∑exjexi | 다중 클래스 분류에서 사용 | 차원이 커질수록 계산량 증가 |
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 함수) | 특정 상태에서 특정 행동을 했을 때 받을 보상의 기대값 |
🔹 실제 적용 사례
- 게임 AI: AlphaGo, Dota2 OpenAI Five
- 로보틱스: 자율 주행 로봇, 공장 자동화 로봇
- 추천 시스템: 사용자의 클릭 및 구매 패턴을 강화학습으로 최적화
- 금융 트레이딩: 주식 거래 전략 최적화
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. 실시간 데이터 처리의 어려움과 해결 방법
🔹 주요 어려움
- 데이터 지연 (Latency): 초당 수백만 개의 이벤트 처리 필요
- 데이터 정합성 (Consistency): 실시간 데이터가 정확해야 함
- 확장성 (Scalability): 트래픽이 증가해도 원활하게 처리
🔹 해결 방법
문제 해결 기술
데이터 스트리밍 | Kafka, Apache Flink |
실시간 분석 | Apache Spark Streaming, Google Dataflow |
빠른 응답 | Redis, Memcached (캐싱) |
확장성 확보 | Kubernetes, Serverless (AWS Lambda) |