What is Deep Learning?: Artificial Neural Network to Deep Neural Network
인공 신경망(artificial neural network)은 포유류 뇌의 신경망 연결 체계를 모방한 머신러닝 모델입니다. 뉴런 또는 노드라 불리는 단위들의 집합으로 구성되며, 이들은 시냅스와 유사하게 연결되어 다른 뉴런으로 신호를 전달합니다. 사용되는 신호는 주로 실수값이며, 뉴런의 출력은 입력에 대한 비선형 함수의 결과를 합산한 것입니다.
뉴런은 신호를 받아 처리한 후, 연결된 다른 뉴런에 새로운 신호를 생성합니다. 이 신호는 실수로 표현되며, 각 출력은 입력의 총합에 대한 비선형 함수로 계산됩니다.
뉴런 간의 연결을 간선이라고 합니다. 뉴런과 간선은 학습을 통해 조정될 수 있는 가중치를 가집니다.
가중치는 연결을 통해 전달되는 신호의 강도를 증가시키거나 감소시킵니다.
Neuron: Fundamental Calculation Unit of ANN
뉴런은 여러 개의 입력 을 받아 하나의 출력 을 생성합니다. 이때 입력은 외부 데이터나 이전 뉴런의 출력일 수 있습니다. 출력은 가중치 가 적용된 입력의 총합이며, 때로는 이 합에 절편 또는 편향 가 추가되기도 합니다.
Layer
뉴런은 층(layer)으로 체계적으로 구조화되어 있으며, 이러한 계층적 구조는 특히 딥러닝 모델에서 더욱 복잡하고 정교하게 나타납니다. 각 층의 뉴런들은 다음 층의 모든 뉴런과 직접적인 연결을 형성하여 정보를 효율적으로 전달합니다. 이러한 층간 연결 구조는 신경망이 복잡한 패턴을 학습하고 추상화된 특징을 추출하는 데 중요한 역할을 합니다.
입력층(input layer)은 외부 자료를 수신받는 층입니다.
출력층(output layer)은 최종 결과를 출력하는 층입니다.
은닉층(hidden layer)은 입력층과 출력층 사이에 있는 모든 층입니다.
Hyper Parameters
하이퍼파라미터(hyperparameter)는 신경망의 학습 과정을 제어하는 중요한 요소입니다. 이들은 모델의 구조와 학습 알고리즘을 정의하는 상수 형태의 매개변수로, 학습이 시작되기 전에 설정됩니다. 초매개변수는 모델의 성능과 학습 효율성에 직접적인 영향을 미치며, 최적의 값을 찾는 것이 모델 개발의 핵심 과제 중 하나입니다.
학습률( learning rate)은 오류를 조정하기 위한 단계의 크기를 결정합니다.
높은 학습률은 비용을 빠르게 줄일 수 있지만, 정확도가 낮아질 수 있습니다.
낮은 학습률은 비용 감소가 느리지만, 높은 정확도를 얻을 수 있습니다.
배치 크기(batch size)는 한 번의 훈련 반복에서 처리되는 데이터 샘플의 수를 의미합니다. 이는 모델의 학습 속도와 메모리 사용량, 그리고 일반화 성능에 영향을 미치는 중요한 초매개변수입니다. 큰 배치 크기는 더 안정적인 그래디언트 추정을 제공하지만, 더 많은 메모리를 필요로 합니다. 반면, 작은 배치 크기는 더 자주 가중치를 업데이트하여 빠른 수렴을 가능하게 하지만, 노이즈가 있는 그래디언트 추정을 초래할 수 있습니다.
은닉층의 개수(number of hidden layers)는 신경망의 복잡성과 학습 능력을 결정하는 중요한 요소입니다. 은닉층이 많을수록 더 복잡한 패턴을 학습할 수 있지만, 과적합의 위험도 증가합니다. 적절한 은닉층의 개수는 문제의 복잡성과 가용한 데이터의 양에 따라 결정되며, 이는 모델의 성능에 직접적인 영향을 미칩니다.
Cost/Loss Function
비용(cost)은 모델의 예측 성능을 수치화한 통계적 지표입니다. 이는 모델이 얼마나 잘 작동하는지를 평가하는 중요한 척도로, 모델의 출력값과 실제 목표값 사이의 차이를 측정합니다. 비용 함수는 이러한 차이를 정량화하여 모델의 성능을 객관적으로 평가하고, 학습 과정에서 모델을 개선하는 데 필수적인 역할을 합니다. 더구체적으로, 비용 함수는 다음과 같은 역할을 수행합니다:
모델의 예측 오차를 수치화하여 현재 성능을 평가합니다.
학습 알고리즘에게 모델을 어떻게 조정해야 할지에 대한 지침을 제공합니다.
다양한 모델 구성이나 하이퍼파라미터 설정의 효과를 비교하는 기준을 제공합니다.
Backpropagation
역전파(backpropagation)는 인공신경망의 학습 과정에서 핵심적인 역할을 하는 알고리즘입니다. 이 방법은 네트워크의 출력과 목표값 사이의 오차를 최소화하기 위해 가중치를 조정하는 과정에서 사용됩니다. 역전파는 출력층에서 시작하여 입력층 방향으로 오차를 '역으로' 전파하면서 각 뉴런의 가중치를 업데이트합니다. 이 과정에서 연쇄 법칙을 이용한 미분 계산이 효율적으로 이루어집니다.
순전파(forward propagation)는 신경망에서 입력 데이터가 각 층을 거쳐 최종 출력으로 전달되는 과정입니다. 이 과정에서 각 뉴런은 입력값을 받아 활성화 함수를 통해 출력을 생성하며, 이는 다음 층의 입력으로 사용됩니다. 마지막 층에서는 네트워크의 최종 예측값이 생성되고, 이를 실제 목표값과 비교하여 손실함수를 계산합니다.
역전파(backpropagation)는 순전파의 반대 방향으로 진행되며, 계산된 손실함수를 기반으로 네트워크의 가중치를 조정하는 과정입니다. 이 알고리즘은 손실함수의 그래디언트/기울기를 계산하여 각 뉴런의 가중치에 대한 손실함수의 편미분을 구합니다. 이렇게 구한 그래디언트 정보를 이용해 가중치를 갱신하며, 이 과정을 출력층에서 시작하여 입력층까지 반복적으로 수행합니다.
Network Design
인공 신경망의 다양한 유형과 모델을 이해하기 위해서는 각각의 고유한 특성과 메커니즘을 면밀히 살펴봐야 합니다. 이러한 특성들은 특정 목적을 달성하기 위해 신중하게 선택되며, 모델의 성능과 효율성에 중요한 영향을 미칩니다. 다음은 인공 신경망 설계와 선택에 있어 주요하게 고려해야 할 요소들입니다:
모델 선택(model choice): 모델 선택은 주어진 문제와 데이터의 특성에 크게 좌우됩니다. 이 과정에서 고려해야 할 주요 매개변수로는 데이터의 형태와 규모, 네트워크의 구조적 복잡성, 각 층 간의 연결 방식, 그리고 활성화 함수의 종류 등이 있습니다. 이러한 요소들은 모델의 학습 능력과 일반화 성능에 직접적인 영향을 미치므로 신중하게 결정해야 합니다.
학습 알고리즘과 하이퍼파라미터 최적화(hyper parameter optimization): 효과적인 학습 알고리즘의 선택과 이에 따른 하이퍼파라미터의 최적화는 모델의 성능을 결정짓는 핵심 요소입니다. 이는 단순히 알고리즘을 선택하는 것을 넘어, 각 알고리즘의 특성을 깊이 이해하고 문제에 맞게 조정하는 과정을 포함합니다.
하이퍼파라미터 튜닝은 종종 계산 비용이 높고 시간이 많이 소요되는 작업입니다. 그러나 이는 모델의 성능을 크게 향상시킬 수 있는 중요한 과정으로, 그리드 서치, 랜덤 서치, 베이지안 최적화 등 다양한 기법을 활용하여 효율적으로 수행될 수 있습니다.
모델의 견고성(Robustness): 앞서 언급된 요소들이 적절히 조화를 이루어 설계된 모델은 견고하다(robust)고 표현합니다. 견고성은 모델이 다양한 입력 데이터와 환경 변화에 대해 안정적인 성능을 유지할 수 있는 능력을 의미합니다. 이는 모델의 일반화 능력, 노이즈에 대한 내성, 그리고 예측 불가능한 상황에서의 적응력 등을 포함하는 종합적인 특성입니다.
Deep Neural Network
심층 신경망(deep neural network)은 다수의 은닉층을 포함하는 복잡한 구조를 가진 인공다층신경망을 지칭합니다. 이는 기존의 인공신경망과 근본적인 구조에서 크게 다르지 않지만, 더 많은 은닉층을 통해 더욱 복잡한 패턴과 특징을 학습할 수 있는 능력을 갖추고 있습니다.
Theoretical Properties
인공 신경망 모델의 성능과 효과는 단순히 모델 자체의 구조나 학습 알고리즘에만 국한되지 않습니다. 모델의 범위를 벗어난 여러 요소들도 큰 영향을 미칩니다. 이러한 요소들에는 다음과 같은 것들이 포함됩니다:
가용력(capacity)이란 한 신경망이 가용할 수 있는 정보의 양을 뜻합니다. 이는 정보의 수 보다는 질에 관한 것인데; 그 정보가 전자적 요소로 변환 가능한 것인지, 특정 가능한 것인 지에 관한 속성입니다.
그 모델은 하나의 해답으로 수축하지 않을 수 있습니다. 이는 안장점으로 설명될 수 있으며; 그 모델의 비용의 정의, 최적화 방법에 영향을 받습니다.
가용력(capacity)은 신경망이 학습하고 저장할 수 있는 정보의 총량을 의미합니다. 이는 단순히 정보의 양적인 측면뿐만 아니라 질적인 측면도 포함합니다. 즉, 신경망이 얼마나 복잡한 패턴과 관계를 표현할 수 있는지, 그리고 입력 데이터를 얼마나 효과적으로 계산 가능한 형태로 변환할 수 있는지를 나타내는 속성입니다.
신경망 모델은 항상 단일한 최적의 해답으로 수렴하지 않을 수 있습니다. 이는 손실 함수의 복잡한 지형도에서 발생하는 안장점(saddle point)으로 설명될 수 있으며, 이러한 현상은 모델의 비용 함수 정의와 사용된 최적화 방법에 크게 영향을 받습니다. 따라서 모델의 학습 과정과 최종 성능을 이해하기 위해서는 이러한 이론적 특성을 고려해야 합니다.
Last updated