최종 프로젝트

Chapter.9 최종 실전 자동화 프로젝트 (1)

devjjun 2026. 6. 24. 19:54

TIL(Today I Learned)


1️⃣이미지 데이터와 불량 검출 1,2회차

머신러닝과 딥러닝이 차이점 

  • 머신러닝: 주어진 데이터를 인간이 처리함, 컴퓨터에 특정 패턴 추출 방법을 지시하고 이후 스스로 분석 축적
  • 딥러닝: 컴퓨터가 스스로 데이터를 기반으로 학습할 수 있도록 정해진 신경망을 컴퓨터에 주고, 경험 중심으로 학습

 

심층 신경망 구조

  • 입력층: 데이터를 제공하는 첫 번째 층, 외부로부터 데이터를 받아 내부의 신경망으로 전달
  • 은닉층: 데이터의 패턴이나 특징을 학습하는 층, 각 입력값에 특정 가중치를 곱하여 중요한 특징 인식 향상
  • 출력층: 결과나 예측을 출력하는 층, 확률을 계산해 가장 높은 답을 출력

퍼셉트론

  • 퍼셉트론: 뉴런의 작동 방식에서 착안한 가장 기초적인 형태로 인공 신경망 모델 딥러닝
  • 구성요소: 인풋, 가중치, 편향, 합, 활성화 함수 

 

  • Deep Neural Network 구조 

 

  • MLP(multi layer perceptron)

신경망 구성 요소 

활성화 함수 

  • 뉴런의 출력값을 결정하고 다음 층으로 전달할 값을 지정
  • 신경망에 비 선형성을 추가 -> 비선형적 문제 해결 가능
  • 선형 함수는 층을 쌓아도 선형 모델이 되기 때문에 비선형 함수 필요

활성화 함수 종류

손실 함수 

  • 학습된 신경망으로부터 도출된 값과 실제 정답이 얼마나 차이가 나는지를 계산하는 함수 
  • 최적의 가중치(weight)를 찾기 위해 손실 함수 값이 최소가 되는 지점을 찾는 것이 중요 

 

경사 하강법 

  • 모델의 손실함수를 최소화하기 위해 가중치를 반복적으로 업데이트 하는 알고리즘 

Learning Rate 

  • 경사 하강법에서 기울기를 따라 이동하는 보폭을 결정하는 값 
  • 학습 속도와 관련된 하이퍼 파라미터, 한 번에 얼만큼 이동할지를 결정 

  • learning rate에 따른 과적합 구분 

Local minina vs Global minimum 

  • 경사하강법은 현재 기울기 방향을 따라가기 때문에 local minima에 빠질 위험이 있음 
  • 모델이 local minima에 빠리지 않고 global minimum을 찾는 것이 핵심 

옵티마이저

  • 경사하강법의 개선된 버전으로 손실 함수를 최소화하도록 가중치와 바이어스를 조절하는 알고리즘

  • 경사 하강법 기반 

하이퍼 파라미터

MLP vs CNN

  • MLP: 이미지나 영상 처리에는 부적절: 한 칸씩 움직였는데 변화값 20개

  • CNN: 특징을 찾아서 이미지를 인식

Feature Extraction 

  • filter(kernel)을 이용하여 특징 추출 


이미지 분류(Image Classification)

전이 학습(Transfer Learning)

이미 학습된 모델의 지식을 새로운 문제에 적용하여 성능을 향상시키는 기법 

  • 기본 개념
    • 대규모 데이터로 사전 학습된 모델의 가중치를 그대로 새로운 문제에 적용
    • 사전 학습된 모델의 지식을 새로운 문제에 전이시켜 초기 학습 시간을 단축, 더 좋은 성능
  • 주요 기법 
    • Feature Extraction: 사전 학습된 모델의 마지막 출력층 전까지의 가중치를 고정하고, 새로운 데이터의 특징 추출에 활용
    • Fine-tuning: 고정된 가중치 위에 새로운 데이터의 라벨을 추가해 전체 모델을 재학습하여 미세 조정 

특징 추출 vs 파인튜닝

  1. Feature Extraction
    • 사전에 학습된 모델의 convolution layers는 freeze 하고 마지막 classifier만 새로운 데이터셋에 맞게 재학습 
    • 주로 입력 이미지의 feature 추출에 집중 
    • 학습시 새로운 데이터의 label에 대한 정보는 사용하지만, 전체 모델을 다시 학습하지는 않음
    • 주로 적은 양의 데이터로 빠르게 특징 추출이 필요할 때 유용 
  2. Fine-tuning
    • 사전에 학습된 모델의 모든 layers를 trainable하게 설정하고 새로운 데이터셋에 맞춰 전체 모델을 재학습
    • 입력 이미지의 특징 추출 뿐 아니라 분류기의 파라미터까지 미세 조정
    • 보다 정교한 모델 성능 개선 가능
  3. tensorflow 코드 
