Yolo 비전 선전
선전
지금 참여하기
용어집

드롭아웃 레이어

Learn how to use a [dropout layer](https://www.ultralytics.com/glossary/dropout-layer) to prevent overfitting. Discover how to train [YOLO26](https://docs.ultralytics.com/models/yolo26/) for more robust AI models.

드롭아웃 레이어는 신경망(NN) 에서 과적합이라는 만연한 문제를 해결하기 위해 사용되는 기본적인 정규화 기법이다. 유한한 예제 집합으로 모델을 훈련할 때, 모델은 근본적인 일반적 패턴을 식별하기보다 훈련 데이터의 잡음과 세부 사항을 암기하는 경향이 있습니다. 이러한 암기는 개발 단계에서는 높은 정확도를 보이지만, 새로운 미확인 입력에 대해서는 성능이 저하됩니다. 드롭아웃은 훈련 과정의 각 단계에서 레이어 내 뉴런의 일부를 무작위로 비활성화하거나 "드롭아웃(제외)"함으로써 이 문제를 해결합니다. Srivastava 등의 선구적인 연구 논문에서 소개된 이 단순하면서도 효과적인 전략은 딥러닝(DL) 아키텍처의 안정성과 성능을 크게 향상시켰습니다.

드롭아웃 레이어의 작동 방식

The mechanism behind a dropout layer is intuitively similar to removing players from a sports team during practice to force the remaining players to work harder and not rely on a single star athlete. During the model training phase, the layer generates a probabilistic mask of zeros and ones. If the dropout rate is set to 0.5, approximately 50% of the neurons are temporarily ignored during that specific forward and backward pass. This process forces the remaining active neurons to learn robust features independently, preventing the network from relying too heavily on any single neuron—a phenomenon known in machine learning (ML) as feature co-adaptation.

실시간 추론 또는 테스트 단계에서는 드롭아웃 레이어가 일반적으로 비활성화됩니다. 훈련된 모델의 전체 예측 능력을 활용하기 위해 모든 뉴런이 활성화된 상태로 유지됩니다. 총 활성화 값이 훈련 단계와 일관성을 유지하도록 하기 위해 프레임워크에서 가중치를 자동으로 스케일링하는 경우가 많습니다. PyTorch 와 같은 현대적인 라이브러리는 이러한 수학적 스케일링 작업을 원활하게 처리하여 개발자가 산술 연산보다는 아키텍처 설계에 집중할 수 있도록 합니다.

YOLO 활용한 실용적 구현

다음 사용자의 경우 ultralytics 패키지, 최첨단 모델에 드롭아웃 적용하기 YOLO26 is as simple as adjusting a training argument. This is particularly useful when working with smaller datasets where the risk of overfitting is higher. By introducing randomness, you can encourage the model to generalize better across diverse environments.

from ultralytics import YOLO

# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")

# Train the model with a custom dropout rate of 0.1 (10%)
# This encourages the model to learn more generalized features
results = model.train(data="coco8.yaml", epochs=50, dropout=0.1)

실제 애플리케이션

드롭아웃은 사용 가능한 데이터에 비해 모델이 다량의 매개변수를 활용하는 인공지능(AI) 의 다양한 영역에서 필수적인 기법이다.

  1. 자율주행 시스템: 차량용 물체 감지와 같은 작업에서 비전 모델은 다양한 기상 조건에서도 안정적으로 작동해야 합니다. 규칙화 없이 훈련된 모델은 훈련 세트의 맑은 날 특정 조명 조건을 암기할 수 있습니다. 드롭아웃을 적용함으로써 자동차 AI 개발자들은 네트워크가 배경 텍스처보다 보행자나 정지 표지판 같은 핵심 형태에 집중하도록 하여 비나 안개 속에서도 안전성을 향상시킵니다.
  2. 의료 진단: 의료 영상 분석을 수행할 때 데이터셋 수집은 비용이 많이 들고 규모가 제한적입니다. 딥러닝 네트워크는 데이터 수집에 사용된 X선 장비의 특정 노이즈 아티팩트를 기반으로 질병을 식별하도록 우연히 학습할 수 있습니다. 드롭아웃은 학습 과정에 노이즈를 추가하여 이를 방지함으로써 모델이 장비 특유의 신호가 아닌 병리의 생물학적 특징을 식별하도록 보장합니다. 이는 의료 AI에 있어 매우 중요합니다.

Dropout vs. Other Regularization Techniques

While dropout is highly effective, it is often used alongside other techniques. It is distinct from data augmentation, which modifies the input images (e.g., flipping or rotating) rather than the network architecture itself. Similarly, it differs from batch normalization, which normalizes layer inputs to stabilize learning but does not explicitly deactivate neurons.

For complex projects, managing these hyperparameters can be challenging. The Ultralytics Platform simplifies this by providing tools to visualize training metrics, helping users determine if their dropout rates are effectively reducing validation loss. Whether you are building a custom image classification system or a sophisticated segmentation pipeline, understanding dropout is key to building resilient AI systems.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기