Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does DeepMind's Sonnet afford that Keras doesn't?

I'm really confused about the purpose of DeepMind's Sonnet library for TensorFlow. As far as I can tell from the documentation, it seems to do essentially what Keras does (flexible functional abstractions). Can someone tell me what the advantage of Sonnet is?

like image 984
Sam Lerman Avatar asked Nov 04 '18 18:11

Sam Lerman


1 Answers

There isn't much difference between them. They are both:

  • High-level object oriented libraries that bring about abstraction when developing neural networks (NN) or other machine learning (ML) algorithms.
  • Built on top of TensorFlow (with the addition of Theano for Keras).

So why did they make Sonnet? It appears that Keras doesn't seem to suit the needs of DeepMind. So DeepMind came up with Sonnet, a high-level object oriented programming library built on top of TensorFlow to address its research needs.

Keras and Sonnet are both trying to simplify deep reinforcement learning, with the major difference being Sonnet is specifically adapted to the problems that DeepMind explores.

The main advantage of Sonnet, from my perspective, is you can use it to reproduce the research demonstrated in DeepMind's papers with greater ease than keras, since DeepMind will be using Sonnet themselves. Aside from that advantage, it's just yet another framework with which to explore deep RL problems.

like image 107
R.F. Nelson Avatar answered Nov 15 '22 10:11

R.F. Nelson