데브허브 | DEVHUB | [머신러닝+딥러닝 기초 강의] 18강. 심층 신경망[머신러닝+딥러닝 기초 강의] 18강. 심층 신경망
- 심층 신경망의 핵심은 은닉층 추가: 입력층과 출력층 사이에 하나 이상의 은닉층(Hidden Layer)을 추가하여 모델의 복잡성과 표현력을 높입니다. 🧠
- 활성화 함수의 중요성: 은닉층에 비선형 활성화 함수(예: Sigmoid, ReLU)를 적용해야 여러 층이 독립적인 역할을 수행하며, 선형 층의 중첩이 단일 선형 층으로 축소되는 것을 방지합니다. 💡
- ReLU 함수의 효율성: 초기에는 시그모이드 함수가 많이 사용되었으나, 최근에는 단순하면서도 뛰어난 성능을 보이는 ReLU(Rectified Linear Unit) 함수가 널리 활용됩니다. 📈
- 출력층의 활성화 함수: 다중 분류 문제의 출력층에는 일반적으로 Softmax 활성화 함수를 사용하여 각 클래스에 대한 확률을 출력하며, 이 확률들의 합은 1이 됩니다. 🎯
- Keras 모델 구성 방법:
Sequential 클래스에 층 객체 리스트를 전달하거나, model.add() 메소드를 사용하여 층을 순차적으로 추가하는 등 다양한 방식으로 모델을 구축할 수 있습니다. 🛠️
model.summary() 활용: 모델의 구조, 각 층의 출력 형태, 그리고 학습 가능한 파라미터(가중치 및 편향)의 개수를 한눈에 파악하여 모델 이해 및 디버깅에 유용합니다. 📊
- Flatten 층의 역할: 다차원 입력(예: 이미지)을 1차원 벡터로 평탄화하여 완전 연결 층(Dense layer)에 전달하는 역할을 하며, 자체적으로 학습 가능한 파라미터는 없습니다. 📏
- 옵티마이저의 선택: 모델 파라미터를 업데이트하는 다양한 경사 하강법 알고리즘(예: SGD, Momentum, Adam, RMSprop)이 있으며, 문제에 따라 적합한 옵티마이저를 선택하고 학습률을 조정하는 것이 중요합니다. ⚙️
- 적응적 학습률 옵티마이저: 학습 과정에서 자동으로 학습률을 조절하여 최적점에 더 효율적으로 수렴하도록 돕는 옵티마이저(예: Adagrad, Adam, RMSprop)가 존재하며, Keras의 기본 옵티마이저는 RMSprop입니다. 🚀
- 하이퍼파라미터 튜닝: 은닉층의 유닛 개수나 층의 개수 등은 모델의 성능에 영향을 미치는 하이퍼파라미터로, 다양한 실험을 통해 최적의 값을 찾아야 합니다. 🧪