📝 기본 숙제
Ch.01(01-1, 01-2) 구글 코랩에 텐서플로/케라스 설치하고, LeNet 모델 구조 그림으로 그려보기


📘 추가 숙제
convolutional, Pooling, Dense 레이어의 기능 각각 설명하기(p.49)
- 합성곱층 (convolutional layer)
- 이미지의 작은 부분을 스캔하여 중요한 특성을 추출
- 풀링층 (pooling layer)
- 합성곱층에서 추출된 특성맵을 축소해 처리 속도를 높이고, 모델이 더 중요한 패턴에 집중하도록 만듦
- 밀집층 (dense layer)
- 이전 층에서 추출된 특성을 바탕으로 최종 결과를 도출
🗂️ 내용 정리
Chap01-1 딥러닝 개발 환경 구축하기
1. 코랩으로 실습 준비하기

2. 텐서플로와 케라스
2.1 텐서플로
- 신경망 모델을 만들 수 있는 전문 라이브러리
- 핵심 연산은 C++과 CUDA로 구현되어 있지만, 고수준 API는 파이썬으로 제공
2.2. 케라스
- GPU 연산을 수행하는 다른 라이브러리를 백엔드로 사용하는 멀티 백엔드 정책을 유지
Chap01-2 합성공 신경망(CNN; Convolutional neural network) 모델 이해하기
1. 최초의 CNN 모델 - LeNet
- 합성곱 신경망의 초기 형태
💥인공 신경망 (ANN ; Artificial Neural Network)
- 입력층, 은닉층, 출력층을 거쳐 데이터를 처리
- 입력층 : 신경망이 처리해야 할 원본 데이터를 전달하는 역할
- 은닉층 : 입력층과 출력층 사이에 있는 모든 층
- 출력층 : 최종 결과를 내는 곳
- 비교적 간단한 텍스트 분류 및 금융 데이터 예측에 사용
- 이미지를 다룰 때의 인공 신경망이 가진 문제를 해결하기 위해 설계
- 국부적 특성을 추출하는 합성곱층과 풀링층을 통해 이미지의 중요 패턴을 자동으로 학습
- 밀집층에서 최종 분류 작업을 수행
- 합성곱층 (convolutional layer)
- 이미지의 작은 부분을 스캔하여 중요한 특성을 추출하는 층
- 합성곱 계산을 통해 압축적으로 얻은 출력을 특성 맵이라 부름
- 풀링층 (pooling layer)
- 합성곱층에서 추출된 특성맵을 축소해 처리 속도를 높이고, 모델이 더 중요한 패턴에 집중하도록 만드는 층
- 이미지의 크기를 줄이면서도 중요한 정보는 유지
- 밀집층 (dense layer)
- 이전 층에서 추출된 특성을 바탕으로 최종 결과를 도출하는 층
- 밀집층의 출력층에서는 추출된 이미지의 패턴을 바탕으로 분류 작업을 수행
- 각각의 입력 값이 모든 뉴런에 연결되기 때문에 완전 연결층(fully connected layer)이라고 함
2. 합성곱층 - Conv2D
2.1 패딩과 스트라이드
- 패딩 (padding)
- 이미지의 가장자리에 빈 공간을 추가해 이미지 가장자리 부분의 픽셀이 충분히 처리될 수 있도록 함.
- 세임 패딩 (same padding)
- 입력과 특성 맵의 크기를 동일하게 만들기 우해 입력 주위에 적절한 개수의 패딩을 추가하는 방식
- 입력 크기 == 만들어진 특성 맵의 크기
- 밸리드 패딩(valid padding)
- 패딩 없이 순수한 입력 배열에 대해서만 합성곱을 수행해 특성 맵을 만드는 방식
- 입력 크기 > 만들어진 특성 맵의 크기
- 스트라이드 (stride)
- 필터가 이미지 위를 이동하는 속도
2.2 Conv2D 클래스
- 2차원 합성곱을 수행하는 층

- 합성곱층 만들기
- 합성곱 연산은 특성 맵의 깊이가 깊어지면서 모델이 점점 더 복잡한 정보와 세부적인 패턴을 이해하게 만들고, 이미지의 가로/세로 크기를 점점 작게(공간 방향의 차원 감소) 만들어 중요한 특성만을 남기는 과정

2.3 풀링층과 밀집층 - AveragePooling2D, Dense
(1) 풀링
- 입력된 텐서의 높이와 너비를 줄이면서 픽셀 값을 압축하는 기능을 수행
- 풀링 윈도(pooling window)라고 부르는 사각 영역이 입력 텐서 위를 지나가면서 평균값을 계산하거나 최댓값을 선택
- 풀링은 합성곱과 달리 스트라이드의 크기가 항상 풀링 크기가 같음
- 평균 풀링
- AveragePooling2D 이용
- 이미지에 작은 영역을 설정하고 그 안에서 모든 값의 평균값(전체적인 특성)을 출력
- 최대 풀링
- MaxPooling2D 이용
- 이미지에 작은 영역을 설정하고 그 안에서 가장 큰 값(가장 강한 특성)을 출력

(2) 밀집층
- 입력층과 가중치의 dot product 수행
- y = x · W + b
- x : 입력층
- W : 커널
- b : 절편



💭 느낀 점
지난 학기에 생성형 AI 관련 수업을 들었었는데 그때 학습한 개념들이 나와서 반가웠습니다. 다음 학기에 딥러닝을 수강할 생각이라 <혼자 만들면서 공부하는 딥러닝>을 신청했는데 6주 동안 열심히 공부해 보겠습니다👍
'독학 > [책] 딥러닝 실습' 카테고리의 다른 글
| [혼공학습단 14기 혼만딥🧠] 혼자 만들면서 공부하는 딥러닝 week6 (4) | 2025.08.13 |
|---|---|
| [혼공학습단 14기 혼만딥🧠] 혼자 만들면서 공부하는 딥러닝 week5 (3) | 2025.08.06 |
| [혼공학습단 14기 혼만딥🧠] 혼자 만들면서 공부하는 딥러닝 week4 (1) | 2025.07.23 |
| [혼공학습단 14기 혼만딥🧠] 혼자 만들면서 공부하는 딥러닝 week3 (1) | 2025.07.15 |
| [혼공학습단 14기 혼만딥🧠] 혼자 만들면서 공부하는 딥러닝 week2 (0) | 2025.07.08 |