Problem Solving with Algorithms

728x90
반응형

[AI 인공지능 머신러닝 딥러닝] - 이지 딥러닝 - 혁펜하임 | Easy! 딥러닝 - 무료 강의 및 책 소개

 

이지 딥러닝 - 혁펜하임 | Easy! 딥러닝 - 무료 강의 및 책 소개

한국어로 딥러닝 공부해봤다는 사람중에 안들어 본 사람이 없을것 같은 이지 딥러닝 시리즈 입니다. 이 강의는 유투브로 제공되며 책도 있습니다. 이지 딥러닝 유투브 강의이지 딥러닝 유투브

inner-game.tistory.com

 

인공신경망을 좀 더 효율적으로 만들어 내기 위해 깊게 만들면 된다. 노드 개수도 많이 많이 쓰자. -> 안됨

 

 

[Easy! 딥러닝] 8-1강. Vanishing Gradient (기울기 소실) 와 ReLU [[ 실험 영상 포함! ]]

이 강의의 핵심은 “깊은 네트워크에서 시그모이드를 쓰면 앞쪽 층의 기울기가 거의 0이 되어 학습이 멈추는 기울기 소실(Vanishing Gradient) 문제가 생기고, ReLU 계열 활성함수는 이 문제를 상당 부분 완화한다”는 점입니다.

로스가 꼬불꼬불 해지는 문제

 

왜 기울기가 사라지는가? (시그모이드의 문제)

역전파에서 각 층의 기울기는 “이전 층 기울기 × 활성함수 도함수 × 가중치”가 연속으로 곱해지는 형태입니다. 시그모이드나 tanh의 도함수는 최대값이 1 이하(시그모이드의 경우 대략 0.25 근처)이고, 대부분의 구간에서 훨씬 더 작기 때문에, 층이 깊어질수록 이 작은 값들이 반복 곱해져 앞쪽 층의 기울기는 거의 0에 수렴합니다.​​

 

편미분은 그냥 0이 된다.

 

 

앞쪽은 업데이트가 안일어나니까 문제가 생긴다. 파란것만 조금 업데이트 된다.

 

 

 

변화량이 작다. 로스는 거의 안변한다. 연두색엔 곱하기가 세번이나 일어나서..

 

 

영상에서는 이를 “사원–부장–임원 / 재료 손질–요리–플레이팅” 비유로 설명합니다. 출력층(임원/플레이팅)은 로스에 가깝기 때문에 업데이트가 잘 되지만, 입력과 가까운 초기 층(사원/재료 손질)은 기울기가 너무 작아서 거의 성장(업데이트)을 못 합니다. 앞단이 엉망인 상태로 고정되어 버리면, 뒷단이 아무리 열심히 학습해도 이미 망가진 입력을 복구하지 못해 전체 성능이 언더피팅 상태에 머무르게 됩니다.​​

이연복이 와도 해결안됨

 

 

 

 

 

 

 

 

ReLU가 어떻게 도와주는가?

ReLU f ( x ) = max ⁡ ( 0 , x ) f(x)=max(0,x)는 양수 구간에서 도함수가 1, 음수 구간에서 0입니다. 그래서 양수 영역을 통과하는 경로에 대해서는 활성함수 미분이 1로 유지되어, 적어도 “작은 값의 반복 곱셈” 때문에 기울기가 줄어들지는 않습니다.​​

 

물론 ReLU는 음수 영역에서 기울기가 0이라 “죽은 ReLU(dying ReLU)” 문제가 생길 수 있지만,

 

- 노드를 충분히 많이 두고

- 여러 경로(패스)의 기울기를 합치는 구조를 사용하면 죽는 경로는 버리고 살아 있는 경로를 통해 충분한 기울기를 확보할 수 있다는 직관을 영상에서 제시합니다.​​

 

