376 karma · joined November 14, 2024
Here are the metrics that matter.
Over the lifetime of the project:
- 14 contributors
- 40 issues opened
- 161 forks
In the past month:
- 7 issues opened
- 6 PRs opened
In the past week:
- 0 issues opened
- 0 PRs opened
In other words, a ghost town. The lesson here is that a lot of HN exposure does not automatically convert into a lot of users.
This is the most hilarious comment I've read on HN in a long time.
- it's much easier to use. Using pure TensorFlow is considered "advanced" and requires familiarity with deep learning, understanding of what a symbolic computation graph is, etc. Keras, meanwhile, is meant to make deep learning more accessible.
- even if you don't care about accessibility, Keras provides higher-level building blocks that speed up your workflow even if you are an expert. It is currently used by dozens of companies and hundreds of researchers, precisely for this reason: it allows quick prototyping.
- with Keras, you can work with both Theano and TensorFlow interchangeably. They complement each nicely in a workflow: TensorFlow has low compilation times, which is great for debugging, and Theano tends to be faster for runtime (especially for RNNs). So you can prototype in TF, train in Theano, then to switch to production you can export the TF model.
> I don't think the SKFlow author(s) are at Google. Prettytensor's are, but it isn't Google supported.
I believe they are. Also I do believe that PrettyTensor is an internal Google project.
For more projects like this, you can also check out the neural style transfer implementation in Keras: https://github.com/fchollet/keras/blob/master/examples/neura...
This is the script that OP's project was adapted from.
The common practice with a small-ish dataset is to use e.g. the top 10k or 20k most frequent words, but filter out the top 50-100 so most frequent words, as those indeed do not carry much information. A commonly used weighting scheme is TF-IDF (https://en.wikipedia.org/wiki/Tf%E2%80%93idf), which comes included in Keras.
Anyway, this is a cool ML starter project. Keras makes it really easy to do this sort of fast experimentation with a range of different neural networks models.
I'll try to compile some constructive feedback in a bit.
Congrats to the TensorFlow team!
In the world I live in, the proportion is far higher. Especially if you are talking about the mainstream media. Hell, easily one of 100 peer-reviewed scientific papers is fake.
Google's Show and Tell seems considerably superior to competing approaches.
It's still not clear whether the future of AI will even involve neural networks at all. Intuitively, they seem so inefficient.
Two examples:
- using layers of random forests (trained successively rather than end-to-end). Random forests are commonly used for feature engineering in a stack of learners.
- unsupervised deep learning with modular-hierarchical matrix factorization, over matrices of mutual information of the variables in the previous layers (something I've personally worked on; I'd be happy to share more details if you're interested).
I also recommend using Gensim for word embeddings.
Logistic regression with regularization is fairly new? 'Pioneered' by the same people as deep convolutional neural networks? Are you certain about this?
Word embeddings using skipgram or CBOW are a shallow method (single-layer representation). Remarkably, in order to stay interpretable, word embeddings have to be shallow. If you distributed the predictive task (eg. skip-gram) over several layers, the resulting geometric spaces would be much less interpretable.
So: this is not deep learning, and this not being deep learning is in fact the core feature.
I also recommend the tutorials on http://deeplearning.net/tutorial/ (Python / Theano)
And Andrej Karpathy's blog is also a great resource for explanations of deep learning concepts in simple terms: https://karpathy.github.io/