인공신경망의 구조
인공 신경망
딥러닝(Deep Learning)은 인공 신경망의 층을 깊게(Deep) 쌓은 것
ANN(Artificial Neural Networks), 즉 인공 신경망은 실제 신경계를 모사하여 만들어진 계산 모델
줄여서 뉴럴넷(Neural-Net)으로 부르기도 함
퍼셉트론을 다층으로 쌓는 이유
1개의 분류기로는 XOR GATE 문제를 풀 수 있음
1개의 층으로는 해결할 수 없던 문제도 2개 이상의 층으로 구성하면 풀 수 있음
퍼셉트론을 여러 개의 층으로 쌓아 구축한 신경망 => 다층 퍼셉트론 신경망(Multi-Layer Perceptron, MLP)라고 함
입력층(Input Layer)
데이터셋이 입력되는 층
입력되는 데이터셋의 특성(Feature)에 따라 입력층 노드의 수가 결정
보통 어떤 계산도 수행하지 않고 그냥 값들을 전달하기만 함
신경망의 층수(깊이, depth)를 셀 때 입력층은 미포함
은닉층(Hidden Layers)
입력층으로부터 입력된 신호가 가중치, 편향과 연산되는 층
입력층과 출력층 사이에 있는 층
계산의 결과를 사용자가 볼 수 없음
입력 데이터셋의 특성 수와 상관 없이 노드 수 구성 가능
딥러닝은 일반적으로 2개 이상의 은닉층을 가진 신경망
은닉층의 수가 늘어나고 더 좋은 학습 방법이 개발되면서 복잡한 데이터의 구조 학습 가능
복잡한 신경망이 다른 알고리즘의 성능을 개선하면서 딥러닝이 유명
출력층(Output Layer)
가장 마지막에 위치한 층이며 은닉층 연산을 마친 값이 출력되는 층
출력층 구성
이진 분류(Binary Classification): 활성화 함수로는 시그모이드(Sigmoid) 함수를 사용하며 출력층의 노드 수는 1로 설정
다중 분류(Multi-class Classification): 활성화 함수로는 소프트맥스(Softmax) 함수를 사용하며 출력층의 노드 수는 레이블의 클래스(Class) 수와 동일하게 설정
회귀(Regression): 일반적으로 활성화 함수를 지정해주지 않으며 출력층의 노드 수는 출력값의 특성(Feature) 수와 동일하게 설정