데이크루 5기

GPT4가 알려주는 Transformer_6(기초부터 심화까지)

2023.04.07 16:47 2,135 Views

Transformer_1 : https://dacon.io/competitions/official/236091/talkboard/408068?page=1&dtype=recent

Transformer_2 : https://dacon.io/competitions/official/236091/talkboard/408069?page=1&dtype=recent

Transformer_3 : https://dacon.io/competitions/official/236091/talkboard/408071?page=1&dtype=recent

Transformer_4 : https://dacon.io/competitions/official/236091/talkboard/408072?page=1&dtype=recent

Transformer_5 : https://dacon.io/competitions/official/236091/talkboard/408075?page=1&dtype=recent



지금까지

Self-Attention, 쿼리-키-밸류, embedding, positional encoding

그리고 Multi-Head Attention

까지 알아보았습니다.


이번 시간은

Layer Normalization

에 대해서 알아볼까요?





먼저 Normalization부터

알아 볼까요?




다들 아실 거라 생각합니다!




Layer Normalization은


각 샘플의 모든 뉴런에 동일한 정규화를 적용하여 레이어 내에서 평균이 0이고 분산이 1이 되도록 조정합니다.

즉, 각 샘플에서 동일한 위치의 뉴런에 대해 평균과 분산을 계산하고 정규화를 수행합니다.



Transformer에서 Layer Normalization의 사용 이유는 다음과 같습니다:



안정적인 학습:

Layer Normalization은 그래디언트 소실 및 폭주 문제를 줄이고 학습 과정을 안정화하는 데 도움이 됩니다.

이를 통해 레이어가 깊어지더라도 학습이 잘 진행되도록 합니다.


빠른 수렴:

정규화를 통해 각 레이어의 활성화 값이 특정 범위로 조정되므로,

모델의 학습 속도가 빨라집니다.


고정 길이 입력이 아닌 가변 길이 입력에 대한 처리:

Layer Normalization은 독립적으로 각 샘플에 적용되기 때문에,

시퀀스 길이가 다른 입력에도 적용할 수 있습니다.

이는 Transformer에서 중요한 요소로, 다양한 길이의 시퀀스를 처리하는 데 도움이 됩니다.


정규화 효과:

Layer Normalization은 과적합을 방지하고 모델의 일반화 성능을 향상시키는 효과를 가집니다.





Transformer에서는 Layer Normalization을 사용하여 이러한 이점을 활용하고,

모델의 성능을 향상시킵니다.


Layer Normalization은 주로

Self-Attention 및 Position-wise Feed-Forward 네트워크의

출력 후에 적용되어 학습 과정을 안정화하고 개선합니다.





하지만

꼭 장점만이 있는 기법이 아닙니다!

Layer Normalization의

단점으로는


추가 계산 복잡도:

Layer Normalization은 모델의 각 레이어에서 추가적인 계산을 필요로 합니다.

이로 인해 전체 모델의 계산 복잡도가 증가하며, 학습과 추론 시간에 영향을 줄 수 있습니다.


하이퍼파라미터 튜닝:

Layer Normalization은 학습률과 같은 하이퍼파라미터에 민감할 수 있습니다.

따라서, 최적의 하이퍼파라미터 값을 찾기 위해 여러 번의 실험이 필요할 수 있습니다.


다양한 데이터셋에 대한 적응력:

Layer Normalization은 대부분의 경우에 좋은 성능을 보이지만,

일부 특정한 데이터셋에 대해서는 Batch Normalization이나 Instance Normalization 등 다른 정규화 기법이 더 나은 성능을 보일 수도 있습니다.

따라서, 적절한 정규화 기법을 선택하기 위해 실험이 필요할 수 있습니다.



단점이 있음에도 불구하고, Transformer의 특성과 목적에 맞는 장점들이 Layer Normalization을 사용하는데 큰 도움이 되기 때문입니다.

Layer Normalization의 장점이 Transformer의 성능과 안정성에 큰 영향을 미치므로,

이러한 단점을 감수하고 사용하는 것이 전체적으로 더 나은 결과를 가져옵니다.



다음 시간엔

Layer Normalization

코드를 보며 이해해 봅시다!