데브허브 | DEVHUB | [머신러닝+딥러닝 기초 강의] 22강. 합성곱 신경망의 시각화[머신러닝+딥러닝 기초 강의] 22강. 합성곱 신경망의 시각화
- 합성곱 신경망(CNN)은 필터(가중치)를 통해 입력 이미지에서 특정 패턴을 스캔하고 감지합니다. 🔍
- 훈련 전 가중치는 균등하게 분포되지만, 훈련 후에는 특정 패턴을 감지하도록 특화되어 변화합니다. 🧠
- 케라스의
model.layers 속성을 사용하여 각 층에 접근하고, weights 속성으로 필터 가중치와 편향을 확인할 수 있습니다. 📊
- 가중치 시각화를 통해 모델이 어떤 저수준 패턴(예: 가장자리, 질감)을 학습했는지 간접적으로 파악할 수 있습니다. 🖼️
- 중간 층의 출력인 특성 맵(Feature Map)을 시각화하려면 케라스의 함수형 API를 사용하여 특정 층의 출력을 얻는 새로운 모델을 구성해야 합니다. 🛠️
- 함수형 API는 각 층을 별도의 객체로 정의하고 함수처럼 연결하여 모델을 구축하며, 복잡한 다중 입력/출력 모델 구성에 유용합니다. 🔗
- 초기 합성곱 층의 특성 맵은 원본 이미지의 저수준 특징(예: 윤곽선, 특정 영역)을 강조하며 여전히 원본과 유사한 형태를 보입니다. ✨
- 깊은 합성곱 층의 특성 맵은 원본 이미지와는 점차 거리가 멀어지며, 더욱 추상적이고 고차원적인 패턴을 감지하는 경향을 보입니다. 🌌
- 신경망의 층이 깊어질수록 저수준 특징에서 고차원적이고 추상적인 특징으로 학습 내용이 변화하는 일반적인 딥러닝 학습 방식을 시각적으로 확인할 수 있습니다. 📈
- 가중치나 특성 맵 시각화는 모델 학습에 대한 인사이트를 제공하지만, 매우 복잡한 신경망에서는 해석의 어려움이 있을 수 있습니다. 🤔