IT

가중치 행렬

rimicode 2022. 5. 30. 15:05
728x90
반응형
SMALL

가중치 행렬

신경망에서 실제로 학습되는 부분은 각 가중치

신경망 이미지

위 그림에서 화살표 하나마다 각각의 가중치가 주어짐

입력층에 3개의 노드, 은닉층에 4개의 노드

두 층 사이에 12개의 가중치 존재

가중치가 연산되는 과정을 컴퓨터에서 잘 연산하기 위해 행렬의 형태로 만들어 주어야 함


행렬의 Shape

퍼셉트론에 있는 가중치-편향 연산은 행렬 곱으로 연산

행렬곱 연산을 잘 수행하려면 각각의 Shape을 잘 수행해야 함

y = Wx

위 수식에서 가중치 행렬을 W, 입력 벡터를 x 라고 하면 연산의 결과로 출력되는 벡터는 y

입력 벡터의 형태에 따라 가중치 행렬의 Shape 이 결정


Keras 로 구축한 신경망에서 가중치 행렬의 Shape

Keras 에서는 은닉층 및 출력층의 노드 수만 설정해주면 자동으로 가중치 행렬이 생성

model = tf.keras.models.Sequenctial([
	tf.keras.layers.Dense(10, activation = 'relu', input_shape = 100), # 은닉층
    tf.keras.layers.Dense(1, activation = 'sigmoid') # 출력층
])

1) 입력층-은닉층 사이의 가중치 행렬

input_shape = 100 으로부터 입력되는 데이터의 특성이 100개임을 알 수 있고, 입력층의 노드도 100개 생성됨을 알 수 있음

입력층과 연결되는 은닉층의 노드 개수가 10개 이므로 두 층 사이에 생성되는 가중치 행렬의 shape은 (100, 10)

2) 입력층-은닉층 사이의 가중치 행렬

은닉층의 노드가 10개, 출력층의 노드 개수가 1개 이므로 두 층 사이에 가중치 행렬의 shape은 (10, 1)

728x90
반응형
LIST

'IT' 카테고리의 다른 글

기울기 소실  (0) 2022.06.01
활성화 함수(Activation Function)의 공통점  (0) 2022.05.31
인공신경망의 구조  (0) 2022.05.29
논리 게이트와 퍼셉트론  (0) 2022.05.28
여러 가지 활성화 함수(Activation function)  (0) 2022.05.27