AI, Deep Learning, DNN(Deep Neural Network)
AI HW 엔지니어는 주요 업무는 알고리즘 엔지니어(ML Engineer)가 설계한 DNN 모델을 하드웨어에서 최적의 성능과 전력 효율로 실행할 수 있도록 하드웨어 가속기 및 연산 구조를 설계하는 것이다.
salmon1113.tistory.com
퍼셉트론에서 XOR 게이트를 구현하기 위해 비선형 활성함수, 은닉층(Hidden Layer)을 추가했다고 설명하였다. 기존 퍼셉트론에서는 선형 활성함수인 "Step Function" 사용했었는데, 비선형 활성함수와는 어떤 차이가 있을까? 이를 위해서는 활성함수와 은닉층의 정의에 대해 알아야 한다.
0. 개요
1) 활성화 함수 정의
우선 활성화 함수는 입력신호의 총합을 출력 신호로 변환해주는 함수로 정의 되어있다. 대표적으로 선형 함수인 Step Function, 비선형 함수인 Sigmid, ReLU가 있으며, 각 함수의 모양들은 아래와 같다.

2) Hidden Layer 정의
은닉층(hidden layer)은 인공신경망에서 입력층과 출력층 사이에 위치하는 층을 의미하며, 입력 데이터를 변환하고 특징을 학습하는 역할을 한다.

은닉층에서는 원본 데이터(Input)를 다양한 차원에서 변형하여 복잡한 패턴을 학하는데, 입력 데이터를 더 추상적인 표현(Representation)으로 변환하여 ,비선형 문제(XOR 문제 등)를 해결할 수 있도록 도움을 준다. 즉, 은닉층은 입력 데이터를 더 유용한 정보로 바꿔주는 역할을 한다.
그림 그리기로 비유를 해보자면, 각 층은 다음의 역할을 수행한다.
- 입력층(Input Layer): 연필 선을 몇 개 긋는 단계 (기본적인 정보)
- 은닉층(Hidden Layer): 연필 선을 조합해서 얼굴, 손, 옷 같은 구체적인 형태를 만들기
- 출력층(Output Layer): 최종적으로 사람이 누구인지 판별
1. 비선형 활성화 함수의 의의
그렇다면, 선형 함수와 비교하여 비선형 함수를 활성화 함수로 사용하는 이유는 무엇일까? 정의로 살펴보면, 선형함수는 출력이 입력에 선형적으로 변하는 함수이다. 하지만, 딥러닝으로 해결하려는 문제들은 대부분 단순한 문제들이 아니며 굉장히 복잡하고 난잡한 문제들이기 때문에 데이터속에 숨겨저 있는 결과값은 굉장히 해괴한 곡선(비선형)의 모습을 가지고 있다.
그렇기에 선형 함수를 이용하여 층을 쌓더라도 단순히 여러 개의 선형 변환을 적용하는 것과 동일한 효과만 발생하여 복잡한 패턴을 학습할 수 없다.
이 또한 비유를 해보자면,
- 선형 함수 사용: 직선으로만 그림을 그리는 것 → 곡선을 만들 수 없음
- 비선형 함수 사용: 곡선도 만들 수 있음 → 더 다양한 형태 표현 가능
따라서 퍼셉트론 외의 DNN에서는 Step function을 활성화 함수로 쓰는 경우는 없으며, 반드시 비선형 활성화 함수(ReLU, Sigmoid)를 사용하여 네트워크를 구성한다.
2. 비선형 활성화 함수의 종류

대표적인 비선형 활성화 함수 Sigmoid와 ReLU를 비교하면,
1) Sigmoid 함수
- 출력 값을 0과 1 사이로 정규화하는 함수.
- 입력값이 아주 크거나 작을 때는 1 또는 0에 가까운 값으로 압축됨. 중간값에서는 출력 값이 선형에 가까운 형태로 변화함.
- 주로 확률을 출력할 때 많이 사용됨.
- 입력값이 매우 크거나 작으면 출력이 거의 0이나 1로 고정되며, 기울기 소실(Gradient Vanishing) 문제가 발생할 수 있음.
2) ReLU (Rectified Linear Unit) 함수
- 입력값이 0 이하일 경우 0, 0 초과일 경우 그대로 출력하는 함수.
- 음수값은 모두 0으로 바꾸고, 양수는 그대로 유지됨.
- 간단하고 계산이 빨라 학습 과정에서 기울기 소실(Gradient Vanishing) 어느 정도 해결할 수 있음.
- 음수 값에 대해 0을 반환하는데, 이로 인해 일부 뉴런이 죽은 뉴런이 될 수 있음.
대체로 ReLU가 활성화 함수로 널리 사용되는데, 이는 기울기 소실(Gradient Vanishing)로 인해 학습 과정이 늦어지는 것을 방지할 수 있기 때문이다. 이에 대해서는 추후에 다루도록 하겠다.
'이론 공부 > AI HARDWARE' 카테고리의 다른 글
CNN(Convolution Neural Networks) 기초 지식 (0) | 2025.02.05 |
---|---|
DNN의 종류 (MLP, CNN, RNN, LSTM, Transformer) (2) | 2025.02.05 |
Training Problems - Gradient Vanishing, Overfitting (0) | 2025.02.04 |
AI가 학습을 하고, 추론을 하는 방법 (Training, Inference) (1) | 2025.02.04 |
AI, Deep Learning, DNN(Deep Neural Network) (0) | 2025.02.03 |