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 파인튜닝
- Feature Extraction
- 사전에 학습된 모델의 convolution layers는 freeze 하고 마지막 classifier만 새로운 데이터셋에 맞게 재학습
- 주로 입력 이미지의 feature 추출에 집중
- 학습시 새로운 데이터의 label에 대한 정보는 사용하지만, 전체 모델을 다시 학습하지는 않음
- 주로 적은 양의 데이터로 빠르게 특징 추출이 필요할 때 유용
- Fine-tuning
- 사전에 학습된 모델의 모든 layers를 trainable하게 설정하고 새로운 데이터셋에 맞춰 전체 모델을 재학습
- 입력 이미지의 특징 추출 뿐 아니라 분류기의 파라미터까지 미세 조정
- 보다 정교한 모델 성능 개선 가능
- 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주차(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일) 최종 발표/박람회 + 수료
프로젝트 중점
- EDA를 통한 인사이트 도출에 따른 흐름 구성
- 전처리 시 명확한 근거를 통하여 진행
- 베이스라인 모델과 평가 지표를 통한 방향성 설립
- 대시보드 구성시 실 사용자의 관점을 반영하기
💡 느낀점
오늘은 딥러닝 분류 모델의 개념을 학습하며 지도학습의 원리와 활용 사례를 이해할 수 있었고, 프로젝트 기획서를 작성하면서 프로젝트의 목표와 진행 방향을 구체화할 수 있었다. 특히 기획 단계에서 데이터 활용 방안과 분석 흐름을 정리해보며 앞으로 구현해야 할 기능과 필요한 기술들을 명확하게 파악할 수 있었으며, 실제 개발에 앞서 체계적인 설계의 중요성을 느낄 수 있었다.
'최종 프로젝트' 카테고리의 다른 글
| Chapter.9 최종 실전 자동화 프로젝트 (6) (0) | 2026.07.01 |
|---|---|
| Chapter.9 최종 실전 자동화 프로젝트 (5) (0) | 2026.06.30 |
| Chapter.9 최종 실전 자동화 프로젝트 (4) (0) | 2026.06.29 |
| Chapter.9 최종 실전 자동화 프로젝트 (3) (0) | 2026.06.26 |
| Chapter.9 최종 실전 자동화 프로젝트 (2) (0) | 2026.06.25 |