AlexNet: CNN 모델의 시초. 여러개의 구조를 가진 CNN
AlexNet의 구조
입력으로 24243 크기의 피처맵
1개 필터당: 11113개의 파라미터 + 1개의 bias
위 연산을 총 96번 반복 → 첫 레이어에서 벌써 약 3.5만개의 파라미터
- Conv Layer: 원하는 수 만큼의 필터를 사용하여 원하는 수 만큼의 채널을 출력할 수 있음
- Pooling Layer: 각 채널별로 독립적인 풀링연산 적용 → 입력채널의 수 = 출력채널의 수
- 학습가능한 파라미터: 0개
- Normalization: 여러 값들을 일정한 범위 내에 고정
- Lateral Inhibition현상(강하게 활성화된 뉴런이 다른 뉴런의 값을 억제하는 현상)으로 인해 normalization 필요(강하게 활성화된 뉴런의 값과 주변 뉴런들과의 값 차이를 줄이기 위함)
- Local Response Normalization(LRN): 강하게 활성화된 뉴런의 값을 감소시킴 → 특정 뉴런만 활성화되는 것을 막음
AlexNet의 학습
- Overfitting 방지 기법
- Data Augmentation(데이터 변형): 학습데이터의 다양성 향상
- Dropout
VGG: Smaller Filters, Deeper Networks
VGG의 구조
- AlexNet: 11*11 과 같은 큰 필터를 초반에 많이 사용
- VGG: 3*3의 작은 크기의 필터를 가지는 Conv Layer를 여러개 쌓음
- 33 Conv 3개와 77 Conv 1개의 receptive filed가 동일(??)
- 연산에 참조한 입력의 대응이 같다(???)
- 하지만 3개의 3*3 Conv의 경우가 파라미터수가 더 적다
- AlexNet: 큰 커널 크기와 스트라이드를 사용하여 receptive field를 증가
- VGG: 여러 개의 작은 커널 크기를 사용하여 receptive field를 점진적으로 증가
- Receptive Field(수용 영역)란?
- CNN에서 입력 이미지의 한 픽셀이 출력 feature map의 한 픽셀에 영향을 미치는 영역을 의미. 각 층에서 볼 수 있는 입력 이미지의 영역
- 즉, 입력 이미지에서 출력 feature map의 한 픽셀이 볼 수 있는 영역의 크기
- 3x3 크기의 필터를 사용하는 CNN층은 3x3 크기의 입력 이미지 영역만을 보고 출력을 생성
- 3개의 3x3 Conv Layer의 Receptive Field
- 3x3 Conv Layer를 한 번 거칠 때마다 receptive field는 2픽셀씩 증가
- 3개의 3x3 Conv Layer를 거치면 receptive field는 (3-1)x2x3+1 = 7
- 따라서 3개의 3x3 Conv Layer의 receptive field는 7x7
- 1개의 7x7 Conv Layer의 Receptive Field
- 7x7 Conv Layer를 한 번 거치면 receptive field는 7x7이 됩니다.
- 비교
- 3개의 3x3 Conv Layer와 1개의 7x7 Conv Layer 모두 출력 feature map의 한 픽셀이 입력 이미지의 7x7 영역을 커버하게 됩니다.
- 즉, 두 경우 모두 receptive field가 7x7로 동일합니다.
이처럼 여러 개의 작은 크기 Conv Layer를 쌓는 것과 한 개의 큰 크기 Conv Layer를 사용하는 것이 동일한 receptive field를 가질 수 있습니다. 하지만 VGGNet에서는 3x3 Conv Layer를 여러 개 쌓는 것이 파라미터 수를 줄이면서도 더 깊은 네트워크를 구성할 수 있어 선호되었습니다.
AlexNet: CNN 모델의 시초. 여러개의 구조를 가진 CNN
AlexNet의 구조
입력으로 24243 크기의 피처맵
1개 필터당: 11113개의 파라미터 + 1개의 bias
위 연산을 총 96번 반복 → 첫 레이어에서 벌써 약 3.5만개의 파라미터
- Conv Layer: 원하는 수 만큼의 필터를 사용하여 원하는 수 만큼의 채널을 출력할 수 있음
- Pooling Layer: 각 채널별로 독립적인 풀링연산 적용 → 입력채널의 수 = 출력채널의 수
- 학습가능한 파라미터: 0개
- Normalization: 여러 값들을 일정한 범위 내에 고정
- Lateral Inhibition현상(강하게 활성화된 뉴런이 다른 뉴런의 값을 억제하는 현상)으로 인해 normalization 필요(강하게 활성화된 뉴런의 값과 주변 뉴런들과의 값 차이를 줄이기 위함)
- Local Response Normalization(LRN): 강하게 활성화된 뉴런의 값을 감소시킴 → 특정 뉴런만 활성화되는 것을 막음
AlexNet의 학습
- Overfitting 방지 기법
- Data Augmentation(데이터 변형): 학습데이터의 다양성 향상
- Dropout
VGG: Smaller Filters, Deeper Networks
VGG의 구조
- AlexNet: 11*11 과 같은 큰 필터를 초반에 많이 사용
- VGG: 3*3의 작은 크기의 필터를 가지는 Conv Layer를 여러개 쌓음
- 33 Conv 3개와 77 Conv 1개의 receptive filed가 동일(??)
- 연산에 참조한 입력의 대응이 같다(???)
- 하지만 3개의 3*3 Conv의 경우가 파라미터수가 더 적다
- AlexNet: 큰 커널 크기와 스트라이드를 사용하여 receptive field를 증가
- VGG: 여러 개의 작은 커널 크기를 사용하여 receptive field를 점진적으로 증가
- Receptive Field(수용 영역)란?
- CNN에서 입력 이미지의 한 픽셀이 출력 feature map의 한 픽셀에 영향을 미치는 영역을 의미. 각 층에서 볼 수 있는 입력 이미지의 영역
- 즉, 입력 이미지에서 출력 feature map의 한 픽셀이 볼 수 있는 영역의 크기
- 3x3 크기의 필터를 사용하는 CNN층은 3x3 크기의 입력 이미지 영역만을 보고 출력을 생성
- 3개의 3x3 Conv Layer의 Receptive Field
- 3x3 Conv Layer를 한 번 거칠 때마다 receptive field는 2픽셀씩 증가
- 3개의 3x3 Conv Layer를 거치면 receptive field는 (3-1)x2x3+1 = 7
- 따라서 3개의 3x3 Conv Layer의 receptive field는 7x7
- 1개의 7x7 Conv Layer의 Receptive Field
- 7x7 Conv Layer를 한 번 거치면 receptive field는 7x7이 됩니다.
- 비교
- 3개의 3x3 Conv Layer와 1개의 7x7 Conv Layer 모두 출력 feature map의 한 픽셀이 입력 이미지의 7x7 영역을 커버하게 됩니다.
- 즉, 두 경우 모두 receptive field가 7x7로 동일합니다.
이처럼 여러 개의 작은 크기 Conv Layer를 쌓는 것과 한 개의 큰 크기 Conv Layer를 사용하는 것이 동일한 receptive field를 가질 수 있습니다. 하지만 VGGNet에서는 3x3 Conv Layer를 여러 개 쌓는 것이 파라미터 수를 줄이면서도 더 깊은 네트워크를 구성할 수 있어 선호되었습니다.
AlexNet: CNN 모델의 시초. 여러개의 구조를 가진 CNN
AlexNet의 구조
입력으로 24243 크기의 피처맵
1개 필터당: 11113개의 파라미터 + 1개의 bias
위 연산을 총 96번 반복 → 첫 레이어에서 벌써 약 3.5만개의 파라미터
- Conv Layer: 원하는 수 만큼의 필터를 사용하여 원하는 수 만큼의 채널을 출력할 수 있음
- Pooling Layer: 각 채널별로 독립적인 풀링연산 적용 → 입력채널의 수 = 출력채널의 수
- 학습가능한 파라미터: 0개
- Normalization: 여러 값들을 일정한 범위 내에 고정
- Lateral Inhibition현상(강하게 활성화된 뉴런이 다른 뉴런의 값을 억제하는 현상)으로 인해 normalization 필요(강하게 활성화된 뉴런의 값과 주변 뉴런들과의 값 차이를 줄이기 위함)
- Local Response Normalization(LRN): 강하게 활성화된 뉴런의 값을 감소시킴 → 특정 뉴런만 활성화되는 것을 막음
AlexNet의 학습
- Overfitting 방지 기법
- Data Augmentation(데이터 변형): 학습데이터의 다양성 향상
- Dropout
VGG: Smaller Filters, Deeper Networks
VGG의 구조
- AlexNet: 11*11 과 같은 큰 필터를 초반에 많이 사용
- VGG: 3*3의 작은 크기의 필터를 가지는 Conv Layer를 여러개 쌓음
- 33 Conv 3개와 77 Conv 1개의 receptive filed가 동일(??)
- 연산에 참조한 입력의 대응이 같다(???)
- 하지만 3개의 3*3 Conv의 경우가 파라미터수가 더 적다
- AlexNet: 큰 커널 크기와 스트라이드를 사용하여 receptive field를 증가
- VGG: 여러 개의 작은 커널 크기를 사용하여 receptive field를 점진적으로 증가
- Receptive Field(수용 영역)란?
- CNN에서 입력 이미지의 한 픽셀이 출력 feature map의 한 픽셀에 영향을 미치는 영역을 의미. 각 층에서 볼 수 있는 입력 이미지의 영역
- 즉, 입력 이미지에서 출력 feature map의 한 픽셀이 볼 수 있는 영역의 크기
- 3x3 크기의 필터를 사용하는 CNN층은 3x3 크기의 입력 이미지 영역만을 보고 출력을 생성
- 3개의 3x3 Conv Layer의 Receptive Field
- 3x3 Conv Layer를 한 번 거칠 때마다 receptive field는 2픽셀씩 증가
- 3개의 3x3 Conv Layer를 거치면 receptive field는 (3-1)x2x3+1 = 7
- 따라서 3개의 3x3 Conv Layer의 receptive field는 7x7
- 1개의 7x7 Conv Layer의 Receptive Field
- 7x7 Conv Layer를 한 번 거치면 receptive field는 7x7이 됩니다.
- 비교
- 3개의 3x3 Conv Layer와 1개의 7x7 Conv Layer 모두 출력 feature map의 한 픽셀이 입력 이미지의 7x7 영역을 커버하게 됩니다.
- 즉, 두 경우 모두 receptive field가 7x7로 동일합니다.
이처럼 여러 개의 작은 크기 Conv Layer를 쌓는 것과 한 개의 큰 크기 Conv Layer를 사용하는 것이 동일한 receptive field를 가질 수 있습니다. 하지만 VGGNet에서는 3x3 Conv Layer를 여러 개 쌓는 것이 파라미터 수를 줄이면서도 더 깊은 네트워크를 구성할 수 있어 선호되었습니다.
'AI' 카테고리의 다른 글
NLP 경진대회: 한국어 대화 요약 task (0) | 2024.05.30 |
---|---|
Computer Vision 경진대회 (0) | 2024.04.26 |
2024 AI Stages : ML Competition_House Price Prediction (0) | 2024.04.03 |
(2024-03-14) Hydra (1) | 2024.03.14 |
(2024-03-14) Pytorch Lightning (0) | 2024.03.14 |