Alroha

[스나이퍼팩토리] 카카오클라우드 - 클라우드 개발자 교육 5주차 본문

IT/Kakao cloud 부트캠프

[스나이퍼팩토리] 카카오클라우드 - 클라우드 개발자 교육 5주차

헤이로하 2025. 9. 8. 17:10

1️⃣ 인공지능·머신러닝의 수학적 기초

🔹 선형대수의 관점으로 본 모델 연산

  • 벡터(Vector)란 방향과 크기를 가지는 수학적 대상(데이터의 한 행/샘플을 의미함).
  • 행렬(Matrix)은 벡터의 집합(여러 샘플을 동시에 담는 구조를 의미함).
  • 신경망의 순전파는 결국 행렬 곱 연산의 반복임.
내적(Dot Product) 두 벡터의 방향성 유사도를 수치화함 임베딩 벡터 유사도, 주성분 투영
행렬 곱 여러 벡터에 동시에 선형변환 적용함 레이어 가중치 연산(배치 연산)

🔹 미분과 연쇄법칙(Chain Rule)

  • 미분이란 함수의 순간 변화율을 구하는 것임(기울기를 의미함).
  • 연쇄법칙은 합성함수의 미분 규칙임. 역전파(backpropagation)는 거대한 합성함수의 편미분을 연쇄법칙으로 풀어 가중치를 업데이트하는 절차임.
  • 결론적으로 학습이란 “기울기를 구해 가중치를 조정하는 과정임.

2️⃣ 컴퓨터 비전(CV: Computer Vision) 데이터 전처리

🔹 이미지 데이터의 본질과 전처리 목표

  • 이미지는 픽셀 행렬.
  • 전처리 목표는 노이즈 억제 + 패턴 강조 + 입력 정규화임(학습 안정화와 일반화 성능 향상에 직결됨).
  • 행, 열, 채널의 행렬로 이루어져 있으며 아래 그림처럼 각 색상의 채널을 분리하여 시각화 해볼 수 있다.

  • 해상돌ㄹ

🔹 리사이즈와 보간(interpolation)

    • 다음과 같이 이미지 사이즈를 조정해 볼 수 있음.
    • 입력 크기를 모델에 맞추기 위해 보간법을 사용함.

최근접 이웃(Nearest) 가장 가까운 픽셀 선택 빠름, 블록 현상 발생
선형(Linear/Bilinear) 이웃 픽셀 선형 결합 속도·품질 균형
3차(Cubic/Bicubic) 더 넓은 이웃의 3차 보간 매끈함, 연산량 증가
Lanczos sinc 기반 고급 보간 가장 선명, 계산량 큼

🔹 이미지 필터링(Filtering)

  • 노이즈 제거 혹은 특징 강조를 위해 커널 연산을 적용함.
가우시안 블러 가우시안 분포로 스무딩 저주파 통과
미디언 소금·후추 노이즈 제거 가장자리 보존
바이래터럴 경계 보존 + 블러 질감 보존
샤프닝 선명도 향상 고주파 강조
Sobel/Laplacian/Canny 에지 검출 경계 특징 강화

🔹 색 공간/포맷 변환

  • BGR ↔ RGB, Grayscale, HSV, LAB, YUV 변환을 사용함.
    • (BGR이란 OpenCV의 기본 채널 순서를 의미함. RGB는 일반적인 채널 순서를 의미함.)

🔹 정규화/표준화·명암 대비 보정

  • 정규화(Normalization): 픽셀을 0~1 범위로 스케일링함(min–max).
  • 표준화(Z-score): 평균 0, 표준편차 1로 변환함.
  • 히스토그램 평활화/적응형(CLAHE): 어두운/밝은 영역 대비 개선함.
  • 감마 보정(Gamma): 감마 곡선으로 밝기 보정함.
  • 로그 변환(Log transformation): 어두운 영역 디테일 강조함.
  • Batch Normalization(Batch Norm): 딥러닝 내 레이어 입력 분포 정규화로 학습 안정화에 기여함(전처리라기보다 네트워크 내 정규화 연산임).

전처리가 곧 성능임. 동일한 네트워크라도 입력 분포를 얼마나 안정적으로 맞추는지에 따라 수렴 속도·최종 정확도가 크게 달라짐.


3️⃣ 딥러닝(Deep Learning) 기초

🔹 인공 신경망(ANN: Artificial Neural Network)

  • 뉴런: 입력 → 가중치 곱 → 합산 → 활성화 함수 → 출력 순서로 처리함.
  • 가중치(Weight)는 연결 강도이며 학습 대상임.
  • 편향(Bias)은 임계값을 조정해 결정 경계를 이동시키는 파라미터임.

🔹 활성화 함수(Activation Function)

  • 비선형성 도입으로 복잡한 결정 경계를 학습하게 함.
