Problem Solving with Algorithms

728x90
반응형

전체 강의 보기

[AI 인공지능 머신러닝 딥러닝] - 꽂히는 딥러닝 | 전체 강의 소개

 

꽂히는 딥러닝 | 전체 강의 소개

꽂히는 딥러닝 플레이리스트는 “수학·이론·직관”을 한 번에 잡으면서도, 처음부터 끝까지 흐름 있게 딥러닝을 배우고 싶은 사람에게 잘 맞는 입문·기본 강의 묶음입니다. 혁펜하임 특유의

inner-game.tistory.com

 

 

 

꽂히는 딥러닝

 

 

 

9강은 “배치 정규화(Batch Normalization)가 도대체 무엇을 하고, 왜 그렇게 좋다고 하는지”를 동작 단계와 직관, 효과까지 한 번에 정리해 주는 강의입니다. BN 레이어가 단순히 값을 빼고 나누는 연산을 넘어, 학습 안정성과 수렴 속도를 어떻게 끌어올리는지 이해시키는 데 초점이 맞춰져 있습니다.

 

 

 

배치 정규화가 하려는 일입니다

강의는 먼저, 트레이닝 중 어떤 레이어에 들어오는 활성값들이 미니배치마다 확률변수처럼 이리저리 흔들린다고 보고, 이 분포를 “조금 정돈”해 주는 것이 BN의 목적이라고 설명합니다. 미니배치(예: 32개 샘플)를 통과한 각 뉴런의 출력들을 하나의 샘플 집합으로 보고, 그 평균과 분산을 이용해 정규화(normalization)를 수행하는 구조입니다.

즉, 한 레이어의 pre-activation 값을 $h$라 했을 때, 트레이닝 시에는 배치별 평균과 분산을 $\mu, \sigma^2$로 구한 뒤 $(h - \mu)/\sqrt{\sigma^2 + \epsilon}$으로 표준화하고, 여기에 학습 가능한 스케일 $\gamma$, 시프트 $\beta$를 적용해 최종 출력 $y = \gamma \hat{h} + \beta$를 만들어 냅니다. 이때 $\gamma, \beta$는 W처럼 학습되는 파라미터이고, BN 층이 들어갈 때마다 뉴런 당 두 개씩 추가 학습 파라미터가 생긴다는 점도 짚어 줍니다.

 

 

 

트레이닝과 테스트에서 어떻게 다르게 동작하는지입니다

트레이닝 때는 매 미니배치마다 그 배치 내의 평균과 분산을 사용해 정규화를 합니다. 하지만 테스트 때는 배치라는 개념 없이 샘플 하나씩(또는 임의의 배치) 넣는 경우가 많기 때문에, 그 순간의 샘플들로 평균·분산을 다시 계산하면 모델 동작이 불안정해집니다.

그래서 트레이닝 동안 매 스텝마다 계산된 배치 평균·분산을 모아서 이동 평균(moving average) 형태로 추적하고, 테스트 시에는 이 “누적 통계값”을 사용해 정규화를 수행합니다. 이때 분산은 샘플 분산의 편향을 보정하기 위해 $m/(m-1)$을 곱해 주는 형태로 처리하며, 똑같은 입력에 대해 트레이닝과 테스트에서 너무 다른 분포를 만들지 않도록 신경 쓰는 부분도 설명합니다.

또한, BN이 bias 항을 사실상 대체하기 때문에, 해당 레이어 앞단의 linear 연산에서 굳이 별도의 bias를 학습하지 않아도 된다는 점도 함께 짚어 줍니다.

 

 

 

CNN에서의 BN 적용 방식입니다

CNN에서는 fully-connected와 약간 다르게 BN을 적용합니다. 합성곱에서는 같은 필터가 공간 전체에 공유되므로, 같은 필터가 만들어 내는 feature map의 모든 위치와 미니배치 차원까지 모아서 하나의 큰 샘플 집합으로 보고 평균·분산을 계산합니다.

예를 들어, 32개 미니배치, feature map 크기가 $P \times Q$라면 한 필터에 대해 총 $32 \times P \times Q$개의 값이 BN의 샘플이 됩니다. 필터가 64개라면, 필터마다 서로 다른 $\gamma, \beta$를 가지며, 각 필터의 출력 분포를 독립적으로 정규화해 주는 구조가 됩니다. 이렇게 해서 CNN에서도 채널 단위로 “입력 분포를 정돈”해 주는 효과를 얻습니다.

 

 

 

직관: 모래알·분포를 모았다가 다시 뿌리는 과정입니다

혁펜하임은 BN을 “모래알들을 한 번 가운데로 모았다가, 감마·베타로 다시 적당히 흩뿌리는 과정”으로 비유합니다. 미니배치를 통과한 값들을 x축 위에 모래알처럼 뿌려 놓으면, 그 중 어떤 레이어는 대부분 값이 0 근처에 몰려 있어 gradient가 거의 0인 위험한 구간(세추레이션)에 놓일 수 있습니다.

