국비교육에서 배운 CNN
내용이 어려워서 오늘 배운걸 적어보도록 한다...

1. Dense 레이어의 목적 및 특징
Dense 레이어는 신경망 모델에서 완전히 연결된 레이어로 모든 입력 뉴런이 출력 뉴런과 연결된다. 이 레이어의 주요 목적은 이전 레이어의 특성들을 종합하여 분류나 예측을 위한 출력을 생성하는 것이다. 출력 유닛 수는 해당 레이어가 생성하는 출력의 차원을 결정하며 활성화 함수는 이 출력 값에 적용되어 비선형성을 추가하고 다음 레이어로 전달할 데이터의 형태를 결정한다.
2. data_format='channels_first' 옵션의 의미
data_format='channels_first' 옵션은 입력 데이터의 형태를 지정하는데 사용된다. 이 옵션을 사용하면 입력 데이터의 형태가 [batch_size, channels, height, width]로 지정되어 채널이 높이와 너비 앞에 오게 된다. 이는 데이터의 구조를 명확히 하고 특정 하드웨어나 라이브러리에서 요구하는 데이터 형식에 맞추기 위해 사용된다.
3. Activation('tanh') 레이어의 사용 목적
tanh 활성화 함수는 출력 값을 -1에서 1 사이로 정규화한다. 이는 모델의 출력을 조절하여 그라디언트 손실을 방지하는 역할을 하며 주로 모델의 중간 레이어에서 사용되어 데이터의 비선형 특성을 학습하는데 도움을 준다.
4. MaxPooling2D 레이어와 padding='same' 옵션
MaxPooling2D 레이어는 입력의 차원을 줄이는데 사용된다. 이는 각 피처 맵에서 중요한 특성만을 선택하여 모델의 파라미터 수를 줄이고 계산 효율성을 높이는 역할을 한다. padding='same' 옵션은 입력과 출력의 차원이 동일하게 유지되도록 하여 풀링 연산 후에도 데이터의 공간적 차원이 변하지 않도록 한다.
5. 최종 출력 레이어 (Activation('softmax'))
softmax 활성화 함수는 다중 클래스 분류 문제에서 사용된다. 이 함수는 모델의 최종 출력을 각 클래스에 대한 예측 확률로 변환하여 확률의 합이 1이 되도록 하고 이는 모델이 각 클래스에 대한 예측의 확신도를 수치화하게 해준다.
6. Flatten 레이어의 필요성 및 역할
Flatten 레이어는 다차원 텐서를 1차원 텐서로 평탄화하는 역할을 한다. 이는 주로 CNN 레이어를 거친 후 Dense 레이어에 입력으로 사용하기 위해 필요하다. 이를 통해 공간적 특성을 가진 데이터를 벡터 형태로 변환하여 분류나 예측을 위한 처리가 가능해진다.
7. channels_first 옵션 사용 시 입력 데이터 형태
channels_first 옵션을 사용하는 경우 입력 데이터의 형태는 [batch_size, channels, height, width]가 된다. 이는 채널이 가장 앞에 오는 것을 의미한다.
8. kernel_initializer='glorot_uniform'과 bias_initializer='ones' 설정의 역할
kernel_initializer='glorot_uniform'은 가중치의 초기값을 균일하게 분포시키는 방식으로 설정하는데 사용된다. 이는 초기 학습 단계에서 좋은 시작점을 제공하고 bias_initializer='ones'는 모든 편향 값을 1로 초기화하여 초기 학습 단계에서 약간의 긍정적인 편향을 제공한다. 이러한 초기화 방법은 학습 속도를 향상시키고 최적의 솔루션에 더 빠르게 수렴하는 데 도움을 준다.
정리하면서도 내용이 너무 어려운 딥러닝... 갈길이 멀다!
'IT > 머신러닝 도전하기' 카테고리의 다른 글
| [STABLEDIFFUSION] Torch is not able to use GPU 에러 해결법 (0) | 2024.05.21 |
|---|---|
| [STABLEDIFFUSION] 메타코드M 생성형 AI 입문 완성강의_이론 및 기초 (0) | 2024.05.17 |
| [openCV] openCV 기본 (0) | 2024.02.08 |
| [머신러닝] 머신러닝 파이프라인 (0) | 2024.01.23 |
| [머신러닝] 머신러닝의 기초 (0) | 2024.01.23 |