Leaky ReLU, PReLU 등은 음수 구간 기울기를 약간 살려 두어 완전한 “0”이 되는 것을 방지하는 변형들입니다. 다만, 모든 층을 리니어로 바꿔버리면 기울기 소실은 사라지지만 전체 네트워크가 순수 선형 변환이 되어 비선형 함수를 표현할 수 없으므로, ReLU처럼 “비선형성은 유지하면서도 기울기 소실을 완화하는” 활성함수가 필수라는 점을 강조합니다.​​

직선으로 하면 넌리니얼리티가 포기된다.

실험으로 본 시그모이드 vs ReLU

강의에서는 동일한 깊은 CNN 구조에 대해

- 한 번은 모든 은닉층에 시그모이드를,

- 또 한 번은 ReLU를 사용해

MNIST나 CIFAR-10 같은 이미지 분류 실험을 수행합니다.​​

 

위에거가 나을거라고 생각할수있지만 조건에 따라 아래 시그모이드가 나을수도 있다 무조건 렐루가 나은것은 아니다

 

- 시그모이드 사용 시: 앞단 컨볼루션 층들의 기울기 평균이 거의 0에 머물며, 정확도는 거의 무작위 수준(10 클래스에서 약 10%)에 머뭅니다.​​

- ReLU 사용 시: 모든 층에서 기울기가 건강하게 유지되고, 정확도는 90%대까지 상승해 “실제로도 기울기 소실이 크게 줄어든다”는 것을 확인합니다.​​

 

요약하면, 깊은 네트워크에서 학습을 제대로 진행하려면 활성함수 선택이 매우 중요하며, 시그모이드 대신 ReLU 계열 + 적절한 초기화/정규화 기법을 사용하는 것이 현대 딥러닝의 기본 패턴임을 보여주는 강의입니다.

 

렐루: 여섯개 패스가 다 더해지니까, 사는건 쓰고 죽는건 버린다.
시그모이드는 여섯개 패스가 다 같이 죽는다. 티끌모아 티끌이라서..
렐루는 잘된다
시그모이드는 이렇게 됐다.
액티베이션을 렐루로 바꿔라!

 

 

 

[Easy! 딥러닝] 8-2강. 이 영상 하나로 끝내세요! | 배치 정규화 & 레이어 정규화 (Batch Normalization & Layer Normalization)

이 강의의 핵심은 “배치 정규화(Batch Normalization)와 레이어 정규화(Layer Normalization)는 각 층의 들값(activation)을 ‘어디에, 얼마나 세게 뿌릴지’를 학습하면서 비선형성은 유지하고, 기울기 소실과 불안정한 학습을 완화해 주는 장치”라는 점입니다.

다섯개의 들값이 생긴다.

 

시그모이드는 빨강 넌리니얼 파랑 리니어 // 그래서 가운데 몰리면 파랑-리니어에 몰릴수도있다.

 

배치 정규화: 배치 방향으로 재배치

강의에서는 한 노드에 대해 배치 사이즈 5라면 들값이 5개 나온다고 보고, 이 값들을 “재배치”한다는 관점으로 설명합니다.​ 먼저 배치 내 평균과 분산으로 표준화하여 평균 0, 분산 1로 만든 뒤, 여기에 학습 가능한 스케일 a(감마, γ)와 시프트 b(베타, β)를 곱하고 더해

 

형태로 “어디에(평균), 얼마나 퍼지게(분산)” 뿌릴지까지 학습합니다. 이때 γ,β는 다른 가중치와 함께 역전파로 학습되며, 적절한 비선형성과 기울기 크기를 자동으로 맞추게 됩니다.​​

 

학습 시에는 매 배치에서 평균·분산을 새로 계산하지만, 테스트 시에는 학습 동안 추적한 이동 평균 통계(running mean/var)를 사용해 배치 크기 1인 경우에도 안정적으로 동작하도록 합니다. 배치 크기에 따라 통계가 달라지는 것이 단점이라, 너무 작은 배치에서는 성능이 불안정해질 수 있습니다.