BN은 먼저 이 값들을 평균 0, 분산 1이 되도록 재배치해 그래디언트가 살아 있기 좋은 구간으로 옮긴 뒤, $\gamma, \beta$를 학습해 “어디에 얼마나 퍼뜨릴지”를 상황에 맞게 조절합니다. 그 결과, 뉴런들이 너무 한쪽으로 몰려 죽어 있는 상태나, 반대로 지나치게 퍼져서 비선형성이 사라지는 상태를 피하면서, 학습이 잘 되는 영역 근처에 머물도록 도와줍니다.

이 과정은 결국, 초기화나 이전 레이어의 변화에 따라 각 레이어의 입력 분포가 계속 달라지는 내부 공변량 변화(internal covariate shift)를 완화해, 네트워크가 더 안정적으로 학습되도록 만드는 역할을 합니다.

 

 

 

왜 Vanishing gradient를 완화하고 러닝 레이트를 키울 수 있는지입니다

값들이 항상 평균 0, 적당한 분산을 갖도록 정규화되면, 시그모이드·tanh 같은 활성화 함수도 기울기가 살아 있는 구간 근처에서 주로 작동하게 되어 vanishing gradient 위험이 줄어듭니다. ReLU 계열에서도 입력이 지나치게 한쪽으로 쏠리는 것을 막아, 뉴런이 통째로 죽어버리는 현상을 어느 정도 완화할 수 있습니다.

또한, 각 레이어 입력의 스케일이 학습 내내 너무 요동치지 않기 때문에, 전체 네트워크에 조금 더 큰 learning rate를 줘도 발산하지 않고 빠르게 수렴하는 경우가 많습니다. 강의에서는 논문에서 보고된 것처럼 BN을 사용하면 수렴 속도가 크게 향상되고, 더 높은 러닝 레이트를 안전하게 쓸 수 있다는 실험적 결과도 언급합니다.

 

 

 

한줄 정리입니다

정리하자면, 9강 배치 정규화 강의는 “미니배치 단위로 평균 0, 분산 1로 정돈 → $\gamma, \beta$로 다시 스케일/시프트”라는 단순한 동작이, 내부 분포를 안정시켜 vanishing gradient를 줄이고, 더 큰 learning rate로 더 빠른 학습을 가능하게 만든다는 사실을 직관과 수식으로 동시에 이해하게 해 주는 영상입니다.

 

 

 

다음 글

[AI 인공지능 머신러닝 딥러닝] - 꽂히는 딥러닝 | 10강 Confusion matrix 혼동 행렬 한 칸 한 칸이 무슨 의미인지, 그리고 Precision·Recall·F1이 각각 언제 중요한지

 

꽂히는 딥러닝 | 10강 Confusion matrix 혼동 행렬 한 칸 한 칸이 무슨 의미인지, 그리고 Precision·Recall·

10강은 “혼동 행렬 한 칸 한 칸이 무슨 의미인지, 그리고 Precision·Recall·F1이 각각 언제 중요한지”를 직관적인 예시로 정리해 주는 강의입니다. 특히 암 검사·흰머리 뽑는 기계·스팸 메일함 비

inner-game.tistory.com

 

 

 

이 블로그의 관련 글

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

 

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

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

inner-game.tistory.com

 

 

 

 

[AI 인공지능 머신러닝 딥러닝/인공지능 수학] - 혁펜하임의 "보이는" 선형대수학 (Linear Algebra) | 인공지능, 머신러닝, 딥러닝 수학 무료 강의

 

혁펜하임의 "보이는" 선형대수학 (Linear Algebra) | 인공지능, 머신러닝, 딥러닝 수학 무료 강의

오늘 소개할 강의는 “혁펜하임의 ‘보이는’ 선형대수학 (Linear Algebra)”이며, 혁펜하임의 선형대수학 강의는 “선형대수학을 눈으로 보이게” 만드는 것을 목표로 한, 총 40강짜리 시각 중심

inner-game.tistory.com

 

 

 

[AI 인공지능 머신러닝 딥러닝] - 혁펜하임의 “탄탄한” 컨벡스 최적화 (Convex Optimization) 강의 소개

 

혁펜하임의 “탄탄한” 컨벡스 최적화 (Convex Optimization) 강의 소개

혁펜하임의 “탄탄한” 컨벡스 최적화는 머신러닝·딥러닝을 공부하는 사람들이 ‘최적화’를 진짜 수학적으로, 그러면서도 직관적으로 이해하도록 도와주는 한국어 강의 시리즈입니다.​​

inner-game.tistory.com

 

 

 

[AI 인공지능 머신러닝 딥러닝] - 인공지능 딥러닝 기초 완전정복: 유튜브로 배우는 신경망·딥러닝·실습코딩 가이드

 

인공지능 딥러닝 기초 완전정복: 유튜브로 배우는 신경망·딥러닝·실습코딩 가이드

안녕하세요! 오늘은 제가 최근에 시청한 유튜브 플레이리스트 “인공신경망기초-신박Ai”를 바탕으로, 인공지능(Artificial Intelligence; AI) 기초에 대해 공부한 내용을 정리하여 티스토리 블로그 포

inner-game.tistory.com

 

728x90
반응형
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
250x250