탄(Tanh) 또는 쌍곡탄젠트는 인공 지능(AI) 과 머신 러닝(ML), 특히 신경망(NN)에서 널리 사용되는 활성화 함수입니다. 탄은 시그모이드 함수와 유사하지만 입력 값을 -1에서 1 사이의 범위로 매핑합니다. 이러한 특성으로 인해 탄의 출력은 0을 중심으로 분포됩니다. 다른 활성화 함수와 마찬가지로 탄은 네트워크에 비선형성을 도입하여 딥러닝(DL) 모델이 선형 모델이 포착할 수 없는 데이터의 복잡한 패턴과 관계를 학습할 수 있게 해줍니다. 탄은 수학적 쌍곡선 탄젠트 함수에서 파생되었습니다.
탄의 작동 방식
탄 함수는 실수값 입력을 받아 (-1, 1) 범위로 쪼갭니다. 0에 가까운 입력은 0에 가까운 출력을 생성합니다. 양수 입력이 크면 1에 가까운 출력이 나오고, 음수 입력이 크면 -1에 가까운 출력이 나옵니다. 0 중심의 특성은 모델 학습 중에 경사 하강과 같은 최적화 알고리즘이 더 빨리 수렴하는 데 도움이 될 수 있기 때문에 시그모이드 함수(0과 1 사이의 출력을 내는)에 비해 장점으로 간주되는 경우가 많습니다. 이는 역전파 중에 다시 전달되는 기울기가 양수 및 음수 값의 균형을 이룰 가능성이 높기 때문에 모델 가중치를 보다 안정적으로 업데이트할 수 있기 때문입니다.
장점과 단점
장점:
- 영점 중심 출력: -1에서 1 사이의 출력은 후속 레이어로 전달되는 데이터의 중심을 잡는 데 도움이 되며, 시그모이드와 같은 영점 중심이 아닌 함수에 비해 훈련 역학을 개선할 수 있습니다.
- 더 강한 그라데이션: 탄은 시그모이드에 비해 0 주변에서 더 가파른 기울기를 가지므로 학습 중 사라지는 기울기 문제를 어느 정도 완화하여 잠재적으로 더 빠른 학습을 가능하게 합니다.
단점:
- 소실 그라데이션: 탄은 시그모이드와 마찬가지로 여전히 소실 그라데이션 문제를 겪고 있습니다. 양수 또는 음수 입력이 매우 큰 경우 함수가 포화(출력이 1 또는 -1에 매우 가까워짐)되고 그라데이션이 매우 작아져 더 깊은 레이어의 가중치 업데이트에 방해가 됩니다.
- 계산 비용: Tanh는 쌍곡선 계산을 포함하므로 ReLU(직교 선형 단위)와 같은 간단한 함수보다 계산 비용이 약간 더 많이 듭니다.
탄 대 다른 활성화 기능
- 탄 대 시그모이드: 둘 다 시그모이드이지만 탄의 출력 범위는 (-1, 1)이고 시그모이드의 출력 범위는 (0, 1)입니다. 탄의 영 중심 속성은 숨겨진 레이어에 선호되는 반면, 시그모이드는 확률이 필요한 이진 분류 작업의 출력 레이어에 일반적으로 사용됩니다.
- 탄 대 ReLU: ReLU 출력 범위는 0에서 무한대까지이며 계산적으로 매우 효율적입니다. ReLU는 양수 입력의 포화를 피하지만 "죽어가는 ReLU" 문제(뉴런이 비활성 상태가 되는 것)가 발생할 수 있습니다. 탄은 양쪽 끝이 포화 상태이지만 영점 중심이라는 특성이 유리할 수 있습니다. 그러나 ReLU와 그 변형(Leaky ReLU, GELU, SiLU)은 더 나은 그라데이션 흐름과 효율성으로 인해 많은 최신 딥러닝 아키텍처, 특히 컴퓨터 비전(CV)에서 Tanh를 대체하고 있습니다. 딥 러닝의 다양한 활성화 기능을 살펴볼 수 있습니다.
AI 및 머신 러닝 분야의 애플리케이션
탄은 역사적으로 특히 다음과 같은 분야에서 인기가 있었습니다:
- 순환 신경망(RNN): 탄은 RNN의 숨겨진 상태와 LSTM(장단기 메모리) 네트워크와 같은 변형, 특히 자연어 처리(NLP) 작업에 일반적으로 사용되었습니다. 경계 범위는 반복 연결 내의 정보 흐름을 조절하는 데 도움이 됩니다. 자세한 내용은 LSTM의 이해를 참조하세요.
- 히든 레이어: 피드포워드 네트워크의 숨겨진 레이어에서 사용할 수 있지만, 현재는 ReLU 변형이 더 일반적입니다. 영점 중심 속성이 특정 문제나 아키텍처에 특히 유용할 때 선택할 수 있습니다.
- 감정 분석: 이전 NLP 모델에서 Tanh은 텍스트에서 추출한 특징(예: RNN으로 처리된 단어 임베딩)을 부정(-1)에서 긍정(+1)의 감정 극성을 나타내는 연속 범위로 매핑하는 데 도움을 주었습니다. 스탠포드 NLP 그룹과 같은 조직의 리소스에서 이러한 기술에 대한 배경 지식을 얻을 수 있습니다.
- 제어 시스템 및 로봇 공학: 강화 학습(RL)에서 탄은 특정 범위 내에 한정된 연속 동작을 출력하는 정책(예: -1에서 +1 사이의 모터 토크 제어)의 최종 활성화 함수로 사용되기도 합니다. OpenAI Gym과 같은 프레임워크가 RL 연구에 자주 사용됩니다.
다음과 같은 최신 아키텍처는 Ultralytics YOLO 와 같은 최신 아키텍처는 종종 객체 감지와 같은 작업에 SiLU와 같은 기능을 활용하지만, 탄에 대한 이해는 여전히 중요합니다. 이는 활성화 기능의 진화에 대한 컨텍스트를 제공하며 특정 네트워크 설계나 레거시 시스템에서 여전히 나타날 수 있습니다. 다음과 같은 프레임워크 PyTorch 와 TensorFlow 와 같은 프레임워크에서 탄의 구현을 제공합니다. Ultralytics 허브와 같은 플랫폼을 사용하여 다양한 활성화 기능을 훈련하고 실험할 수 있습니다.