분산은 1

배치 정규화가 기울기에 주는 효과

시그모이드처럼 양 끝에서 도함수가 거의 0이 되는 활성함수에서는 들값이 왼쪽/오른쪽으로 치우치면 기울기가 급격히 작아져 깊은 층에서 학습이 멈춥니다. 배치 정규화는 들값을 “적당한 영역”으로 끌어와 활성함수의 도함수가 충분히 큰 구간에 머물도록 도와주기 때문에, 기울기 소실과 폭발을 어느 정도 완화하고, 학습 초기화에 덜 민감한 네트워크를 만들어 줍니다.

강의 실험에서도 같은 CNN 구조에 대해 BN 미적용 시에는 중간 표현이 허옇게 날아가고 정확도도 거의 10% 수준에 머무는 반면, BN 적용 시에는 각 층에서 의미 있는 특징 맵이 형성되고 정확도 역시 크게 향상되는 모습을 보여 줍니다. 이는 “어디에, 얼마나 세게 뿌릴지”를 학습하는 것만으로도 시그모이드 사용 환경에서 기울기 소실이 상당 부분 완화될 수 있다는 사례입니다.​​

 

어디에 얼마나 쎄게 뿌릴지
들값이 들어오면 각 배치에 대해서 오른쪽 파란 동그라미인 평균과 분산을 구해서,
아래거가 성능이 좋다. 시그모이드를 썼음에도 불구하고

 

 

 

 

레이어 정규화: 레이어 방향으로 정규화

레이어 정규화(LayerNorm)는 수식은 비슷하지만 축이 다릅니다.​

 

- 배치 정규화: 한 노드에 대해 “배치 축”으로 평균·분산을 계산 (여러 샘플의 같은 노드 값만 본다).

- 레이어 정규화: 한 샘플에 대해 “특징/레이어 축”으로 평균·분산을 계산 (그 샘플의 모든 노드 값에 대해 통계 계산).​​

 

 

 

그래서 LayerNorm은 배치 크기에 의존하지 않고, 매 샘플마다 독립적으로 정규화가 이루어집니다. 이 특성 때문에 배치 크기가 들쭉날쭉하거나 패딩 토큰이 많이 섞이는 자연어 처리·시퀀스 모델(Transformer, RNN 등)에서 주로 사용됩니다.​​

 

 

 

 

 

 

정리: 언제 무엇을 쓰는가

강의에서는 마지막에 “ReLU + (BatchNorm 또는 LayerNorm)”이 현대 딥러닝에서 기울기 소실을 줄이고 학습을 안정화하는 대표적인 조합이라고 정리합니다.​​

 

- CNN·이미지, 큰 고정 배치: BatchNorm 선호

- RNN·Transformer, 작은/가변 배치, 패딩 많은 입력: LayerNorm 선호​​

 

보라색, 임베딩 차원쪽으로

 

픽셀마다 하는 방식도 있긴 잇다.

 

두 방법 모두 “각 층이 어느 정도의 비선형성과 기울기 크기를 가질지”를 네트워크가 직접 학습하게 해 줌으로써, 깊은 네트워크에서도 빠르고 안정적인 최적화를 가능하게 해 주는 핵심 도구로 쓰입니다.​​

 

 

 

 

 

 

 

[Easy! 딥러닝] 8-3강. Loss Landscape이 꼬불꼬불 해진다?! [[ 실험 영상 포함! ]]

이 영상의 핵심은 “ReLU + BatchNorm으로 기울기 소실은 꽤 잡더라도, 너무 깊어지면 로스 랜드스케이프(loss landscape)가 심하게 꼬불꼬불해져서 오히려 언더피팅이 생기고, 스킵 커넥션(skip connection)이 이런 지형을 훨씬 평평하게(‘펴지게’) 만들어 준다”는 점입니다.

 

 

ReLU·BN 이후에도 남는 문제: 꼬불꼬불한 Loss

