독학/[책] 딥러닝 실습

[혼공학습단 14기 혼만딥🧠] 혼자 만들면서 공부하는 딥러닝 week3

최연재 2025. 7. 15. 11:52

📝 기본 숙제

Ch.02(02-2) VGGNet 또는 ResNet으로 고양이/강아지 이미지 분류하고 결과 화면 캡처하기

 

📘 추가 숙제

Ch.02 (02-1, 02-2, 02-3) AlexNet, VGGNet, ResNet 중 하나를 골라 모델 구조를 그림 또는 표로 정리하기

VGGNet을 그려보았습니다🎨

 

🗂️ 내용 정리

Chap02-1 이미지 분류 CNN 모델 만들기

1. 이미지넷 대회에서 우승한 최초의 CNN 모델 - AlexNet

- 비정형 데이터 : 구조가 사전에 정의되지 않은 데이터 ➡️ 딥러닝 이용

- AlexNet

  • 이미지 원본 픽셀을 그대로 사용하면서 성능면에서 뛰어남.
  • LeNet-5 모델보다 많은 층을 사용한다.
  • LeNet-5에서 사용한 활성화함수인 시그모이드 함수 대신 LeRu 함수를 사용한다. ➡️ 그레디온트 소실 문제를 개선 
  • 평균 풀링 대신 최대 풀링을 사용
  • 밀집층의 과대적합을 막기 위해 유닛의 출력을 랜덤하게 끄는 드롭아웃을 이용 ➡️ 일부 유닛에 과하게 의존하는 것을 막고 모든 유닛이 유용한 패턴을 학습할 수 있도록 함
  • 케라스를 사용해 구현된 모델이 아님 

(1) AlexNet 모델 만들기

 

(2) AlexNet 모델의 구조 분석

 

2. 사전 훈련된 CNN 모델 - VGGNet

(1) VGGNet

- 2024년 이미지넷 대회에서 준우승한 모델

- 이전의 신경망과는 달리 여러 번의 합성곱층 다음에 풀링층을 적용하는 방식을 이용

- 합성곱층과 풀링층을 교대로 반복하는 대신, 여러 번의 합성곱층을 적용한 다음 풀링층을 적용함

- 동일한 여러 개의 합성곱층과 풀링층의 구조를 반복하는 블록을 적용함

- 큰 필터를 사용하는 하나의 합성곱층 대신 3 * 3 크기의 작은 필터를 사용하는 여러 개의 합성곱층을 적용함

 

(2) VGGNet 모델 만들기

 

(3) VGGNet 모델의 구조 분석

 

Chap02-2 강아지와 고양이 사진 분류하기

1. VGGNet 모델 로드하기

이미지 다운로드

 

2. 강아지와 고양이 사진 분류하기

(1) 강아지 이미지 분류하기

(2) 모델 출력을 디코딩하기

예측 클래스 확인하기
예측 클래스 확인하기

 

(3) 고양이 사진 분류하기

 

 

Chap02-3 강아지와 고양이 사진 분류 모델의 성능 개선하기

1. 훈련 성능을 높이는 CNN 모델 - ResNet

- 잔차 블록

  • 딥러닝 모델은 신경망이 깊어질수록 이 가중치를 변경해 오차를 줄이는 그레이디언트가 점점 작아짐
  • 입력 부분에 가까운 층의 가중치가 잘 변경되지 않는 문제를 해결함. 
  • 입력을 출력해 직접 연결하는 스킵 연결을 추가해 그레디언트 소실 문제를 해결함.
  • ResNet50과 같이 깊은 네트워크에서는 모델의 연산량을 줄이기 위해 3개의 합성곱층으로 구성된 병목 블록을 많이 사용
    • 첫 번째 합성곱층 : 입력의 공간 방향 크기를 줄임
    • 두 번째 합성곱층 : 입력 채널의 크기를 유지한 채 특징을 추출
    • 세 번째 합성곱층 : 채널 수를 확장

 

2. ResNet 모델 만들기

(1) 배치 정규화

패딩 추가 및 최대 풀링 적용하

 

(2) 잔차 스택 만들기

 

(3) ResNet 모델 만들기

(4) 강아지와 고양이 사진 분류하기

 

3. GoogleLeNet

💭 느낀 점

그림이 친절해서 전체적인 구조 및 내부 내용을 잘 이해할 수 있었습니다👍👍