Hello New World

[9편-2] 고양이 사진을 인식하는 신경망 이해하기 본문

카테고리 없음

[9편-2] 고양이 사진을 인식하는 신경망 이해하기

Getty J. 2025. 5. 22. 19:31

1️⃣ 입력층: 이미지 데이터를 숫자로 바꾸기

고양이 사진은 64×64 픽셀이고, 색상은 RGB(빨강, 초록, 파랑)예요.
총 64×64×3 = 12,288개의 숫자로 바뀜.
이 숫자들이 신경망의 입력층 뉴런에 들어가요.

📌 예:
귀 부분 색: [240, 220, 180] → 밝은 색
눈 부분 색: [20, 130, 160] → 푸른색
코 부분 색: [200, 100, 120] → 분홍색

2️⃣ 첫 번째 은닉층: 단순한 특징 감지 (합성곱)

이 층에는 필터(작은 창문) 들이 있어서 이미지 위를 훑어요.
각 필터는 귀, 수염, 선, 모서리 같은 걸 찾아요.

예: “귀 감지기 필터”
귀 근처 픽셀 값들과 곱셈 → 합산 → 편향 더하기 → ReLU로 통과

결과가 크면 “여기 귀 있음!”이라고 판단해요.

📌 ReLU란?

0보다 작으면 0, 크면 그대로 → 중요하지 않은 건 제거!

3️⃣ 두 번째 은닉층: 복잡한 패턴 감지

첫 번째 층 결과들을 모아서 더 복잡한 걸 판단해요.

예: 귀 + 눈 + 코가 다 나타나면 → “고양이 얼굴이다!”라고 판단
예: “고양이 얼굴 감지기 뉴런”
귀 감지 결과 × 가중치
눈 감지 결과 × 가중치
… + 편향 → ReLU 통과 → 큰 값이면 “얼굴이 있다!”

4️⃣ 출력층: 최종 분류

마지막 층에서는 결과를 확률로 바꿔요 (소프트맥스 함수 사용)

예:
고양이: 85%
강아지: 8%
새: 5%
햄스터: 1%
토끼: 1%

→ 최종 판단: "고양이입니다!"


💡 실제 CNN에서는?

  1. 합성곱(Convolution)
    • 이미지를 일렬로 펴지 않고, 필터가 이미지 위를 슬라이딩
    • 예: 귀 모양을 찾는 필터가 전체 사진을 스캔
  2. 풀링(Pooling)
    • 특성 맵(결과값) 크기를 줄임 → 계산 효율↑
    • 조금 위치가 달라도 같은 특징으로 인식 가능
  3. 깊은 층으로 갈수록
    • 처음: 선, 색, 모서리
    • 중간: 귀, 눈, 수염
    • 마지막: 얼굴, 몸통, 전체 동작
  4. 완전 연결층(Fully Connected)
    • 앞에서 추출한 모든 특징을 종합해
      → “이건 고양이야!” 결론을 내림