이전 강의에서 ReLU와 배치 정규화로 기울기 소실 문제를 상당 부분 해결했지만, 영상에서는 깊이 20층 네트워크와 56층 네트워크를 비교했을 때 둘 다 ReLU+BatchNorm을 쓰고 있음에도 56층 모델의 train/test 에러가 더 높아지는 “언더피팅” 현상이 발생한다고 설명합니다.​ 이는 오버피팅(학습 오차 ↓, 테스트 오차 ↑)이 아니라, 애초에 학습 오차도 제대로 못 줄이는 상황이라 “모델이 너무 복잡해서라기보다, 최적화가 잘 안 되는 문제”에 더 가깝다고 해석합니다.​​

이유로 제시하는 것이 바로 로스 랜드스케이프의 복잡도입니다. 층을 계속 깊게 쌓으면 손실 함수가 매끄러운 볼(bowl) 모양이 아니라 골짜기·봉우리·좁은 계곡이 매우 많은 고차원 지형이 되어, 경사하강이 좋은 지역 최소점에 도달하기 어렵다는 것이죠.​

 

 

 

스킵 커넥션이 하는 일

영상에서는 ResNet 스타일의 skip connection(= residual connection)을 넣으면 동일한 깊이에서도 loss landscape가 훨씬 완만하고 “펴진” 모양으로 바뀐다는 점을 언급합니다.​​

 

- 일반 깊은 네트워크: 층이 늘수록 지형이 ‘chaotic’해지고, 로컬 미니마·협곡이 많아져 최적화가 어렵습니다.​

- 스킵 커넥션을 가진 네트워크(ResNet, DenseNet 등): 입력을 다음 블록의 출력에 더해 주면서, 네트워크가 “입력을 기준으로 작은 보정(residual)만 학습”하도록 만들어 손실 지형이 훨씬 더 매끄럽고 거의 볼 모양에 가깝게 변합니다.​

 

실험적으로도 스킵이 없는 56층/110층 CNN은 CIFAR-10 같은 데이터셋에서 학습이 잘 안 되지만, 동일 깊이에 residual block을 추가하면 안정적으로 학습이 가능하고, 손실 표면을 시각화했을 때도 훨씬 평평하고 극단적인 로컬 미니마가 줄어든 것이 관찰된다는 결과들이 있습니다.​

 

 

 

요약: 깊은 네트워크 설계 관점

이 강의가 전달하는 메시지는 다음과 같습니다.​​

- ReLU + BatchNorm만으로는 “기울기 크기” 문제는 많이 완화되지만,

- 매우 깊은 네트워크에서는 손실 지형이 지나치게 비선형·비볼록해져 언더피팅이 발생할 수 있습니다.

- Skip connection은 정보·기울기가 통과할 수 있는 “직통 경로”를 만들어 주고, 네트워크가 “항등함수 + 작은 보정”을 학습하도록 유도해 loss landscape를 더 단순하고 최적화하기 쉬운 형태로 바꿉니다.

그래서 현대 딥러닝에서는 깊이를 늘릴 때 단순히 레이어를 쌓기보다, 거의 항상 스킵 커넥션(ResNet류)을 함께 사용하는 것이 사실상 표준 설계가 되었다는 점을 강조하는 영상입니다.​

 

 

[Easy! 딥러닝] 8-4강. 과적합(overfitting)과 데이터 증강(data augmentation)

이 영상의 핵심은 “과적합(overfitting)의 정의를 트레인/테스트 에러 관점에서 잡고, 특히 데이터가 적은 상황에서 데이터 증강(data augmentation)이 어떻게 과적합을 줄이는지”를 예시로 보여 주는 것입니다.​​

 

 

 

과적합의 정의와 원인

과적합은 모델이 학습 데이터의 패턴뿐 아니라 노이즈까지 외워서,

- 학습 데이터에서는 에러가 매우 작고

