[python] 파이썬 PyTorch에서 L1, L2 규제를 적용하는 방법은?

L1 규제를 적용하는 방법은 다음과 같습니다.

import torch
import torch.nn as nn

# 모델 정의
model = nn.Linear(10, 1)

# L1 규제를 위한 하이퍼파라미터
l1_lambda = 0.01

# Optimizer 및 L1 규제 적용
optimizer = torch.optim.Adam(model.parameters(), lr=0.001, weight_decay=l1_lambda)

L2 규제를 적용하는 방법은 다음과 같습니다.

import torch
import torch.nn as nn

# 모델 정의
model = nn.Linear(10, 1)

# L2 규제를 위한 하이퍼파라미터
l2_lambda = 0.01

# Optimizer 및 L2 규제 적용
optimizer = torch.optim.Adam(model.parameters(), lr=0.001, weight_decay=l2_lambda)

위의 코드에서 weight_decay 매개변수를 사용하여 L1 및 L2 규제를 적용할 수 있습니다. weight_decay 값이 작을수록 규제 효과가 적용됩니다.

참고로, L1 및 L2 규제는 모델의 가중치에만 적용되며, 편향(bias)에는 적용되지 않습니다.

자세한 내용은 PyTorch의 문서를 참조하시기 바랍니다: