diff --git a/sources/optimizers.md b/sources/optimizers.md
index a8835ad3..d446d77e 100644
--- a/sources/optimizers.md
+++ b/sources/optimizers.md
@@ -1,6 +1,6 @@
-## 옵티마이저의 사용법
+## 최적화 함수의 사용법Usage of optimizers
-옵티마이저는 Keras 모델을 컴파일하기 위해 필요한 두 개의 매개변수(parameter) 중 하나입니다.
+최적화 함수optimizer는 손실 함수loss와 더불어 케라스 모델을 컴파일compile하기 위한 인자입니다.
```python
from keras import optimizers
@@ -9,84 +9,77 @@ model = Sequential()
model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,)))
model.add(Activation('softmax'))
+# 최적화 함수의 객체를 만듭니다.
sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)
```
-옵티마이저는 위의 예제와 같이 객체를 만들어 `model.compile()`의 인자로 전달하거나, 아래와 같이 이름으로 사용할 수도 있습니다. 후자의 경우에는 해당 옵티마이저의 기본 설정이 사용됩니다.
+최적화 함수는 위의 예시와 같이 객체를 만들어 `model.compile()`의 인자로 전달하거나, 아래와 같이 문자열 형태로 전달할 수 있습니다.
+문자열을 전달할 경우, 해당 최적화 함수의 모든 인자는 기본값으로 사용됩니다.
```python
-# 옵티마이저의 이름을 사용하는 경우에는
-# 기본 설정이 사용됩니다.
+# 최적화 함수를 문자열 형태로 전달하는 경우는
+# 기본값이 사용됩니다.
model.compile(loss='mean_squared_error', optimizer='sgd')
```
---
-## 모든 Keras 옵티마이저에 공통적인 매개변수
+## 모든 케라스 최적화 함수에 사용되는 공통 인자
-모든 옵티마이저는 `clipnorm`과 `clipvalue` 매개변수를 통해 그래디언트 클리핑(gradient clipping)을 조절할 수 있습니다.
+모든 최적화 함수는 `clipnorm`과 `clipvalue` 인자를 통해 그래디언트 클리핑(gradient clipping)을 조절할 수 있습니다.
```python
from keras import optimizers
-# All parameter gradients will be clipped to
-# a maximum norm of 1.
+# 모든 그래디언트의 노름의 크기는 최대 1입니다.
sgd = optimizers.SGD(lr=0.01, clipnorm=1.)
```
```python
from keras import optimizers
-# All parameter gradients will be clipped to
-# a maximum value of 0.5 and
-# a minimum value of -0.5.
+# 모든 그래디언트의 노름의 크기는 최소 -0.5, 최대 0.5로 제한됩니다.
sgd = optimizers.SGD(lr=0.01, clipvalue=0.5)
```
---
-[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L157)
+[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L164)
### SGD
```python
-keras.optimizers.SGD(lr=0.01, momentum=0.0, decay=0.0, nesterov=False)
+keras.optimizers.SGD(learning_rate=0.01, momentum=0.0, nesterov=False)
```
-확률적 경사 하강법(Stochastic Gradient Descent, SGD) 옵티마이저.
+확률적 경사 하강법Stochastic Gradient Descent 최적화 함수
-모멘텀과 네스테로프 모멘텀(Nesterov momentum), 그리고 학습률 감소 기법(learning rate decay)을 지원합니다.
+모멘텀과 네스테로프 모멘텀nesterov momentum 인자를 지정할 수 있습니다.
__인자__
-- __lr__: 0보다 크거나 같은 float 값. 학습률.
-- __momentum__: 0보다 크거나 같은 float 값.
- SGD를 적절한 방향으로 가속화하며, 흔들림(진동)을 줄여주는 매개변수입니다.
-- __decay__: 0보다 크거나 같은 float 값. 업데이트마다 적용되는 학습률의 감소율입니다.
-- __nesterov__: 불리언. 네스테로프 모멘텀의 적용 여부를 설정합니다.
+- __learning_rate__: `float`>=0. 학습률.
+- __momentum__: `float`>=0. 적절한 방향으로 SGD의 학습 속도를 가속화하며,
+흔들림(진동)oscillations을 줄여줍니다.
+- __nesterov__: `boolean`. 네스테로프 모멘텀의 적용 여부를 설정합니다.
----
-[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L220)
+[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L229)
### RMSprop
```python
-keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=None, decay=0.0)
+keras.optimizers.RMSprop(learning_rate=0.001, rho=0.9)
```
-RMSProp 옵티마이저.
+RMSProp 최적화 함수.
-RMSProp을 사용할 때는 학습률을 제외한 모든 인자의 기본값을 사용하는 것이 권장됩니다.
-
-일반적으로 순환 신경망(Recurrent Neural Networks)의 옵티마이저로 많이 사용됩니다.
+이 최적화 함수를 사용할 때, 학습률을 제외한 모든 인자에서 기본값 사용을 권장합니다.
__인자__
-- __lr__: 0보다 크거나 같은 float 값. 학습률.
-- __rho__: 0보다 크거나 같은 float 값.
-- __epsilon__: 0보다 크거나 같은 float형 fuzz factor.
- `None`인 경우 `K.epsilon()`이 사용됩니다.
-- __decay__: 0보다 크거나 같은 float 값. 업데이트마다 적용되는 학습률의 감소율입니다.
+- __learning_rate__: `float`>=0. 학습률.
+- __rho__: `float`>=0.
__참고__
@@ -94,27 +87,24 @@ __참고__
----
-[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L288)
+[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L303)
### Adagrad
```python
-keras.optimizers.Adagrad(lr=0.01, epsilon=None, decay=0.0)
+keras.optimizers.Adagrad(learning_rate=0.01)
```
-Adagrad 옵티마이저.
+Adagrad 최적화 함수.
-Adagrad는 모델 파라미터별 학습률을 사용하는 옵티마이저로,
-파라미터의 값이 업데이트되는 빈도에 의해 학습률이 결정됩니다.
-파라미터가 더 자주 업데이트될수록, 더 작은 학습률이 사용됩니다.
+Adagrad는 매개변수마다 다르게 적용되는 학습률이 사용되며,
+매개변수의 값이 갱신되는 빈도에 따라 학습률이 결정됩니다.
+매개변수가 더 자주 갱신될수록, 더 작은 학습률이 사용됩니다.
-Adagrad를 사용할 때는 모든 인자의 기본값을 사용하는 것이 권장됩니다.
+이 최적화 함수를 사용하는 경우, 기본값 사용을 권장합니다.
__인자__
-- __lr__: 0보다 크거나 같은 float 값. 학습률.
-- __epsilon__: 0보다 크거나 같은 float 값.
- `None`인 경우 `K.epsilon()`이 사용됩니다.
-- __decay__: 0보다 크거나 같은 float 값. 업데이트마다 적용되는 학습률의 감소율입니다.
+- __learning_rate__: `float`>=0. 학습률.
__참고__
@@ -123,32 +113,28 @@ __참고__
----
-[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L353)
+[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L376)
### Adadelta
```python
-keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=None, decay=0.0)
+keras.optimizers.Adadelta(learning_rate=1.0, rho=0.95)
```
-Adadelta 옵티마이저.
+Adadelta 최적화 함수.
-Adadelta는 Adagrad를 확장한 보다 견고한 옵티마이저로
-과거의 모든 그래디언트를 축적하는 대신, 그래디언트 업데이트의 이동창(moving window)에 기반하여 학습률을 조절합니다.
-이 방법을 사용하면 Adadelta는 많은 업데이트가 이뤄진 후 일지라도 학습을 계속할 수 있습니다.
+Adadelta는 Adagrad를 확장하여 더욱 견고한 최적화함수입니다.
+이전의 모든 그래디언트를 축적하는 대신, 그래디언트 갱신의 이동창moving window에 기반하여 학습률을 조절합니다.
+이 방법을 사용함으로써 많은 갱신이 이뤄지더라도 학습을 계속할 수 있습니다.
Adagrad와 비교해 볼 때, Adadelta의 기존 버전에서는 초기 학습률을 설정할 필요가 없었습니다.
-하지만 현재의 버전에서는 다른 Keras 옵티마이저들처럼 초기 학습률과 감소율을 설정할 수 있습니다.
+하지만 현재 버전에서는 다른 케라스 최적화함수와 같이 초기 학습률을 설정할 수 있습니다.
-Adadelta를 사용할 때는 모든 인자의 기본값을 사용하는 것이 권장됩니다.
+이 최적화 함수를 사용하는 경우, 기본값 사용을 권장합니다.
__인자__
-- __lr__: 0보다 크거나 같은 float 값. 초기 학습률로, 기본값은 1입니다.
- 기본값을 사용하는 것이 권장됩니다.
-- __rho__: 0보다 크거나 같은 float 값.
- 학습률 감소에 쓰이는 인자로, 각 시점에 유지되는 그래디언트의 비율에 해당합니다.
-- __epsilon__: 0보다 크거나 같은 float형 fuzz factor.
- `None`인 경우 `K.epsilon()`이 사용됩니다.
-- __decay__: 0보다 크거나 같은 float 값. 초기 학습률 감소율입니다.
+- __learning_rate__: `float`>=0. 학습률. 초기 학습률은 1이며, 기본값 사용을 권장합니다.
+- __rho__: `float`>=0. 학습률 감소에 쓰이는 값으로서,
+해당 시점에 유지되는 그래디언트 비율을 나타냅니다.
__참고__
@@ -157,26 +143,23 @@ __참고__
----
-[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L436)
+[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L467)
### Adam
```python
-keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)
+keras.optimizers.Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, amsgrad=False)
```
-Adam 옵티마이저.
+Adam 최적화 함수.
-매개변수들의 기본값은 논문에서 언급된 내용을 따릅니다.
+제공되는 모든 인자의 기본값은 논문에서 언급된 내용을 따릅니다.
__인자__
-- __lr__: 0보다 크거나 같은 float 값. 학습률.
-- __beta_1__: 0보다 크고 1보다 작은 float 값. 일반적으로 1에 가깝게 설정됩니다.
-- __beta_2__: 0보다 크고 1보다 작은 float 값. 일반적으로 1에 가깝게 설정됩니다.
-- __epsilon__: 0보다 크거나 같은 float형 fuzz factor.
- `None`인 경우 `K.epsilon()`이 사용됩니다.
-- __decay__: 0보다 크거나 같은 float 값. 업데이트마다 적용되는 학습률의 감소율입니다.
-- __amsgrad__: 불리언. Adam의 변형인 AMSGrad의 적용 여부를 설정합니다.
+- __learning_rate__: `float`>=0. 학습률.
+- __beta_1__: `float`, 0 < beta_1 < 1. 일반적으로 1에 가까운 수를 지정합니다.
+- __beta_2__: `float`, 0 < beta_2 < 1. 일반적으로 1에 가까운 수를 지정합니다.
+- __amsgrad__: `boolean`. Adam의 변형된 형태인 AMSGrad의 적용 여부를 설정합니다.
AMSGrad는 "On the Convergence of Adam and Beyond" 논문에서 소개되었습니다.
__참조__
@@ -188,26 +171,24 @@ __참조__
----
-[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L527)
+[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L567)
### Adamax
```python
keras.optimizers.Adamax(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0)
```
-Adam 논문의 섹션 7에 소개된 Adamax 옵티마이저.
+Adam 논문의 섹션 7에 소개된 Adamax 최적화 함수.
-무한 노름(infinity norm)에 기반한 Adam의 변형입니다.
-매개변수들의 기본값은 논문에서 언급된 내용을 따릅니다.
+무한 노름(infinity norm)에 기반한 Adam의 변형된 형태입니다.
+제공되는 모든 인자의 기본값은 논문에서 언급된 내용을 따릅니다.
__인자__
-- __lr__: 0보다 크거나 같은 float 값. 학습률.
-- __beta_1__: 0보다 크고 1보다 작은 float 값. 일반적으로 1에 가깝게 설정됩니다.
-- __beta_2__: 0보다 크고 1보다 작은 float 값. 일반적으로 1에 가깝게 설정됩니다.
-- __epsilon__: 0보다 크거나 같은 float형 fuzz factor.
- `None`인 경우 `K.epsilon()`이 사용됩니다.
-- __decay__: 0보다 크거나 같은 float 값. 업데이트마다 적용되는 학습률의 감소율입니다.
+- __learning_rate__: `float`>=0. 학습률.
+- __beta_1__: `float`, 0 < beta_1 < 1. 일반적으로 1에 가까운 수를 지정합니다.
+- __beta_2__: `float`, 0 < beta_2 < 1. 일반적으로 1에 가까운 수를 지정합니다.
+
__참고__
@@ -216,28 +197,26 @@ __참고__
----
-[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L605)
+[[source]](https://github.com/keras-team/keras/blob/master/keras/optimizers.py#L645)
### Nadam
```python
-keras.optimizers.Nadam(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=None, schedule_decay=0.004)
+keras.optimizers.Nadam(learning_rate=0.002, beta_1=0.9, beta_2=0.999)
```
-네스테로프 Adam 옵티마이저.
+네스테로프 Adam 최적화 함수.
Adam이 본질적으로는 모멘텀이 적용된 RMSprop인 것처럼,
Nadam은 네스테로프 모멘텀이 적용된 RMSprop입니다.
-매개변수들의 기본값은 논문에서 언급된 내용을 따릅니다.
-Nadam을 사용할 때는 모든 인자의 기본값을 사용하는 것이 권장됩니다.
+제공되는 모든 인자의 기본값은 논문에서 언급된 내용을 따릅니다.
+이 최적화 함수를 사용하는 경우, 기본값 사용을 권장합니다.
__인자__
-- __lr__: 0보다 크거나 같은 float 값. 학습률.
-- __beta_1__: 0보다 크고 1보다 작은 float 값. 일반적으로 1에 가깝게 설정됩니다.
-- __beta_2__: 0보다 크고 1보다 작은 float 값. 일반적으로 1에 가깝게 설정됩니다.
-- __epsilon__: 0보다 크거나 같은 float형 fuzz factor.
- `None`인 경우 `K.epsilon()`이 사용됩니다.
+- __learning_rate__: `float`>=0. 학습률.
+- __beta_1__: `float`, 0 < beta_1 < 1. 일반적으로 1에 가까운 수를 지정합니다.
+- __beta_2__: `float`, 0 < beta_2 < 1. 일반적으로 1에 가까운 수를 지정합니다.
__참고__