Sigmoid 0~1 확률 해석 용이, 기울기 소실
ReLU 간단·빠름, 음수 죽은 뉴런 가능
Softmax 다중분류 확률 벡터 출력

🔹 순전파와 역전파(간단 절차)

  • 순전파(Forward): 입력을 레이어별로 통과 → 예측 산출함.
  • 손실 계산: 예측 vs 정답 → 손실함수(MSE/CE) 계산함.
  • 역전파(Backward): 연쇄법칙으로 기울기 계산 → 가중치/편향 업데이트함.
  • 아래 그림처럼 가중치를 점차 업데이트하면서 모델이 더 안정적으로 학습할 수 있도록 한다.


4️⃣ CNN(Convolutional Neural Network)로 확장

🔹 CNN의 핵심 아이디어

  • 일반 신경망으로는 위치 변화에 민감하고, 굉장히 많은 매개변수와 공간적 정보 손실이 발생한다.
  • 때문에 전체 이미지를 작은 조각들로 나누어 처리하고, 매개변수를 공유하는 CNN방식으로 발전하게 되었다.
  • 이미지가 입력되었을 경우 계층적으로 엣지(선, 곡선, 색상 변화)->형태(코너, 원, 사각형)-> 부분(눈, 귀, 바퀴, 창문)-> 객체(고양이, 자동차, 비행기) 단계로 특징을 학습한다.
  • 즉, 입력 이미지에서 특징을 추출하는 연산을 수행하여 필터를 입력 데이터에 슬라이딩방식으로 적용시키면서 지역적 특징을 추출하는 컨볼루션 연산을 수행한다.
  • 이때 필터의 이동 간격인 스트라이드(stride)에 값을 조정시키면서 용도에 따라 추출 퀄리티를 조절할 수 있다.

🔹 패딩(Padding) 종류와 목적

  • 패딩을 하는 이유? 합성곱으로 공간 크기가 줄어드는 것을 보정하고, 가장자리 정보를 보존하기 위함임.
제로 패딩(Zero) 가장자리에 0을 채움 크기 보존, 연산 단순
엣지 패딩(Edge/Replicate) 가장자리 값을 복제하여 채움 경계 보존, 부자연스러움 감소
랩 패딩(Wrap) 반대편 픽셀을 순환해 채움 주기적 신호에 적합

자연스러운 전환과 품질 보존 관점에서 엣지/랩이 도움이 될 때가 있으나, 일반적 CNN에서는 제로 패딩이 기본 선택이라 한다.

🔹 피처맵(Feature Map)과 백본(Backbone)

  • 피처맵이란 합성곱·비선형·풀링을 거치며 추출된 표현을 의미함(입력의 패턴을 압축한 지도임).
  • 백본 네트워크(Backbone)란 특징 추출을 담당하는 기본 CNN 본체를 의미함(예: ResNet, VGG, EfficientNet 등).
    • 다운스트림(task-specific) 헤드(분류/검출/세그멘테이션)는 백본의 피처맵을 받아 문제별 예측을 수행함.

🔹 모델 복잡도와 일반화(Generalization)

  • 복잡도가 커지면 훈련 정확도는 오르나 과적합 위험이 증가함.
  • 일반화 성능을 높이려면 규제(정규화, 드롭아웃), 데이터 증강, 적절한 모델 규모, 조기 종료(Early Stopping) 등을 병행함.
  • 요지는 Bias–Variance 트레이드오프를 관리하는 일임.

5️⃣ OCR(Optical Character Recognition) 개요

🔹 OCR 파이프라인(일반 흐름)

  1. 전처리: 그레이스케일, 이진화, 잡음 제거, 왜곡 보정
  2. 텍스트 탐지: 글자/문단이 있는 영역 검출(EAST/CRAFT 등)
  3. 텍스트 인식: 잘린 영역을 문자 시퀀스로 변환(CTC/Attention 기반)
  4. 후처리: 언어 모델·사전 기반 보정, 포맷 규칙 적용

🔹 라이브러리: pytesseract

  • pytesseract는 Tesseract OCR 엔진의 파이썬 바인딩임(간단히 텍스트 추출 가능).
  • 전처리(해상도, 대비, 이진화)를 잘 해주어야 정확도가 크게 향상됨.

 

 

 


본 후기는 [카카오엔터프라이즈x스나이퍼팩토리] 카카오클라우드로 배우는 AIaaS 마스터 클래스 2기(B-log) 리뷰로 작성 되었습니다.

AIaaS, AIaaS마스터클래스2기, 개발자교육, 부트캠프, 스나이퍼팩토리, 카카오엔터프라이즈, 카카오클라우드, 클라우드개발자, 클라우드엔지니어, 한국생산성본부