- 새로운 테스트 데이터에서는 에러가 상대적으로 크게 나오는 상태를 말합니다.​​

 

 

영상에서는 단순한 모델(초록색 곡선)과 복잡한 신경망(파란색 곡선)을 비교하면서, 복잡한 모델이 train 데이터는 완벽에 가깝게 맞추지만 test 데이터에서는 오히려 단순 모델보다 에러가 커지는 상황을 과적합으로 설명합니다. 원인으로는​​

- 문제에 비해 지나치게 복잡한 모델 구조

- 데이터가 너무 적을 때 (이 경우 모델을 단순하게 줄여도 한계가 있음)

 

두 가지를 특히 강조합니다.​​

된다.

 

 

 

 

 

 

 

데이터가 적을 때 왜 더 위험한가

데이터가 적으면, 어떤 모델이건 “진짜 패턴”과 “우연한 샘플링 노이즈”를 구분하기가 어려워집니다. 이때 복잡한 네트워크를 쓰면 소수의 점들을 거의 완벽히 통과하는 비현실적인 곡선을 학습하기 쉬워, 보지 못한 구간에서 예측이 크게 흔들리게 됩니다.​​

모델을 단순하게 바꾸면 과적합은 줄어들 수 있지만, 데이터 자체가 너무 부족하면 단순 모델조차도 일반화가 어렵다는 점도 언급합니다. 결국 “데이터를 더 모으는 것이 가장 좋은 해결책이지만, 현실적으로 힘들 때 대안으로 데이터 증강을 쓴다”는 흐름으로 이어집니다.​​

 

 

 

 

데이터 증강의 아이디어

데이터 증강은 기존 데이터에 의미 보존 변환을 가해 “가상의 새로운 샘플”을 만드는 방식입니다.​​

예를 들어 강아지/고양이 이미지 분류에서

- 회전(rotate)

- 일부 자르기(crop)

- 좌우 뒤집기(flip) 등

을 해도 “강아지는 여전히 강아지, 고양이는 여전히 고양이”이므로, 변환된 이미지에도 같은 레이블을 부여해 학습에 사용합니다. 이렇게 하면 실제로는 한 장의 이미지만 있어도 여러 장이 있는 것처럼 모델이 다양한 시각에서 패턴을 보게 되어, 특정 픽셀 배치에만 과도하게 맞추는 현상을 줄일 수 있습니다.​​

 

 

영상에서는 의료 영상에서의 고급 증강 기법도 간단히 언급합니다.

- 그리드 왜곡(grid distortion)

- 엘라스틱 변형(elastic transform) 등은 세포, 종양처럼 모양이 유연한 대상의 위치·형태 변화에 모델이 더 강인해지도록 도와줍니다.

 

 

 

 

언제 어떻게 써야 하는가

정리하면 과적합 완화를 위해서는 다음 두 가지 축이 중요합니다.​​

 

- 모델 측면: 필요 이상 복잡한 구조를 피하고, 드롭아웃(dropout)·정규화 같은 추가 기법을 병행

- 데이터 측면:

-- 가능하면 진짜 데이터를 더 모으고

-- 어려울 경우 문제 의미를 보존하는 선에서 회전, 크롭, 왜곡 등 적절한 증강을 설계

 

영상에서는 이 중 데이터 증강이 “적은 데이터 환경에서도 과적합을 줄이고 일반화 성능을 높이는 실용적인 핵심 도구”임을, 조회수–수익 예시와 이미지/의료 도메인 사례를 통해 직관적으로 보여주고 있습니다.

 

핵심 포인트는 다음 두 가지입니다.​​

- 문제의 의미를 보존하는 변환만 사용해야 합니다. 예를 들어, 숫자 인식에서 6을 180도 회전하면 9가 될 수 있으므로, 무조건 회전을 넣으면 안 될 수 있습니다.

- 증강으로 만든 데이터는 진짜 추가 수집만큼 다양하지는 않지만, “안 하는 것보다는 훨씬 낫고” 특히 데이터가 적은 비전·의료 도메인에서 과적합을 줄이는 매우 실용적인 방법입니다.

 

영상 마지막에서 이어지는 내용은, 데이터 증강과 함께 드롭아웃(dropout), 정규화(regularization), 적절한 모델 규모 선택 등을 조합해 과적합을 더 줄일 수 있다는 방향으로 연결됩니다.​​

 

 

 

[Easy! 딥러닝] 8-5강. 당신이 몰랐던 Dropout에 대한 진실 [[ 비교 실험 포함! ]]

이 강의의 핵심은 “드롭아웃(dropout)은 학습할 때 노드를 랜덤하게 꺼서 여러 ‘부분 네트워크’를 동시에 학습시키는 정규화 기법이고, 코어댑테이션(co-adaptation)을 줄여 각 노드가 의미 있는 특징을 담당하도록 만들어 과적합을 줄인다”는 점입니다.​​

 

 

 

 

드롭아웃의 동작 방식

드롭아웃을 적용할 레이어를 정한 뒤, 각 노드에 대해 “살릴 확률(keep probability, 예: 0.5)”을 부여합니다.​​

 

- 학습 시: 미니배치의 각 샘플에 대해 동전 던지듯 랜덤 마스크를 생성해 일부 노드는 0으로 “탈락”시키고, 남은 노드만으로 순전파·역전파를 수행합니다. 이렇게 매 스텝마다 다른 서브네트워크를 학습하는 효과가 있어, 많은 수의 서로 다른 네트워크를 앙상블 하는 것과 유사한 정규화 효과가 생깁니다.​​

 

- 테스트 시: 모든 노드를 활성화하되, 학습 때의 기대 출력과 맞추기 위해 레이어 출력에 keep probability p p를 곱하거나(원래 논문 방식), 반대로 학습 단계에서 1 / p 1/p를 곱하는 “inverted dropout”을 사용해 테스트 때는 스케일링 없이 사용합니다.​​

영상의 비유처럼, 학습 때는 몇 명이 연차를 써도 일이 돌아가도록 훈련시키고, 테스트(실전) 때는 전원이 출근해 최대 성능을 내는 회사 구조라고 보면 됩니다.​

 

 

 

코어댑테이션을 막고 의미 있는 특징 학습

드롭아웃의 이론적 목적은 “코어댑테이션(co-adaptation) 방지”입니다.​​

 

- 드롭아웃이 없으면 여러 노드가 서로 강하게 의존하면서 “같이 있어야만 의미가 있는” 복잡한 조합 특징을 학습하기 쉽습니다. 이 경우 일부 노드가 테스트 시 새로운 패턴에 잘 맞지 않으면 전체 예측이 쉽게 무너집니다.​​

- 드롭아웃을 쓰면 학습 시 매번 어떤 노드가 빠질지 모르기 때문에, 각 노드는 “다른 애 몇 명이 빠져도 자기 역할을 할 수 있는” 비교적 독립적인 특징을 학습하려고 합니다.​​

 

강의에서 오토인코더 실험으로 이를 시각화합니다. 28×28 이미지 입력–256 노드–28×28 출력 구조의 오토인코더를 학습시킨 뒤, 인코더의 각 노드에 연결된 가중치 맵(weight map)을 그림으로 나타내 보면:

- 드롭아웃 없음: 많은 노드의 가중치 패턴이 서로 비슷하고, “어디를 보는 노드인지”가 불명확합니다.​​

- 드롭아웃 사용: 일부 실패한 노드를 제외하면, 각 노드가 이미지의 특정 영역이나 획을 집중해서 보는 등 개성 있는 필터처럼 변해, “각 노드가 서로 다른 의미 있는 특징을 담당하고 있다”는 것이 눈으로 드러납니다.​​

 

자기 자신이 들어온대로 나간다고해서

 

