신경망
다층 뉴런 구조를 사용하여 복잡한 패턴을 학습하는 딥러닝 모델입니다.
설명
신경망(Neural Network)은 인간의 뇌 구조를 모방한 다층 퍼셉트론(MLP) 모델입니다.
여러 계층의 뉴런이 연결된 구조로, 입력 데이터를 여러 은닉층을 거쳐 변환하여 복잡한 비선형 패턴을 학습할 수 있습니다.
이미지 인식, 자연어 처리, 음성 인식 등 다양한 분야에서 높은 성능을 발휘합니다.
포트 구성
입력 포트
없음
출력 포트
- 미학습 모델: 학습되지 않은 신경망 모델 (학습 노드에 연결하여 사용)
속성
레이어 구성 개수 설정
신경망의 은닉층(Hidden Layer) 개수를 설정합니다.
- 많은 레이어: 복잡한 패턴 학습 가능, 과적합 위험 증가
- 적은 레이어: 단순한 패턴 학습, 간단한 문제 해결에 적합
각 레이어의 크기 설정
각 은닉층 내부의 뉴런 개수를 설정합니다.
레이어 크기는 모델의 용량을 결정합니다.
- 큰 크기: 많은 정보 저장, 복잡한 데이터 패턴 학습 가능
- 작은 크기: 복잡한 데이터 패턴 학습 어려움
활성화 함수 선택
각 뉴런의 출력을 결정하는 함수를 선택합니다.
-
ReLU: 가장 널리 사용되는 활성화 함수
- 입력 < 0: 출력 0
- 입력 > 0: 입력값 그대로 출력
- 양수에서 빠른 학습, 음수에서 뉴런 비활성화 가능성
-
Sigmoid: 출력을 0~1 사이로 압축
- 이진 분류 문제의 출력층에 주로 사용
- 확률 표현 가능
- 입력값이 크면 학습 속도 느림
-
Tanh: 출력을 -1~1 사이로 압축
- 0 기준 대칭적 분포
- 출력 평균이 0에 가까워 안정적 학습
- 입력값이 0에서 멀면 학습 속도 느림
솔버 선택
가중치를 학습하기 위한 최적화 알고리즘을 선택합니다.
-
Adam: 경사 하강법 기반 최적화
- 각 파라미터마다 학습률 자동 조정
- 이전 기울기 정보 활용하여 갱신
- 다양한 문제에 효과적
-
SGD: 확률적 경사 하강법
- 무작위 선택된 샘플로 기울기 계산
- 학습 속도 효율적
- 노이즈가 많은 데이터에서 수렴 느림
-
L-BFGS: 제한된 메모리 BFGS 알고리즘
- 대규모 최적화 문제에 사용
- 이전 단계의 그래디언트 차이 활용
- 메모리 제약 상황에서 효과적
배치 사이즈 설정
한 번의 가중치 업데이트에 사용되는 샘플 개수를 설정합니다.
- 작은 배치: 더 정확한 가중치 업데이트
- 큰 배치: 업데이트 정확도 감소, 계산 효율성 증가
학습률 전략 선택
학습 과정에서 학습률을 조정하는 방법을 선택합니다.
-
Adaptive: 학습 진행에 따라 학습률 자동 조정
- 초기 큰 학습률, 점진적 감소
- 최적의 학습률 탐색
-
Invscaling: 반복에 따라 학습률 감소
- 초기: 큰 학습률로 빠른 수렴
- 후기: 작은 학습률로 세밀한 최적화
-
Constant: 고정된 학습률 사용
- 사용자가 설정한 값 유지
- 학습률 튜닝 필요
초기 학습률 설정
가중치 업데이트 양을 결정하는 학습률의 초기값을 설정합니다.
- 큰 학습률: 빠른 수렴, 발산 위험
- 작은 학습률: 안정적 학습, 느린 수렴
최대 에포크 횟수 설정
전체 데이터셋을 몇 번 사용할지 설정합니다.
에포크는 전체 학습 데이터를 한 번 모두 사용하는 단위입니다.
- 적은 에포크: 제한된 학습, 성능 저하
- 많은 에포크: 충분한 학습, 성능 향상, 과적합 가능성
얼리 스탑핑 사용 여부
검증 데이터 성능이 향상되지 않으면 학습을 조기 종료할지 결정합니다.
- 사용: 과적합 방지, 일반화 성능 향상
- 미사용: 최대 에포크까지 학습 진행
사용 방법
- 신경망 노드를 캔버스에 추가합니다
- 레이어 구조를 설정합니다 (레이어 개수, 각 레이어 크기)
- 활성화 함수를 선택합니다
- 솔버와 학습률 전략을 선택합니다
- 배치 사이즈, 학습률, 에포크 횟수를 설정합니다
- 출력된 미학습 모델을 모델 학습 노드에 연결합니다
- 학습용 데이터셋을 모델 학습 노드에 연결합니다
- 학습이 완료되면 학습된 모델을 일괄 예측 노드와 모델 평가 노드에서 사용할 수 있습니다
예제
