딥러닝을 하다보면, 입력층(Input Layer)과 출력층,(Output Layer) 그리고 중간에 있는 층(은닉층 / Hidden layer)으로 구성되어 있는데,
왜 중간에 있는 층을 중간층이라 부르지 않고, 은닉층(Hidden Layer)로 부르는지 궁금했다.
1.딥러닝에서 중간층을 은닉층이라 부르는 이유
중간층이 은닉층(Hidden layer)라고 불리는 이유는,
훈련 데이터셋(Training data set) 중 해당 층에 위치한 노드들의 실제 값이 은닉(알 수 없는)되어 있기 때문이다.
즉, 우리 눈에 안보여서 은닉한다고 표현하는 것이 아니라, 신경망 알고리즘 계산 간 마치 내부에 꽁하고 감춰놓고 계산한다고 해서 불리는 것이다.
(물리적으로 안보인다는 의미가 아니라, 계산 과정을 마치 은닉된 것처럼 명시적으로 확인되지 않아서)
딥러닝 알고리즘을 돌리다보면, 은닉층의 weight 와 bias는 오차역전파(Back-propagation)를 통해서 계속해서 업데이트가 되는데
우리가 매 시행(Iteration)마다 그 과정을 주목해서 보지도 않고 굳이 볼필요가 없기에, 계산 과정이 마치 은닉되어 있는 층이다라고 표현하는 것이다.
2. 은닉층이 존재하는 이유
은닉층이 존재하는 이유는, 퍼셉트론에서 다중 퍼셉트론으로 개념이 확장하게 만들어 준 XOR 문제로 인해 발전하기 시작했다.
입력층과 출력층만 존재한다면, AND / OR / NAND 의 개념에 대해서는 결과를 도출해 낼 수 있었지만 XOR(둘 중 하나만 참이어야 지 결과가 참) 문제는 해결할 수 없었다. 이로 인해, 무려 인공지능의 개발이 무려 20년간 정체된 인공지능의 겨울이 도래했었다.
하지만, 이 문제는 은닉층(Hidden Layer) 의 개념 도입으로 인해 해결이 되었는데,
이는 마치 기존에 틀에 박힌 차원에서 난제였던 문제가, 차원의 확장을 통해 해결되는 현상과 비슷하다고 할 수 있다.
'파이썬(Python), 머신러닝, 딥러닝' 카테고리의 다른 글
(딥러닝 with 파이썬) 폐암 수술 환자의 생존율 예측 모델 (0) | 2022.08.02 |
---|---|
(딥러닝 with 파이썬) 오차역전파 / 활성화 함수 (0) | 2022.08.02 |
(파이썬 코드)다중퍼셉트론으로 XOR문제 해결하기 (0) | 2022.08.02 |
딥러닝 기초 - (4)선형회귀(경사하강법(Gradient descent) 사용) / 파이썬 코딩 (0) | 2022.06.22 |
딥러닝 기초 - (3)선형회귀(평균제곱오차 / Mean Squared Error) / 파이썬 코딩 (0) | 2022.06.22 |
댓글