TensorFlow - optymalizatory
Optymalizatory to klasa rozszerzona, która zawiera dodatkowe informacje potrzebne do trenowania określonego modelu. Klasa optymalizatora jest inicjowana z podanymi parametrami, ale należy pamiętać, że nie jest potrzebny żaden Tensor. Optymalizatory służą do poprawy szybkości i wydajności podczas treningu określonego modelu.
Podstawowym optymalizatorem TensorFlow jest -
tf.train.Optimizer
Ta klasa jest zdefiniowana w określonej ścieżce tensorflow / python / training / optimizer.py.
Oto kilka optymalizatorów w Tensorflow -
- Stochastyczne zejście gradientowe
- Stochastyczne opadanie gradientu z obcinaniem gradientu
- Momentum
- Pęd Niestierowa
- Adagrad
- Adadelta
- RMSProp
- Adam
- Adamax
- SMORMS3
Skoncentrujemy się na zejściu ze stochastycznego gradientu. Ilustracja przedstawiająca tworzenie optymalizatora dla tego samego jest wymieniona poniżej -
def sgd(cost, params, lr = np.float32(0.01)):
g_params = tf.gradients(cost, params)
updates = []
for param, g_param in zip(params, g_params):
updates.append(param.assign(param - lr*g_param))
return updates
Podstawowe parametry są zdefiniowane w ramach określonej funkcji. W kolejnym rozdziale skupimy się na optymalizacji gradientu zejścia z wdrożeniem optymalizatorów.