After some testing I’ve realized that my learning rate was always too small.
When setting the learning rate to 0.1 the AdamOptimizer was able to approximate a good function.
The small learning rate was propably responsible for the optimizer getting stuck in an local optima and from which he could not escape.