신경망
다층 뉴런 구조를 사용하여 복잡한 패턴을 학습합니다.
입력 포트
없음
출력 포트
미학습 모델: 다층 퍼셉트론 학습 알고리즘
설정
레이어 구성 개수 설정
모델의 복잡도와 학습 능력에 영향을 주는 레이어의 개수를 설정합니다. 일반적으로 레이어의 개수가 많을수록 복잡한 패턴을 학습할 수 있지만 과적합의 위험이 커질 수 있습니다. 반대로 레이어의 개수가 적을수록 단순한 패턴을 학습할 수 있어 간단한 문제 해결에 적합합니다.
각 레이어의 크기 설정
레이어의 크기는 신경망 레이어 내부에 있는 뉴런의 개수를 의미하며, 모델의 용량을 결정합니다. 따라서 레이어의 크기가 클수록 더 많은 정보를 저장하고 복잡한 데이터 패턴을 학습할 수 있습니다. 반대로 레이어의 크기가 작을수록 복잡한 데이터 패턴을 학습하기 어려워집니다.
활성화 함수 선택
활성화 함수는 신경망에서 각 뉴런의 출력을 결정하는 함수입니다.
relu : 신경망에서 가장 많이 사용되는 활성화 함수 중 하나로, 입력이 0보다 작을 때는 0을 출력하고, 0보다 큰 경우에는 입력값을 그대로 출력합니다.입력값이 양수일 때 학습 속도를 높일 수 있으며, 입력값이 음수일 경우 해당 뉴런이 학습에서 제외되는 문제가 발생할 수 있습니다.
sigmoid : 입력을 0과 1 사이의 값으로 압축하는 함수입니다. 주로 이진 분류 문제에서 출력층에 사용되며, 출력값으로 확률을 표현할 수 있습니다. 입력값이 크거나 출력값이 포화되는 경향이 있으며, 입력값이 0에서 멀리 떨어질수록 학습 속도가 느려집니다.
tanh : 입력을 -1과 1 사이의 값으로 압축해 입력값이 0을 기준으로 대칭적으로 분포하는 함수입니다. Sigmoid 함수처럼, 입력값이 0에서 멀리 떨어질수록 학습 속도가 느려질 수 있습니다.반면에 출력값의 평균이 0에 가까워질수록 학습이 안정적으로 진행됩니다.
솔버 선택
신경망의 가중치를 학습하기 위한 최적화 알고리즘입니다.
adam : 경사 하강법 기반의 최적화 알고리즘 중 하나로, 각 파라미터마다 학습률을 자동으로 조정하며, 이전 기울기의 제곱값과 이전 기울기의 지수적 감소 평균을 이용하여 갱신합니다. 따라서 다양한 유형의 최적화 문제에 효과적으로 적용될 수 있습니다.
sdg : 경사 하강법의 한 종류로, 각 학습 단계에서 무작위로 선택된 하나의 데이터 샘플에 대해 기울기를 계산하고 파라미터의 학습률을 업데이트합니다. 무작위로 선택된 데이터 샘플을 사용하므로 학습 속도 측면에서 효율적입니다. 그러나 노이즈가 많은 학습 데이터에서 수렴하는 데 더 많은 반복이 필요할 수 있습니다.
lbfgs : 제한된 메모리 BFGS 알고리즘의 한 종류로, 대규모 최적화 문제를 해결하는데 사용됩니다. 이전 단계에서 계산한 그래디언트와 기울기의 차이를 이용하여 파라미터를 업데이트합니다. 그에 따라 메모리 제약이 있는 상황에서도 효과적으로 사용될 수 있습니다.
배치 사이즈 설정
한 번의 가중치 업데이트를 위해 사용되는 학습 데이터의 샘플 개수를 설정합니다. 일반적으로 작은 배치 사이즈는 더 정확한 가중치 업데이트를 가능하게 합니다. 반대로 큰 배치 사이즈는 가중치 업데이트의 정확도를 떨어뜨립니다. 배치 사이즈는 컴퓨팅 자원과 모델의 특성에 따라 조정할 수 있습니다.
학습률 전략 선택
adaptive : 학습률을 초기에 크게 설정하고, 학습이 진행됨에 따라 학습률을 자동으로 조정해 최적의 학습률을 찾습니다.
Invscaling : 학습 과정에서 학습률을 반복적으로 감소시킵니다. 학습의 초기 단계에서는 큰 학습률을 사용하고, 점차 작은 학습률을 사용하여 모델이 더 세밀하게 최적화되도록 도와줍니다.
constant : 학습률을 사용자가 직접 설정한 값으로 고정하여 학습을 진행합니다. 따라서 학습률을 동적으로 조정하는 다른 전략들과 달리 학습률이 일정하게 유지되므로, 학습률에 대한 튜닝이 필요합니다.
초기 학습률 설정
가중치 업데이트 양을 결정하는 학습률의 초기값을 설정합니다. 초기 학습률이 클수록 가중치 업데이트의 크기가 증가해 학습 속도가 빨라집니다. 이는 빠르게 최적의 가중치로 수렴할 수 있도록 합니다. 반대로 초기 학습률이 작을수록 가중치의 업데이트 크기가 감소해 학습 속도가 느려집니다. 그러나 너무 큰 학습률은 학습 과정에서 발산할 수 있습니다.
최대 에포크 횟수 설정
에포크는 한 번의 학습 과정에서 전체 데이터셋을 한 번씩 모두 사용하는 것을 의미합니다. 따라서 최대 에포크 횟수 설정은 학습의 진행을 제한하기 위해 전체 학습 데이터셋을 몇 번 사용할 것인지를 설정하는 것입니다. 최대 에포크 횟수가 적으면 모델이 제한된 학습을 수행하므로 모델의 성능이 떨어질 수 있습니다. 반대로 최대 에포크 횟수가 크면 성능이 향상될 수 있습니다.
얼리 스탑핑 사용 여부
모델이 학습 데이터에 과적합하는 것을 방지하고 일반화 성능을 향상시키기 위해, 검증 데이터의 성능이 향상되지 않거나 감소하는 시점에서 학습을 조기 종료할 것인지 결정합니다.
Last updated