Neurons and Layers
대부분의 신경망 구조는 어떤 유형의 뉴런을 사용한다. 많은 다른 신경망이 존재하고 프로그래머들은 실험적인 신경망 구조를 도입한다. 결과적으로 모든 신경망 아키텍처를 포함할 수는 없다. 그러나 신경망 구현 사이에는 몇 가지 공통점이 있다. 신경망 알고리즘은 일반적으로 이러한 단위를 뉴런이라고 부를 수도 있고 아닐 수도 있지만 개별적으로 상호 연결된 단위로 구성된다. 신경망 처리 장치에 대한 이름은 문헌 소스에 따라 다르다. 노드, 뉴런 또는 단위라고 할 수 있다.
인공 뉴런은 다른 뉴런일 수 있는 하나 이상의 소스로부터 입력을 받거나 컴퓨터 프로그램으로부터 네트워크에 입력된 데이터를 수신한다. 이 입력은 일반적으로 부동 소수점 또는 이진수이다. 종종 이진 입력은 true 또는 false를 1 또는 0으로 표시함으로써 부동 소수점으로 인코딩된다. 때때로 프로그램은 또한 true를 1로 하고 false를 -1로 하는 바이폴라 시스템을 사용하여 이진 정보를 묘사한다.
인공 뉴런은 이러한 입력 각각에 가중치를 곱한다. 그런 다음 이 곱셈을 더하고 이 합을 활성화 함수에 전달한다. 일부 신경망은 활성화 함수를 사용하지 않는다. 다음 방정식은 뉴런의 계산된 출력을 요약한다.
위의 식에서 변수 x와 θ는 뉴런의 입력과 가중치를 나타낸다. 변수 i는 가중치와 입력의 수에 대응한다. 항상 입력과 동일한 수의 가중치를 가져야 한다. 신경망은 각각의 가중치를 각각의 입력에 곱하고 이 곱셈의 곱을 활성화 함수로 공급하는데, 이는 그리스 문자 φ (phi)로 표시된다. 이 과정은 뉴런으로부터 단일 출력을 초래한다.
위의 뉴런은 두 개의 입력과 세 번째 바이어스를 가진다. 이 뉴런은 다음과 같은 입력 특징 벡터를 수용할 수 있다.
바이어스 뉴런이 존재하므로 다음과 같이 1의 값을 추가해야 한다.
3개의 입력 레이어 (실제 2개의 입력 + 바이어스)에 대한 가중치는 항상 바이어스에 대한 추가 가중치를 가진다. 가중치 벡터는 다음과 같다.
합계를 계산하면 다음과 같다.
0.1 * 1 + 0.2 * 2 + 0.3 * 1 = 0.8
프로그램은 활성화 함수를 나타내는 φ (phi) 함수에 0.8의 값을 전달한다. 많은 인공 뉴런을 체인으로 연결하여 인공 신경망 (ANN)을 만들 수 있다.
인공 뉴런을 입력과 출력 원이 연결되는 구성 블록이라고 하면 그림은 세 개의 뉴런으로 구성된 인공 신경망을 보여준다. 세 개의 뉴런이 서로 연결된 것을 보여준다. 이 표현은 본질적으로 이 그림에서 몇 개의 입력을 뺀 것으로, 세 번 반복되고 그 다음에 연결된다. 또한, 총 네 개의 입력과 한 번의 출력을 가지고 있다. 뉴런 N1과 N2의 출력은 N3을 공급하여 출력 O를 만든다. 이 네트워크의 출력을 계산하기 위해 이전의 방정식을 세 번 수행한다. 처음 두 번의 N1과 N2를 계산하고 세 번째 계산은 N1과 N2의 출력을 사용하여 N3을 계산한다.
신경망 다이어그램은 일반적으로 세부 사항을 보여주지 않는다. 차트를 단순화하기 위해 활성화 함수와 중간 출력을 생략할 수 있고다. 먼저 그래프가 입력과 출력을 추상적인 점선 원으로 나타낸다고 생각하면 입력과 출력은 더 광범위한 신경망의 일부가 될 수 있다. 그러나 입력과 출력은 종종 신경망을 사용하는 컴퓨터 프로그램으로부터 데이터를 받아들이는 특정한 유형의 뉴런이다. 출력 뉴런은 종종 결과를 프로그램으로 반환한다. 이러한 유형의 뉴런은 입력 뉴런이라고 한다. 층으로 배열된 뉴런을 보여준다. 입력 뉴런은 첫 번째 층이고, N1과 N2 뉴런은 두 번째 층을 만들고, 세 번째 층은 N3을 포함하며, 네 번째 층은 O를 갖는다. 대부분의 신경망은 뉴런을 층으로 배열한다.
한 층을 형성하는 뉴런들은 몇 가지 특성을 공유한다. 먼저 한 층에 있는 모든 뉴런은 동일한 활성화 기능을 가지고 있다. 그러나 각 층에서 사용하는 활성화 기능은 다를 수 있다. 각 층은 다음 층으로 완전히 연결된다. 즉, 한 층에 있는 모든 뉴런은 이전 층에 있는 뉴런과 완전히 연결되어 있지 않는다. 딥러닝 전략을 구현하지 않으면 2개 이상의 은닉 계층을 가진 네트워크는 드물 것이다.
'DNN with Keras > TensorFlow' 카테고리의 다른 글
뉴런의 유형 (1) (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 |