"Keras:가중치 초기화"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
(새 문서: == 개요 == 놀랍게도, 가중치 초기화 방법에 따라 학습의 정도가 달라지기도 한다. = 가중치 초기화 = 다음의 방법이 있다. {| class="wikitable" !...)
 
잔글 (→‎개요)
 
1번째 줄: 1번째 줄:
 
== 개요 ==
 
== 개요 ==
놀랍게도, 가중치 초기화 방법에 따라 학습의 정도가 달라지기도 한다.
+
놀랍게도, 가중치 초기화 방법에 따라 학습의 정도가 달라지기도 한다. 어떤 초기화값을 갖느냐에 따라 최종적으로 도달할 경사하강의 위치가 달라진다. 가중치들이 학습속도, 인공지능의 성능에 상당한 영향을 미친다.
  
 
= 가중치 초기화 =
 
= 가중치 초기화 =

2022년 2월 15일 (화) 11:23 기준 최신판

1 개요[편집 | 원본 편집]

놀랍게도, 가중치 초기화 방법에 따라 학습의 정도가 달라지기도 한다. 어떤 초기화값을 갖느냐에 따라 최종적으로 도달할 경사하강의 위치가 달라진다. 가중치들이 학습속도, 인공지능의 성능에 상당한 영향을 미친다.

2 가중치 초기화[편집 | 원본 편집]

다음의 방법이 있다.

방법 설명 코드
문자열 코드 문자열 코드로 초기화 방법을 전달하는 가장 간단한 방법.

케라스에서 제공하는 것들만 사용 가능하다.

layer = layers.Dense(
    units=64,
    kernel_initializer='random_normal',
    bias_initializer='zeros'
initializer 불러오기 케라스에서 제공하는 initializer를 직접 박아넣는다.
from tensorflow.keras import layers
from tensorflow.keras import initializers

layer = layers.Dense(
    units=64,
    kernel_initializer=initializers.RandomNormal(stddev=0.01),
    bias_initializer=initializers.Zeros()
)
초기화 객체 만들기 초기화 객체를 만들어 사용한다.
from tensorflow.keras import layers
from tensorflow.keras import initializers

initializer = initializers.RandomNormal(stddev=0.01)
layer = layers.Dense(units=64, kernel_initializer=initializer)

제공하는 초기화자는 다음 링크를 참조하자. Layer weight initializers (keras.io)

2.1 커스텀 초기화자[편집 | 원본 편집]

케라스에서 제공하지 않더라도 초기화자를 만들어 사용할 수도 있다.