이런 식으로 드롭아웃은 네트워크가 보다 해석 가능한, 일반화 잘 되는 특징들을 학습하도록 유도하며, 과적합을 줄이는 대표적인 정규화 기법으로 널리 사용됩니다.

 

 

 

 

 

 

[Easy! 딥러닝] 8-6강. 정규화(L1, L2-Regularization)와 MAP(Maximum A Posteriori) [[ 실험 영상 포함! ]]

이 강의의 핵심은 “L1/L2 정규화는 ‘웨이트가 너무 커지는 걸 벌점으로 막아서’ 모델 복잡도를 줄이고 오버피팅을 완화하는 방법이고, 수학적으로는 MLE에 ‘가우시안/라플라스 prior’를 곱해 MAP 추정을 하는 것과 동치”라는 점입니다.​​

 

L1/L2 정규화 직관

강의에서는 정규화를 “쓸데없이 큰 웨이트를 망치로 두들겨 줄이는 과정”으로 설명합니다.​

 

- 기존 손실 L(w)에 웨이트 크기 항을 더해

꼴로 최적화합니다.​​

 

- λ>0가 클수록 “웨이트가 크면 큰 벌점”이 붙어, 학습이 데이터 적합 vs 단순한 모델 사이에서 타협하도록 만듭니다.​

 

웨이트가 커질수록 함수가 더 “꼬불꼬불”해지고, 이는 트레이닝 데이터에 과도하게 맞춘 복잡한 결정경계로 이어져 오버피팅 위험이 커집니다. 정규화로 큰 웨이트를 줄이면 함수가 평탄해지고 일반화가 좋아지는 그림을 실험으로도 보여 줍니다.​​

 

 

L2 vs L1: 때리는 방식의 차이

벡터 w=(w 1 ,…,w d )에 대해

- L2 패널티:

 

- L1 패널티:

 

 

강의에서 말하듯, L2는

- 기울기가 2λw j 라서 ∣ ∣w j ∣가 클수록 더 세게 0쪽으로 끌어당기고, 작은 웨이트는 살살 때립니다.​​

- 그래서 웨이트를 “매끄럽게 작게” 만들지만, 대부분 0은 되지 않고 작게 남습니다.

 

반면 L1은

- 기울기가 ±λ (부호만 보고 크기는 상수)이므로 큰 놈, 작은 놈을 똑같은 힘으로 0 쪽으로 밀어붙입니다.

- ​ 그 결과 작은 웨이트는 완전히 0으로 더 빨리 떨어져 sparsity(연결 끊기) 를 유도하는 경향이 있습니다.​

 

영상 실험에서도 L2는 큰 웨이트를 빠르게 줄이고, L1은 전체를 고르게 줄이면서 작은 웨이트를 아예 소멸시키는 모습을 비교합니다.​​

 

 

MAP 관점: 정규화 = Prior + MLE

강의 후반부는 “정규화 = MAP 추정”이라는 베이지안 해석을 다룹니다.

 

-  MLE는 θ에 대해 우도 p(y∣X,θ)를 최대화.

- MAP는 prior p(θ)를 곱한 posterior p(θ∣X,y)∝p(y∣X,θ)p(θ)를 최대화합니다.​

- 로그를 취하면

θ MAP =arg θ max [logp(y∣X,θ)+logp(θ)]

이고, 음의 로그를 최소화하면 “데이터 손실 + 정규화 항” 형태가 됩니다.​

 

 

여기서

- p(θ)가 평균 0 가우시안이면 logp(θ)는 −∥θ∥ 2 ^2 꼴이 되어 L2 정규화와 동치이고,​

 

- p(θ)가 평균 0 라플라스 분포이면 logp(θ)는 −∥θ∥ 1 꼴이 되어 L1 정규화와 동치입니다.​

 

즉,

- L2 정규화 = “웨이트는 평균 0, 분산이 작은 가우시안 주변에 있을 것”이라는 강한 prior를 주고 학습하는 것,

