Types of Neurons
모든 신경망이 모든 종류의 뉴런을 사용하는 것은 아니다. 하나의 뉴런이 여러 종류의 뉴런의 역할을 채우는 것도 가능하다. 신경망에는 보통 네 가지 종류의 뉴런이 있다.
• 입력 뉴런 : 각 입력 뉴런을 특징 벡터의 한 요소에 매핑한다. • 은닉 뉴런 : 은닉 뉴런은 신경망이 추상적이고 입력을 출력으로 처리할 수 있도록 한다. • 출력 뉴런 : 각 출력 뉴런은 출력의 한 부분을 계산한다. • 바이어스 뉴런 : 선형 방정식의 y 절편과 유사하게 작업한다. |
그리고 각 뉴런을 층으로 배치한다.
• 입력층 : 입력층는 데이터 세트로부터 특징 벡터를 받아들인다. 입력층는 일반적으로 바이어스 뉴런을 가진다. • 출력층 : 신경망으로부터의 출력이다. 출력층는 바이어스 뉴런을 가지지 않는다. • 은닉층 : 입력층와 출력층 사이의 층이며, 각각의 은닉층은 일반적으로 바이어스 뉴런을 가진다. |
Input and Output Neurons
거의 모든 신경망에는 입력 및 출력 뉴런이 있다. 입력 뉴런은 네트워크에 대한 프로그램으로부터 데이터를 받아들인다. 출력 뉴런은 네트워크로부터 처리된 데이터를 프로그램으로 다시 제공한다. 프로그램은 이러한 입력 및 출력 뉴런을 입력 및 출력 레이어라고 불리는 별도의 레이어로 그룹화한다. 프로그램은 일반적으로 뉴럴 네트워크에 대한 입력을 어레이 또는 벡터로 나타낸다. 벡터에 포함된 요소의 수는 입력 뉴런의 수와 같아야 한다. 예를 들어, 3개의 입력 뉴런이 있는 뉴럴 네트워크는 다음 입력 벡터를 수용할 수 있다.
신경망은 일반적으로 부동 소수점 벡터를 입력으로 받아들인다. 일관성을 유지하기 위해 단일 출력 뉴런 네트워크의 출력을 단일 요소 벡터로 나타낼 것이다. 마찬가지로 신경망은 출력 뉴런의 수와 동일한 길이를 가진 벡터를 출력할 것이다. 출력은 종종 단일 출력 뉴런으로부터의 단일 값일 것이다.
Hidden Neurons
히든 뉴런은 두 가지 본질적인 특징을 가지고 있습. 첫째, 히든 뉴런은 입력 또는 다른 히든 뉴런과 같은 다른 뉴런으로부터 입력만 받는다. 둘째, 히든 뉴런은 출력 또는 다른 히든 뉴런과 같은 다른 뉴런으로만 출력한다. 히든 뉴런은 신경망이 입력을 이해하고 출력을 형성하는 것을 돕는다. 프로그래머들은 종종 히든 뉴런을 완전히 연결된 히든 레이어로 그룹핑한다. 그러나 이러한 히든 레이어는 들어오는 데이터 또는 최종 출력을 직접 처리하지 않는다.
프로그래머들에게 일반적인 질문은 네트워크에 있는 히든 뉴런의 수에 관한 것이다. 딥러닝 전에 연구자들은 일반적으로 단일 히든 레이어 이상의 것은 과도하다고 제안했다. 연구자들은 단일 레이어에 충분한 히든 뉴런이 있는 한 어떤 입력으로부터 어떤 출력도 생성 (또는 근사화)할 수 있어야 한다는 것을 증명했다. 다시 말해서, 이 네트워크는 단일 층에 충분한 은닉 뉴런을 가지고 있는 한 어떤 입력으로부터 어떤 출력도 생성 (또는 근사화)할 수 있어야 한다.
훈련은 좋은 가중치 값을 결정하는 과정을 말한다. 딥러닝이 등장하기 전에, 연구자들은 추가적인 층이 훈련 시간을 연장하거나 과적합을 장려할 것을 두려워했다. 두 가지 우려는 모두 사실이지만, 증가된 하드웨어 속도와 영리한 기술은 이러한 우려를 완화시킬 수 있다. 연구자들이 딥러닝 기술을 도입하기 전에, 많은 은닉층을 가진 신경망인 심층 네트워크를 훈련시킬 효율적인 방법이 없었다. 단일 은닉층 신경망이 이론적으로 무엇이든 학습할 수 있지만, 딥러닝은 데이터에서 패턴의 더 복잡한 표현을 용이하게 한다.
Bias Neurons
프로그래머들은 뉴런이 패턴을 배울 수 있도록 돕기 위해 바이어스 뉴런을 신경망에 추가한다. 바이어스 뉴런은 항상 1의 값을 생성하는 입력 뉴런과 같은 기능을 한다. 바이어스 뉴런은 1의 일정한 출력을 갖기 때문에 이전 레이어와 연결되지 않는다. 바이어스 활성화 (bias activation)라고 불리는 1의 값은 1이 아닌 다른 값으로 설정될 수 있다. 그러나 1이 가장 일반적인 바이어스 활성화이다. 모든 신경망이 바이어스 뉴런을 갖는 것은 아니다.
'DNN with Keras > TensorFlow' 카테고리의 다른 글
뉴런과 층 (Neurons and Layers) (0) | 2023.07.28 |
---|---|
텐서플로우 (TensorFlow) (0) | 2023.07.28 |
[TensorFlow] Mac M1에서 TensorFlow 설치 (0) | 2022.09.02 |
[TensorFlow] The kernel appears to have died. It will restart automatically. (0) | 2022.08.29 |
TensorFlow Lite (2) (0) | 2022.08.23 |