base_model.trainable = False   # freeze (가중치 업데이트 안 함)
base_model.trainable = True    # trainable

데이터 증강(Augumentation)

  • 원본 데이터를 다양한 방법으로 변형하여 새로운 데이터를 생성하는 기법 
  • 적은 양의 원본 데이터로도 모델의 학습 성능을 높이기 위해 활용


2️⃣실전 자동화 프로젝트 (1)

프로젝트 기획서 

프로젝트 제목 

  • 제조 공정 센서 데이터 활용 제품 품질 등급 예측

프로젝트 목표 

항목 내용
Specific (구체적) 제조 공정에서 수집된 2,875개의 센서 및 계측 데이터를 활용하여 제품의 품질 등급(Y_Class: 0, 1, 2)을 예측하는 분류 모델을 개발하고, 품질에 영향을 미치는 주요 공정 변수를 도출
Measurable (측정 가능) LightGBM, XGBoost, CatBoost 모델을 구축하여 성능을 비교하고, Macro-F1 Score 0.80 이상을 목표로 한다. 또한 중요 변수 Top 10을 도출
Achievable (달성 가능) 제공된 598개 샘플 데이터를 활용하여 결측치 처리, 피처 선택, 하이퍼파라미터 튜닝을 수행하고 머신러닝 기반 품질 예측 모델을 구축
Relevant (관련성) 품질 검사 이전 단계에서 제품 품질을 예측하여 불량 발생 가능성을 사전에 탐지하고, 제조 공정 개선 및 품질 향상을 위한 의사결정을 지원
Time-bound (기한 설정) 프로젝트 기간 내(최종 발표 전) 데이터 전처리, 모델 학습, 성능 평가 및 결과 분석을 완료하고 최종 보고서와 대시보드 및 웹 제작

문제 정의 

  • 분석 중점: 생산 완료 후에야 확인 가능한 제품 품질을 제조 공정 센서 데이터를 활용해 사전에 예측하고, 품질에 영향을 미치는 핵심 공정 요인을 도출하여 불량 발생을 예방하고자 한다
  • 문제의 필요성 및 중요성
    • 필요성
      1.  생산 완료 후 품질 확인 -> 불량 대응 비용 증가 
      2. 고차원의 센서 데이터 활용 부족
      3. 품질 영향 요인 파악 불가 
    • 중요성
      1. 불량 조기 탐지 및 품질 비용 절감 
      2. 데이터 기반 공정 개선
      3. 제조 경쟁력 및 생산 효율 증가

프로젝트 일정

1주차(6월 23일~6월26일) 문제 정의와 방향성 수립, 기획서 작성
2주차(6월29일~7월3일) 데이터 정제 및 EDA
3주차(7월6일~7월10일) 기존/파생 변수 생성, 타당성 검토, 평가지표와 베이스라인 모델 방향성 선정/구축,
	                   중간 결과물 제출
4주차(7월13일~7월17일) 중간 발표 및 피드백 반영
5주차(7월20일~7월24일) 핵심변수 선정 및 모델 고도화, 대시보드 1차 구축
6주차(7월27일~7월31일) 고급 모델링/성능 최적화 (Optuna또는 그리드 서치를 통한 튜닝 + SHAP)
7주차(8월3일~8월7일) 대시보드 고도화, 결과 통합, 보고서 완성
8주차(8월10일~8월11일) 최종 발표/박람회 + 수료

프로젝트 중점

  1. EDA를 통한 인사이트 도출에 따른 흐름 구성 
  2. 전처리 시 명확한 근거를 통하여 진행 
  3. 베이스라인 모델과 평가 지표를 통한 방향성 설립 
  4. 대시보드 구성시 실 사용자의 관점을 반영하기

💡 느낀점

오늘은 딥러닝 분류 모델의 개념을 학습하며 지도학습의 원리와 활용 사례를 이해할 수 있었고, 프로젝트 기획서를 작성하면서 프로젝트의 목표와 진행 방향을 구체화할 수 있었다. 특히 기획 단계에서 데이터 활용 방안과 분석 흐름을 정리해보며 앞으로 구현해야 할 기능과 필요한 기술들을 명확하게 파악할 수 있었으며, 실제 개발에 앞서 체계적인 설계의 중요성을 느낄 수 있었다.