- L1 정규화 = “웨이트는 평균 0, 라플라스(더 뾰족하고 꼬리 두꺼운) 분포를 따른다”는 prior를 주는 것.​​

 

 

λ는 이 prior의 분산과 반비례하는 강도라, λ가 클수록 “웬만하면 0 근처에 있어야 한다”는 믿음을 더 강하게 주게 됩니다.​​

 

 

오버피팅 방지 방법들 요약

마지막 부분에서 강의자는 오버피팅 방지 기법을 한 번에 정리합니다.​​

 

 

 

- 모델 단순화: 레이어·노드 수를 줄여 파라미터 수 자체를 줄이기.

- 데이터 확충: 더 많은·다양한 데이터나 데이터 증강 사용.

- Early stopping: 밸리데이션 로스가 최소가 되는 시점에서 학습 중단.​​

- Dropout / DropConnect: 학습 중 일부 뉴런 또는 연결을 확률적으로 꺼서 co-adaptation을 줄이고 일반화 향상.

- ​ L1/L2 정규화(Weight decay): 손실에 웨이트 크기 패널티를 더해 모델 복잡도와 웨이트 폭주를 억제.​​

 

 

 

 

 

영상 실험에서 보듯, 정규화를 사용하지 않으면 트레인 로스는 가장 낮지만 밸리데이션 로스는 가장 나쁘고, L2/L1를 쓰면 트레인 로스는 약간 높아지는 대신 밸리데이션 로스와 곡선 형태가 더 안정적이며 오버피팅이 줄어드는 것을 확인할 수 있습니다.​​

 

 

 

 

 

AI딥다이브는 패캠에 예전에 올렸던 강의인듯 합니다 현재는 아래와 같이 구성되어 있네요.

 

 

https://www.hyukppen.com/

 

 

 

 

이지 딥러닝 - 혁펜하임

 

 

 

이 블로그의 관련 글

[AI 인공지능 머신러닝 딥러닝] - AI 비전공자를 위한 기초 수학 1 선형대수학 | KAIST-ON 플랫폼 소개

 

AI 비전공자를 위한 기초 수학 1 선형대수학 | KAIST-ON 플랫폼 소개

카이스트에서 제공하는 무료 강의입니다. 카이스트에서는 KAIST-ON 이라는 온라인 교육 플랫폼을 제공합니다. 추가적으로 해당 강의를 듣기 전이나 후에 이 강의를 듣는 것도 추천드립니다.https://

inner-game.tistory.com

 

 

 

 

[AI 인공지능 머신러닝 딥러닝/인공지능 수학] - 2025 인공지능·머신러닝 입문자를 위한 핵심 통계개념 완전정복 (1/2)

 

2025 인공지능·머신러닝 입문자를 위한 핵심 통계개념 완전정복 (1/2)

안녕하세요! 오늘은 최근에 시청한 유튜브 신박Ai의 “[인공지능을 위한 머신러닝101] 머신러닝을 위한 기초통계개념” 영상을 바탕으로, 인공지능과 머신러닝을 공부하는 데 꼭 필요한 통계 개

inner-game.tistory.com

 

 

 

 

[AI 인공지능 머신러닝 딥러닝] - AI 공부를 위한 수학 기초 학습 가이드 – 수학을 하나도 모르는 사람도 시작할 수 있는 방법 | 무료/유료 강의까지 단계별 완벽 가이드

 

AI 공부를 위한 수학 기초 학습 가이드 – 수학을 하나도 모르는 사람도 시작할 수 있는 방법 | 무

AI(인공지능)는 현대 기술의 핵심 중 하나입니다. 그러나 AI를 제대로 이해하고 활용하기 위해서는 수학적 기초가 필수적입니다. 수학을 하나도 모르는 상태에서 AI를 공부하고자 한다면, 어디서

inner-game.tistory.com

 

728x90
반응형
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
250x250