"Keras:가중치 초기화"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(새 문서: == 개요 == 놀랍게도, 가중치 초기화 방법에 따라 학습의 정도가 달라지기도 한다. = 가중치 초기화 = 다음의 방법이 있다. {| 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 커스텀 초기화자[편집 | 원본 편집]
케라스에서 제공하지 않더라도 초기화자를 만들어 사용할 수도 있다.